Program Central Security Unit (CSU) to grant access
permission for USB 2.0 controller, otherwiase EHCI funciton will down.

Signed-off-by: Ran Wang <ran.wan...@nxp.com>
---
 arch/arm/cpu/armv8/fsl-layerscape/soc.c              | 8 ++++++++
 arch/arm/include/asm/arch-fsl-layerscape/ns_access.h | 1 +
 2 files changed, 9 insertions(+)

diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c 
b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
index 6a56269..2c4cf7f 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
@@ -14,6 +14,7 @@
 #include <asm/io.h>
 #include <asm/global_data.h>
 #include <asm/arch-fsl-layerscape/config.h>
+#include <asm/arch-fsl-layerscape/ns_access.h>
 #ifdef CONFIG_LAYERSCAPE_NS_ACCESS
 #include <fsl_csu.h>
 #endif
@@ -668,6 +669,13 @@ void fsl_lsch2_early_init_f(void)
                         CCI400_DVM_MESSAGE_REQ_EN | CCI400_SNOOP_REQ_EN);
        }
 
+       /*
+        * Program Central Security Unit (CSU) to grant access
+        * permission for USB 2.0 controller
+        */
+#if defined(CONFIG_ARCH_LS1012A) && defined(CONFIG_USB_EHCI_FSL)
+       set_devices_ns_access(CSU_CSLX_USB_2, CSU_ALL_RW);
+#endif
        /* Erratum */
        erratum_a008850_early(); /* part 1 of 2 */
        erratum_a009929();
diff --git a/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h 
b/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h
index fe97a93..d1b8efa 100644
--- a/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h
+++ b/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h
@@ -40,6 +40,7 @@ enum csu_cslx_ind {
        CSU_CSLX_ESDHC,
        CSU_CSLX_IFC = 45,
        CSU_CSLX_I2C1,
+       CSU_CSLX_USB_2,
        CSU_CSLX_I2C3 = 48,
        CSU_CSLX_I2C2,
        CSU_CSLX_DUART2 = 50,
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to