From ddd9a5ba8e7a8a6c43aca5fd4adcdf599e8456cb Mon Sep 17 00:00:00 2001
From: Felix Seele <3756270+citruz@users.noreply.github.com>
Date: Fri, 8 Mar 2024 06:09:09 +0000
Subject: [PATCH] refactor how overlays are built

---
 buildroot-external/board/radxa/hassos-hook.sh |  5 +--
 ...4-dts-rockchip-add-pcie-gen2-overlay.patch | 34 +++++++++----------
 ...ockchip-add-overlays-to-disable-leds.patch | 28 +++++++--------
 ...d-overlay-to-disable-wifi-interrupts.patch | 14 ++++----
 ...-add-overlay-to-enable-pwm-gpio-pins.patch | 16 ++++-----
 .../configs/rock_4c_plus_defconfig            |  3 +-
 buildroot-external/configs/rock_4se_defconfig |  3 +-
 .../configs/rockpi_4a_defconfig               |  3 +-
 .../configs/rockpi_4a_plus_defconfig          |  3 +-
 .../configs/rockpi_4b_defconfig               |  3 +-
 .../configs/rockpi_4b_plus_defconfig          |  3 +-
 .../configs/rockpi_4c_defconfig               |  3 +-
 12 files changed, 61 insertions(+), 57 deletions(-)

