msize = fixed_sdram();
 
-       puts("\n   DDR RAM: ");
-
        /* return total bus SDRAM size(bytes)  -- DDR */
        return (msize * 1024 * 1024);
 }
 
        if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im)
                return -1;
 
-       puts("Initializing\n");
-
        /* DDR SDRAM - Main SODIMM */
        msize = fixed_sdram();
 
                resume_from_sleep();
 #endif
 
-       puts("   DDR RAM: ");
        /* return total bus SDRAM size(bytes)  -- DDR */
        return msize;
 }
 
 
        msize = fixed_sdram();
 
-       puts("\n   DDR RAM: ");
-
        /* return total bus SDRAM size(bytes)  -- DDR */
        return (msize * 1024 * 1024);
 }
 
        if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im)
                return -1;
 
-       puts("Initializing\n");
-
        /* DDR SDRAM - Main SODIMM */
        im->sysconf.ddrlaw[0].bar = CFG_DDR_BASE & LAWBAR_BAR;
 #if defined(CONFIG_SPD_EEPROM)
         */
        ddr_enable_ecc(msize * 1024 * 1024);
 #endif
-       puts("   DDR RAM: ");
+
        /* return total bus SDRAM size(bytes)  -- DDR */
        return (msize * 1024 * 1024);
 }
        volatile lbus83xx_t *lbc= &immap->lbus;
        uint *sdram_addr = (uint *)CFG_LBC_SDRAM_BASE;
 
-       puts("\n   SDRAM on Local Bus: ");
-       print_size (CFG_LBC_SDRAM_SIZE * 1024 * 1024, "\n");
-
        /*
         * Setup SDRAM Base and Option Registers, already done in cpu_init.c
         */
 #else
 void sdram_init(void)
 {
-       puts("   SDRAM on Local Bus is NOT available!\n");
 }
 #endif
 
 
 
        im->ddr.timing_cfg_1 = CFG_DDR_TIMING_1;
        im->ddr.timing_cfg_2 = CFG_DDR_TIMING_2;/* Was "2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT" */
-       im->ddr.sdram_cfg = SDRAM_CFG_SREN | SDRAM_CFG_SDRAM_TYPE_DDR;
+       im->ddr.sdram_cfg = SDRAM_CFG_SREN | SDRAM_CFG_SDRAM_TYPE_DDR1;
        im->ddr.sdram_mode =
            (0x0000 << SDRAM_MODE_ESD_SHIFT) | (0x0032 << SDRAM_MODE_SD_SHIFT);
        im->ddr.sdram_interval =
                ddr_enable_ecc(msize * 1048576);
 #endif
 
-       puts("   DDR RAM: ");
        /* return total bus RAM size(bytes) */
        return msize * 1024 * 1024;
 }
 
         * Initialize SDRAM if it is on local bus.
         */
        sdram_init();
-       puts("   DDR RAM: ");
+
        /* return total bus SDRAM size(bytes)  -- DDR */
        return (msize * 1024 * 1024);
 }
        volatile lbus83xx_t *lbc = &immap->lbus;
        uint *sdram_addr = (uint *) CFG_LBC_SDRAM_BASE;
 
-       puts("\n   SDRAM on Local Bus: ");
-       print_size(CFG_LBC_SDRAM_SIZE * 1024 * 1024, "\n");
        /*
         * Setup SDRAM Base and Option Registers, already done in cpu_init.c
         */
 #else
 void sdram_init(void)
 {
-       puts("SDRAM on Local Bus is NOT available!\n");
 }
 #endif
 
 
        if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im)
                return -1;
 
-       puts("Initializing\n");
-
        /* DDR SDRAM - Main SODIMM */
        im->sysconf.ddrlaw[0].bar = CFG_DDR_BASE & LAWBAR_BAR;
 #if defined(CONFIG_SPD_EEPROM)
         */
        ddr_enable_ecc(msize * 1024 * 1024);
 #endif
