MLK-19263-1 imx8m: Configure trustzone region 0 for non-secure access
authorYe Li <ye.li@nxp.com>
Tue, 21 Aug 2018 06:32:34 +0000 (23:32 -0700)
committerYe Li <ye.li@nxp.com>
Fri, 24 May 2019 09:36:38 +0000 (02:36 -0700)
Set trustzone region 0 to allow both non-secure and secure access when trust zone is enabled.
We found USB controller fails to access DDR if the default region 0 is secure access
only.

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit ebdf2c75f3c820c74d7d9a5ee0993a0937cf3443)

arch/arm/mach-imx/imx8m/soc.c

index 1eeaec3..7d9db56 100644 (file)
@@ -62,6 +62,12 @@ void enable_tzc380(void)
 #ifdef CONFIG_IMX8MM
        setbits_le32(&gpr->gpr[10], GPR_TZASC_SWAP_ID);
 #endif
+
+       /*
+        * set Region 0 attribute to allow secure and non-secure read/write permission
+        * Found some masters like usb dwc3 controllers can't work with secure memory.
+        */
+       writel(0xf0000000, TZASC_BASE_ADDR + 0x108);
 }
 
 void set_wdog_reset(struct wdog_regs *wdog)