* [U-Boot] [PATCH] powerpc/sec: Add workaround for SEC A-003571
@ 2013-08-15 1:31 Shengzhou Liu
2013-08-20 18:16 ` York Sun
0 siblings, 1 reply; 2+ messages in thread
From: Shengzhou Liu @ 2013-08-15 1:31 UTC (permalink / raw)
To: u-boot
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>
---
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(-)
diff --git a/arch/powerpc/cpu/mpc85xx/cmd_errata.c b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
index e6d1023..2e1fc06 100644
--- a/arch/powerpc/cpu/mpc85xx/cmd_errata.c
+++ b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
@@ -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;
}
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index 7b81f5d..be09009 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -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;
diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h
index 86c2598..cc6e405 100644
--- a/arch/powerpc/include/asm/config_mpc85xx.h
+++ b/arch/powerpc/include/asm/config_mpc85xx.h
@@ -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
--
1.8.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* [U-Boot] [PATCH] powerpc/sec: Add workaround for SEC A-003571
2013-08-15 1:31 [U-Boot] [PATCH] powerpc/sec: Add workaround for SEC A-003571 Shengzhou Liu
@ 2013-08-20 18:16 ` York Sun
0 siblings, 0 replies; 2+ messages in thread
From: York Sun @ 2013-08-20 18:16 UTC (permalink / raw)
To: u-boot
On 08/14/2013 06:31 PM, Shengzhou Liu wrote:
> 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>
> ---
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-08-20 18:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-15 1:31 [U-Boot] [PATCH] powerpc/sec: Add workaround for SEC A-003571 Shengzhou Liu
2013-08-20 18:16 ` York Sun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox