From 5513d98a38cc3d6dc3ba0c4df3291cd78525ace4 Mon Sep 17 00:00:00 2001 From: Igor Opaniuk Date: Tue, 26 May 2020 12:53:16 +0300 Subject: boot.cmd: add support for DT overlays Add support for DT overlays, which are obtained from overlays.txt stored in bootfs. Relates-to: ELB-2722 Signed-off-by: Igor Opaniuk (cherry picked from commit 7b24a04860805abad1a3f5c850ee07fefa6272ac) --- recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'recipes-bsp') diff --git a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in index 9b9a9ef..952f58a 100644 --- a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in +++ b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in @@ -20,11 +20,15 @@ test -n ${m4boot} || env set m4boot ';' test -n ${fdtfile} || env set fdtfile $fdt_file test -n ${kernel_image} || env set kernel_image ${boot_file} +env set overlays_file "overlays.txt" +env set load_overlay 'load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} ${overlays_file}; env import -t ${loadaddr} ${filesize}' +env set apply_overlays 'fdt addr ${fdt_addr_r} && fdt resize 0x20000 && for overlay_file in ${fdt_overlays}; do echo "Applying Overlay: ${overlay_file}" && load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} ${overlay_file} && fdt apply ${loadaddr}; done;' env set uuid_set 'part uuid ${devtype} ${devnum}:2 uuid' env set emmcargs_set 'env set emmcargs root=PARTUUID=${uuid} ro rootfstype=ext4 rootwait' env set bootcmd_args 'env set bootargs ${defargs} ${emmcargs} ${setupargs} ${vidargs} ${tdxargs}' env set bootcmd_kernel 'load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${kernel_image}' -env set bootcmd_dtb 'load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile}' +env set bootcmd_dtb 'load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile} && if test -e ${devtype} ${devnum}:${distro_bootpart} ${overlays_file}; then run load_overlay && run apply_overlays || true;fi || true' env set bootcmd_boot '@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr_r}' env set bootcmd_run 'run m4boot; run bootcmd_dtb && run uuid_set && run emmcargs_set && run bootcmd_args && run bootcmd_kernel && run bootcmd_boot' + run bootcmd_run -- cgit v1.2.3