Lines Matching defs:phy
17 #include <linux/phy/phy.h>
69 struct phy *phy;
85 static struct phy *rockchip_pcie_phy_of_xlate(struct device *dev,
91 return rk_phy->phys[0].phy;
96 return rk_phy->phys[args->args[0]].phy;
122 static int rockchip_pcie_phy_power_off(struct phy *phy)
124 struct phy_pcie_instance *inst = phy_get_drvdata(phy);
141 dev_err(&phy->dev, "assert phy_rst err %d\n", err);
160 static int rockchip_pcie_phy_power_on(struct phy *phy)
162 struct phy_pcie_instance *inst = phy_get_drvdata(phy);
175 dev_err(&phy->dev, "deassert phy_rst err %d\n", err);
191 * No documented timeout value for phy operation below,
203 dev_dbg(&phy->dev, "pll locked!\n");
211 dev_err(&phy->dev, "pll lock timeout!\n");
224 dev_dbg(&phy->dev, "pll output enable done!\n");
232 dev_err(&phy->dev, "pll output enable timeout!\n");
246 dev_dbg(&phy->dev, "pll relocked!\n");
254 dev_err(&phy->dev, "pll relock timeout!\n");
270 static int rockchip_pcie_phy_init(struct phy *phy)
272 struct phy_pcie_instance *inst = phy_get_drvdata(phy);
283 dev_err(&phy->dev, "Fail to enable pcie ref clock.\n");
289 dev_err(&phy->dev, "assert phy_rst err %d\n", err);
306 static int rockchip_pcie_phy_exit(struct phy *phy)
308 struct phy_pcie_instance *inst = phy_get_drvdata(phy);
339 .compatible = "rockchip,rk3399-pcie-phy",
376 rk_phy->phy_rst = devm_reset_control_get(dev, "phy");
380 "missing phy property for reset controller\n");
390 /* parse #phy-cells to see if it's legacy PHY model */
391 if (of_property_read_u32(dev->of_node, "#phy-cells", &phy_num))
395 dev_dbg(dev, "phy number is %d\n", phy_num);
398 rk_phy->phys[i].phy = devm_phy_create(dev, dev->of_node, &ops);
399 if (IS_ERR(rk_phy->phys[i].phy)) {
401 return PTR_ERR(rk_phy->phys[i].phy);
404 phy_set_drvdata(rk_phy->phys[i].phy, &rk_phy->phys[i]);
417 .name = "rockchip-pcie-phy",