powerpc/85xx: Display SERDES 8 erratum warning if banks are not disabled
authorTimur Tabi <timur@freescale.com>
Wed, 13 Apr 2011 15:38:23 +0000 (10:38 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Fri, 29 Apr 2011 03:09:23 +0000 (22:09 -0500)
The work-around for P4080 erratum SERDES-8 requires all lanes of banks two
and three to be disabled (powered down) in the RCW.  Display a warning
message if this is not the case.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c

index edacdb813f54c373627b84a880f411e384670bbd..f5452c07560d5d362a08e59615cdc7676e94b3de 100644 (file)
@@ -475,6 +475,17 @@ void fsl_serdes_init(void)
        }
 
 #ifdef CONFIG_SYS_P4080_ERRATUM_SERDES8
+       /*
+        * Display a warning if banks two and three are not disabled in the RCW,
+        * since our work-around for SERDES8 depends on these banks being
+        * disabled at power-on.
+        */
+#define B2_B3 (FSL_CORENET_RCWSRn_SRDS_LPD_B2 | FSL_CORENET_RCWSRn_SRDS_LPD_B3)
+       if ((in_be32(&gur->rcwsr[5]) & B2_B3) != B2_B3) {
+               printf("Warning: SERDES8 requires banks two and "
+                      "three to be disabled in the RCW\n");
+       }
+
        /*
         * Store the values of the fsl_srds_lpd_b2 and fsl_srds_lpd_b3
         * hwconfig options into the srds_lpd_b[] array.  See README.p4080ds