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