--- a/drivers/usb/dwc2/platform.c | |
+++ b/drivers/usb/dwc2/platform.c | |
@@ -431,6 +431,12 @@ static int dwc2_driver_probe(struct plat | |
if (retval) | |
return retval; | |
+ /* Enable USB port before any regs access */ | |
+ if (readl(hsotg->regs + PCGCTL) & 0x0f) { | |
+ writel(0x00, hsotg->regs + PCGCTL); | |
+ /* TODO: mdelay(25) here? vendor driver don't use it */ | |
+ } | |
+ | |
hsotg->needs_byte_swap = dwc2_check_core_endianness(hsotg); | |
retval = dwc2_get_dr_mode(hsotg); |