-       puts("   DDR RAM: ");
        /* return total bus SDRAM size(bytes)  -- DDR */
        return (msize * 1024 * 1024);
 }
 #if defined(CONFIG_DDR_2T_TIMING)
                | SDRAM_CFG_2T_EN
 #endif
-               | 2 << SDRAM_CFG_SDRAM_TYPE_SHIFT;
+               | SDRAM_CFG_SDRAM_TYPE_DDR1;
 #if defined (CONFIG_DDR_32BIT)
        /* for 32-bit mode burst length is 8 */
        im->ddr.sdram_cfg |= (SDRAM_CFG_32_BE | SDRAM_CFG_8_BE);
 
        /* enable DDR controller */
        im->ddr.sdram_cfg = (SDRAM_CFG_MEM_EN |
                SDRAM_CFG_SREN |
-               SDRAM_CFG_SDRAM_TYPE_DDR);
+               SDRAM_CFG_SDRAM_TYPE_DDR1);
        SYNC;
 
        /* size detection */
        /* don't enable DDR controller yet */
        im->ddr.sdram_cfg =
                SDRAM_CFG_SREN |
-               SDRAM_CFG_SDRAM_TYPE_DDR;
+               SDRAM_CFG_SDRAM_TYPE_DDR1;
        SYNC;
 
        /* Set SDRAM mode */
 
 #include <asm/mmu.h>
 #include <spd_sdram.h>
 
+void board_add_ram_info(int use_default)
+{
+       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile ddr83xx_t *ddr = &immap->ddr;
+
+       printf(" (DDR%d", ((ddr->sdram_cfg & SDRAM_CFG_SDRAM_TYPE_MASK)
+                          >> SDRAM_CFG_SDRAM_TYPE_SHIFT) - 1);
+
+       if (ddr->sdram_cfg & SDRAM_CFG_32_BE)
+               puts(", 32-bit");
+       else
+               puts(", 64-bit");
+
+       if (ddr->sdram_cfg & SDRAM_CFG_ECC_EN)
+               puts(", ECC on)");
+       else
+               puts(", ECC off)");
+
+#if defined(CFG_LB_SDRAM) && defined(CFG_LBC_SDRAM_SIZE)
+       puts("\nSDRAM: ");
+       print_size (CFG_LBC_SDRAM_SIZE * 1024 * 1024, " (local bus)");
+#endif
+}
+
 #ifdef CONFIG_SPD_EEPROM
 
 DECLARE_GLOBAL_DATA_PTR;
        unsigned int n_ranks;
        unsigned int odt_rd_cfg, odt_wr_cfg;
        unsigned char twr_clk, twtr_clk;
-       unsigned char sdram_type;
+       unsigned int sdram_type;
        unsigned int memsize;
        unsigned int law_size;
        unsigned char caslat, caslat_ctrl;
 #endif
        /* Check the memory type */
        if (spd.mem_type != SPD_MEMTYPE_DDR && spd.mem_type != SPD_MEMTYPE_DDR2) {
-               printf("DDR: Module mem type is %02X\n", spd.mem_type);
+               debug("DDR: Module mem type is %02X\n", spd.mem_type);
                return 0;
        }
 
                        burstlen = 0x03; /* 32 bit data bus, burst len is 8 */
                else
                        burstlen = 0x02; /* 32 bit data bus, burst len is 4 */
-               printf("\n   DDR DIMM: data bus width is 32 bit");
+               debug("\n   DDR DIMM: data bus width is 32 bit");
        } else {
                burstlen = 0x02; /* Others act as 64 bit bus, burst len is 4 */
-               printf("\n   DDR DIMM: data bus width is 64 bit");
+               debug("\n   DDR DIMM: data bus width is 64 bit");
        }
 
        /* Is this an ECC DDR chip? */
        if (spd.config == 0x02)
-               printf(" with ECC\n");
+               debug(" with ECC\n");
        else
