powerpc/85xx: don't init SDRAM when CONFIG_SYS_RAMBOOT
authorZhao Chenhui <b35336@freescale.com>
Fri, 28 Jan 2011 09:58:37 +0000 (17:58 +0800)
committerKumar Gala <galak@kernel.crashing.org>
Tue, 5 Apr 2011 15:18:39 +0000 (10:18 -0500)
Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/cpu/mpc85xx/cpu.c
arch/powerpc/include/asm/fsl_ddr_sdram.h

index 49ea6cc75232271026abff6aea71d6c0b21195ba..f5b39c067c73843e1aeeacdea3fd392bc9d1700f 100644 (file)
@@ -299,6 +299,16 @@ void mpc85xx_reginfo(void)
 
 /* Common ddr init for non-corenet fsl 85xx platforms */
 #ifndef CONFIG_FSL_CORENET
+#if defined(CONFIG_SYS_RAMBOOT) && !defined(CONFIG_SYS_INIT_L2_ADDR)
+phys_size_t initdram(int board_type)
+{
+#if defined(CONFIG_SPD_EEPROM) || defined(CONFIG_DDR_SPD)
+       return fsl_ddr_sdram_size();
+#else
+       return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024;
+#endif
+}
+#else /* CONFIG_SYS_RAMBOOT */
 phys_size_t initdram(int board_type)
 {
        phys_size_t dram_size = 0;
@@ -348,6 +358,7 @@ phys_size_t initdram(int board_type)
        puts("DDR: ");
        return dram_size;
 }
+#endif /* CONFIG_SYS_RAMBOOT */
 #endif
 
 #if CONFIG_POST & CONFIG_SYS_POST_MEMORY
index 99dddb4f00404a71ca4605c20b6f253724bfbde7..127a84039c337556c90cff6d55defa8b4eef89ab 100644 (file)
@@ -271,6 +271,7 @@ typedef struct memctl_options_s {
 } memctl_options_t;
 
 extern phys_size_t fsl_ddr_sdram(void);
+extern phys_size_t fsl_ddr_sdram_size(void);
 extern int fsl_use_spd(void);
 extern void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs,
                                        unsigned int ctrl_num);