|
|
@@ -1,15 +1,15 @@
|
|
|
--- a/drivers/usb/dwc2/platform.c
|
|
|
+++ b/drivers/usb/dwc2/platform.c
|
|
|
-@@ -432,6 +432,12 @@ static int dwc2_driver_probe(struct plat
|
|
|
-
|
|
|
- hsotg->needs_byte_swap = dwc2_check_core_endianness(hsotg);
|
|
|
+@@ -430,6 +430,12 @@ static int dwc2_driver_probe(struct plat
|
|
|
+ if (retval)
|
|
|
+ return retval;
|
|
|
|
|
|
+ /* Enable USB port before any regs access */
|
|
|
-+ if (dwc2_readl(hsotg, PCGCTL) & 0x0f) {
|
|
|
-+ dwc2_writel(0x00, hsotg, PCGCTL);
|
|
|
++ 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);
|
|
|
- if (retval)
|
|
|
- goto error;
|