diff options
Diffstat (limited to 'arch/arm/mach-omap2/am33xx/board.c')
-rw-r--r-- | arch/arm/mach-omap2/am33xx/board.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c index a8b5d13238..5f1bf9ce7c 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++ b/arch/arm/mach-omap2/am33xx/board.c @@ -26,6 +26,7 @@ #include <asm/io.h> #include <asm/emif.h> #include <asm/gpio.h> +#include <asm/omap_common.h> #include <i2c.h> #include <miiphy.h> #include <cpsw.h> @@ -39,6 +40,27 @@ DECLARE_GLOBAL_DATA_PTR; +int dram_init(void) +{ +#ifndef CONFIG_SKIP_LOWLEVEL_INIT + sdram_init(); +#endif + + /* dram_init must store complete ramsize in gd->ram_size */ + gd->ram_size = get_ram_size( + (void *)CONFIG_SYS_SDRAM_BASE, + CONFIG_MAX_RAM_BANK_SIZE); + return 0; +} + +int dram_init_banksize(void) +{ + gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; + gd->bd->bi_dram[0].size = gd->ram_size; + + return 0; +} + #if !CONFIG_IS_ENABLED(OF_CONTROL) static const struct ns16550_platdata am33xx_serial[] = { { .base = CONFIG_SYS_NS16550_COM1, .reg_shift = 2, @@ -326,6 +348,7 @@ void early_system_init(void) #ifdef CONFIG_SPL_BUILD void board_init_f(ulong dummy) { + hw_data_init(); early_system_init(); board_early_init_f(); sdram_init(); @@ -340,6 +363,7 @@ void board_init_f(ulong dummy) int arch_cpu_init_dm(void) { + hw_data_init(); #ifndef CONFIG_SKIP_LOWLEVEL_INIT early_system_init(); #endif |