diff options
author | York Sun <yorksun@freescale.com> | 2011-06-07 09:42:17 +0800 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-07-11 13:24:20 -0500 |
commit | f2d264b6603239d6d214c4e2faf17dde64cf81e2 (patch) | |
tree | bf829e30d4d0320f2211ccad95d07a1174b90bf4 /arch/powerpc/cpu/mpc8xxx/ddr | |
parent | 1b3e3c4f263ff20b95c3514eefbde47e950c39e0 (diff) |
powerpc/mpc8xxx: Adding fallback to raw timing on supported boards
In case of empty SPD or checksum error, fallback to raw timing on
supported boards.
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/cpu/mpc8xxx/ddr')
-rw-r--r-- | 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 3c49fa97c0..249fd7dfb3 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 " |