summaryrefslogtreecommitdiff
path: root/arch/powerpc/cpu/mpc85xx/cmd_errata.c
diff options
context:
space:
mode:
authorLiu Gang <Gang.Liu@freescale.com>2012-09-28 21:26:19 +0000
committerAndy Fleming <afleming@freescale.com>2012-10-22 14:31:12 -0500
commitd59c5570495a2721f4361275df668193e5f411f9 (patch)
tree6f20aaf1baaa778f896cbd18490833dd7b87b89a /arch/powerpc/cpu/mpc85xx/cmd_errata.c
parent9c889ece32d41063dd8e66e0c45a8e8c0c297149 (diff)
powerpc/srio: Workaround for srio erratrm a004034
Erratum: A-004034 Affects: SRIO Description: During port initialization, the SRIO port performs lane synchronization (detecting valid symbols on a lane) and lane alignment (coordinating multiple lanes to receive valid data across lanes). Internal errors in lane synchronization and lane alignment may cause failure to achieve link initialization at the configured port width. An SRIO port configured as a 4x port may see one of these scenarios: 1. One or more lanes fails to achieve lane synchronization. Depending on which lanes fail, this may result in downtraining from 4x to 1x on lane 0, 4x to 1x on lane R (redundant lane). 2. The link may fail to achieve lane alignment as a 4x, even though all 4 lanes achieve lane synchronization, and downtrain to a 1x. An SRIO port configured as a 1x port may fail to complete port initialization (PnESCSR[PU] never deasserts) because of scenario 1. Impact: SRIO port may downtrain to 1x, or may fail to complete link initialization. Once a port completes link initialization successfully, it will operate normally. Signed-off-by: Liu Gang <Gang.Liu@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'arch/powerpc/cpu/mpc85xx/cmd_errata.c')
-rw-r--r--arch/powerpc/cpu/mpc85xx/cmd_errata.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/cpu/mpc85xx/cmd_errata.c b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
index 7e4cc03640..bc7e5e36e2 100644
--- a/arch/powerpc/cpu/mpc85xx/cmd_errata.c
+++ b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
@@ -128,6 +128,9 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#ifdef CONFIG_SYS_FSL_ERRATUM_A004510
puts("Work-around for Erratum A004510 enabled\n");
#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_SRIO_A004034
+ puts("Work-around for Erratum SRIO-A004034 enabled\n");
+#endif
return 0;
}