diff --git a/buildroot-external/board/radxa/hassos-hook.sh b/buildroot-external/board/radxa/hassos-hook.sh
index 38acbe4b381..796b9968034 100755
--- a/buildroot-external/board/radxa/hassos-hook.sh
+++ b/buildroot-external/board/radxa/hassos-hook.sh
@@ -10,10 +10,7 @@ function hassos_pre_image() {
         "${BINARIES_DIR}/rockchip/"*.dtb
 
     mkdir -p "${BOOT_DATA}/overlays"
-    # replace .dtb extension with .dtbo
-    for file in "${BINARIES_DIR}/rockchip/overlay/"*.dtb; do
-        cp "$file" "${BOOT_DATA}/overlays/$(basename -- "$file" .dtb).dtbo"
-    done
+    cp "${BINARIES_DIR}/overlays/"*.dtbo "${BOOT_DATA}/overlays/"
 
     cp "${BOARD_DIR}/../boot-env-common.txt" "${BOOT_DATA}/haos-config.txt"
     cat "${BOARD_DIR}/boot-env.txt" >> "${BOOT_DATA}/haos-config.txt"
diff --git a/buildroot-external/board/radxa/patches/linux/0001-arm64-dts-rockchip-add-pcie-gen2-overlay.patch b/buildroot-external/board/radxa/patches/linux/0001-arm64-dts-rockchip-add-pcie-gen2-overlay.patch
index ddd99d8b0ad..ced3edd3052 100644
--- a/buildroot-external/board/radxa/patches/linux/0001-arm64-dts-rockchip-add-pcie-gen2-overlay.patch
+++ b/buildroot-external/board/radxa/patches/linux/0001-arm64-dts-rockchip-add-pcie-gen2-overlay.patch
@@ -4,29 +4,29 @@ Date: Thu, 16 Feb 2023 18:39:00 +0000
 Subject: [PATCH] arm64: dts: rockchip: add pcie gen2 overlay
 
 ---
- arch/arm64/boot/dts/rockchip/Makefile            |  2 ++
- arch/arm64/boot/dts/rockchip/overlay/Makefile    |  8 ++++++++
- .../dts/rockchip/overlay/rk3399-pcie-gen2.dtso   | 16 ++++++++++++++++
+ arch/arm64/boot/dts/Makefile             |  2 ++
+ arch/arm64/boot/dts/overlays/Makefile    |  8 ++++++++
+ .../dts/overlays/rk3399-pcie-gen2.dtso   | 16 ++++++++++++++++
  scripts/Makefile.lib                             |  2 +-
  5 files changed, 42 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/Makefile
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-pcie-gen2.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/Makefile
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-pcie-gen2.dtso
 
-diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
+diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
 index 8c15593c0..df6b5576c 100644
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -105,3 +105,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-indiedroid-nova.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-khadas-edge2.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb
+--- a/arch/arm64/boot/dts/Makefile
++++ b/arch/arm64/boot/dts/Makefile
+@@ -33,3 +33,5 @@ subdir-y += tesla
+ subdir-y += ti
+ subdir-y += toshiba
+ subdir-y += xilinx
 +
-+subdir-y := overlay
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
++subdir-y := overlays
+diff --git a/arch/arm64/boot/dts/overlays/Makefile b/arch/arm64/boot/dts/overlays/Makefile
 new file mode 100644
 index 000000000..cc9197d76
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
++++ b/arch/arm64/boot/dts/overlays/Makefile
 @@ -0,0 +1,8 @@
 +# SPDX-License-Identifier: GPL-2.0
 +dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
@@ -36,11 +36,11 @@ index 000000000..cc9197d76
 +
 +always			:= $(dtbo-y)
 +clean-files		:= *.dtbo
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-pcie-gen2.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-pcie-gen2.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-pcie-gen2.dtso b/arch/arm64/boot/dts/overlays/rk3399-pcie-gen2.dtso
 new file mode 100644
 index 000000000..86c7e9e83
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-pcie-gen2.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-pcie-gen2.dtso
 @@ -0,0 +1,16 @@
 +// Enable pcie gen2 mode
 +/dts-v1/;
diff --git a/buildroot-external/board/radxa/patches/linux/0002-arm64-dts-rockchip-add-overlays-to-disable-leds.patch b/buildroot-external/board/radxa/patches/linux/0002-arm64-dts-rockchip-add-overlays-to-disable-leds.patch
index 9704df74715..5d8753cacbd 100644
--- a/buildroot-external/board/radxa/patches/linux/0002-arm64-dts-rockchip-add-overlays-to-disable-leds.patch
+++ b/buildroot-external/board/radxa/patches/linux/0002-arm64-dts-rockchip-add-overlays-to-disable-leds.patch
@@ -4,21 +4,21 @@ Date: Mon, 22 May 2023 19:58:59 +0000
 Subject: [PATCH] arm64: dts: rockchip: add overlays to disable leds
 
 ---
- arch/arm64/boot/dts/rockchip/overlay/Makefile      |  5 ++++-
+ arch/arm64/boot/dts/overlays/Makefile      |  5 ++++-
  .../rk3399-rock-4c-plus-disable-hearbeat.dtso      | 14 ++++++++++++++
  .../rk3399-rock-4c-plus-disable-power-led.dtso     | 14 ++++++++++++++
- .../overlay/rk3399-rock-pi-4-disable-heartbeat.dtso| 14 ++++++++++++++
+ .../overlays/rk3399-rock-pi-4-disable-heartbeat.dtso| 14 ++++++++++++++
  .../boot/dts/rockchip/rk3399-rock-4c-plus.dts      |  4 ++--
  arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi |  2 +-
  6 files changed, 49 insertions(+), 4 deletions(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-hearbeat.dtso
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-power-led.dtso
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-hearbeat.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-power-led.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-rock-pi-4-disable-heartbeat.dtso
 
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+diff --git a/arch/arm64/boot/dts/overlays/Makefile b/arch/arm64/boot/dts/overlays/Makefile
 index 8d867d175c67..709ff60dcb06 100644
---- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+--- a/arch/arm64/boot/dts/overlays/Makefile
++++ b/arch/arm64/boot/dts/overlays/Makefile
 @@ -1,6 +1,9 @@
  # SPDX-License-Identifier: GPL-2.0
  dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
@@ -30,11 +30,11 @@ index 8d867d175c67..709ff60dcb06 100644
  
  targets += $(dtbo-y)
  
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-hearbeat.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-hearbeat.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-hearbeat.dtso b/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-hearbeat.dtso
 new file mode 100644
 index 000000000000..4edefbf79d5e
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-hearbeat.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-hearbeat.dtso
 @@ -0,0 +1,14 @@
 +// Disable heartbeat led (for rk3399-rock-4c-plus.dts)
 +/dts-v1/;
@@ -50,11 +50,11 @@ index 000000000000..4edefbf79d5e
 +		};
 +	};
 +};
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-power-led.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-power-led.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-power-led.dtso b/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-power-led.dtso
 new file mode 100644
 index 000000000000..4c39c736c67b
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-4c-plus-disable-power-led.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-rock-4c-plus-disable-power-led.dtso
 @@ -0,0 +1,14 @@
 +// Disable power led (for rk3399-rock-4c-plus.dts)
 +/dts-v1/;
