[U-Boot] [PATCH v1] EHCI: Fix endian access issue on EHCI intinalization

yinbo.zhu at nxp.com yinbo.zhu at nxp.com
Mon Jan 29 07:16:51 UTC 2018


From: yinbo.zhu <yinbo.zhu at nxp.com>

This issue is exposed after commit 9000eddbase0d
("drivers/usb/ehci: Use platform-specific accessors"),
the wrong endian way of EHCI controller programing will cause
USB function down.

Configs Affected: P2041-40-R2.0, P3041-R2.0, P4080-40-R3.0,
P5040-21-R2.1, T1024-R1.0, T1040-42-20-22-R1.1,
T2080-R1.1, T4240-4160-R2.0

Signed-off-by: yinbo.zhu <yinbo.zhu at nxp.com>
---
 include/configs/P2041RDB.h   |    1 +
 include/configs/T102xRDB.h   |    1 +
 include/configs/T208xRDB.h   |    1 +
 include/configs/T4240RDB.h   |    1 +
 include/configs/corenet_ds.h |    1 +
 5 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index 5f7ebe7..6b4c962 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -577,6 +577,7 @@ unsigned long get_board_sys_clk(unsigned long dummy);
 
 #if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
 #define CONFIG_USB_EHCI_FSL
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #endif
 
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index e1f2196..fad84d1 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -636,6 +636,7 @@ unsigned long get_board_ddr_clk(void);
 
 #ifdef CONFIG_HAS_FSL_DR_USB
 #define CONFIG_USB_EHCI_FSL
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #endif
 
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index eb9fe8d..0e0abca 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -644,6 +644,7 @@ unsigned long get_board_ddr_clk(void);
  */
 #ifdef CONFIG_USB_EHCI_HCD
 #define CONFIG_USB_EHCI_FSL
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_HAS_FSL_DR_USB
 #endif
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index bdb9322..6bdc3a7 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -657,6 +657,7 @@ unsigned long get_board_ddr_clk(void);
 * USB
 */
 #define CONFIG_USB_EHCI_FSL
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #define CONFIG_HAS_FSL_DR_USB
 
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 2344bd3..0076df9 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -586,6 +586,7 @@
 
 #if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
 #define CONFIG_USB_EHCI_FSL
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 #endif
 
-- 
1.7.1



More information about the U-Boot mailing list