ARM: uniphier: add bootm_low environment
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 8 Jan 2016 17:12:27 +0000 (02:12 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 19 Jan 2016 23:39:32 +0000 (08:39 +0900)
The load address of the kernel can be changed via "kernel_addr_r"
environment.  The device tree and the initramdisk should be relocated
according to the kernel location.

The "bootm_low" should be calculated by masking the lower bits
(TEXT_OFFSET part) of the "kernel_addr_r" environment value.

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

index c7d8628..599b269 100644 (file)
        "ramdisk_addr_r=0x84a00000\0" \
        "ramdisk_size=0x00600000\0" \
        "ramdisk_file=rootfs.cpio.uboot\0" \
-       "norboot=setexpr kernel_addr $nor_base + $kernel_addr &&" \
+       "norboot=setexpr bootm_low $kernel_addr_r '&' fe000000 &&" \
+               "setexpr kernel_addr $nor_base + $kernel_addr &&" \
                "setexpr ramdisk_addr $nor_base + $ramdisk_addr &&" \
                "setexpr fdt_addr $nor_base + $fdt_addr &&" \
                "bootz $kernel_addr $ramdisk_addr $fdt_addr\0" \
-       "nandboot=nand read $kernel_addr_r $kernel_addr $kernel_size &&" \
+       "nandboot=setexpr bootm_low $kernel_addr_r '&' fe000000 &&" \
+               "nand read $kernel_addr_r $kernel_addr $kernel_size &&" \
                "nand read $ramdisk_addr_r $ramdisk_addr $ramdisk_size &&" \
                "nand read $fdt_addr_r $fdt_addr $fdt_size &&" \
                "bootz $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0" \
-       "tftpboot=tftpboot $kernel_addr_r $bootfile &&" \
+       "tftpboot=setexpr bootm_low $kernel_addr_r '&' fe000000 &&" \
+               "tftpboot $kernel_addr_r $bootfile &&" \
                "tftpboot $ramdisk_addr_r $ramdisk_file &&" \
                "tftpboot $fdt_addr_r $fdt_file &&" \
                "bootz $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0"