Message ID | 1444407488-32646-10-git-send-email-ryan.harkin@linaro.org |
---|---|
State | Accepted |
Commit | ecbed5d6f4f96457dee8846c611056cb0d630642 |
Headers | show |
On Fri, Oct 09, 2015 at 05:18:07PM +0100, Ryan Harkin wrote: > The latest Juno firmware stores the files in NOR flash as "norkern" for > kernel binary, "board.dtb" for the device tree binary. > > The "old" firmware used the name "Image" for the kernel binary and > "juno" for the device tree binary. > > Rather than just change the default U-Boot configuration to use the new > names, breaking users with the old firmware, attempt to load the default > 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" shown if the first load attempt fails. For > example, I see output like this on my Juno board when it's configured > the with the "old" firmware: > > image "norkern" not found in flash > Loading Image instead of norkern > loaded region 0 from 08500000 to 80000000, 00AB6318 bytes > image "board.dtb" not found in flash > Loading juno instead of board.dtb > loaded region 0 from 0A000000 to 83000000, 00003188 bytes > > Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Applied to u-boot/master, thanks!
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 99dd8b6..259f6ac 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -187,11 +187,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" \ @@ -207,7 +209,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 "\