]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-rockchip/rk3328/rk3328.c
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / arch / arm / mach-rockchip / rk3328 / rk3328.c
index 857f0142b01398af27b55bd83e01ef10ad0dbf51..a519f5fb846f55dcfbbd15b8f9780b829d718c64 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (c) 2016 Rockchip Electronics Co., Ltd
- *
- * SPDX-License-Identifier:     GPL-2.0+
  */
 
 #include <common.h>
@@ -9,17 +8,19 @@
 #include <asm/armv8/mmu.h>
 #include <asm/io.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 static struct mm_region rk3328_mem_map[] = {
        {
                .virt = 0x0UL,
                .phys = 0x0UL,
-               .size = 0x80000000UL,
+               .size = 0xff000000UL,
                .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
                         PTE_BLOCK_INNER_SHARE
        }, {
-               .virt = 0xf0000000UL,
-               .phys = 0xf0000000UL,
-               .size = 0x10000000UL,
+               .virt = 0xff000000UL,
+               .phys = 0xff000000UL,
+               .size = 0x1000000UL,
                .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
                         PTE_BLOCK_NON_SHARE |
                         PTE_BLOCK_PXN | PTE_BLOCK_UXN
@@ -31,6 +32,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. */