]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
imx: venice: add dt overlay support
authorTim Harvey <tharvey@gateworks.com>
Thu, 19 Jun 2025 21:32:11 +0000 (14:32 -0700)
committerRobert Marko <robimarko@gmail.com>
Mon, 23 Jun 2025 09:49:12 +0000 (11:49 +0200)
Enable DT overlay support:
 - add dt-overlay to board features
 - add DEVICE_DTS_OVERLAYS
 - update the boot script to resize before applying each overlay

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19189
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/imx/cortexa53/target.mk
target/linux/imx/image/bootscript-gateworks_venice
target/linux/imx/image/cortexa53.mk

index b9b32d18290550037edfca4f4fc68bc540a4feaa..cf1791b92c18c33ef5c9f6d17e32cbba150a1109 100644 (file)
@@ -2,6 +2,7 @@ ARCH:=aarch64
 BOARDNAME:=NXP i.MX with Cortex-A53 (ARM64)
 CPU_TYPE:=cortex-a53
 KERNELNAME:=Image dtbs
+FEATURES+=dt-overlay
 
 define Target/Description
        Build firmware images for NXP i.MX (Cortex-A53) based boards.
index 062947f27bed8b1d7b9bd6c8863a1efc2933c48b..3f87bae50b9ef0ddb2018f5bae5860f51dcd5bce 100644 (file)
@@ -29,7 +29,7 @@ echo "loading DTB..."
 setenv fdt_addr
 setenv fdt_list $fdt_file $fdt_file1 $fdt_file2 $fdt_file3 $fdt_file4 $fdt_file5
 setenv load_fdt 'echo Loading $fdt...; load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${fdt} && setenv fdt_addr ${fdt_addr_r}'
-setenv apply_overlays 'fdt addr $fdt_addr_r && fdt resize && for fdt in "$fdt_overlays"; do load ${devtype} ${devnum}:${distro_bootpart} $loadaddr $prefix/$fdt && fdt apply $loadaddr && echo applied $prefix/$fdt; done'
+setenv apply_overlays 'fdt addr $fdt_addr_r && for fdt in "$fdt_overlays"; do load ${devtype} ${devnum}:${distro_bootpart} $loadaddr $prefix/$fdt && fdt resize $filesize && fdt apply $loadaddr && echo applied $prefix/$fdt; done'
 for fdt in ${fdt_list}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${fdt}; then run load_fdt; fi; done
 if test -z "$fdt_addr"; then echo "Warning: Using bootloader DTB"; setenv fdt_addr $fdtcontroladdr; fi
 if test -n "$fdt_overlays"; then echo "Applying overlays"; run apply_overlays; fi
index ec3623e8e70b937d5d239ec42265bbc483adc4d8..e618e3ee0a7f0fc7290da3c3567af5055a7da76c 100644 (file)
@@ -8,6 +8,7 @@ define Build/boot-img-ext4
        rm -fR $@.boot
        mkdir -p $@.boot
        $(foreach dts,$(DEVICE_DTS), $(CP) $(KDIR)/image-$(dts).dtb $@.boot/$(dts).dtb;)
+       $(foreach dtbo,$(DEVICE_DTS_OVERLAY), $(CP) $(KDIR)/image-$(dtbo).dtbo $@.boot/$(dtbo).dtbo;)
        $(CP) $(IMAGE_KERNEL) $@.boot/$(KERNEL_NAME)
        -$(CP) $@-boot.scr $@.boot/boot.scr
        make_ext4fs -J -L kernel -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M \
@@ -64,6 +65,7 @@ define Device/gateworks_venice
   BOOT_SCRIPT := gateworks_venice
   PARTITION_OFFSET := 16M
   DEVICE_DTS := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dts)))
+  DEVICE_DTS_OVERLAY := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dtso)))
   DEVICE_PACKAGES := \
        kmod-hwmon-gsc kmod-rtc-ds1672 kmod-eeprom-at24 \
        kmod-gpio-button-hotplug kmod-leds-gpio kmod-pps-gpio \