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 <Shengzhou.Liu@freescale.com> Acked-by: York Sun <yorksun@freescale.com>
This commit is contained in:
parent
e1a2a34019
commit
424bf94273
arch/powerpc
@ -245,6 +245,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
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
|
||||
puts("Work-around for Erratum A-005812 enabled\n");
|
||||
#endif
|
||||
|
@ -357,7 +357,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)
|
||||
/*
|
||||
@ -548,6 +550,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;
|
||||
|
@ -131,6 +131,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
|
||||
|
||||
/* P1011 is single core version of P1020 */
|
||||
|
Loading…
Reference in New Issue
Block a user