MLK-22622 imx8m: Enable the SError exception
authorYe Li <ye.li@nxp.com>
Fri, 6 Sep 2019 08:21:00 +0000 (01:21 -0700)
committerYe Li <ye.li@nxp.com>
Thu, 29 Apr 2021 07:56:32 +0000 (00:56 -0700)
To work with commit 2f3c920(imx8m: workaround ROM serror),
we need to enable the SError exception and install vector in SPL.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit f05dd45251ca82cc54e13a616f00744c26faab53)
(cherry picked from commit 25d059411e702a4002f1aa157839001f796dd9f6)

arch/arm/mach-imx/imx8m/Kconfig
arch/arm/mach-imx/lowlevel.S

index 9103270..d279e2b 100644 (file)
@@ -8,14 +8,17 @@ config IMX8M
 config IMX8MQ
        bool
        select IMX8M
+       select ARMV8_SPL_EXCEPTION_VECTORS
 
 config IMX8MM
        bool
        select IMX8M
+       select ARMV8_SPL_EXCEPTION_VECTORS
 
 config IMX8MN
        bool
        select IMX8M
+       select ARMV8_SPL_EXCEPTION_VECTORS
 
 config IMX8MP
        bool
index 158fdb7..2cb2d05 100644 (file)
@@ -6,6 +6,16 @@
 #include <linux/linkage.h>
 
 ENTRY(lowlevel_init)
+#ifdef CONFIG_SPL_BUILD
+       mrs     x0, CurrentEL
+       cmp     x0, #12
+       b.eq    1f
+       ret
+1:
+       msr daifclr, #4
+       isb
+       ret
+#else
        mrs     x0, CurrentEL
        cmp     x0, #8
        b.eq    1f
@@ -19,4 +29,5 @@ ENTRY(lowlevel_init)
        msr     hcr_el2, x0
        isb
        ret
+#endif
 ENDPROC(lowlevel_init)