Lines Matching refs:qphy
163 struct m31usb_phy *qphy = phy_get_drvdata(phy); in m31usb_phy_init() local
164 const struct m31_phy_regs *regs = qphy->regs; in m31usb_phy_init()
167 ret = regulator_enable(qphy->vreg); in m31usb_phy_init()
173 ret = clk_prepare_enable(qphy->clk); in m31usb_phy_init()
175 regulator_disable(qphy->vreg); in m31usb_phy_init()
181 reset_control_assert(qphy->reset); in m31usb_phy_init()
183 reset_control_deassert(qphy->reset); in m31usb_phy_init()
186 if (qphy->ulpi_mode) in m31usb_phy_init()
187 writel(0x0, qphy->base + USB2PHY_PORT_UTMI_CTRL2); in m31usb_phy_init()
190 writel(POWER_UP, qphy->base + USB2PHY_PORT_POWERDOWN); in m31usb_phy_init()
193 for (i = 0; i < qphy->nregs; i++) { in m31usb_phy_init()
194 writel(regs[i].val, qphy->base + regs[i].off); in m31usb_phy_init()
204 struct m31usb_phy *qphy = phy_get_drvdata(phy); in m31usb_phy_shutdown() local
207 writel_relaxed(POWER_DOWN, qphy->base + USB2PHY_PORT_POWERDOWN); in m31usb_phy_shutdown()
209 clk_disable_unprepare(qphy->clk); in m31usb_phy_shutdown()
211 regulator_disable(qphy->vreg); in m31usb_phy_shutdown()
227 struct m31usb_phy *qphy; in m31usb_phy_probe() local
229 qphy = devm_kzalloc(dev, sizeof(*qphy), GFP_KERNEL); in m31usb_phy_probe()
230 if (!qphy) in m31usb_phy_probe()
233 qphy->base = devm_platform_ioremap_resource(pdev, 0); in m31usb_phy_probe()
234 if (IS_ERR(qphy->base)) in m31usb_phy_probe()
235 return PTR_ERR(qphy->base); in m31usb_phy_probe()
237 qphy->reset = devm_reset_control_get_exclusive_by_index(dev, 0); in m31usb_phy_probe()
238 if (IS_ERR(qphy->reset)) in m31usb_phy_probe()
239 return PTR_ERR(qphy->reset); in m31usb_phy_probe()
241 qphy->clk = devm_clk_get(dev, NULL); in m31usb_phy_probe()
242 if (IS_ERR(qphy->clk)) in m31usb_phy_probe()
243 return dev_err_probe(dev, PTR_ERR(qphy->clk), in m31usb_phy_probe()
247 qphy->regs = data->regs; in m31usb_phy_probe()
248 qphy->nregs = data->nregs; in m31usb_phy_probe()
249 qphy->ulpi_mode = data->ulpi_mode; in m31usb_phy_probe()
251 qphy->phy = devm_phy_create(dev, NULL, &m31usb_phy_gen_ops); in m31usb_phy_probe()
252 if (IS_ERR(qphy->phy)) in m31usb_phy_probe()
253 return dev_err_probe(dev, PTR_ERR(qphy->phy), in m31usb_phy_probe()
256 qphy->vreg = devm_regulator_get(dev, "vdd"); in m31usb_phy_probe()
257 if (IS_ERR(qphy->vreg)) in m31usb_phy_probe()
258 return dev_err_probe(dev, PTR_ERR(qphy->vreg), in m31usb_phy_probe()
261 phy_set_drvdata(qphy->phy, qphy); in m31usb_phy_probe()