diff options
Diffstat (limited to 'board')
126 files changed, 576 insertions, 273 deletions
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 8a7fa1d97c9..45e78c63a3c 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -110,7 +110,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); #endif - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT puts("Tertiary program loader running in sram..."); #else diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c index 292752450d4..3024a9c681e 100644 --- a/board/BuS/eb_cpu5282/eb_cpu5282.c +++ b/board/BuS/eb_cpu5282/eb_cpu5282.c @@ -35,7 +35,7 @@ int checkboard (void) return 0; } -phys_size_t initdram(void) +int initdram(void) { int size, i; @@ -92,7 +92,9 @@ phys_size_t initdram(void) *(unsigned int *) (CONFIG_SYS_SDRAM_BASE1 + 0x220) = 0xA5A5; size += CONFIG_SYS_SDRAM_SIZE1 * 1024 * 1024; #endif - return size; + gd->ram_size = size; + + return 0; } #if defined(CONFIG_SYS_DRAM_TEST) diff --git a/board/a3m071/a3m071.c b/board/a3m071/a3m071.c index b11ff980b8d..c1120c40044 100644 --- a/board/a3m071/a3m071.c +++ b/board/a3m071/a3m071.c @@ -76,7 +76,7 @@ static void sdram_start(int hi_addr) * use of CONFIG_SYS_SDRAM_BASE. The code does not work if * CONFIG_SYS_SDRAM_BASE is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -153,7 +153,9 @@ phys_size_t initdram(void) if ((SVR_MJREV(svr) >= 2) && (PVR_MAJ(pvr) == 1) && (PVR_MIN(pvr) == 4)) out_be32((void *)MPC5XXX_SDRAM_SDELAY, 0x04); - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } static void get_revisions(int *failsavelevel, int *digiboardversion, diff --git a/board/a4m072/a4m072.c b/board/a4m072/a4m072.c index 88d4942ce74..d4b30fd1478 100644 --- a/board/a4m072/a4m072.c +++ b/board/a4m072/a4m072.c @@ -23,6 +23,8 @@ #include "mt46v32m16.h" +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start (int hi_addr) { @@ -71,7 +73,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; uint svr, pvr; @@ -150,7 +152,9 @@ phys_size_t initdram(void) __asm__ volatile ("sync"); } - return dramsize; + gd->ram_size = dramsize; + + return 0; } int checkboard (void) diff --git a/board/amcc/acadia/memory.c b/board/amcc/acadia/memory.c index 841bcfa4bfd..cd78a147b13 100644 --- a/board/amcc/acadia/memory.c +++ b/board/amcc/acadia/memory.c @@ -15,6 +15,8 @@ #include <asm/io.h> #include <asm/ppc4xx-gpio.h> +DECLARE_GLOBAL_DATA_PTR; + extern void board_pll_init_f(void); static void cram_bcr_write(u32 wr_val) @@ -41,7 +43,7 @@ static void cram_bcr_write(u32 wr_val) return; } -phys_size_t initdram(void) +int initdram(void) { int i; u32 val; @@ -77,5 +79,7 @@ phys_size_t initdram(void) for (i=0; i<200000; i++) ; - return (CONFIG_SYS_MBYTES_RAM << 20); + gd->ram_size = CONFIG_SYS_MBYTES_RAM << 20; + + return 0; } diff --git a/board/amcc/bamboo/bamboo.c b/board/amcc/bamboo/bamboo.c index ae69f5a1b1a..453677aa66e 100644 --- a/board/amcc/bamboo/bamboo.c +++ b/board/amcc/bamboo/bamboo.c @@ -12,6 +12,8 @@ #include <asm/ppc440.h> #include "bamboo.h" +DECLARE_GLOBAL_DATA_PTR; + void ext_bus_cntlr_init(void); void configure_ppc440ep_pins(void); int is_nand_selected(void); @@ -436,9 +438,11 @@ int checkboard(void) } -phys_size_t initdram(void) +int initdram(void) { - return spd_sdram(); + gd->ram_size = spd_sdram(); + + return 0; } /*----------------------------------------------------------------------------+ diff --git a/board/amcc/bubinga/bubinga.c b/board/amcc/bubinga/bubinga.c index e3567173c2a..725b9ca0866 100644 --- a/board/amcc/bubinga/bubinga.c +++ b/board/amcc/bubinga/bubinga.c @@ -9,6 +9,8 @@ #include <asm/processor.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; + long int spd_sdram(void); int board_early_init_f(void) @@ -55,7 +57,9 @@ int checkboard(void) initdram() reads EEPROM via I2c. EEPROM contains all of the necessary info for SDRAM controller configuration ------------------------------------------------------------------------- */ -phys_size_t initdram(void) +int initdram(void) { - return spd_sdram(); + gd->ram_size = spd_sdram(); + + return 0; } diff --git a/board/amcc/sequoia/sdram.c b/board/amcc/sequoia/sdram.c index bb5c5ee4495..9bedb5bc8e3 100644 --- a/board/amcc/sequoia/sdram.c +++ b/board/amcc/sequoia/sdram.c @@ -20,6 +20,8 @@ #include <asm/io.h> #include <asm/ppc440.h> +DECLARE_GLOBAL_DATA_PTR; + /*-----------------------------------------------------------------------------+ * Prototypes *-----------------------------------------------------------------------------*/ @@ -31,7 +33,7 @@ extern void denali_core_search_data_eye(void); * initdram -- 440EPx's DDR controller is a DENALI Core * ************************************************************************/ -phys_size_t initdram(void) +int initdram(void) { #if !defined(CONFIG_SYS_RAMBOOT) ulong speed = get_bus_freq(0); @@ -88,5 +90,7 @@ phys_size_t initdram(void) */ set_mcsr(get_mcsr()); - return (CONFIG_SYS_MBYTES_SDRAM << 20); + gd->ram_size = CONFIG_SYS_MBYTES_SDRAM << 20; + + return 0; } diff --git a/board/amcc/walnut/walnut.c b/board/amcc/walnut/walnut.c index ca933d71a65..2a2441e101e 100644 --- a/board/amcc/walnut/walnut.c +++ b/board/amcc/walnut/walnut.c @@ -9,6 +9,8 @@ #include <asm/processor.h> #include <spd_sdram.h> +DECLARE_GLOBAL_DATA_PTR; + int board_early_init_f(void) { /*-------------------------------------------------------------------------+ @@ -74,7 +76,9 @@ int checkboard(void) * initdram() reads EEPROM via I2c. EEPROM contains all of * the necessary info for SDRAM controller configuration */ -phys_size_t initdram(void) +int initdram(void) { - return spd_sdram(); + gd->ram_size = spd_sdram(); + + return 0; } diff --git a/board/amcc/yosemite/yosemite.c b/board/amcc/yosemite/yosemite.c index f61978c5d5e..fde371d919d 100644 --- a/board/amcc/yosemite/yosemite.c +++ b/board/amcc/yosemite/yosemite.c @@ -286,7 +286,7 @@ void sdram_tr1_set(int ram_address, int* tr1_value) *tr1_value = (first_good + last_bad) / 2; } -phys_size_t initdram(void) +int initdram(void) { register uint reg; int tr1_bank1, tr1_bank2; @@ -334,7 +334,10 @@ phys_size_t initdram(void) sdram_tr1_set(0x08000000, &tr1_bank2); mtsdram(SDRAM0_TR1, (((tr1_bank1+tr1_bank2)/2) | 0x80800800)); - return CONFIG_SYS_SDRAM_BANKS * (CONFIG_SYS_KBYTES_SDRAM * 1024); /* return bytes */ + gd->ram_size = CONFIG_SYS_SDRAM_BANKS * + (CONFIG_SYS_KBYTES_SDRAM * 1024); /* set bytes */ + + return 0; } /************************************************************************* diff --git a/board/astro/mcf5373l/mcf5373l.c b/board/astro/mcf5373l/mcf5373l.c index 70fcd619980..da281e87fc4 100644 --- a/board/astro/mcf5373l/mcf5373l.c +++ b/board/astro/mcf5373l/mcf5373l.c @@ -27,7 +27,7 @@ int checkboard(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { #if !defined(CONFIG_MONITOR_IS_IN_RAM) sdram_t *sdp = (sdram_t *)(MMAP_SDRAM); @@ -79,8 +79,10 @@ phys_size_t initdram(void) * (Do not rely on the SDCS register(s) being set to 0x00000000 * during reset as stated in the data sheet.) */ - return get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, + gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, 0x80000000 - CONFIG_SYS_SDRAM_BASE); + + return 0; } #define UART_BASE MMAP_UART0 diff --git a/board/canmb/canmb.c b/board/canmb/canmb.c index ba9930d3700..41194ecb7e7 100644 --- a/board/canmb/canmb.c +++ b/board/canmb/canmb.c @@ -18,6 +18,8 @@ #include "mt48lc16m32s2-75.h" #endif +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start (int hi_addr) { @@ -65,7 +67,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -163,7 +165,9 @@ phys_size_t initdram(void) #endif /* CONFIG_SYS_RAMBOOT */ - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard (void) diff --git a/board/cm5200/cm5200.c b/board/cm5200/cm5200.c index 2ac9fd9cd13..be0d65c694e 100644 --- a/board/cm5200/cm5200.c +++ b/board/cm5200/cm5200.c @@ -97,7 +97,7 @@ static mem_conf_t* get_mem_config(int board_type) /* * Initalize SDRAM - configure SDRAM controller, detect memory size. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; #ifndef CONFIG_SYS_RAMBOOT @@ -150,7 +150,9 @@ phys_size_t initdram(void) *(vu_long *)MPC5XXX_SDRAM_SDELAY = 0x04; __asm__ volatile ("sync"); - return dramsize; + gd->ram_size = dramsize; + + return 0; } diff --git a/board/cobra5272/cobra5272.c b/board/cobra5272/cobra5272.c index 9d4554da1fe..48366763c10 100644 --- a/board/cobra5272/cobra5272.c +++ b/board/cobra5272/cobra5272.c @@ -8,6 +8,7 @@ #include <common.h> #include <asm/immap.h> +DECLARE_GLOBAL_DATA_PTR; int checkboard (void) { @@ -16,7 +17,7 @@ int checkboard (void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { volatile sdramctrl_t *sdp = (sdramctrl_t *) (MMAP_SDRAM); @@ -26,7 +27,9 @@ phys_size_t initdram(void) /* Dummy write to start SDRAM */ *((volatile unsigned long *) 0) = 0; - return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + gd->ram_size = CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + + return 0; }; int testdram (void) diff --git a/board/davedenx/aria/aria.c b/board/davedenx/aria/aria.c index 709c65ba0d6..f0be2cbb9bc 100644 --- a/board/davedenx/aria/aria.c +++ b/board/davedenx/aria/aria.c @@ -18,9 +18,11 @@ DECLARE_GLOBAL_DATA_PTR; -phys_size_t initdram(void) +int initdram(void) { - return fixed_sdram(NULL, NULL, 0); + gd->ram_size = fixed_sdram(NULL, NULL, 0); + + return 0; } int misc_init_r(void) diff --git a/board/dbau1x00/dbau1x00.c b/board/dbau1x00/dbau1x00.c index cf2f88047d4..ea7cb744dba 100644 --- a/board/dbau1x00/dbau1x00.c +++ b/board/dbau1x00/dbau1x00.c @@ -11,11 +11,15 @@ #include <asm/mipsregs.h> #include <asm/io.h> -phys_size_t initdram(void) +DECLARE_GLOBAL_DATA_PTR; + +int initdram(void) { /* Sdram is setup by assembler code */ /* If memory could be changed, we should return the true value here */ - return MEM_SIZE*1024*1024; + gd->ram_size = MEM_SIZE * 1024 * 1024; + + return 0; } #define BCSR_PCMCIA_PC0DRVEN 0x0010 diff --git a/board/esd/mecp5123/mecp5123.c b/board/esd/mecp5123/mecp5123.c index b8eb32b1fb7..80963fefa50 100644 --- a/board/esd/mecp5123/mecp5123.c +++ b/board/esd/mecp5123/mecp5123.c @@ -62,9 +62,11 @@ int board_early_init_f(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { - return get_ram_size(0, fixed_sdram(NULL, NULL, 0)); + gd->ram_size = get_ram_size(0, fixed_sdram(NULL, NULL, 0)); + + return 0; } int misc_init_r(void) diff --git a/board/esd/pmc440/sdram.c b/board/esd/pmc440/sdram.c index 82ee289aa61..e962d4c4bb4 100644 --- a/board/esd/pmc440/sdram.c +++ b/board/esd/pmc440/sdram.c @@ -24,6 +24,8 @@ #include <asm/mmu.h> #include <asm/ppc440.h> +DECLARE_GLOBAL_DATA_PTR; + extern int denali_wait_for_dlllock(void); extern void denali_core_search_data_eye(void); @@ -105,7 +107,7 @@ int initdram_by_rb(int rows, int banks) return 0; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t size; int n; @@ -125,12 +127,14 @@ phys_size_t initdram(void) sdram_conf[n].banks); /* check for suitable configuration */ - if (get_ram_size(CONFIG_SYS_SDRAM_BASE, size) == size) - return size; + if (get_ram_size(CONFIG_SYS_SDRAM_BASE, size) == size) { + gd->ram_size = size; + return 0; + } /* delete TLB entries */ remove_tlb(CONFIG_SYS_SDRAM_BASE, size); } - return 0; + return -ENXIO; } diff --git a/board/esd/vme8349/vme8349.c b/board/esd/vme8349/vme8349.c index bf6ee7a73dc..0e7f8b130a3 100644 --- a/board/esd/vme8349/vme8349.c +++ b/board/esd/vme8349/vme8349.c @@ -26,15 +26,17 @@ #include <i2c.h> #include <netdev.h> +DECLARE_GLOBAL_DATA_PTR; + void ddr_enable_ecc(unsigned int dram_size); -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM - Main memory */ im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR; @@ -52,7 +54,9 @@ phys_size_t initdram(void) msize = get_ram_size(0, msize); /* return total bus SDRAM size(bytes) -- DDR */ - return msize * 1024 * 1024; + gd->ram_size = msize * 1024 * 1024; + + return 0; } int checkboard(void) diff --git a/board/freescale/b4860qds/ddr.c b/board/freescale/b4860qds/ddr.c index d070104618a..085323132c5 100644 --- a/board/freescale/b4860qds/ddr.c +++ b/board/freescale/b4860qds/ddr.c @@ -176,7 +176,7 @@ found: popts->cpo_sample = 0x3e; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -189,7 +189,9 @@ phys_size_t initdram(void) dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; - return dram_size; + gd->ram_size = dram_size; + + return 0; } unsigned long long step_assign_addresses(fsl_ddr_info_t *pinfo, diff --git a/board/freescale/b4860qds/spl.c b/board/freescale/b4860qds/spl.c index 17e2ba8953d..a27ad7fa842 100644 --- a/board/freescale/b4860qds/spl.c +++ b/board/freescale/b4860qds/spl.c @@ -108,7 +108,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) puts("\n\n"); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT nand_boot(); diff --git a/board/freescale/c29xpcie/spl.c b/board/freescale/c29xpcie/spl.c index 785c859beed..86d55bf2ac2 100644 --- a/board/freescale/c29xpcie/spl.c +++ b/board/freescale/c29xpcie/spl.c @@ -67,7 +67,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT puts("TPL\n"); diff --git a/board/freescale/corenet_ds/ddr.c b/board/freescale/corenet_ds/ddr.c index 75de247a51e..ad93abf9f41 100644 --- a/board/freescale/corenet_ds/ddr.c +++ b/board/freescale/corenet_ds/ddr.c @@ -260,7 +260,7 @@ found: popts->ddr_cdr1 = DDR_CDR1_DHC_EN; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -278,5 +278,7 @@ phys_size_t initdram(void) dram_size *= 0x100000; debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/ls1021aqds/ddr.c b/board/freescale/ls1021aqds/ddr.c index 99a4984fbcf..8e8cd37b8b0 100644 --- a/board/freescale/ls1021aqds/ddr.c +++ b/board/freescale/ls1021aqds/ddr.c @@ -164,7 +164,7 @@ void board_mem_sleep_setup(void) } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -179,7 +179,9 @@ phys_size_t initdram(void) fsl_dp_resume(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } void dram_init_banksize(void) diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c index 57314e2c9fd..909fc562751 100644 --- a/board/freescale/ls1021aqds/ls1021aqds.c +++ b/board/freescale/ls1021aqds/ls1021aqds.c @@ -162,9 +162,7 @@ int dram_init(void) * before accessing DDR SPD. */ select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT); - gd->ram_size = initdram(); - - return 0; + return initdram(); } #ifdef CONFIG_FSL_ESDHC diff --git a/board/freescale/ls1043aqds/ddr.c b/board/freescale/ls1043aqds/ddr.c index 817c91a34af..db350e27b89 100644 --- a/board/freescale/ls1043aqds/ddr.c +++ b/board/freescale/ls1043aqds/ddr.c @@ -108,7 +108,7 @@ found: #endif } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -125,5 +125,7 @@ phys_size_t initdram(void) fsl_dp_ddr_restore(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index 755aef384e7..538bba53da9 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -153,7 +153,7 @@ int dram_init(void) * before accessing DDR SPD. */ select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT); - gd->ram_size = initdram(); + initdram(); #if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ update_early_mmu_table(); diff --git a/board/freescale/ls1043ardb/ddr.c b/board/freescale/ls1043ardb/ddr.c index b5c5b2ede38..2f133db0a63 100644 --- a/board/freescale/ls1043ardb/ddr.c +++ b/board/freescale/ls1043ardb/ddr.c @@ -170,7 +170,7 @@ int fsl_ddr_get_dimm_params(dimm_params_t *pdimm, } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -186,5 +186,7 @@ phys_size_t initdram(void) fsl_dp_ddr_restore(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/ls1046aqds/ddr.c b/board/freescale/ls1046aqds/ddr.c index 6a5cbbf7394..481ed440468 100644 --- a/board/freescale/ls1046aqds/ddr.c +++ b/board/freescale/ls1046aqds/ddr.c @@ -92,7 +92,7 @@ found: popts->cpo_sample = 0x70; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -110,5 +110,7 @@ phys_size_t initdram(void) erratum_a008850_post(); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/ls1046aqds/ls1046aqds.c b/board/freescale/ls1046aqds/ls1046aqds.c index f30dd233519..6238852af55 100644 --- a/board/freescale/ls1046aqds/ls1046aqds.c +++ b/board/freescale/ls1046aqds/ls1046aqds.c @@ -149,7 +149,7 @@ int dram_init(void) * before accessing DDR SPD. */ select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT); - gd->ram_size = initdram(); + initdram(); #if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ update_early_mmu_table(); diff --git a/board/freescale/ls1046ardb/ddr.c b/board/freescale/ls1046ardb/ddr.c index 1e995380220..d1290e27f8d 100644 --- a/board/freescale/ls1046ardb/ddr.c +++ b/board/freescale/ls1046ardb/ddr.c @@ -96,7 +96,7 @@ found: popts->cpo_sample = 0x70; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -110,5 +110,7 @@ phys_size_t initdram(void) erratum_a008850_post(); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/ls2080a/ddr.c b/board/freescale/ls2080a/ddr.c index 0bff922f07e..d340c4162dc 100644 --- a/board/freescale/ls2080a/ddr.c +++ b/board/freescale/ls2080a/ddr.c @@ -158,14 +158,12 @@ int fsl_ddr_get_dimm_params(dimm_params_t *pdimm, return 0; } #endif -phys_size_t initdram(void) +int initdram(void) { - phys_size_t dram_size; - puts("Initializing DDR...."); puts("using SPD\n"); - dram_size = fsl_ddr_sdram(); + gd->ram_size = fsl_ddr_sdram(); - return dram_size; + return 0; } diff --git a/board/freescale/ls2080aqds/ddr.c b/board/freescale/ls2080aqds/ddr.c index bd32c54fc15..1e9145d6ab2 100644 --- a/board/freescale/ls2080aqds/ddr.c +++ b/board/freescale/ls2080aqds/ddr.c @@ -155,17 +155,15 @@ found: } } -phys_size_t initdram(void) +int initdram(void) { - phys_size_t dram_size; - #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) - return fsl_ddr_sdram_size(); + gd->ram_size = fsl_ddr_sdram_size(); #else puts("Initializing DDR....using SPD\n"); - dram_size = fsl_ddr_sdram(); + gd->ram_size = fsl_ddr_sdram(); #endif - return dram_size; + return 0; } diff --git a/board/freescale/ls2080ardb/ddr.c b/board/freescale/ls2080ardb/ddr.c index b00e575ea29..029ea61b959 100644 --- a/board/freescale/ls2080ardb/ddr.c +++ b/board/freescale/ls2080ardb/ddr.c @@ -158,17 +158,15 @@ found: } } -phys_size_t initdram(void) +int initdram(void) { - phys_size_t dram_size; - #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) - return fsl_ddr_sdram_size(); + gd->ram_size = fsl_ddr_sdram_size(); #else puts("Initializing DDR....using SPD\n"); - dram_size = fsl_ddr_sdram(); + gd->ram_size = fsl_ddr_sdram(); #endif - return dram_size; + return 0; } diff --git a/board/freescale/m5208evbe/m5208evbe.c b/board/freescale/m5208evbe/m5208evbe.c index 61227508823..edf486acc86 100644 --- a/board/freescale/m5208evbe/m5208evbe.c +++ b/board/freescale/m5208evbe/m5208evbe.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); u32 dramsize, i; @@ -68,7 +68,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m52277evb/m52277evb.c b/board/freescale/m52277evb/m52277evb.c index 571e1a6528a..28736435828 100644 --- a/board/freescale/m52277evb/m52277evb.c +++ b/board/freescale/m52277evb/m52277evb.c @@ -21,7 +21,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { u32 dramsize; @@ -78,7 +78,9 @@ phys_size_t initdram(void) udelay(100); #endif - return (dramsize); + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m5235evb/m5235evb.c b/board/freescale/m5235evb/m5235evb.c index 7aa0edfdc19..1d82e937862 100644 --- a/board/freescale/m5235evb/m5235evb.c +++ b/board/freescale/m5235evb/m5235evb.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); gpio_t *gpio = (gpio_t *)(MMAP_GPIO); @@ -97,7 +97,9 @@ phys_size_t initdram(void) *(u32 *) (CONFIG_SYS_SDRAM_BASE + 0x400) = 0xA5A59696; } - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m5249evb/m5249evb.c b/board/freescale/m5249evb/m5249evb.c index b8544292a74..d3c2acd0898 100644 --- a/board/freescale/m5249evb/m5249evb.c +++ b/board/freescale/m5249evb/m5249evb.c @@ -10,6 +10,8 @@ #include <malloc.h> #include <asm/immap.h> +DECLARE_GLOBAL_DATA_PTR; + int checkboard (void) { ulong val; uchar val8; @@ -29,7 +31,7 @@ int checkboard (void) { }; -phys_size_t initdram(void) +int initdram(void) { unsigned long junk = 0xa5a59696; @@ -82,7 +84,9 @@ phys_size_t initdram(void) mbar_writeLong(MCFSIM_DACR0, 0x0000b364); /* Enable DACR0[IMRS] (bit 6); RE remains enabled */ *((volatile unsigned long *) 0x800) = junk; /* Access RAM to initialize the mode register */ - return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + gd->ram_size = CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + + return 0; }; diff --git a/board/freescale/m5253demo/m5253demo.c b/board/freescale/m5253demo/m5253demo.c index fef2ca6af6d..1c100e6d8c9 100644 --- a/board/freescale/m5253demo/m5253demo.c +++ b/board/freescale/m5253demo/m5253demo.c @@ -13,6 +13,8 @@ #include <netdev.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; + int checkboard(void) { puts("Board: "); @@ -20,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { u32 dramsize = 0; @@ -73,7 +75,9 @@ phys_size_t initdram(void) mb(); } - return dramsize; + gd->ram_size = dramsize; + + return 0; } int testdram(void) diff --git a/board/freescale/m5253evbe/m5253evbe.c b/board/freescale/m5253evbe/m5253evbe.c index 3f4cdfbaf14..eae499fa9db 100644 --- a/board/freescale/m5253evbe/m5253evbe.c +++ b/board/freescale/m5253evbe/m5253evbe.c @@ -12,6 +12,8 @@ #include <asm/immap.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; + int checkboard(void) { puts("Board: "); @@ -19,7 +21,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { /* * Check to see if the SDRAM has already been initialized @@ -66,7 +68,9 @@ phys_size_t initdram(void) *(u32 *) (CONFIG_SYS_SDRAM_BASE + 0x800) = 0xa5a5a5a5; } - return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + gd->ram_size = CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + + return 0; } int testdram(void) diff --git a/board/freescale/m5272c3/m5272c3.c b/board/freescale/m5272c3/m5272c3.c index 9fab24ebb9d..bbe06ba9dfc 100644 --- a/board/freescale/m5272c3/m5272c3.c +++ b/board/freescale/m5272c3/m5272c3.c @@ -11,6 +11,7 @@ #include <asm/immap.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; int checkboard (void) { puts ("Board: "); @@ -18,7 +19,7 @@ int checkboard (void) { return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdramctrl_t * sdp = (sdramctrl_t *)(MMAP_SDRAM); @@ -28,7 +29,9 @@ phys_size_t initdram(void) /* Dummy write to start SDRAM */ *((volatile unsigned long *)0) = 0; - return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + gd->ram_size = CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + + return 0; }; int testdram (void) { diff --git a/board/freescale/m5275evb/m5275evb.c b/board/freescale/m5275evb/m5275evb.c index 00ce5822498..48ad4a86b9e 100644 --- a/board/freescale/m5275evb/m5275evb.c +++ b/board/freescale/m5275evb/m5275evb.c @@ -13,6 +13,8 @@ #include <asm/immap.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; + #define PERIOD 13 /* system bus period in ns */ #define SDRAM_TREFI 7800 /* in ns */ @@ -23,7 +25,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdramctrl_t *sdp = (sdramctrl_t *)(MMAP_SDRAM); gpio_t *gpio_reg = (gpio_t *)(MMAP_GPIO); @@ -88,7 +90,9 @@ phys_size_t initdram(void) | MCF_SDRAMC_SDCR_RCNT((SDRAM_TREFI/(PERIOD*64)) - 1 + 1) | MCF_SDRAMC_SDCR_DQS_OE(0x3)); - return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + gd->ram_size = CONFIG_SYS_SDRAM_SIZE * 1024 * 1024; + + return 0; }; int testdram(void) diff --git a/board/freescale/m5282evb/m5282evb.c b/board/freescale/m5282evb/m5282evb.c index 19e56957bdd..7f3c04c3791 100644 --- a/board/freescale/m5282evb/m5282evb.c +++ b/board/freescale/m5282evb/m5282evb.c @@ -16,7 +16,7 @@ int checkboard (void) return 0; } -phys_size_t initdram(void) +int initdram(void) { u32 dramsize, i, dramclk; @@ -80,5 +80,7 @@ phys_size_t initdram(void) /* Write to the SDRAM Mode Register */ *(u32 *)(CONFIG_SYS_SDRAM_BASE + 0x400) = 0xA5A59696; } - return dramsize; + gd->ram_size = dramsize; + + return 0; } diff --git a/board/freescale/m53017evb/m53017evb.c b/board/freescale/m53017evb/m53017evb.c index 821e663b914..b0c27b49670 100644 --- a/board/freescale/m53017evb/m53017evb.c +++ b/board/freescale/m53017evb/m53017evb.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); u32 dramsize, i; @@ -68,7 +68,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m5329evb/m5329evb.c b/board/freescale/m5329evb/m5329evb.c index c4613a4cbda..5609a7b3766 100644 --- a/board/freescale/m5329evb/m5329evb.c +++ b/board/freescale/m5329evb/m5329evb.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); u32 dramsize, i; @@ -62,7 +62,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m5373evb/m5373evb.c b/board/freescale/m5373evb/m5373evb.c index f1ddee13786..48a262c12ff 100644 --- a/board/freescale/m5373evb/m5373evb.c +++ b/board/freescale/m5373evb/m5373evb.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); u32 dramsize, i; @@ -62,7 +62,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m54418twr/m54418twr.c b/board/freescale/m54418twr/m54418twr.c index c3bee185d87..3f1100c3557 100644 --- a/board/freescale/m54418twr/m54418twr.c +++ b/board/freescale/m54418twr/m54418twr.c @@ -25,7 +25,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { u32 dramsize; @@ -104,7 +104,9 @@ phys_size_t initdram(void) udelay(100); #endif - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m54451evb/m54451evb.c b/board/freescale/m54451evb/m54451evb.c index a4d11b6815e..653a11352cc 100644 --- a/board/freescale/m54451evb/m54451evb.c +++ b/board/freescale/m54451evb/m54451evb.c @@ -26,7 +26,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { u32 dramsize; #ifdef CONFIG_CF_SBF @@ -82,7 +82,9 @@ phys_size_t initdram(void) udelay(100); #endif - return (dramsize); + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m54455evb/m54455evb.c b/board/freescale/m54455evb/m54455evb.c index 3bdcc332b6c..b9850c1a2a2 100644 --- a/board/freescale/m54455evb/m54455evb.c +++ b/board/freescale/m54455evb/m54455evb.c @@ -22,7 +22,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { u32 dramsize; #ifdef CONFIG_CF_SBF @@ -75,7 +75,9 @@ phys_size_t initdram(void) udelay(100); #endif - return (dramsize << 1); + gd->ram_size = dramsize << 1; + + return 0; }; int testdram(void) diff --git a/board/freescale/m547xevb/m547xevb.c b/board/freescale/m547xevb/m547xevb.c index e84a5ac4eb9..fc674522f64 100644 --- a/board/freescale/m547xevb/m547xevb.c +++ b/board/freescale/m547xevb/m547xevb.c @@ -23,7 +23,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { siu_t *siu = (siu_t *) (MMAP_SIU); sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); @@ -79,7 +79,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/m548xevb/m548xevb.c b/board/freescale/m548xevb/m548xevb.c index 06f9a5ede03..c268ec6a608 100644 --- a/board/freescale/m548xevb/m548xevb.c +++ b/board/freescale/m548xevb/m548xevb.c @@ -23,7 +23,7 @@ int checkboard(void) return 0; }; -phys_size_t initdram(void) +int initdram(void) { siu_t *siu = (siu_t *) (MMAP_SIU); sdram_t *sdram = (sdram_t *)(MMAP_SDRAM); @@ -79,7 +79,9 @@ phys_size_t initdram(void) udelay(100); - return dramsize; + gd->ram_size = dramsize; + + return 0; }; int testdram(void) diff --git a/board/freescale/mpc5121ads/mpc5121ads.c b/board/freescale/mpc5121ads/mpc5121ads.c index e134091468b..a0e5d91c8fd 100644 --- a/board/freescale/mpc5121ads/mpc5121ads.c +++ b/board/freescale/mpc5121ads/mpc5121ads.c @@ -95,7 +95,7 @@ int is_micron(void){ return(ismicron); } -phys_size_t initdram(void) +int initdram(void) { u32 msize = 0; /* @@ -167,7 +167,9 @@ phys_size_t initdram(void) sizeof(elpida_init_sequence)/sizeof(u32)); } - return msize; + gd->ram_size = msize; + + return 0; } int misc_init_r(void) diff --git a/board/freescale/mpc8308rdb/sdram.c b/board/freescale/mpc8308rdb/sdram.c index ed1e84e0033..aac56c3983c 100644 --- a/board/freescale/mpc8308rdb/sdram.c +++ b/board/freescale/mpc8308rdb/sdram.c @@ -65,17 +65,19 @@ static long fixed_sdram(void) return get_ram_size(CONFIG_SYS_DDR_SDRAM_BASE, msize); } -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize; if ((in_be32(&im->sysconf.immrbar) & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM */ msize = fixed_sdram(); /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + gd->ram_size = msize; + + return 0; } diff --git a/board/freescale/mpc8313erdb/sdram.c b/board/freescale/mpc8313erdb/sdram.c index ce6fce53998..4e5dfe6f157 100644 --- a/board/freescale/mpc8313erdb/sdram.c +++ b/board/freescale/mpc8313erdb/sdram.c @@ -97,14 +97,14 @@ static long fixed_sdram(void) return msize; } -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (volatile immap_t *)CONFIG_SYS_IMMR; volatile fsl_lbc_t *lbc = &im->im_lbc; u32 msize; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM - Main SODIMM */ msize = fixed_sdram(); @@ -120,5 +120,7 @@ phys_size_t initdram(void) #endif /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + gd->ram_size = msize; + + return 0; } diff --git a/board/freescale/mpc8315erdb/sdram.c b/board/freescale/mpc8315erdb/sdram.c index fd8968c71cb..947ffabbb5b 100644 --- a/board/freescale/mpc8315erdb/sdram.c +++ b/board/freescale/mpc8315erdb/sdram.c @@ -92,13 +92,13 @@ static long fixed_sdram(void) } #endif /* CONFIG_SYS_RAMBOOT */ -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (volatile immap_t *)CONFIG_SYS_IMMR; u32 msize; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM */ msize = fixed_sdram(); @@ -106,6 +106,8 @@ phys_size_t initdram(void) if (im->pmc.pmccr1 & PMCCR1_POWER_OFF) resume_from_sleep(); - /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize; + + return 0; } diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c index f9f9a410c53..e7d8b99738c 100644 --- a/board/freescale/mpc8323erdb/mpc8323erdb.c +++ b/board/freescale/mpc8323erdb/mpc8323erdb.c @@ -21,6 +21,8 @@ #endif #include <asm/mmu.h> +DECLARE_GLOBAL_DATA_PTR; + const qe_iop_conf_t qe_iop_conf_tab[] = { /* UCC3 */ {1, 0, 1, 0, 1}, /* TxD0 */ @@ -68,21 +70,23 @@ const qe_iop_conf_t qe_iop_conf_tab[] = { int fixed_sdram(void); -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; u32 msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im) - return -1; + return -ENXIO; /* DDR SDRAM - Main SODIMM */ im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR; msize = fixed_sdram(); - /* return total bus SDRAM size(bytes) -- DDR */ - return (msize * 1024 * 1024); + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize * 1024 * 1024; + + return 0; } /************************************************************************* diff --git a/board/freescale/mpc832xemds/mpc832xemds.c b/board/freescale/mpc832xemds/mpc832xemds.c index d66ad33bf5e..907ad09dc8e 100644 --- a/board/freescale/mpc832xemds/mpc832xemds.c +++ b/board/freescale/mpc832xemds/mpc832xemds.c @@ -23,6 +23,8 @@ #include "../common/pq-mds-pib.h" #endif +DECLARE_GLOBAL_DATA_PTR; + const qe_iop_conf_t qe_iop_conf_tab[] = { /* ETH3 */ {1, 0, 1, 0, 1}, /* TxD0 */ @@ -88,21 +90,23 @@ int board_early_init_r(void) int fixed_sdram(void); -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; u32 msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im) - return -1; + return -ENXIO; /* DDR SDRAM - Main SODIMM */ im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR; msize = fixed_sdram(); - /* return total bus SDRAM size(bytes) -- DDR */ - return (msize * 1024 * 1024); + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize * 1024 * 1024; + + return 0; } /************************************************************************* diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c index 3bcfe03065b..595bce16d10 100644 --- a/board/freescale/mpc8349emds/mpc8349emds.c +++ b/board/freescale/mpc8349emds/mpc8349emds.c @@ -22,6 +22,8 @@ #include <libfdt.h> #endif +DECLARE_GLOBAL_DATA_PTR; + int fixed_sdram(void); void sdram_init(void); @@ -46,13 +48,13 @@ int board_early_init_f (void) #define ns2clk(ns) (ns / (1000000000 / CONFIG_8349_CLKIN) + 1) -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR; phys_size_t msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM - Main SODIMM */ im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR; @@ -73,8 +75,10 @@ phys_size_t initdram(void) */ sdram_init(); - /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize; + + return 0; } #if !defined(CONFIG_SPD_EEPROM) diff --git a/board/freescale/mpc8349itx/mpc8349itx.c b/board/freescale/mpc8349itx/mpc8349itx.c index 01eac0260fa..27f0ccd9a6c 100644 --- a/board/freescale/mpc8349itx/mpc8349itx.c +++ b/board/freescale/mpc8349itx/mpc8349itx.c @@ -20,6 +20,8 @@ #include <libfdt.h> #endif +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SPD_EEPROM /************************************************************************* * fixed sdram init -- doesn't use serial presence detect. @@ -116,7 +118,7 @@ volatile static struct pci_controller hose[] = { }; #endif /* CONFIG_PCI */ -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; u32 msize = 0; @@ -125,7 +127,7 @@ phys_size_t initdram(void) #endif if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im) - return -1; + return -ENXIO; /* DDR SDRAM - Main SODIMM */ im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR; @@ -144,7 +146,9 @@ phys_size_t initdram(void) #endif /* return total bus RAM size(bytes) */ - return msize * 1024 * 1024; + gd->ram_size = msize * 1024 * 1024; + + return 0; } int checkboard(void) diff --git a/board/freescale/mpc837xemds/mpc837xemds.c b/board/freescale/mpc837xemds/mpc837xemds.c index 0463940baeb..a3af2468548 100644 --- a/board/freescale/mpc837xemds/mpc837xemds.c +++ b/board/freescale/mpc837xemds/mpc837xemds.c @@ -20,6 +20,8 @@ #include "pci.h" #include "../common/pq-mds-pib.h" +DECLARE_GLOBAL_DATA_PTR; + int board_early_init_f(void) { u8 *bcsr = (u8 *)CONFIG_SYS_BCSR; @@ -216,13 +218,13 @@ extern void ddr_enable_ecc(unsigned int dram_size); #endif int fixed_sdram(void); -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; u32 msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im) - return -1; + return -ENXIO; #if defined(CONFIG_SPD_EEPROM) msize = spd_sdram(); @@ -236,7 +238,9 @@ phys_size_t initdram(void) #endif /* return total bus DDR size(bytes) */ - return (msize * 1024 * 1024); + gd->ram_size = msize * 1024 * 1024; + + return 0; } #if !defined(CONFIG_SPD_EEPROM) diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c index d81778549c4..2f5431ee21d 100644 --- a/board/freescale/mpc837xerdb/mpc837xerdb.c +++ b/board/freescale/mpc837xerdb/mpc837xerdb.c @@ -16,6 +16,8 @@ #include <vsc7385.h> #include <fsl_esdhc.h> +DECLARE_GLOBAL_DATA_PTR; + #if defined(CONFIG_SYS_DRAM_TEST) int testdram(void) @@ -60,13 +62,13 @@ void ddr_enable_ecc(unsigned int dram_size); #endif int fixed_sdram(void); -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *) CONFIG_SYS_IMMR; u32 msize = 0; if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im) - return -1; + return -ENXIO; #if defined(CONFIG_SPD_EEPROM) msize = spd_sdram(); @@ -79,7 +81,9 @@ phys_size_t initdram(void) ddr_enable_ecc(msize * 1024 * 1024); #endif /* return total bus DDR size(bytes) */ - return (msize * 1024 * 1024); + gd->ram_size = msize * 1024 * 1024; + + return 0; } #if !defined(CONFIG_SPD_EEPROM) diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c index 7668226321d..0422208133a 100644 --- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c +++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c @@ -19,6 +19,8 @@ #include <spd_sdram.h> #include <netdev.h> +DECLARE_GLOBAL_DATA_PTR; + void sdram_init(void); phys_size_t fixed_sdram(void); int mpc8610hpcd_diu_init(void); @@ -116,7 +118,7 @@ int checkboard(void) } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size = 0; @@ -129,7 +131,9 @@ phys_size_t initdram(void) setup_ddr_bat(dram_size); debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c index 10764425169..07cb08b6b8c 100644 --- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c +++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c @@ -16,6 +16,8 @@ #include <fdt_support.h> #include <netdev.h> +DECLARE_GLOBAL_DATA_PTR; + phys_size_t fixed_sdram(void); int checkboard(void) @@ -37,7 +39,7 @@ int checkboard(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size = 0; @@ -50,7 +52,9 @@ phys_size_t initdram(void) setup_ddr_bat(dram_size); debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 05da1dac7d5..0565367937d 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -94,7 +94,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT puts("\nTertiary program loader running in sram..."); #else diff --git a/board/freescale/p1022ds/spl.c b/board/freescale/p1022ds/spl.c index 77ed2577f99..1f490dc9437 100644 --- a/board/freescale/p1022ds/spl.c +++ b/board/freescale/p1022ds/spl.c @@ -111,7 +111,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); #endif - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT puts("Tertiary program loader running in sram..."); #else diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index 3357702dbab..67637390be6 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -108,7 +108,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); #endif - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_NAND_BOOT puts("Tertiary program loader running in sram..."); #else diff --git a/board/freescale/p2041rdb/ddr.c b/board/freescale/p2041rdb/ddr.c index b07bd98fb17..3df8d217256 100644 --- a/board/freescale/p2041rdb/ddr.c +++ b/board/freescale/p2041rdb/ddr.c @@ -12,6 +12,8 @@ #include <fsl_ddr_dimm_params.h> #include <asm/fsl_law.h> +DECLARE_GLOBAL_DATA_PTR; + struct board_specific_parameters { u32 n_ranks; u32 datarate_mhz_high; @@ -116,7 +118,7 @@ found: popts->ddr_cdr1 = DDR_CDR1_DHC_EN; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size = 0; @@ -127,12 +129,14 @@ phys_size_t initdram(void) dram_size = fsl_ddr_sdram(); } else { puts("no SPD and fixed parameters\n"); - return dram_size; + return -ENXIO; } dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t102xqds/ddr.c b/board/freescale/t102xqds/ddr.c index 507929bb707..93003c25d86 100644 --- a/board/freescale/t102xqds/ddr.c +++ b/board/freescale/t102xqds/ddr.c @@ -169,7 +169,7 @@ void board_mem_sleep_setup(void) } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -187,5 +187,7 @@ phys_size_t initdram(void) fsl_dp_resume(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t102xqds/spl.c b/board/freescale/t102xqds/spl.c index a1481e9b630..c847b01e7e0 100644 --- a/board/freescale/t102xqds/spl.c +++ b/board/freescale/t102xqds/spl.c @@ -142,7 +142,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t102xrdb/ddr.c b/board/freescale/t102xrdb/ddr.c index 56f98ac2f9f..773aa77781d 100644 --- a/board/freescale/t102xrdb/ddr.c +++ b/board/freescale/t102xrdb/ddr.c @@ -229,7 +229,7 @@ void board_mem_sleep_setup(void) } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -249,5 +249,7 @@ phys_size_t initdram(void) fsl_dp_resume(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index f70a337512b..5be71628afd 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -129,7 +129,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t1040qds/ddr.c b/board/freescale/t1040qds/ddr.c index a5d3e54cfe8..d23787d43a2 100644 --- a/board/freescale/t1040qds/ddr.c +++ b/board/freescale/t1040qds/ddr.c @@ -117,7 +117,7 @@ void board_mem_sleep_setup(void) } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -134,5 +134,7 @@ phys_size_t initdram(void) fsl_dp_resume(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c index 4a09cae782c..b99ab953977 100644 --- a/board/freescale/t104xrdb/ddr.c +++ b/board/freescale/t104xrdb/ddr.c @@ -120,7 +120,7 @@ void board_mem_sleep_setup(void) } #endif -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -137,5 +137,7 @@ phys_size_t initdram(void) fsl_dp_resume(); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index 076641c1ec4..899691a7794 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -125,7 +125,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) puts("\n\n"); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t208xqds/ddr.c b/board/freescale/t208xqds/ddr.c index 044ac18562a..adc109042bd 100644 --- a/board/freescale/t208xqds/ddr.c +++ b/board/freescale/t208xqds/ddr.c @@ -104,7 +104,7 @@ found: popts->cpo_sample = 0x64; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -118,5 +118,7 @@ phys_size_t initdram(void) dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index caa4de3e7f8..3e713dc2c36 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -128,7 +128,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t208xrdb/ddr.c b/board/freescale/t208xrdb/ddr.c index bcb536ae1bf..b4ad615846a 100644 --- a/board/freescale/t208xrdb/ddr.c +++ b/board/freescale/t208xrdb/ddr.c @@ -97,7 +97,7 @@ found: popts->cpo_sample = 0x54; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -111,5 +111,7 @@ phys_size_t initdram(void) dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 44be70be87d..a5f940c6f63 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -98,7 +98,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t4qds/ddr.c b/board/freescale/t4qds/ddr.c index 24b18725604..84ff7922254 100644 --- a/board/freescale/t4qds/ddr.c +++ b/board/freescale/t4qds/ddr.c @@ -112,7 +112,7 @@ found: popts->cpo_sample = 0x63; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -127,5 +127,7 @@ phys_size_t initdram(void) dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t4qds/spl.c b/board/freescale/t4qds/spl.c index bda0003565d..05feedecc25 100644 --- a/board/freescale/t4qds/spl.c +++ b/board/freescale/t4qds/spl.c @@ -133,7 +133,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); #ifdef CONFIG_SPL_MMC_BOOT mmc_boot(); diff --git a/board/freescale/t4rdb/ddr.c b/board/freescale/t4rdb/ddr.c index 8596ccde1b5..d03baa3f45d 100644 --- a/board/freescale/t4rdb/ddr.c +++ b/board/freescale/t4rdb/ddr.c @@ -105,7 +105,7 @@ found: popts->cpo_sample = 0x64; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -120,5 +120,7 @@ phys_size_t initdram(void) dram_size = setup_ddr_tlbs(dram_size / 0x100000); dram_size *= 0x100000; - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index d3a86e6599d..e96f3d38c56 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -91,7 +91,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) i2c_init_all(); - gd->ram_size = initdram(); + initdram(); mmc_boot(); } diff --git a/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c b/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c index ecdc7e72d33..4ceb48b09d8 100644 --- a/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c +++ b/board/gaisler/gr_cpci_ax2000/gr_cpci_ax2000.c @@ -10,9 +10,11 @@ #include <config.h> #include <asm/leon.h> -phys_size_t initdram(void) +int initdram(void) { - return 1; + /* Does not set gd->ram_size here */ + + return 0; } int checkboard(void) diff --git a/board/gaisler/gr_ep2s60/gr_ep2s60.c b/board/gaisler/gr_ep2s60/gr_ep2s60.c index 66fe5a53b04..12d8c1025c3 100644 --- a/board/gaisler/gr_ep2s60/gr_ep2s60.c +++ b/board/gaisler/gr_ep2s60/gr_ep2s60.c @@ -10,9 +10,11 @@ #include <config.h> #include <asm/leon.h> -phys_size_t initdram(void) +int initdram(void) { - return 1; + /* Does not set gd->ram_size here */ + + return 0; } int checkboard(void) diff --git a/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c b/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c index 1725459af8f..02beb5c926e 100644 --- a/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c +++ b/board/gaisler/gr_xc3s_1500/gr_xc3s_1500.c @@ -9,9 +9,11 @@ #include <config.h> #include <asm/leon.h> -phys_size_t initdram(void) +int initdram(void) { - return 1; + /* Does not set gd->ram_size here */ + + return 0; } int checkboard(void) diff --git a/board/gaisler/grsim/grsim.c b/board/gaisler/grsim/grsim.c index fa097377df0..aa9ba50877c 100644 --- a/board/gaisler/grsim/grsim.c +++ b/board/gaisler/grsim/grsim.c @@ -10,9 +10,11 @@ #include <common.h> #include <asm/leon.h> -phys_size_t initdram(void) +int initdram(void) { - return 1; + /* Does not set gd->ram_size here */ + + return 0; } int checkboard(void) diff --git a/board/gaisler/grsim_leon2/grsim_leon2.c b/board/gaisler/grsim_leon2/grsim_leon2.c index 12df6bd7efa..384db3d84bc 100644 --- a/board/gaisler/grsim_leon2/grsim_leon2.c +++ b/board/gaisler/grsim_leon2/grsim_leon2.c @@ -10,9 +10,11 @@ #include <common.h> #include <asm/leon.h> -phys_size_t initdram(void) +int initdram(void) { - return 1; + /* Does not set gd->ram_size here */ + + return 0; } int checkboard(void) diff --git a/board/gdsys/mpc8308/sdram.c b/board/gdsys/mpc8308/sdram.c index b7b31fb0242..5b67a013da7 100644 --- a/board/gdsys/mpc8308/sdram.c +++ b/board/gdsys/mpc8308/sdram.c @@ -66,17 +66,19 @@ static long fixed_sdram(void) return get_ram_size(CONFIG_SYS_DDR_SDRAM_BASE, msize); } -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize; if ((in_be32(&im->sysconf.immrbar) & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; /* DDR SDRAM */ msize = fixed_sdram(); /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + gd->ram_size = msize; + + return 0; } diff --git a/board/ids/ids8313/ids8313.c b/board/ids/ids8313/ids8313.c index b40e4b30e87..d8e6701fac5 100644 --- a/board/ids/ids8313/ids8313.c +++ b/board/ids/ids8313/ids8313.c @@ -119,14 +119,14 @@ static int setup_sdram(void) return msize; } -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *)CONFIG_SYS_IMMR; fsl_lbc_t *lbc = &im->im_lbc; u32 msize = 0; if ((in_be32(&im->sysconf.immrbar) & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; msize = setup_sdram(); @@ -134,7 +134,9 @@ phys_size_t initdram(void) out_be32(&lbc->mrtpr, CONFIG_SYS_LBC_MRTPR); sync(); - return msize; + gd->ram_size = msize; + + return 0; } #if defined(CONFIG_OF_BOARD_SETUP) diff --git a/board/ifm/ac14xx/ac14xx.c b/board/ifm/ac14xx/ac14xx.c index b107dd196cc..129eb47b0e1 100644 --- a/board/ifm/ac14xx/ac14xx.c +++ b/board/ifm/ac14xx/ac14xx.c @@ -310,9 +310,12 @@ u32 sdram_init_seq[] = { /* EMPTY, optional, we don't do it */ }; -phys_size_t initdram(void) +int initdram(void) { - return fixed_sdram(NULL, sdram_init_seq, ARRAY_SIZE(sdram_init_seq)); + gd->ram_size = fixed_sdram(NULL, sdram_init_seq, + ARRAY_SIZE(sdram_init_seq)); + + return 0; } int misc_init_r(void) diff --git a/board/ifm/o2dnt2/o2dnt2.c b/board/ifm/o2dnt2/o2dnt2.c index 7452d2b1f0e..4f81007ead1 100644 --- a/board/ifm/o2dnt2/o2dnt2.c +++ b/board/ifm/o2dnt2/o2dnt2.c @@ -66,7 +66,7 @@ static void sdram_start(int hi_addr) * use of CONFIG_SYS_SDRAM_BASE. The code does not work if * CONFIG_SYS_SDRAM_BASE is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { struct mpc5xxx_mmap_ctl *mmap_ctl = (struct mpc5xxx_mmap_ctl *)CONFIG_SYS_MBAR; @@ -181,7 +181,9 @@ phys_size_t initdram(void) (PVR_MAJ(pvr) == 1) && (PVR_MIN(pvr) == 4)) out_be32(&sdram->sdelay, 0x04); - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } diff --git a/board/imgtec/boston/ddr.c b/board/imgtec/boston/ddr.c index c841bf02a32..b92ff2aa885 100644 --- a/board/imgtec/boston/ddr.c +++ b/board/imgtec/boston/ddr.c @@ -10,11 +10,16 @@ #include "boston-regs.h" -phys_size_t initdram(void) +DECLARE_GLOBAL_DATA_PTR; + +int initdram(void) { u32 ddrconf0 = __raw_readl((uint32_t *)BOSTON_PLAT_DDRCONF0); - return (phys_size_t)(ddrconf0 & BOSTON_PLAT_DDRCONF0_SIZE) << 30; + gd->ram_size = (phys_size_t)(ddrconf0 & BOSTON_PLAT_DDRCONF0_SIZE) << + 30; + + return 0; } ulong board_get_usable_ram_top(ulong total_size) diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c index c269d0a5a35..f8c65b0e46d 100644 --- a/board/imgtec/malta/malta.c +++ b/board/imgtec/malta/malta.c @@ -19,6 +19,8 @@ #include "superio.h" +DECLARE_GLOBAL_DATA_PTR; + enum core_card { CORE_UNKNOWN, CORE_LV, @@ -83,9 +85,11 @@ static enum sys_con malta_sys_con(void) } } -phys_size_t initdram(void) +int initdram(void) { - return CONFIG_SYS_MEM_SIZE; + gd->ram_size = CONFIG_SYS_MEM_SIZE; + + return 0; } int checkboard(void) diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c index dc0a088ecb8..8aa7c10bffc 100644 --- a/board/imgtec/xilfpga/xilfpga.c +++ b/board/imgtec/xilfpga/xilfpga.c @@ -11,10 +11,14 @@ #include <common.h> +DECLARE_GLOBAL_DATA_PTR; + /* initialize the DDR Controller and PHY */ -phys_size_t initdram(void) +int initdram(void) { /* MIG IP block is smart and doesn't need SW * to do any init */ - return CONFIG_SYS_SDRAM_SIZE; /* in bytes */ + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; /* in bytes */ + + return 0; } diff --git a/board/inka4x0/inka4x0.c b/board/inka4x0/inka4x0.c index 47c3955c6d8..2dd9799ea7d 100644 --- a/board/inka4x0/inka4x0.c +++ b/board/inka4x0/inka4x0.c @@ -36,6 +36,8 @@ #error "INKA4x0 SDRAM: invalid chip type specified!" #endif +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start (int hi_addr) { @@ -77,7 +79,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { volatile struct mpc5xxx_mmap_ctl *mm = (struct mpc5xxx_mmap_ctl *) CONFIG_SYS_MBAR; @@ -139,7 +141,9 @@ phys_size_t initdram(void) } #endif /* CONFIG_SYS_RAMBOOT */ - return dramsize; + gd->ram_size = dramsize; + + return 0; } int checkboard (void) diff --git a/board/intercontrol/digsy_mtc/digsy_mtc.c b/board/intercontrol/digsy_mtc/digsy_mtc.c index 9bada940b7d..922d9ef0a17 100644 --- a/board/intercontrol/digsy_mtc/digsy_mtc.c +++ b/board/intercontrol/digsy_mtc/digsy_mtc.c @@ -79,7 +79,7 @@ static void sdram_start(int hi_addr) * CONFIG_SYS_SDRAM_BASE is something other than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -172,7 +172,9 @@ phys_size_t initdram(void) (PVR_MAJ(pvr) == 1) && (PVR_MIN(pvr) == 4)) out_be32((void *)MPC5XXX_SDRAM_SDELAY, 0x04); - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard(void) diff --git a/board/ipek01/ipek01.c b/board/ipek01/ipek01.c index ab94c654994..ca99332e51b 100644 --- a/board/ipek01/ipek01.c +++ b/board/ipek01/ipek01.c @@ -80,7 +80,7 @@ static void sdram_start (int hi_addr) * CONFIG_SYS_SDRAM_BASE is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { struct mpc5xxx_mmap_ctl *mmap_ctl = (struct mpc5xxx_mmap_ctl *)CONFIG_SYS_MBAR; @@ -135,7 +135,9 @@ phys_size_t initdram(void) */ out_be32 (&sdram->sdelay, 0x04); - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard (void) diff --git a/board/jupiter/jupiter.c b/board/jupiter/jupiter.c index ae569d0fc00..d1346913618 100644 --- a/board/jupiter/jupiter.c +++ b/board/jupiter/jupiter.c @@ -29,6 +29,8 @@ #define SDRAM_CONFIG2 0x88b70004 #endif +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start (int hi_addr) { @@ -76,7 +78,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -194,7 +196,9 @@ phys_size_t initdram(void) __asm__ volatile ("sync"); } - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard (void) diff --git a/board/keymile/km82xx/km82xx.c b/board/keymile/km82xx/km82xx.c index 12fd05d2f47..bbabbcfc0bc 100644 --- a/board/keymile/km82xx/km82xx.c +++ b/board/keymile/km82xx/km82xx.c @@ -15,6 +15,8 @@ #include <i2c.h> #include "../common/common.h" +DECLARE_GLOBAL_DATA_PTR; + static uchar ivm_content[CONFIG_SYS_IVM_EEPROM_MAX_LEN]; /* @@ -289,7 +291,7 @@ static long probe_sdram(memctl8260_t *memctl) #endif /* CONFIG_SYS_SDRAM_LIST */ -phys_size_t initdram(void) +int initdram(void) { immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; memctl8260_t *memctl = &immap->im_memctl; @@ -305,7 +307,9 @@ phys_size_t initdram(void) icache_enable(); - return psize; + gd->ram_size = psize; + + return 0; } int checkboard(void) diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c index 111a8a79952..f83fa06e93c 100644 --- a/board/keymile/km83xx/km83xx.c +++ b/board/keymile/km83xx/km83xx.c @@ -28,6 +28,8 @@ #include "../common/common.h" +DECLARE_GLOBAL_DATA_PTR; + static uchar ivm_content[CONFIG_SYS_IVM_EEPROM_MAX_LEN]; const qe_iop_conf_t qe_iop_conf_tab[] = { @@ -328,13 +330,13 @@ static int fixed_sdram(void) return msize; } -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize = 0; if ((in_be32(&im->sysconf.immrbar) & IMMRBAR_BASE_ADDR) != (u32)im) - return -1; + return -ENXIO; out_be32(&im->sysconf.ddrlaw[0].bar, CONFIG_SYS_DDR_BASE & LAWBAR_BAR); @@ -348,7 +350,9 @@ phys_size_t initdram(void) #endif /* return total bus SDRAM size(bytes) -- DDR */ - return msize * 1024 * 1024; + gd->ram_size = msize * 1024 * 1024; + + return 0; } int checkboard(void) diff --git a/board/keymile/kmp204x/ddr.c b/board/keymile/kmp204x/ddr.c index 98fb1adfdd7..006b8096546 100644 --- a/board/keymile/kmp204x/ddr.c +++ b/board/keymile/kmp204x/ddr.c @@ -14,6 +14,8 @@ #include <fsl_ddr_sdram.h> #include <fsl_ddr_dimm_params.h> +DECLARE_GLOBAL_DATA_PTR; + void fsl_ddr_board_options(memctl_options_t *popts, dimm_params_t *pdimm, unsigned int ctrl_num) @@ -48,7 +50,7 @@ void fsl_ddr_board_options(memctl_options_t *popts, popts->ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR_ODT_75ohm; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size = 0; @@ -60,5 +62,7 @@ phys_size_t initdram(void) dram_size *= 0x100000; debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/liebherr/lwmon5/sdram.c b/board/liebherr/lwmon5/sdram.c index 1932e06fd61..f7251e567fc 100644 --- a/board/liebherr/lwmon5/sdram.c +++ b/board/liebherr/lwmon5/sdram.c @@ -25,6 +25,8 @@ #include <asm/ppc440.h> #include <watchdog.h> +DECLARE_GLOBAL_DATA_PTR; + /* * This DDR2 setup code can dynamically setup the TLB entries for the DDR2 memory * region. Right now the cache should still be disabled in U-Boot because of the @@ -145,7 +147,7 @@ static void program_ecc(u32 start_address, * initdram -- 440EPx's DDR controller is a DENALI Core * ************************************************************************/ -phys_size_t initdram(void) +int initdram(void) { /* CL=4 */ mtsdram(DDR0_02, 0x00000000); @@ -241,5 +243,7 @@ phys_size_t initdram(void) */ set_mcsr(get_mcsr()); - return (CONFIG_SYS_MBYTES_SDRAM << 20); + gd->ram_size = CONFIG_SYS_MBYTES_SDRAM << 20; + + return 0; } diff --git a/board/micronas/vct/vct.c b/board/micronas/vct/vct.c index f4a6521e944..02824eaf4fc 100644 --- a/board/micronas/vct/vct.c +++ b/board/micronas/vct/vct.c @@ -28,6 +28,8 @@ #define BOARD_NAME_ADD " NOR" #endif +DECLARE_GLOBAL_DATA_PTR; + int board_early_init_f(void) { /* @@ -59,10 +61,12 @@ void _machine_restart(void) * SDRAM is already configured by the bootstrap code, only return the * auto-detected size here */ -phys_size_t initdram(void) +int initdram(void) { - return get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, + gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, CONFIG_SYS_MBYTES_SDRAM << 20); + + return 0; } int checkboard(void) diff --git a/board/motionpro/motionpro.c b/board/motionpro/motionpro.c index 3e2fe653bd2..a2520bc3bc9 100644 --- a/board/motionpro/motionpro.c +++ b/board/motionpro/motionpro.c @@ -19,6 +19,8 @@ #include <status_led.h> #endif /* CONFIG_LED_STATUS */ +DECLARE_GLOBAL_DATA_PTR; + /* Kollmorgen DPR initialization data */ struct init_elem { unsigned long addr; @@ -116,7 +118,7 @@ static void sdram_start(int hi_addr) /* * Initalize SDRAM - configure SDRAM controller, detect memory size. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; #ifndef CONFIG_SYS_RAMBOOT @@ -172,7 +174,9 @@ phys_size_t initdram(void) #endif /* CONFIG_SYS_RAMBOOT */ /* return total ram size */ - return dramsize; + gd->ram_size = dramsize; + + return 0; } diff --git a/board/mpc8308_p1m/sdram.c b/board/mpc8308_p1m/sdram.c index 96d60c95eef..e0f4671b17e 100644 --- a/board/mpc8308_p1m/sdram.c +++ b/board/mpc8308_p1m/sdram.c @@ -61,7 +61,7 @@ static long fixed_sdram(void) return get_ram_size(CONFIG_SYS_DDR_SDRAM_BASE, msize); } -phys_size_t initdram(void) +int initdram(void) { immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize; @@ -72,6 +72,8 @@ phys_size_t initdram(void) /* DDR SDRAM */ msize = fixed_sdram(); - /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize; + + return 0; } diff --git a/board/mpl/mip405/mip405.c b/board/mpl/mip405/mip405.c index e2961d1d4ac..e6422965f9c 100644 --- a/board/mpl/mip405/mip405.c +++ b/board/mpl/mip405/mip405.c @@ -622,7 +622,7 @@ int checkboard (void) /* ------------------------------------------------------------------------- */ static int test_dram (unsigned long ramsize); -phys_size_t initdram(void) +int initdram(void) { unsigned long bank_reg[4], tmp, bank_size; @@ -655,7 +655,9 @@ phys_size_t initdram(void) printf ("ECC "); test_dram (TotalSize * MEGA_BYTE); - return (TotalSize * MEGA_BYTE); + gd->ram_size = TotalSize * MEGA_BYTE; + + return 0; } /* ------------------------------------------------------------------------- */ diff --git a/board/mpl/pati/pati.c b/board/mpl/pati/pati.c index 951010a6a3d..7b7b93f6828 100644 --- a/board/mpl/pati/pati.c +++ b/board/mpl/pati/pati.c @@ -55,6 +55,8 @@ asm (GEN_SYMNAME(name) " = " GEN_VALUE(value)) +DECLARE_GLOBAL_DATA_PTR; + /************************************************************************ * Early debug routines */ @@ -133,7 +135,7 @@ extern int mem_test (unsigned long start, unsigned long ramsize, int quiet); /* * Get RAM size. */ -phys_size_t initdram(void) +int initdram(void) { unsigned char board_rev; unsigned long reg; @@ -209,8 +211,10 @@ phys_size_t initdram(void) /* we have a x32 bit bus to the SDRAM, so shift the addr with 2 */ lmr<<=2; in32(CONFIG_SYS_SDRAM_BASE + lmr); - /* ok, we're done, return SDRAM size */ - return ((0x400000 << sdram_table[i].sz)); /* log2 value of 4MByte */ + /* ok, we're done, set SDRAM size to log2 value of 4MByte*/ + gd->ram_size = 0x400000 << sdram_table[i].sz; + + return 0; } diff --git a/board/mpl/pip405/pip405.c b/board/mpl/pip405/pip405.c index 07b30ed293a..c07d8f88b9a 100644 --- a/board/mpl/pip405/pip405.c +++ b/board/mpl/pip405/pip405.c @@ -612,7 +612,7 @@ int checkboard (void) /* ------------------------------------------------------------------------- */ static int test_dram (unsigned long ramsize); -phys_size_t initdram(void) +int initdram(void) { unsigned long bank_reg[4], tmp, bank_size; int i, ds; @@ -648,7 +648,9 @@ phys_size_t initdram(void) (void) get_clocks(); if (gd->cpu_clk > 220000000) TotalSize /= 2; - return (TotalSize * 1024 * 1024); + gd->ram_size = TotalSize * 1024 * 1024; + + return 0; } /* ------------------------------------------------------------------------- */ diff --git a/board/munices/munices.c b/board/munices/munices.c index b88160c8a84..8f1a5a83411 100644 --- a/board/munices/munices.c +++ b/board/munices/munices.c @@ -11,6 +11,8 @@ #include "mt48lc16m16a2-75.h" +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start (int hi_addr) { @@ -58,7 +60,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -125,7 +127,9 @@ phys_size_t initdram(void) #endif /* CONFIG_SYS_RAMBOOT */ - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard (void) diff --git a/board/pb1x00/pb1x00.c b/board/pb1x00/pb1x00.c index baa5723f4ab..e473531fd3c 100644 --- a/board/pb1x00/pb1x00.c +++ b/board/pb1x00/pb1x00.c @@ -11,11 +11,15 @@ #include <asm/mipsregs.h> #include <asm/io.h> -phys_size_t initdram(void) +DECLARE_GLOBAL_DATA_PTR; + +int initdram(void) { /* Sdram is setup by assembler code */ /* If memory could be changed, we should return the true value here */ - return 64*1024*1024; + gd->ram_size = 64 * 1024 * 1024; + + return 0; } #define BCSR_PCMCIA_PC0DRVEN 0x0010 diff --git a/board/pdm360ng/pdm360ng.c b/board/pdm360ng/pdm360ng.c index ef19daf3c95..c833aec9b26 100644 --- a/board/pdm360ng/pdm360ng.c +++ b/board/pdm360ng/pdm360ng.c @@ -48,7 +48,7 @@ sdram_conf_t mddrc_config[] = { }, }; -phys_size_t initdram(void) +int initdram(void) { int i; u32 msize = 0; @@ -95,7 +95,9 @@ phys_size_t initdram(void) break; } - return msize; + gd->ram_size = msize; + + return 0; } static int set_lcd_brightness(char *); diff --git a/board/phytec/pcm030/pcm030.c b/board/phytec/pcm030/pcm030.c index 470bd707926..19d87169ee5 100644 --- a/board/phytec/pcm030/pcm030.c +++ b/board/phytec/pcm030/pcm030.c @@ -18,6 +18,8 @@ #include "mt46v32m16-75.h" +DECLARE_GLOBAL_DATA_PTR; + #ifndef CONFIG_SYS_RAMBOOT static void sdram_start(int hi_addr) { @@ -73,7 +75,7 @@ static void sdram_start(int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { volatile struct mpc5xxx_mmap_ctl *mm = (struct mpc5xxx_mmap_ctl *)CONFIG_SYS_MBAR; @@ -143,7 +145,9 @@ phys_size_t initdram(void) #endif /* CONFIG_SYS_RAMBOOT */ - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } int checkboard(void) diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c index 3cdc91cf433..2638ea67d3b 100644 --- a/board/qemu-mips/qemu-mips.c +++ b/board/qemu-mips/qemu-mips.c @@ -11,11 +11,15 @@ #include <asm/io.h> #include <netdev.h> -phys_size_t initdram(void) +DECLARE_GLOBAL_DATA_PTR; + +int initdram(void) { /* Sdram is setup by assembler code */ /* If memory could be changed, we should return the true value here */ - return MEM_SIZE*1024*1024; + gd->ram_size = MEM_SIZE * 1024 * 1024; + + return 0; } int checkboard(void) diff --git a/board/sbc8349/sbc8349.c b/board/sbc8349/sbc8349.c index b20de4c3c3d..f01cd7ed521 100644 --- a/board/sbc8349/sbc8349.c +++ b/board/sbc8349/sbc8349.c @@ -19,6 +19,8 @@ #include <libfdt.h> #endif +DECLARE_GLOBAL_DATA_PTR; + int fixed_sdram(void); void sdram_init(void); @@ -35,7 +37,7 @@ int board_early_init_f (void) #define ns2clk(ns) (ns / (1000000000 / CONFIG_8349_CLKIN) + 1) -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR; u32 msize = 0; @@ -61,8 +63,10 @@ phys_size_t initdram(void) */ ddr_enable_ecc(msize * 1024 * 1024); #endif - /* return total bus SDRAM size(bytes) -- DDR */ - return (msize * 1024 * 1024); + /* set total bus SDRAM size(bytes) -- DDR */ + gd->ram_size = msize * 1024 * 1024; + + return 0; } #if !defined(CONFIG_SPD_EEPROM) diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c index a541d25cc38..44842d5af19 100644 --- a/board/sbc8641d/sbc8641d.c +++ b/board/sbc8641d/sbc8641d.c @@ -23,6 +23,8 @@ #include <libfdt.h> #include <fdt_support.h> +DECLARE_GLOBAL_DATA_PTR; + long int fixed_sdram (void); int board_early_init_f (void) @@ -37,7 +39,7 @@ int checkboard (void) return 0; } -phys_size_t initdram(void) +int initdram(void) { long dram_size = 0; @@ -48,7 +50,9 @@ phys_size_t initdram(void) #endif debug (" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } #if defined(CONFIG_SYS_DRAM_TEST) diff --git a/board/sysam/amcore/amcore.c b/board/sysam/amcore/amcore.c index b7f6380bec5..e2b9123bac5 100644 --- a/board/sysam/amcore/amcore.c +++ b/board/sysam/amcore/amcore.c @@ -14,6 +14,8 @@ #include <dm.h> #include <dm/platform_data/serial_coldfire.h> +DECLARE_GLOBAL_DATA_PTR; + void init_lcd(void) { /* setup for possible K0108 lcd connected on the parallel port */ @@ -49,7 +51,7 @@ void fudelay(int usec) asm volatile ("nop"); } -phys_size_t initdram(void) +int initdram(void) { u32 dramsize, RC; @@ -99,7 +101,10 @@ phys_size_t initdram(void) out_be32(&dc->dacr0, 0x0000b344); out_be32((u32 *)0x00000c00, 0xbeaddeed); - return get_ram_size(CONFIG_SYS_SDRAM_BASE, CONFIG_SYS_SDRAM_SIZE); + gd->ram_size = get_ram_size(CONFIG_SYS_SDRAM_BASE, + CONFIG_SYS_SDRAM_SIZE); + + return 0; } static struct coldfire_serial_platdata mcf5307_serial_plat = { diff --git a/board/tqc/tqm5200/tqm5200.c b/board/tqc/tqm5200/tqm5200.c index 1e843d5b03b..baf32087400 100644 --- a/board/tqc/tqm5200/tqm5200.c +++ b/board/tqc/tqm5200/tqm5200.c @@ -133,7 +133,7 @@ static void sdram_start (int hi_addr) * is something else than 0x00000000. */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -252,10 +252,12 @@ phys_size_t initdram(void) } #if defined(CONFIG_TQM5200_B) - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; #else - return dramsize; + gd->ram_size = dramsize; #endif /* CONFIG_TQM5200_B */ + + return 0; } int checkboard (void) diff --git a/board/tqc/tqm834x/tqm834x.c b/board/tqc/tqm834x/tqm834x.c index a05ae2a170e..0968e494a53 100644 --- a/board/tqc/tqm834x/tqm834x.c +++ b/board/tqc/tqm834x/tqm834x.c @@ -66,7 +66,7 @@ int board_early_init_r (void) { /************************************************************************** * DRAM initalization and size detection */ -phys_size_t initdram(void) +int initdram(void) { long bank_size; long size; @@ -112,7 +112,9 @@ phys_size_t initdram(void) if(size < DDR_MAX_SIZE_PER_CS) break; } - return size; + gd->ram_size = size; + + return 0; } /************************************************************************** diff --git a/board/tqc/tqm8xx/tqm8xx.c b/board/tqc/tqm8xx/tqm8xx.c index 99357302f62..489a22c1614 100644 --- a/board/tqc/tqm8xx/tqm8xx.c +++ b/board/tqc/tqm8xx/tqm8xx.c @@ -126,7 +126,7 @@ int checkboard (void) /* ------------------------------------------------------------------------- */ -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; volatile memctl8xx_t *memctl = &immap->im_memctl; @@ -390,7 +390,9 @@ phys_size_t initdram(void) memctl->memc_or5 = CONFIG_SYS_OR5_ISP1362; memctl->memc_br5 = CONFIG_SYS_BR5_ISP1362; #endif /* CONFIG_ISP1362_USB */ - return (size_b0 + size_b1); + gd->ram_size = size_b0 + size_b1; + + return 0; } /* ------------------------------------------------------------------------- */ diff --git a/board/v38b/v38b.c b/board/v38b/v38b.c index 20490a31570..c271fb58734 100644 --- a/board/v38b/v38b.c +++ b/board/v38b/v38b.c @@ -13,6 +13,7 @@ #include <net.h> #include <asm/processor.h> +DECLARE_GLOBAL_DATA_PTR; #ifndef CONFIG_SYS_RAMBOOT static void sdram_start(int hi_addr) @@ -56,7 +57,7 @@ static void sdram_start(int hi_addr) #endif /* !CONFIG_SYS_RAMBOOT */ -phys_size_t initdram(void) +int initdram(void) { ulong dramsize = 0; ulong dramsize2 = 0; @@ -166,7 +167,9 @@ phys_size_t initdram(void) __asm__ volatile ("sync"); } - return dramsize + dramsize2; + gd->ram_size = dramsize + dramsize2; + + return 0; } diff --git a/board/varisys/cyrus/ddr.c b/board/varisys/cyrus/ddr.c index da6f5ad2530..abf4e932652 100644 --- a/board/varisys/cyrus/ddr.c +++ b/board/varisys/cyrus/ddr.c @@ -168,7 +168,7 @@ found: popts->ddr_cdr1 = DDR_CDR1_DHC_EN; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size; @@ -184,5 +184,7 @@ phys_size_t initdram(void) dram_size *= 0x100000; debug(" DDR: "); - return dram_size; + gd->ram_size = dram_size; + + return 0; } diff --git a/board/ve8313/ve8313.c b/board/ve8313/ve8313.c index 5349a583fc9..37441c7a468 100644 --- a/board/ve8313/ve8313.c +++ b/board/ve8313/ve8313.c @@ -88,7 +88,7 @@ static long fixed_sdram(void) return msize; } -phys_size_t initdram(void) +int initdram(void) { volatile immap_t *im = (volatile immap_t *)CONFIG_SYS_IMMR; volatile fsl_lbc_t *lbc = &im->im_lbc; @@ -106,7 +106,9 @@ phys_size_t initdram(void) sync(); /* return total bus SDRAM size(bytes) -- DDR */ - return msize; + gd->ram_size = msize; + + return 0; } #define VE8313_WDT_EN 0x00020000 diff --git a/board/xes/xpedite1000/xpedite1000.c b/board/xes/xpedite1000/xpedite1000.c index ff64483cf4f..df5a7a0539f 100644 --- a/board/xes/xpedite1000/xpedite1000.c +++ b/board/xes/xpedite1000/xpedite1000.c @@ -116,9 +116,11 @@ int checkboard(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { - return spd_sdram(); + gd->ram_size = spd_sdram(); + + return 0; } /* diff --git a/board/xes/xpedite517x/xpedite517x.c b/board/xes/xpedite517x/xpedite517x.c index 9ec99a1e28f..e436c28f785 100644 --- a/board/xes/xpedite517x/xpedite517x.c +++ b/board/xes/xpedite517x/xpedite517x.c @@ -13,6 +13,8 @@ #include <pca953x.h> #include "../common/fsl_8xxx_misc.h" +DECLARE_GLOBAL_DATA_PTR; + #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_PCI) extern void ft_board_pci_setup(void *blob, bd_t *bd); #endif @@ -56,7 +58,7 @@ int board_early_init_r(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { phys_size_t dram_size = fsl_ddr_sdram(); @@ -65,7 +67,9 @@ phys_size_t initdram(void) ddr_enable_ecc(dram_size); #endif - return dram_size; + gd->ram_size = dram_size; + + return 0; } #if defined(CONFIG_OF_BOARD_SETUP) diff --git a/board/xilinx/ppc405-generic/xilinx_ppc405_generic.c b/board/xilinx/ppc405-generic/xilinx_ppc405_generic.c index dfdd3f23103..6148a4b69c1 100644 --- a/board/xilinx/ppc405-generic/xilinx_ppc405_generic.c +++ b/board/xilinx/ppc405-generic/xilinx_ppc405_generic.c @@ -10,6 +10,8 @@ #include <common.h> #include <asm/processor.h> +DECLARE_GLOBAL_DATA_PTR; + ulong get_PCI_freq(void) { return 0; @@ -21,10 +23,12 @@ int checkboard(void) return 0; } -phys_size_t initdram(void) +int initdram(void) { - return get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, + gd->ram_size = get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, CONFIG_SYS_SDRAM_SIZE_MB * 1024 * 1024); + + return 0; } void get_sys_info(sys_info_t *sys_info) diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c index 67fd6681573..d7e6aee706d 100644 --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c @@ -11,16 +11,20 @@ #include <netdev.h> #include <asm/processor.h> +DECLARE_GLOBAL_DATA_PTR; + int checkboard(void) { puts("Xilinx PPC440 Generic Board\n"); return 0; } -phys_size_t initdram(void) +int initdram(void) { - return get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, + gd->ram_size = get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, CONFIG_SYS_SDRAM_SIZE_MB * 1024 * 1024); + + return 0; } void get_sys_info(sys_info_t *sys_info) |