Lines Matching refs:kdwc

51 static void kdwc3_enable_irqs(struct dwc3_keystone *kdwc)
55 val = kdwc3_readl(kdwc->usbss, USBSS_IRQENABLE_SET_0);
57 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, val);
60 static void kdwc3_disable_irqs(struct dwc3_keystone *kdwc)
64 val = kdwc3_readl(kdwc->usbss, USBSS_IRQENABLE_SET_0);
66 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, val);
71 struct dwc3_keystone *kdwc = _kdwc;
73 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_CLR_0, USBSS_IRQ_COREIRQ_CLR);
74 kdwc3_writel(kdwc->usbss, USBSS_IRQSTATUS_0, USBSS_IRQ_EVENT_ST);
75 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, USBSS_IRQ_COREIRQ_EN);
76 kdwc3_writel(kdwc->usbss, USBSS_IRQ_EOI, USBSS_IRQ_EOI_LINE(0));
85 struct dwc3_keystone *kdwc;
88 kdwc = devm_kzalloc(dev, sizeof(*kdwc), GFP_KERNEL);
89 if (!kdwc)
92 platform_set_drvdata(pdev, kdwc);
94 kdwc->dev = dev;
96 kdwc->usbss = devm_platform_ioremap_resource(pdev, 0);
97 if (IS_ERR(kdwc->usbss))
98 return PTR_ERR(kdwc->usbss);
101 kdwc->usb3_phy = devm_phy_optional_get(dev, "usb3-phy");
102 if (IS_ERR(kdwc->usb3_phy)) {
103 error = PTR_ERR(kdwc->usb3_phy);
110 phy_pm_runtime_get_sync(kdwc->usb3_phy);
112 error = phy_reset(kdwc->usb3_phy);
118 error = phy_init(kdwc->usb3_phy);
124 error = phy_power_on(kdwc->usb3_phy);
127 phy_exit(kdwc->usb3_phy);
131 pm_runtime_enable(kdwc->dev);
132 error = pm_runtime_get_sync(kdwc->dev);
134 dev_err(kdwc->dev, "pm_runtime_get_sync failed, error %d\n",
150 dev_name(dev), kdwc);
157 kdwc3_enable_irqs(kdwc);
169 kdwc3_disable_irqs(kdwc);
171 pm_runtime_put_sync(kdwc->dev);
172 pm_runtime_disable(kdwc->dev);
173 phy_power_off(kdwc->usb3_phy);
174 phy_exit(kdwc->usb3_phy);
175 phy_pm_runtime_put_sync(kdwc->usb3_phy);
191 struct dwc3_keystone *kdwc = platform_get_drvdata(pdev);
195 kdwc3_disable_irqs(kdwc);
198 pm_runtime_put_sync(kdwc->dev);
199 pm_runtime_disable(kdwc->dev);
201 phy_power_off(kdwc->usb3_phy);
202 phy_exit(kdwc->usb3_phy);
203 phy_pm_runtime_put_sync(kdwc->usb3_phy);