--- 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);