Lines Matching defs:phy
10 #include <dt-bindings/phy/phy.h>
16 #include <linux/phy/phy.h>
19 #include "phy-mtk-io.h"
21 /* u2 phy banks */
26 /* u3 phy shared banks */
30 /* u3 phy banks */
85 struct phy *phy;
87 struct clk *ref_clk; /* reference clock of anolog phy */
156 dev_dbg(xsphy->dev, "phy.%d, fm_out:%d, calib:%d (clk:%d, coef:%d)\n",
235 struct device *dev = &inst->phy->dev;
263 dev_err(xsphy->dev, "incompatible phy type\n");
308 static int mtk_phy_init(struct phy *phy)
310 struct xsphy_instance *inst = phy_get_drvdata(phy);
311 struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
329 dev_err(xsphy->dev, "incompatible phy type\n");
337 static int mtk_phy_power_on(struct phy *phy)
339 struct xsphy_instance *inst = phy_get_drvdata(phy);
340 struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
350 static int mtk_phy_power_off(struct phy *phy)
352 struct xsphy_instance *inst = phy_get_drvdata(phy);
353 struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
361 static int mtk_phy_exit(struct phy *phy)
363 struct xsphy_instance *inst = phy_get_drvdata(phy);
369 static int mtk_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
371 struct xsphy_instance *inst = phy_get_drvdata(phy);
372 struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
380 static struct phy *mtk_phy_xlate(struct device *dev,
389 dev_err(dev, "invalid number of cells in 'phy' property\n");
394 if (phy_np == xsphy->phys[index]->phy->dev.of_node) {
400 dev_err(dev, "failed to find appropriate phy\n");
407 dev_err(dev, "unsupported phy type: %d\n", inst->type);
413 return inst->phy;
476 struct phy *phy;
486 phy = devm_phy_create(dev, child_np, &mtk_xsphy_ops);
487 if (IS_ERR(phy)) {
488 dev_err(dev, "failed to create phy\n");
489 retval = PTR_ERR(phy);
500 inst->port_base = devm_ioremap_resource(&phy->dev, &res);
502 dev_err(dev, "failed to remap phy regs\n");
507 inst->phy = phy;
509 phy_set_drvdata(phy, inst);
512 inst->ref_clk = devm_clk_get(&phy->dev, "ref");