powerpc/sec: Add workaround for SEC A-003571
PATCH 1/1 powerpc/sec: Add workaround for SEC A-003571
Multiple read/write transactions initiated by security engine may cause system to hang.
Workaround: set MCFGR[AXIPIPE] to 0 to avoid hang.
Signed-off-by Shengzhou Liu <[email protected]>
--- arch/powerpc/cpu/mpc85xx/cmd_errata.c | 4 ++++ arch/powerpc/cpu/mpc85xx/cpu_init.c | 10 +++++++++- arch/powerpc/include/asm/config_mpc85xx.h | 1 + 3 files changed, 14 insertions(+), 1 deletion(-)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +4 -0
@@ -348,6 +348,10 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])#ifdef CONFIG_SYS_FSL_ERRATUM_A006593 puts ("Work-around for Erratum A006593 enabled\n" );#endif +#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571 +if (IS_SVR_REV (svr,1 ,0 )) +puts ("Work-around for Erratum A003571 enabled\n" ); +#endif return 0 ; }
arch/powerpc/cpu/mpc85xx/cpu_init.c +9 -1
@@ -444,7 +444,9 @@ int cpu_init_r(void)extern int spin_table_compat;const char *spin;#endif - +#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571 +ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR ; +#endif #if defined(CONFIG_SYS_P4080_ERRATUM_CPU22 ) || \ defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011 )/*
@@ -634,6 +636,12 @@ skip_l2:fsl_serdes_init ();#endif +#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571 +#define MCFGR_AXIPIPE 0x000000f0 +if (IS_SVR_REV (svr,1 ,0 )) +clrbits_be32 (&sec->mcfgr,MCFGR_AXIPIPE ); +#endif +#ifdef CONFIG_SYS_FSL_ERRATUM_A005871 if (IS_SVR_REV (svr,1 ,0 )) {int i;
arch/powerpc/include/asm/config_mpc85xx.h +1 -0
@@ -149,6 +149,7 @@#define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY #define CONFIG_SYS_FSL_ERRATUM_IFC_A002769 #define CONFIG_SYS_FSL_ERRATUM_P1010_A003549 +#define CONFIG_SYS_FSL_ERRATUM_SEC_A003571 #define CONFIG_SYS_FSL_ERRATUM_IFC_A003399 #define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 #define CONFIG_SYS_FSL_ISBC_VER 1
Signature · 1 line
1.8.0
PATCH 1/1 powerpc/sec: Add workaround for SEC A-003571
Quoted 4 lines · Shengzhou Liu
Multiple read/write transactions initiated by security engine may cause system to hang.
Workaround: set MCFGR[AXIPIPE] to 0 to avoid hang.
Quoted 8 lines
Signed-off-by Shengzhou Liu <[email protected]>--- arch/powerpc/cpu/mpc85xx/cmd_errata.c | 4 ++++ arch/powerpc/cpu/mpc85xx/cpu_init.c | 10 +++++++++- arch/powerpc/include/asm/config_mpc85xx.h | 1 + 3 files changed, 14 insertions(+), 1 deletion(-)
Applied to u-boot-mpc85xx/master after resolving conflicts.
York