diff --git a/config/bootscripts/boot-sun50i-next.cmd b/config/bootscripts/boot-sun50i-next.cmd index 36ff7d8c33..df4aef333f 100644 --- a/config/bootscripts/boot-sun50i-next.cmd +++ b/config/bootscripts/boot-sun50i-next.cmd @@ -33,6 +33,14 @@ if test "${console}" = "serial" || test "${console}" = "both"; then setenv conso setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} panic=10 consoleblank=0 enforcing=0 loglevel=${verbosity} ${extraargs} ${extraboardargs}" load ${devtype} 0 ${fdt_addr_r} /boot/dtb/allwinner/${fdtfile} || load ${devtype} 0 ${fdt_addr_r} /dtb/allwinner/${fdtfile} +fdt addr ${fdt_addr_r} +fdt resize +for overlay_file in ${overlays}; do + if load ${devtype} 0 ${load_addr} dtb/allwinner/overlays/${overlay_file}.dtbo || load ${devtype} 0 ${load_addr} boot/dtb/allwinner/overlays/${overlay_file}.dtbo; then + echo "Applying DT overlay ${overlay_file}.dtbo" + fdt apply ${load_addr} + fi +done load ${devtype} 0 ${ramdisk_addr_r} /boot/uInitrd || load ${devtype} 0 ${ramdisk_addr_r} uInitrd load ${devtype} 0 ${kernel_addr_r} /boot/Image || load ${devtype} 0 ${kernel_addr_r} Image booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} diff --git a/config/bootscripts/boot-sunxi.cmd b/config/bootscripts/boot-sunxi.cmd index 43aaa53a5d..4f4132e387 100644 --- a/config/bootscripts/boot-sunxi.cmd +++ b/config/bootscripts/boot-sunxi.cmd @@ -39,6 +39,14 @@ load ${devtype} 0 ${kernel_addr_r} /boot/zImage || load ${devtype} 0 ${kernel_ad if load ${devtype} 0 0x00000000 /boot/.next || load ${devtype} 0 0x00000000 .next; then load ${devtype} 0 ${fdt_addr_r} /boot/dtb/${fdtfile} || load ${devtype} 0 ${fdt_addr_r} /dtb/${fdtfile} + fdt addr ${fdt_addr_r} + fdt resize + for overlay_file in ${overlays}; do + if load ${devtype} 0 ${load_addr} dtb/overlays/${overlay_file}.dtbo || load ${devtype} 0 ${load_addr} boot/dtb/overlays/${overlay_file}.dtbo; then + echo "Applying DT overlay ${overlay_file}.dtbo" + fdt apply ${load_addr} + fi + done bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} else load ${devtype} 0 ${fdt_addr_r} /boot/script.bin || load ${devtype} 0 ${fdt_addr_r} script.bin diff --git a/patch/u-boot/u-boot-sun50i-dev/enable-DT-overlays-support.patch b/patch/u-boot/u-boot-sun50i-dev/enable-DT-overlays-support.patch new file mode 100644 index 0000000000..bdbc2a8657 --- /dev/null +++ b/patch/u-boot/u-boot-sun50i-dev/enable-DT-overlays-support.patch @@ -0,0 +1,12 @@ +diff --git a/u-boot/lib/Kconfig b/u-boot/lib/Kconfig +index b16062fbe..8c797a779 100644 +--- a/u-boot/lib/Kconfig ++++ b/u-boot/lib/Kconfig +@@ -141,6 +141,7 @@ config OF_LIBFDT + + config OF_LIBFDT_OVERLAY + bool "Enable the FDT library overlay support" ++ default y if OF_LIBFDT + help + This enables the FDT library (libfdt) overlay support. + diff --git a/patch/u-boot/u-boot-sunxi/enable-DT-overlays-support.patch b/patch/u-boot/u-boot-sunxi/enable-DT-overlays-support.patch new file mode 100644 index 0000000000..1406543033 --- /dev/null +++ b/patch/u-boot/u-boot-sunxi/enable-DT-overlays-support.patch @@ -0,0 +1,12 @@ +diff --git a/lib/Kconfig b/lib/Kconfig +index b16062fbe..8c797a779 100644 +--- a/lib/Kconfig ++++ b/lib/Kconfig +@@ -141,6 +141,7 @@ config OF_LIBFDT + + config OF_LIBFDT_OVERLAY + bool "Enable the FDT library overlay support" ++ default y if OF_LIBFDT + help + This enables the FDT library (libfdt) overlay support. +