Lines Matching refs:phy

24 #include <linux/phy/phy.h>
61 static int qcom_ipq806x_sata_phy_init(struct phy *generic_phy)
63 struct qcom_ipq806x_sata_phy *phy = phy_get_drvdata(generic_phy);
67 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM3);
69 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM3);
71 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM0) &
76 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM0);
78 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM1) &
85 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM1);
87 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM2) &
90 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM2);
93 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
95 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
98 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
100 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
109 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
111 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
116 static int qcom_ipq806x_sata_phy_exit(struct phy *generic_phy)
118 struct qcom_ipq806x_sata_phy *phy = phy_get_drvdata(generic_phy);
122 reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
124 writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
137 struct qcom_ipq806x_sata_phy *phy;
141 struct phy *generic_phy;
144 phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
145 if (!phy)
149 phy->mmio = devm_ioremap_resource(dev, res);
150 if (IS_ERR(phy->mmio))
151 return PTR_ERR(phy->mmio);
156 dev_err(dev, "%s: failed to create phy\n", __func__);
160 phy->dev = dev;
161 phy_set_drvdata(generic_phy, phy);
162 platform_set_drvdata(pdev, phy);
164 phy->cfg_clk = devm_clk_get(dev, "cfg");
165 if (IS_ERR(phy->cfg_clk)) {
167 return PTR_ERR(phy->cfg_clk);
170 ret = clk_prepare_enable(phy->cfg_clk);
176 clk_disable_unprepare(phy->cfg_clk);
177 dev_err(dev, "%s: failed to register phy\n", __func__);
186 struct qcom_ipq806x_sata_phy *phy = platform_get_drvdata(pdev);
188 clk_disable_unprepare(phy->cfg_clk);
194 { .compatible = "qcom,ipq806x-sata-phy" },
203 .name = "qcom-ipq806x-sata-phy",