@@ -70,11 +70,11 @@ index 000000000000..4c39c736c67b
 +		};
 +	};
 +};
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-rock-pi-4-disable-heartbeat.dtso b/arch/arm64/boot/dts/overlays/rk3399-rock-pi-4-disable-heartbeat.dtso
 new file mode 100644
 index 000000000000..e54ce3f3d840
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-rock-pi-4-disable-heartbeat.dtso
 @@ -0,0 +1,14 @@
 +// Disable heartbeat led (for rk3399-rock-pi-4.dtsi)
 +/dts-v1/;
diff --git a/buildroot-external/board/radxa/patches/linux/0004-add-overlay-to-disable-wifi-interrupts.patch b/buildroot-external/board/radxa/patches/linux/0004-add-overlay-to-disable-wifi-interrupts.patch
index 2e4dd70dd1f..c06744bcbc3 100644
--- a/buildroot-external/board/radxa/patches/linux/0004-add-overlay-to-disable-wifi-interrupts.patch
+++ b/buildroot-external/board/radxa/patches/linux/0004-add-overlay-to-disable-wifi-interrupts.patch
@@ -4,15 +4,15 @@ Date: Fri, 2 Jun 2023 19:40:20 +0000
 Subject: [PATCH] add overlay to disable wifi interrupts
 
 ---
- arch/arm64/boot/dts/rockchip/overlay/Makefile |  3 ++-
+ arch/arm64/boot/dts/overlays/Makefile |  3 ++-
  .../rk3399-disable-wifi-interrupts.dtso        | 27 +++++++++++++++++++
  2 files changed, 29 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-disable-wifi-interrupts.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-disable-wifi-interrupts.dtso
 
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+diff --git a/arch/arm64/boot/dts/overlays/Makefile b/arch/arm64/boot/dts/overlays/Makefile
 index 709ff60dcb06..9ec8f459563e 100644
---- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+--- a/arch/arm64/boot/dts/overlays/Makefile
++++ b/arch/arm64/boot/dts/overlays/Makefile
 @@ -3,7 +3,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
  	rk3399-pcie-gen2.dtbo \
  	rk3399-rock-4c-plus-disable-hearbeat.dtbo \
@@ -23,11 +23,11 @@ index 709ff60dcb06..9ec8f459563e 100644
  
  targets += $(dtbo-y)
  
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-disable-wifi-interrupts.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-disable-wifi-interrupts.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-disable-wifi-interrupts.dtso b/arch/arm64/boot/dts/overlays/rk3399-disable-wifi-interrupts.dtso
 new file mode 100644
 index 000000000000..34005c6c7dc3
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-disable-wifi-interrupts.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-disable-wifi-interrupts.dtso
 @@ -0,0 +1,27 @@
 +// Disable interrupts to fix driver probing
 +// See https://github.com/citruz/haos-rockpi/issues/11
diff --git a/buildroot-external/board/radxa/patches/linux/0006-add-overlay-to-enable-pwm-gpio-pins.patch b/buildroot-external/board/radxa/patches/linux/0006-add-overlay-to-enable-pwm-gpio-pins.patch
index 155780eb3fa..2d1fa21ec17 100644
--- a/buildroot-external/board/radxa/patches/linux/0006-add-overlay-to-enable-pwm-gpio-pins.patch
+++ b/buildroot-external/board/radxa/patches/linux/0006-add-overlay-to-enable-pwm-gpio-pins.patch
@@ -4,15 +4,15 @@ Date: Tue, 13 Jun 2023 20:40:58 +0000
 Subject: [PATCH] add overlay to enable pwm gpio pins
 
 ---
- arch/arm64/boot/dts/rockchip/overlay/Makefile |  3 +-
- .../dts/rockchip/overlay/rk3399-pwm-gpio.dtso | 31 +++++++++++++++++++
+ arch/arm64/boot/dts/overlays/Makefile |  3 +-
+ .../dts/overlays/rk3399-pwm-gpio.dtso | 31 +++++++++++++++++++
  2 files changed, 33 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/overlay/rk3399-pwm-gpio.dtso
