[U-Boot] [PATCH 10/11] vexpress64: juno: add alternate kernel and device tree filenames
Ryan Harkin
ryan.harkin at linaro.org
Wed Sep 23 19:25:42 CEST 2015
The default Juno firmware has renamed the kernel and device tree
filenames to norkern and board.dtb.
Rather than change the default configuration to use the new names,
breaking those with the old firmware, attempt to load the existing
filename first. If that fails, attempt to load the alternate filename.
I've echo'd that we are loading the alternate file to counter the
output from "afs load" when the first load attempt fails. For example,
I see this output on my Juno board:
image "Image" not found in flash
Loading norkern instead of Image
loaded region 0 from 08500000 to 80000000, 00AB6318 bytes
image "juno" not found in flash
Loading board.dtb instead of juno
loaded region 0 from 0A000000 to 83000000, 00003188 bytes
Signed-off-by: Ryan Harkin <ryan.harkin at linaro.org>
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
CC: David Feng <fenghua at phytium.com.cn>
CC: Bhupesh Sharma <bhupesh.sharma at freescale.com>
CC: Linus Walleij <linus.walleij at linaro.org>
---
include/configs/vexpress_aemv8a.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index c62c3ac..192568a 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -185,11 +185,13 @@
* be copied into DRAM
*/
#define CONFIG_EXTRA_ENV_SETTINGS \
- "kernel_name=Image\0" \
+ "kernel_name=norkern\0" \
+ "kernel_alt_name=Image\0" \
"kernel_addr=0x80000000\0" \
"initrd_name=ramdisk.img\0" \
"initrd_addr=0x84000000\0" \
- "fdt_name=juno\0" \
+ "fdt_name=board.dtb\0" \
+ "fdt_alt_name=juno\0" \
"fdt_addr=0x83000000\0" \
"fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
@@ -205,7 +207,17 @@
/* Copy the kernel and FDT to DRAM memory and boot */
#define CONFIG_BOOTCOMMAND "afs load ${kernel_name} ${kernel_addr} ; " \
+ "if test $? -eq 1; then "\
+ " echo Loading ${kernel_alt_name} instead of "\
+ "${kernel_name}; "\
+ " afs load ${kernel_alt_name} ${kernel_addr};"\
+ "fi ; "\
"afs load ${fdt_name} ${fdt_addr} ; " \
+ "if test $? -eq 1; then "\
+ " echo Loading ${fdt_alt_name} instead of "\
+ "${fdt_name}; "\
+ " afs load ${fdt_alt_name} ${fdt_addr}; "\
+ "fi ; "\
"fdt addr ${fdt_addr}; fdt resize; " \
"if afs load ${initrd_name} ${initrd_addr} ; "\
"then "\
--
1.9.1
More information about the U-Boot
mailing list