platform: msm_shared: Add support for hs only mode
Add support to program the usb controller to operate in high speed
only mode.
Change-Id: I2ce7af4fa2f14be75ab21fa2f91300d683f58ebf
diff --git a/platform/msm_shared/usb30_udc.c b/platform/msm_shared/usb30_udc.c
index 0e47c81..0e5e1b0 100644
--- a/platform/msm_shared/usb30_udc.c
+++ b/platform/msm_shared/usb30_udc.c
@@ -46,6 +46,7 @@
#include <smem.h>
#include <board.h>
#include <platform/timer.h>
+#include <qmp_phy.h>
//#define DEBUG_USB
@@ -232,10 +233,6 @@
/* 2. Put controller in reset */
dwc_reset(dwc, 1);
- /* HS only mode support */
-#ifdef USE_HSONLY_MODE
- usb_wrapper_hsonly_mode(wrapper);
-#endif
/* Steps 3 - 7 must be done while dwc is in reset condition */
@@ -243,9 +240,8 @@
phy_reset(wrapper, dev_info);
/* 4. SS phy config */
-#ifndef USE_HSONLY_MODE
- usb_wrapper_ss_phy_configure(wrapper);
-#endif
+ if (!use_hsonly_mode())
+ usb_wrapper_ss_phy_configure(wrapper);
/* 5. HS phy init */
usb_wrapper_hs_phy_init(wrapper);
@@ -266,6 +262,10 @@
if (dev_info->t_usb_if->phy_init)
dev_info->t_usb_if->phy_init();
+ /* HS only mode support */
+ if (use_hsonly_mode())
+ usb_wrapper_hsonly_mode(wrapper);
+
/* 10. */
usb_wrapper_workaround_10(wrapper);