Lines Matching defs:phy
16 #include <linux/phy/phy.h>
84 static int qcom_apq8064_sata_phy_init(struct phy *generic_phy)
86 struct qcom_apq8064_sata_phy *phy = phy_get_drvdata(generic_phy);
87 void __iomem *base = phy->mmio;
90 /* SATA phy initialization */
137 dev_err(phy->dev, "poll timeout UNIPHY_PLL_STATUS\n");
144 dev_err(phy->dev, "poll timeout SATA_PHY_TX_IMCAL_STAT\n");
151 dev_err(phy->dev, "poll timeout SATA_PHY_RX_IMCAL_STAT\n");
155 /* SATA phy calibrated successfully, power up to functional mode */
179 static int qcom_apq8064_sata_phy_exit(struct phy *generic_phy)
181 struct qcom_apq8064_sata_phy *phy = phy_get_drvdata(generic_phy);
182 void __iomem *base = phy->mmio;
202 struct qcom_apq8064_sata_phy *phy;
205 struct phy *generic_phy;
208 phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
209 if (!phy)
212 phy->mmio = devm_platform_ioremap_resource(pdev, 0);
213 if (IS_ERR(phy->mmio))
214 return PTR_ERR(phy->mmio);
218 dev_err(dev, "%s: failed to create phy\n", __func__);
222 phy->dev = dev;
223 phy_set_drvdata(generic_phy, phy);
224 platform_set_drvdata(pdev, phy);
226 phy->cfg_clk = devm_clk_get(dev, "cfg");
227 if (IS_ERR(phy->cfg_clk)) {
229 return PTR_ERR(phy->cfg_clk);
232 ret = clk_prepare_enable(phy->cfg_clk);
238 clk_disable_unprepare(phy->cfg_clk);
239 dev_err(dev, "%s: failed to register phy\n", __func__);
248 struct qcom_apq8064_sata_phy *phy = platform_get_drvdata(pdev);
250 clk_disable_unprepare(phy->cfg_clk);
254 { .compatible = "qcom,apq8064-sata-phy" },
263 .name = "qcom-apq8064-sata-phy",