-               printf(" without ECC\n");
+               debug(" without ECC\n");
 
        /* Burst length is always 4 for 64 bit data bus, 8 for 32 bit data bus,
           Burst type is sequential
         * sdram_cfg[13] = 0 (8_BE =0, 4-beat bursts)
         */
        if (spd.mem_type == SPD_MEMTYPE_DDR)
-               sdram_type = 2;
+               sdram_type = SDRAM_CFG_SDRAM_TYPE_DDR1;
        else
-               sdram_type = 3;
+               sdram_type = SDRAM_CFG_SDRAM_TYPE_DDR1;
 
        sdram_cfg = (0
-                    | (1 << 31)                        /* DDR enable */
-                    | (1 << 30)                        /* Self refresh */
-                    | (sdram_type << 24)               /* SDRAM type */
+                    | SDRAM_CFG_MEM_EN         /* DDR enable */
+                    | SDRAM_CFG_SREN           /* Self refresh */
+                    | sdram_type               /* SDRAM type */
                     );
 
        /* sdram_cfg[3] = RD_EN - registered DIMM enable */
        if (spd.mod_attr & 0x02)
-               sdram_cfg |= 0x10000000;
+               sdram_cfg |= SDRAM_CFG_RD_EN;
 
        /* The DIMM is 32bit width */
        if (spd.dataw_lsb == 0x20) {
                if (spd.mem_type == SPD_MEMTYPE_DDR)
-                       sdram_cfg |= 0x000C0000;
+                       sdram_cfg |= SDRAM_CFG_32_BE | SDRAM_CFG_8_BE;
                if (spd.mem_type == SPD_MEMTYPE_DDR2)
-                       sdram_cfg |= 0x00080000;
+                       sdram_cfg |= SDRAM_CFG_32_BE;
        }
 
        ddrc_ecc_enable = 0;
        debug("DDR:err_disable=0x%08x\n", ddr->err_disable);
        debug("DDR:err_sbe=0x%08x\n", ddr->err_sbe);
 #endif
-       printf("   DDRC ECC mode: %s\n", ddrc_ecc_enable ? "ON":"OFF");
+       debug("   DDRC ECC mode: %s\n", ddrc_ecc_enable ? "ON":"OFF");
 
 #if defined(CONFIG_DDR_2T_TIMING)
        /*
 
                                /* 0x03200064 */
 #if defined(CONFIG_DDR_2T_TIMING)
 #define CFG_SDRAM_CFG          ( SDRAM_CFG_SREN \
-                               | 3 << SDRAM_CFG_SDRAM_TYPE_SHIFT \
+                               | SDRAM_CFG_SDRAM_TYPE_DDR2 \
                                | SDRAM_CFG_2T_EN \
                                | SDRAM_CFG_DBW_32 )
 #else
 #define CFG_SDRAM_CFG          ( SDRAM_CFG_SREN \
-                               | 3 << SDRAM_CFG_SDRAM_TYPE_SHIFT \
+                               | SDRAM_CFG_SDRAM_TYPE_DDR2 \
                                | SDRAM_CFG_32_BE )
                                /* 0x43080000 */
 #endif
 
 #define SDRAM_CFG_SREN                 0x40000000
 #define SDRAM_CFG_ECC_EN               0x20000000
 #define SDRAM_CFG_RD_EN                        0x10000000
-#define SDRAM_CFG_SDRAM_TYPE           0x03000000
-#define SDRAM_CFG_SDRAM_TYPE_DDR       0x02000000
+#define SDRAM_CFG_SDRAM_TYPE_DDR1      0x02000000
+#define SDRAM_CFG_SDRAM_TYPE_DDR2      0x03000000
+#define SDRAM_CFG_SDRAM_TYPE_MASK      0x07000000
 #define SDRAM_CFG_SDRAM_TYPE_SHIFT     24
 #define SDRAM_CFG_DYN_PWR              0x00200000
 #define SDRAM_CFG_32_BE                        0x00080000