summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-4.4/0069-awake-rt305x-dwc2-controller.patch
blob: cef05ad53db9e3140366b437d91e7e8dffbc8ba7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -375,6 +375,12 @@ static int dwc2_driver_probe(struct plat
 	dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n",
 		(unsigned long)res->start, hsotg->regs);
 
+	/* Enable USB port before any regs access */
+	if (dwc2_readl(hsotg->regs + PCGCTL) & 0x0f) {
+		dwc2_writel(0x00, hsotg->regs + PCGCTL);
+		/* TODO: mdelay(25) here? vendor driver don't use it */
+	}
+
 	hsotg->dr_mode = usb_get_dr_mode(&dev->dev);
 	if (IS_ENABLED(CONFIG_USB_DWC2_HOST) &&
 			hsotg->dr_mode != USB_DR_MODE_HOST) {