]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
armv8: layerscape: spl: mark OCRAM as non-secure
authorMichael Walle <michael@walle.cc>
Tue, 23 Aug 2022 09:30:14 +0000 (11:30 +0200)
committerPeng Fan <peng.fan@nxp.com>
Tue, 6 Sep 2022 01:10:41 +0000 (09:10 +0800)
By default the OCRAM is marked as secure. While the SPL runs in EL3 and
thus can access it, DMA devices cannot. Mark the whole OCRAM as
non-secure.
This will fix MMC and SD card boot on LS1028A when using SPL instead of
TF-A.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/spl.c

index 5f09ef0a4af10613a66a444cb87b278e0bfef73c..3a4b665f244fd2caf4196bdc436e4676bd899f65 100644 (file)
@@ -67,11 +67,24 @@ void spl_board_init(void)
 #endif
 }
 
+void tzpc_init(void)
+{
+       /*
+        * Mark the whole OCRAM as non-secure, otherwise DMA devices cannot
+        * access it. This is for example necessary for MMC boot.
+        */
+#ifdef TZPCR0SIZE_BASE
+       out_le32(TZPCR0SIZE_BASE, 0);
+#endif
+}
+
 void board_init_f(ulong dummy)
 {
        int ret;
 
        icache_enable();
+       tzpc_init();
+
        /* Clear global data */
        memset((void *)gd, 0, sizeof(gd_t));
        if (IS_ENABLED(CONFIG_DEBUG_UART))