ARM: uniphier: set {kernel, ramdisk, fdt}_addr_r at boot-time
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 10 Jul 2019 11:07:50 +0000 (20:07 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 10 Jul 2019 13:42:09 +0000 (22:42 +0900)
The base of DRAM will be changed for the next generation SoC.
The addresses needed for booting the kernel should be shifted
according to the DRAM base.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
arch/arm/mach-uniphier/board_late_init.c
include/configs/uniphier.h

index 4701a28..3180b24 100644 (file)
@@ -139,5 +139,9 @@ int board_late_init(void)
 
        uniphier_set_env_addr("loadaddr", "loadaddr_offset");
 
+       uniphier_set_env_addr("kernel_addr_r", "kernel_addr_r_offset");
+       uniphier_set_env_addr("ramdisk_addr_r", "ramdisk_addr_r_offset");
+       uniphier_set_env_addr("fdt_addr_r", "fdt_addr_r_offset");
+
        return 0;
 }
index 6d3d9b3..68568f4 100644 (file)
 
 #ifdef CONFIG_FIT
 #define CONFIG_BOOTFILE                        "fitImage"
+#define KERNEL_ADDR_R_OFFSET           "0x05100000"
 #define LINUXBOOT_ENV_SETTINGS \
-       "kernel_addr_r=0x85100000\0" \
        "tftpboot=tftpboot $kernel_addr_r $bootfile &&" \
                "bootm $kernel_addr_r\0" \
        "__nfsboot=run tftpboot\0"
 #ifdef CONFIG_ARM64
 #define CONFIG_BOOTFILE                        "Image"
 #define LINUXBOOT_CMD                  "booti"
-#define KERNEL_ADDR_R                  "kernel_addr_r=0x82080000\0"
+#define KERNEL_ADDR_R_OFFSET           "0x02080000"
 #else
 #define CONFIG_BOOTFILE                        "zImage"
 #define LINUXBOOT_CMD                  "bootz"
-#define KERNEL_ADDR_R                  "kernel_addr_r=0x80208000\0"
+#define KERNEL_ADDR_R_OFFSET           "0x00208000"
 #endif
 #define LINUXBOOT_ENV_SETTINGS \
-       "fdt_addr_r=0x85100000\0" \
-       KERNEL_ADDR_R \
-       "ramdisk_addr_r=0x86000000\0" \
-       "ramdisk_file=rootfs.cpio.gz\0" \
        "boot_common=setexpr bootm_low $kernel_addr_r '&' fe000000 && " \
                LINUXBOOT_CMD " $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0" \
        "tftpboot=tftpboot $kernel_addr_r $bootfile && " \
 #endif
 
 #define        CONFIG_EXTRA_ENV_SETTINGS                               \
+       "fdt_addr_r_offset=0x05100000\0" \
+       "kernel_addr_r_offset=" KERNEL_ADDR_R_OFFSET "\0" \
+       "ramdisk_addr_r_offset=0x06000000\0" \
+       "ramdisk_file=rootfs.cpio.gz\0" \
        "netdev=eth0\0"                                         \
        "initrd_high=0xffffffffffffffff\0"                      \
        "loadaddr_offset=0x05000000\0" \