Lines Matching refs:kdwc

52 static void kdwc3_enable_irqs(struct dwc3_keystone *kdwc)  in kdwc3_enable_irqs()  argument
56 val = kdwc3_readl(kdwc->usbss, USBSS_IRQENABLE_SET_0); in kdwc3_enable_irqs()
58 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, val); in kdwc3_enable_irqs()
61 static void kdwc3_disable_irqs(struct dwc3_keystone *kdwc) in kdwc3_disable_irqs() argument
65 val = kdwc3_readl(kdwc->usbss, USBSS_IRQENABLE_SET_0); in kdwc3_disable_irqs()
67 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, val); in kdwc3_disable_irqs()
72 struct dwc3_keystone *kdwc = _kdwc; in dwc3_keystone_interrupt() local
74 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_CLR_0, USBSS_IRQ_COREIRQ_CLR); in dwc3_keystone_interrupt()
75 kdwc3_writel(kdwc->usbss, USBSS_IRQSTATUS_0, USBSS_IRQ_EVENT_ST); in dwc3_keystone_interrupt()
76 kdwc3_writel(kdwc->usbss, USBSS_IRQENABLE_SET_0, USBSS_IRQ_COREIRQ_EN); in dwc3_keystone_interrupt()
77 kdwc3_writel(kdwc->usbss, USBSS_IRQ_EOI, USBSS_IRQ_EOI_LINE(0)); in dwc3_keystone_interrupt()
86 struct dwc3_keystone *kdwc; in kdwc3_probe() local
89 kdwc = devm_kzalloc(dev, sizeof(*kdwc), GFP_KERNEL); in kdwc3_probe()
90 if (!kdwc) in kdwc3_probe()
93 platform_set_drvdata(pdev, kdwc); in kdwc3_probe()
95 kdwc->dev = dev; in kdwc3_probe()
97 kdwc->usbss = devm_platform_ioremap_resource(pdev, 0); in kdwc3_probe()
98 if (IS_ERR(kdwc->usbss)) in kdwc3_probe()
99 return PTR_ERR(kdwc->usbss); in kdwc3_probe()
102 kdwc->usb3_phy = devm_phy_optional_get(dev, "usb3-phy"); in kdwc3_probe()
103 if (IS_ERR(kdwc->usb3_phy)) in kdwc3_probe()
104 return dev_err_probe(dev, PTR_ERR(kdwc->usb3_phy), "couldn't get usb3 phy\n"); in kdwc3_probe()
106 phy_pm_runtime_get_sync(kdwc->usb3_phy); in kdwc3_probe()
108 error = phy_reset(kdwc->usb3_phy); in kdwc3_probe()
114 error = phy_init(kdwc->usb3_phy); in kdwc3_probe()
120 error = phy_power_on(kdwc->usb3_phy); in kdwc3_probe()
123 phy_exit(kdwc->usb3_phy); in kdwc3_probe()
127 pm_runtime_enable(kdwc->dev); in kdwc3_probe()
128 error = pm_runtime_get_sync(kdwc->dev); in kdwc3_probe()
130 dev_err(kdwc->dev, "pm_runtime_get_sync failed, error %d\n", in kdwc3_probe()
146 dev_name(dev), kdwc); in kdwc3_probe()
153 kdwc3_enable_irqs(kdwc); in kdwc3_probe()
165 kdwc3_disable_irqs(kdwc); in kdwc3_probe()
167 pm_runtime_put_sync(kdwc->dev); in kdwc3_probe()
168 pm_runtime_disable(kdwc->dev); in kdwc3_probe()
169 phy_power_off(kdwc->usb3_phy); in kdwc3_probe()
170 phy_exit(kdwc->usb3_phy); in kdwc3_probe()
171 phy_pm_runtime_put_sync(kdwc->usb3_phy); in kdwc3_probe()
187 struct dwc3_keystone *kdwc = platform_get_drvdata(pdev); in kdwc3_remove() local
191 kdwc3_disable_irqs(kdwc); in kdwc3_remove()
194 pm_runtime_put_sync(kdwc->dev); in kdwc3_remove()
195 pm_runtime_disable(kdwc->dev); in kdwc3_remove()
197 phy_power_off(kdwc->usb3_phy); in kdwc3_remove()
198 phy_exit(kdwc->usb3_phy); in kdwc3_remove()
199 phy_pm_runtime_put_sync(kdwc->usb3_phy); in kdwc3_remove()