diff options
Diffstat (limited to 'drivers/usb/renesas_usbhs/rcar3.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/rcar3.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/renesas_usbhs/rcar3.c b/drivers/usb/renesas_usbhs/rcar3.c index 1d70add926f0..d544b331c9f2 100644 --- a/drivers/usb/renesas_usbhs/rcar3.c +++ b/drivers/usb/renesas_usbhs/rcar3.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/delay.h> | ||
12 | #include <linux/io.h> | 13 | #include <linux/io.h> |
13 | #include "common.h" | 14 | #include "common.h" |
14 | #include "rcar3.h" | 15 | #include "rcar3.h" |
@@ -35,10 +36,13 @@ static int usbhs_rcar3_power_ctrl(struct platform_device *pdev, | |||
35 | 36 | ||
36 | usbhs_write32(priv, UGCTRL2, UGCTRL2_RESERVED_3 | UGCTRL2_USB0SEL_OTG); | 37 | usbhs_write32(priv, UGCTRL2, UGCTRL2_RESERVED_3 | UGCTRL2_USB0SEL_OTG); |
37 | 38 | ||
38 | if (enable) | 39 | if (enable) { |
39 | usbhs_bset(priv, LPSTS, LPSTS_SUSPM, LPSTS_SUSPM); | 40 | usbhs_bset(priv, LPSTS, LPSTS_SUSPM, LPSTS_SUSPM); |
40 | else | 41 | /* The controller on R-Car Gen3 needs to wait up to 45 usec */ |
42 | udelay(45); | ||
43 | } else { | ||
41 | usbhs_bset(priv, LPSTS, LPSTS_SUSPM, 0); | 44 | usbhs_bset(priv, LPSTS, LPSTS_SUSPM, 0); |
45 | } | ||
42 | 46 | ||
43 | return 0; | 47 | return 0; |
44 | } | 48 | } |