summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-01-09 02:12:27 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2016-01-20 08:39:32 +0900
commit25d4eb8091f4c410987c139161d3621e0fb1fbca (patch)
treead9e25cf13028a1abd60a64b1981635e4d0cf7d5
parent17bd4a211467c66e63d79ffc35b1e1644152ad14 (diff)
downloadtalos-obmc-uboot-25d4eb8091f4c410987c139161d3621e0fb1fbca.tar.gz
talos-obmc-uboot-25d4eb8091f4c410987c139161d3621e0fb1fbca.zip
ARM: uniphier: add bootm_low environment
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>
-rw-r--r--include/configs/uniphier.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index c7d86286b0..599b26959e 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -201,15 +201,18 @@
"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"
OpenPOWER on IntegriCloud