+ create mode 100644 arch/arm64/boot/dts/overlays/rk3399-pwm-gpio.dtso
 
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+diff --git a/arch/arm64/boot/dts/overlays/Makefile b/arch/arm64/boot/dts/overlays/Makefile
 index 9ec8f459563e..83a027e3d179 100644
---- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
+--- a/arch/arm64/boot/dts/overlays/Makefile
++++ b/arch/arm64/boot/dts/overlays/Makefile
 @@ -4,7 +4,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
  	rk3399-rock-4c-plus-disable-hearbeat.dtbo \
  	rk3399-rock-4c-plus-disable-power-led.dtbo \
@@ -23,11 +23,11 @@ index 9ec8f459563e..83a027e3d179 100644
  
  targets += $(dtbo-y)
  
-diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk3399-pwm-gpio.dtso b/arch/arm64/boot/dts/rockchip/overlay/rk3399-pwm-gpio.dtso
+diff --git a/arch/arm64/boot/dts/overlays/rk3399-pwm-gpio.dtso b/arch/arm64/boot/dts/overlays/rk3399-pwm-gpio.dtso
 new file mode 100644
 index 000000000000..98b045f4c3b8
 --- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/overlay/rk3399-pwm-gpio.dtso
++++ b/arch/arm64/boot/dts/overlays/rk3399-pwm-gpio.dtso
 @@ -0,0 +1,31 @@
 +// Enable pwm0 and pwm1
 +// Source: https://github.com/PetrozPL/rockpi4_pwm_overlay/blob/main/rockchip-pwm-gpio.dts
diff --git a/buildroot-external/configs/rock_4c_plus_defconfig b/buildroot-external/configs/rock_4c_plus_defconfig
index fdb6658d396..0f21a023e5d 100644
--- a/buildroot-external/configs/rock_4c_plus_defconfig
+++ b/buildroot-external/configs/rock_4c_plus_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-4c-plus rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-4c-plus-disable-hearbeat rockchip/overlay/rk3399-rock-4c-plus-disable-power-led rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-4c-plus"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rock_4se_defconfig b/buildroot-external/configs/rock_4se_defconfig
index 19d342de0e7..00eacbf8a1f 100644
--- a/buildroot-external/configs/rock_4se_defconfig
+++ b/buildroot-external/configs/rock_4se_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-4se rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-4se"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rockpi_4a_defconfig b/buildroot-external/configs/rockpi_4a_defconfig
index 4b5b5a9585b..7de0be09a8a 100644
--- a/buildroot-external/configs/rockpi_4a_defconfig
+++ b/buildroot-external/configs/rockpi_4a_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4a rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4a"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rockpi_4a_plus_defconfig b/buildroot-external/configs/rockpi_4a_plus_defconfig
index 7729979b72c..10e478b772f 100644
--- a/buildroot-external/configs/rockpi_4a_plus_defconfig
+++ b/buildroot-external/configs/rockpi_4a_plus_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4a-plus rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4a-plus"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rockpi_4b_defconfig b/buildroot-external/configs/rockpi_4b_defconfig
index 4d56dd15779..50a00ab1855 100644
--- a/buildroot-external/configs/rockpi_4b_defconfig
+++ b/buildroot-external/configs/rockpi_4b_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4b rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4b"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rockpi_4b_plus_defconfig b/buildroot-external/configs/rockpi_4b_plus_defconfig
index 73cc172ff12..bc817623ac5 100644
--- a/buildroot-external/configs/rockpi_4b_plus_defconfig
+++ b/buildroot-external/configs/rockpi_4b_plus_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4b-plus rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4b-plus"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
diff --git a/buildroot-external/configs/rockpi_4c_defconfig b/buildroot-external/configs/rockpi_4c_defconfig
index 4af5b9f7928..931f0cb0334 100644
--- a/buildroot-external/configs/rockpi_4c_defconfig
+++ b/buildroot-external/configs/rockpi_4c_defconfig
@@ -58,7 +58,8 @@ BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config"
 BR2_LINUX_KERNEL_LZ4=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4c rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-rock-pi-4-disable-heartbeat rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-pi-4c"
+BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS=y
 BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
 BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y