summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx6/usb_dr.c8
-rw-r--r--arch/arm/mach-mx6/usb_h1.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-mx6/usb_dr.c b/arch/arm/mach-mx6/usb_dr.c
index e6496bc9cd50..c02158b4a2fc 100644
--- a/arch/arm/mach-mx6/usb_dr.c
+++ b/arch/arm/mach-mx6/usb_dr.c
@@ -248,10 +248,12 @@ static void enter_phy_lowpower_suspend(struct fsl_usb2_platform_data *pdata, boo
usbotg_internal_phy_clock_gate(false);
} else {
- if (UOG_PORTSC1 & PORTSC_PHCD) {
+ if (UOG_PORTSC1 & PORTSC_PHCD)
UOG_PORTSC1 &= ~PORTSC_PHCD;
- mdelay(1);
- }
+
+ /* Wait PHY clock stable */
+ mdelay(1);
+
usbotg_internal_phy_clock_gate(true);
tmp = (BM_USBPHY_PWD_TXPWDFS
| BM_USBPHY_PWD_TXPWDIBIAS
diff --git a/arch/arm/mach-mx6/usb_h1.c b/arch/arm/mach-mx6/usb_h1.c
index 6de99d96142b..a95bcdead9d6 100644
--- a/arch/arm/mach-mx6/usb_h1.c
+++ b/arch/arm/mach-mx6/usb_h1.c
@@ -332,10 +332,12 @@ static void _phy_lowpower_suspend(struct fsl_usb2_platform_data *pdata, bool ena
usbh1_internal_phy_clock_gate(false);
} else {
- if (UH1_PORTSC1 & PORTSC_PHCD) {
+ if (UH1_PORTSC1 & PORTSC_PHCD)
UH1_PORTSC1 &= ~PORTSC_PHCD;
- mdelay(1);
- }
+
+ /* Wait PHY clock stable */
+ mdelay(1);
+
usbh1_internal_phy_clock_gate(true);
tmp = (BM_USBPHY_PWD_TXPWDFS
| BM_USBPHY_PWD_TXPWDIBIAS