diff --git a/plat/nxp/common/aarch64/ls_helpers.S b/plat/nxp/common/aarch64/ls_helpers.S index 19ea9e5d4b..924bc0207f 100644 --- a/plat/nxp/common/aarch64/ls_helpers.S +++ b/plat/nxp/common/aarch64/ls_helpers.S @@ -6,8 +6,8 @@ */ #include +#include #include -#include #include @@ -23,6 +23,7 @@ .globl _disable_ldstr_pfetch_A53 .globl _disable_ldstr_pfetch_A72 .global _set_smmu_pagesz_64 + .global _delay_exclusive_snoop_A72 /* int plat_crash_console_init(void) * Function to initialize the crash console @@ -192,3 +193,21 @@ func _set_smmu_pagesz_64 ret endfunc _set_smmu_pagesz_64 + +func _delay_exclusive_snoop_A72 + mrs x0, CORTEX_A72_CPUACTLR_EL1 + tst x0, #CORTEX_A72_CPUACTLR_EL1_DELAY_EXCLUSIVE_SNOOP + b.eq 1f + b 2f + +.align 6 +1: + dsb sy + isb + orr x0, x0, #CORTEX_A72_CPUACTLR_EL1_DELAY_EXCLUSIVE_SNOOP + msr CORTEX_A72_CPUACTLR_EL1, x0 + isb + +2: + ret +endfunc _delay_exclusive_snoop_A72 diff --git a/plat/nxp/soc-lx2160a/aarch64/lx2160a_helpers.S b/plat/nxp/soc-lx2160a/aarch64/lx2160a_helpers.S index c364decd17..d78de06e58 100644 --- a/plat/nxp/soc-lx2160a/aarch64/lx2160a_helpers.S +++ b/plat/nxp/soc-lx2160a/aarch64/lx2160a_helpers.S @@ -27,7 +27,6 @@ endfunc platform_mem_init func apply_platform_errata - ret endfunc apply_platform_errata @@ -37,6 +36,7 @@ func plat_reset_handler bl apply_platform_errata #if defined(IMAGE_BL31) + bl _delay_exclusive_snoop_A72 ldr x0, =POLICY_SMMU_PAGESZ_64K cbz x0, 1f /* Set the SMMU page size in the sACR register */