diff options
-rw-r--r-- | arch/arm/mach-rockchip/rk3328/rk3328.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3368/rk3368.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3399/rk3399.c | 13 | ||||
-rw-r--r-- | board/geekbuying/geekbox/geekbox.c | 8 | ||||
-rw-r--r-- | board/rockchip/evb_px5/evb-px5.c | 9 | ||||
-rw-r--r-- | board/rockchip/evb_rk3328/evb-rk3328.c | 9 | ||||
-rw-r--r-- | board/rockchip/evb_rk3399/evb-rk3399.c | 9 | ||||
-rw-r--r-- | board/rockchip/sheep_rk3368/sheep_rk3368.c | 8 | ||||
-rw-r--r-- | board/theobroma-systems/puma_rk3399/puma-rk3399.c | 9 |
9 files changed, 39 insertions, 52 deletions
diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c index cec6f905f6..6764494d3b 100644 --- a/arch/arm/mach-rockchip/rk3328/rk3328.c +++ b/arch/arm/mach-rockchip/rk3328/rk3328.c @@ -9,6 +9,8 @@ #include <asm/armv8/mmu.h> #include <asm/io.h> +DECLARE_GLOBAL_DATA_PTR; + static struct mm_region rk3328_mem_map[] = { { .virt = 0x0UL, @@ -31,6 +33,17 @@ static struct mm_region rk3328_mem_map[] = { struct mm_region *mem_map = rk3328_mem_map; +int dram_init_banksize(void) +{ + size_t max_size = min((unsigned long)gd->ram_size, gd->ram_top); + + /* Reserve 0x200000 for ATF bl31 */ + gd->bd->bi_dram[0].start = 0x200000; + gd->bd->bi_dram[0].size = max_size - gd->bd->bi_dram[0].start; + + return 0; +} + int arch_cpu_init(void) { /* We do some SoC one time setting here. */ diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c b/arch/arm/mach-rockchip/rk3368/rk3368.c index fb829a4a37..f62d91df74 100644 --- a/arch/arm/mach-rockchip/rk3368/rk3368.c +++ b/arch/arm/mach-rockchip/rk3368/rk3368.c @@ -13,6 +13,8 @@ #include <asm/arch/grf_rk3368.h> #include <syscon.h> +DECLARE_GLOBAL_DATA_PTR; + #define IMEM_BASE 0xFF8C0000 /* Max MCU's SRAM value is 8K, begin at (IMEM_BASE + 4K) */ @@ -50,6 +52,17 @@ static struct mm_region rk3368_mem_map[] = { struct mm_region *mem_map = rk3368_mem_map; +int dram_init_banksize(void) +{ + size_t max_size = min((unsigned long)gd->ram_size, gd->ram_top); + + /* Reserve 0x200000 for ATF bl31 */ + gd->bd->bi_dram[0].start = 0x200000; + gd->bd->bi_dram[0].size = max_size - gd->bd->bi_dram[0].start; + + return 0; +} + #ifdef CONFIG_ARCH_EARLY_INIT_R static int mcu_init(void) { diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c index a621a6ff2a..dbc248f84a 100644 --- a/arch/arm/mach-rockchip/rk3399/rk3399.c +++ b/arch/arm/mach-rockchip/rk3399/rk3399.c @@ -9,6 +9,8 @@ #include <asm/io.h> #include <asm/arch/hardware.h> +DECLARE_GLOBAL_DATA_PTR; + #define GRF_EMMCCORE_CON11 0xff77f02c static struct mm_region rk3399_mem_map[] = { @@ -33,6 +35,17 @@ static struct mm_region rk3399_mem_map[] = { struct mm_region *mem_map = rk3399_mem_map; +int dram_init_banksize(void) +{ + size_t max_size = min((unsigned long)gd->ram_size, gd->ram_top); + + /* Reserve 0x200000 for ATF bl31 */ + gd->bd->bi_dram[0].start = 0x200000; + gd->bd->bi_dram[0].size = max_size - gd->bd->bi_dram[0].start; + + return 0; +} + int arch_cpu_init(void) { /* We do some SoC one time setting here. */ diff --git a/board/geekbuying/geekbox/geekbox.c b/board/geekbuying/geekbox/geekbox.c index 422a03878e..88b67f9d5f 100644 --- a/board/geekbuying/geekbox/geekbox.c +++ b/board/geekbuying/geekbox/geekbox.c @@ -12,11 +12,3 @@ int board_init(void) { return 0; } - -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = 0; - gd->bd->bi_dram[0].size = 0x80000000; - - return 0; -} diff --git a/board/rockchip/evb_px5/evb-px5.c b/board/rockchip/evb_px5/evb-px5.c index 7576581d9f..6dca1fc74b 100644 --- a/board/rockchip/evb_px5/evb-px5.c +++ b/board/rockchip/evb_px5/evb-px5.c @@ -33,12 +33,3 @@ int board_init(void) { return 0; } - -int dram_init_banksize(void) -{ - /* Reserve 0x200000 for ATF bl31 */ - gd->bd->bi_dram[0].start = 0x200000; - gd->bd->bi_dram[0].size = 0x3fe00000; - - return 0; -} diff --git a/board/rockchip/evb_rk3328/evb-rk3328.c b/board/rockchip/evb_rk3328/evb-rk3328.c index 75674bb38a..bb2936352a 100644 --- a/board/rockchip/evb_rk3328/evb-rk3328.c +++ b/board/rockchip/evb_rk3328/evb-rk3328.c @@ -16,15 +16,6 @@ int board_init(void) return 0; } -int dram_init_banksize(void) -{ - /* Reserve 0x200000 for ATF bl31 */ - gd->bd->bi_dram[0].start = 0x200000; - gd->bd->bi_dram[0].size = 0x7e000000; - - return 0; -} - int board_usb_init(int index, enum usb_init_type init) { return 0; diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/rockchip/evb_rk3399/evb-rk3399.c index 950bde6af6..d50c59db8d 100644 --- a/board/rockchip/evb_rk3399/evb-rk3399.c +++ b/board/rockchip/evb_rk3399/evb-rk3399.c @@ -67,12 +67,3 @@ int board_init(void) out: return 0; } - -int dram_init_banksize(void) -{ - /* Reserve 0x200000 for ATF bl31 */ - gd->bd->bi_dram[0].start = 0x200000; - gd->bd->bi_dram[0].size = 0x7e000000; - - return 0; -} diff --git a/board/rockchip/sheep_rk3368/sheep_rk3368.c b/board/rockchip/sheep_rk3368/sheep_rk3368.c index e6d23611fd..17adb02469 100644 --- a/board/rockchip/sheep_rk3368/sheep_rk3368.c +++ b/board/rockchip/sheep_rk3368/sheep_rk3368.c @@ -20,11 +20,3 @@ int board_init(void) { return 0; } - -int dram_init_banksize(void) -{ - gd->bd->bi_dram[0].start = 0x200000; - gd->bd->bi_dram[0].size = 0x7fe00000; - - return 0; -} diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c index 740baf52e4..36e9cd7f84 100644 --- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c +++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c @@ -180,12 +180,3 @@ void get_board_serial(struct tag_serialnr *serialnr) serialnr->low = (u32)(serial & 0xffffffff); } #endif - -int dram_init_banksize(void) -{ - /* Reserve 0x200000 for ATF bl31 */ - gd->bd->bi_dram[0].start = 0x200000; - gd->bd->bi_dram[0].size = 0x7e000000; - - return 0; -} |