Lines Matching refs:phy
49 struct omap_usb *phy; in omap_usb2_set_comparator() local
55 phy = phy_to_omapusb(x); in omap_usb2_set_comparator()
56 phy->comparator = comparator; in omap_usb2_set_comparator()
63 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); in omap_usb_set_vbus() local
65 if (!phy->comparator) in omap_usb_set_vbus()
68 return phy->comparator->set_vbus(phy->comparator, enabled); in omap_usb_set_vbus()
73 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); in omap_usb_start_srp() local
75 if (!phy->comparator) in omap_usb_start_srp()
78 return phy->comparator->start_srp(phy->comparator); in omap_usb_start_srp()
100 static int omap_usb_power_off(struct phy *x) in omap_usb_power_off()
102 struct omap_usb *phy = phy_get_drvdata(x); in omap_usb_power_off() local
104 omap_control_phy_power(phy->control_dev, 0); in omap_usb_power_off()
109 static int omap_usb_power_on(struct phy *x) in omap_usb_power_on()
111 struct omap_usb *phy = phy_get_drvdata(x); in omap_usb_power_on() local
113 omap_control_phy_power(phy->control_dev, 1); in omap_usb_power_on()
118 static int omap_usb_init(struct phy *x) in omap_usb_init()
120 struct omap_usb *phy = phy_get_drvdata(x); in omap_usb_init() local
123 if (phy->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) { in omap_usb_init()
132 val = omap_usb_readl(phy->phy_base, USB2PHY_ANA_CONFIG1); in omap_usb_init()
134 omap_usb_writel(phy->phy_base, USB2PHY_ANA_CONFIG1, val); in omap_usb_init()
190 struct omap_usb *phy; in omap_usb2_probe() local
191 struct phy *generic_phy; in omap_usb2_probe()
208 phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL); in omap_usb2_probe()
209 if (!phy) in omap_usb2_probe()
216 phy->dev = &pdev->dev; in omap_usb2_probe()
218 phy->phy.dev = phy->dev; in omap_usb2_probe()
219 phy->phy.label = phy_data->label; in omap_usb2_probe()
220 phy->phy.otg = otg; in omap_usb2_probe()
221 phy->phy.type = USB_PHY_TYPE_USB2; in omap_usb2_probe()
225 phy->phy_base = devm_ioremap_resource(&pdev->dev, res); in omap_usb2_probe()
226 if (IS_ERR(phy->phy_base)) in omap_usb2_probe()
227 return PTR_ERR(phy->phy_base); in omap_usb2_probe()
228 phy->flags |= OMAP_USB2_CALIBRATE_FALSE_DISCONNECT; in omap_usb2_probe()
243 phy->control_dev = &control_pdev->dev; in omap_usb2_probe()
244 omap_control_phy_power(phy->control_dev, 0); in omap_usb2_probe()
252 otg->usb_phy = &phy->phy; in omap_usb2_probe()
254 platform_set_drvdata(pdev, phy); in omap_usb2_probe()
255 pm_runtime_enable(phy->dev); in omap_usb2_probe()
257 generic_phy = devm_phy_create(phy->dev, NULL, &ops); in omap_usb2_probe()
259 pm_runtime_disable(phy->dev); in omap_usb2_probe()
263 phy_set_drvdata(generic_phy, phy); in omap_usb2_probe()
265 phy_provider = devm_of_phy_provider_register(phy->dev, in omap_usb2_probe()
268 pm_runtime_disable(phy->dev); in omap_usb2_probe()
272 phy->wkupclk = devm_clk_get(phy->dev, "wkupclk"); in omap_usb2_probe()
273 if (IS_ERR(phy->wkupclk)) { in omap_usb2_probe()
275 phy->wkupclk = devm_clk_get(phy->dev, "usb_phy_cm_clk32k"); in omap_usb2_probe()
276 if (IS_ERR(phy->wkupclk)) { in omap_usb2_probe()
278 pm_runtime_disable(phy->dev); in omap_usb2_probe()
279 return PTR_ERR(phy->wkupclk); in omap_usb2_probe()
285 clk_prepare(phy->wkupclk); in omap_usb2_probe()
287 phy->optclk = devm_clk_get(phy->dev, "refclk"); in omap_usb2_probe()
288 if (IS_ERR(phy->optclk)) { in omap_usb2_probe()
290 phy->optclk = devm_clk_get(phy->dev, "usb_otg_ss_refclk960m"); in omap_usb2_probe()
291 if (IS_ERR(phy->optclk)) { in omap_usb2_probe()
300 if (!IS_ERR(phy->optclk)) in omap_usb2_probe()
301 clk_prepare(phy->optclk); in omap_usb2_probe()
303 usb_add_phy_dev(&phy->phy); in omap_usb2_probe()
310 struct omap_usb *phy = platform_get_drvdata(pdev); in omap_usb2_remove() local
312 clk_unprepare(phy->wkupclk); in omap_usb2_remove()
313 if (!IS_ERR(phy->optclk)) in omap_usb2_remove()
314 clk_unprepare(phy->optclk); in omap_usb2_remove()
315 usb_remove_phy(&phy->phy); in omap_usb2_remove()
316 pm_runtime_disable(phy->dev); in omap_usb2_remove()
326 struct omap_usb *phy = platform_get_drvdata(pdev); in omap_usb2_runtime_suspend() local
328 clk_disable(phy->wkupclk); in omap_usb2_runtime_suspend()
329 if (!IS_ERR(phy->optclk)) in omap_usb2_runtime_suspend()
330 clk_disable(phy->optclk); in omap_usb2_runtime_suspend()
338 struct omap_usb *phy = platform_get_drvdata(pdev); in omap_usb2_runtime_resume() local
341 ret = clk_enable(phy->wkupclk); in omap_usb2_runtime_resume()
343 dev_err(phy->dev, "Failed to enable wkupclk %d\n", ret); in omap_usb2_runtime_resume()
347 if (!IS_ERR(phy->optclk)) { in omap_usb2_runtime_resume()
348 ret = clk_enable(phy->optclk); in omap_usb2_runtime_resume()
350 dev_err(phy->dev, "Failed to enable optclk %d\n", ret); in omap_usb2_runtime_resume()
358 clk_disable(phy->wkupclk); in omap_usb2_runtime_resume()