diff options
Diffstat (limited to 'board/freescale')
63 files changed, 247 insertions, 138 deletions
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(); } |