[PATCH v3 09/11] siemens: capricorn: fix fallback bootm call for fitImage
Heiko Schocher
hs at nabladev.com
Tue Feb 17 17:39:09 CET 2026
From: Walter Schweizer <walter.schweizer at siemens.com>
When dtb_name is missing or a configuration is missing, try to
boot the default configuration in the image. The call to bootm needs
the correct loadaddr to succeed.
Fixes booting when factoryset is missing.
Signed-off-by: Walter Schweizer <walter.schweizer at siemens.com>
Reviewed-by: Peng Fan <peng.fan at nxp.com>
---
Changes in v3:
Fix checkpatch warning
board/siemens/capricorn/capricorn_default.env:23: warning: line length of 266 exceeds 100 columns
as Max suggested
Changes in v2:
Added Reviewed-by from Peng
board/siemens/capricorn/capricorn_default.env | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/board/siemens/capricorn/capricorn_default.env b/board/siemens/capricorn/capricorn_default.env
index ad88f7ed770..c150025c882 100644
--- a/board/siemens/capricorn/capricorn_default.env
+++ b/board/siemens/capricorn/capricorn_default.env
@@ -20,7 +20,14 @@ ip_method=none
kernel_name=Image
loadaddr=0x80400000
mmc_boot=run set_bootargs;run check_upgrade; run set_partition;run set_bootargs_mmc;run mmc_load_bootfiles
-mmc_boot_fit=ext4load mmc 0:${mmc_part_nr} 0x88000000 boot/fitImage;if test -n ${A};then setenv bootargs ${bootargs} rootfs_sig=${sig_a};fi;if test -n ${B};then setenv bootargs ${bootargs} rootfs_sig=${sig_b};fi;bootm 0x88000000#conf-${dtb_name}.dtb;bootm
+mmc_boot_fit=ext4load mmc 0:${mmc_part_nr} 0x88000000 boot/fitImage;
+ if test -n ${A};then
+ setenv bootargs ${bootargs} rootfs_sig=${sig_a};
+ fi;
+ if test -n ${B};then
+ setenv bootargs ${bootargs} rootfs_sig=${sig_b};
+ fi;
+ bootm 0x88000000#conf-${dtb_name}.dtb;bootm 0x88000000
mmc_boot_image=ext4load mmc 0:${mmc_part_nr} ${fdt_addr} boot/${dtb_name}.dtb;if test $? -eq 1;then ext4load mmc 0:${mmc_part_nr} ${fdt_addr} boot/${dtb_name_default}.dtb;fi; ext4load mmc 0:${mmc_part_nr} ${loadaddr} boot/${kernel_name}; booti ${loadaddr} - ${fdt_addr}
mmc_load_bootfiles=echo -n Loading from eMMC ...; if test -e mmc 0:${mmc_part_nr} boot/fitImage; then echo fit; setenv fdt_high; setenv initrd_high; run mmc_boot_fit; else echo image; run mmc_boot_image; fi
net_nfs=wdt dev scu-wdt; wdt stop; echo Booting from network ...; run set_bootargs_net; tftpboot ${loadaddr} ${bootdir}/${kernel_name}; printenv bootargs; if test ${kernel_name} = fitImage; then setenv fdt_high; setenv initrd_high; bootm ${loadaddr}#conf-${dtb_name}.dtb; else tftpboot ${fdt_addr} ${serverip}:${bootdir}/${dtb_name}.dtb; if test $? -eq 1; then echo Loading default.dtb!; tftpboot ${fdt_addr} ${serverip}:${bootdir}/${dtb_name_default}.dtb; fi; booti ${loadaddr} - ${fdt_addr}; fi
--
2.20.1
More information about the U-Boot
mailing list