In case of empty SPD or checksum error, fallback to raw timing on
supported boards.

Signed-off-by: York Sun <york...@freescale.com>
---
 arch/powerpc/cpu/mpc8xxx/ddr/main.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/main.c 
b/arch/powerpc/cpu/mpc8xxx/ddr/main.c
index 3c49fa9..249fd7d 100644
--- a/arch/powerpc/cpu/mpc8xxx/ddr/main.c
+++ b/arch/powerpc/cpu/mpc8xxx/ddr/main.c
@@ -343,12 +343,20 @@ fsl_ddr_compute(fsl_ddr_info_t *pinfo, unsigned int 
start_step,
                                        &(pinfo->dimm_params[i][j]);
 
                                retval = compute_dimm_parameters(spd, pdimm, i);
+#ifdef CONFIG_SYS_DDR_RAW_TIMING
+                               if (retval != 0) {
+                                       printf("SPD error! Trying fallback to "
+                                       "raw timing calculation\n");
+                                       fsl_ddr_get_dimm_params(pdimm, i, j);
+                               }
+#else
                                if (retval == 2) {
                                        printf("Error: compute_dimm_parameters"
                                        " non-zero returned FATAL value "
                                        "for memctl=%u dimm=%u\n", i, j);
                                        return 0;
                                }
+#endif
                                if (retval) {
                                        debug("Warning: compute_dimm_parameters"
                                        " non-zero return value for memctl=%u "
-- 
1.7.0.4


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to