fsl-ddr: ignore memctl_intlv_ctl setting if only one DDR controller
authorKumar Gala <galak@kernel.crashing.org>
Fri, 6 Feb 2009 15:56:34 +0000 (09:56 -0600)
committerAndy Fleming <afleming@freescale.com>
Tue, 17 Feb 2009 00:05:50 +0000 (18:05 -0600)
If we only have one controller we can completely ignore how
memctl_intlv_ctl is set.  Otherwise other levels of code get confused
and think we have twice as much memory.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
cpu/mpc8xxx/ddr/options.c

index d4702d7..29d4143 100644 (file)
@@ -22,7 +22,9 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,
                        unsigned int ctrl_num)
 {
        unsigned int i;
+#if (CONFIG_NUM_DDR_CONTROLLERS > 1)
        const char *p;
+#endif
 
        /* Chip select options. */
 
@@ -195,6 +197,7 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,
         * requested ranks interleaved together such that the result
         * should be a subset of the requested configuration.
         */
+#if (CONFIG_NUM_DDR_CONTROLLERS > 1)
        if ((p = getenv("memctl_intlv_ctl")) != NULL) {
                if (pdimm[0].n_ranks == 0) {
                        printf("There is no rank on CS0. Because only rank on "
@@ -262,6 +265,7 @@ unsigned int populate_memctl_options(int all_DIMMs_registered,
                        break;
                }
        }
+#endif
 
        fsl_ddr_board_options(popts, pdimm, ctrl_num);