mpc8xxx: Enable ECC on/off control in hwconfig
authorYork Sun <yorksun@freescale.com>
Mon, 10 Jan 2011 12:02:57 +0000 (12:02 +0000)
committerKumar Gala <galak@kernel.crashing.org>
Thu, 20 Jan 2011 04:58:23 +0000 (22:58 -0600)
Add fsl_ddr:ecc=on in hwconfig. If ECC is enabled in board configuration file,
ECC can be turned on/off by this switch. If this switch is omitted, it is ON by
default.

Updated hwconfig calls to use local buffer.

Syntax is
hwconfig=fsl_ddr:ecc=on

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/cpu/mpc8xxx/ddr/options.c
doc/README.fsl-ddr

index 0e7097babb597eaba34a6ea6e17a25f12ac2dffa..55dff43947b16f538f04719d25f45b6cbe9d6303 100644 (file)
@@ -98,10 +98,13 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,
        /* Operational Mode Paramters */
 
        /* Pick ECC modes */
-#ifdef CONFIG_DDR_ECC
-       popts->ECC_mode = 1;              /* 0 = disabled, 1 = enabled */
-#else
        popts->ECC_mode = 0;              /* 0 = disabled, 1 = enabled */
+#ifdef CONFIG_DDR_ECC
+       if (hwconfig_sub_f("fsl_ddr", "ecc", buf)) {
+               if (hwconfig_subarg_cmp_f("fsl_ddr", "ecc", "on", buf))
+                       popts->ECC_mode = 1;
+       } else
+               popts->ECC_mode = 1;
 #endif
        popts->ECC_init_using_memctl = 1; /* 0 = use DMA, 1 = use memctl */
 
index 1657ef61702679919301536eab515d22089c9e1d..9e3c5390de54255b23852b63bd55ece4a6574de5 100644 (file)
@@ -78,6 +78,13 @@ If the DDR controller supports address hashing, it can be enabled by hwconfig.
 Syntax is:
 hwconfig=fsl_ddr:addr_hash=true
 
+Memory controller ECC on/off
+============================
+If ECC is enabled in board configuratoin file, i.e. #define CONFIG_DDR_ECC,
+ECC can be turned on/off by hwconfig.
+
+Syntax is
+hwconfig=fsl_ddr:ecc=off
 
 Memory testing options for mpc85xx
 ==================================