[openwrt/openwrt] mediatek: dts: fix the broken memory node

LEDE Commits lede-commits at lists.infradead.org
Sun Aug 24 04:58:32 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/6f33529a1249826f0bbedd880c4c27e4cbe8a0f0

commit 6f33529a1249826f0bbedd880c4c27e4cbe8a0f0
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Fri Aug 8 20:53:58 2025 +0800

    mediatek: dts: fix the broken memory node
    
    Add the missing "device_type" property to fix the memory node. The
    Linux kernel can not get the memory size without it. Though u-boot
    can automatically fixup the memory node by adding the "device_type"
    and "reg" properties if the CONFIG_ARCH_FIXUP_FDT_MEMORY symbol is
    enabled, it's better not to rely on this optional feature. This
    patch also adds the reg address for the memory node name to follow
    the naming rules.
    
    Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
    Link: https://github.com/openwrt/openwrt/pull/19741
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts  |  5 +++--
 .../linux/mediatek/dts/mt7622-buffalo-wsr-3200ax4s.dts  |  3 ++-
 .../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi        |  3 ++-
 .../linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts   |  5 +++--
 .../linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts  |  3 ++-
 target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi     |  3 ++-
 target/linux/mediatek/dts/mt7622-netgear-wax206.dts     |  3 ++-
 target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200.dtsi  |  3 ++-
 target/linux/mediatek/dts/mt7622-smartrg-SDG-841-t6.dts |  3 ++-
 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi   |  3 ++-
 .../mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts    |  3 ++-
 target/linux/mediatek/dts/mt7981a-comfast-cf-e393ax.dts |  3 ++-
 target/linux/mediatek/dts/mt7981b-abt-asr3000.dts       |  1 +
 target/linux/mediatek/dts/mt7981b-asus-rt-ax52.dts      |  3 ++-
 target/linux/mediatek/dts/mt7981b-cetron-ct3003.dts     |  3 ++-
 target/linux/mediatek/dts/mt7981b-cmcc-a10.dtsi         |  1 +
 target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts     |  3 ++-
 .../dts/mt7981b-creatlentem-clt-r30b1-common.dtsi       |  3 ++-
 target/linux/mediatek/dts/mt7981b-gatonetworks-gdsp.dts |  3 ++-
 .../linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts   |  3 ++-
 target/linux/mediatek/dts/mt7981b-huasifei-wh3000.dts   |  1 +
 target/linux/mediatek/dts/mt7981b-jcg-q30-pro.dts       |  3 ++-
 target/linux/mediatek/dts/mt7981b-mercusys-mr80x-v3.dts |  3 ++-
 target/linux/mediatek/dts/mt7981b-nokia-ea0326gmp.dts   |  1 +
 target/linux/mediatek/dts/mt7981b-openembed-som7981.dts |  1 +
 target/linux/mediatek/dts/mt7981b-openwrt-one.dts       |  3 ++-
 target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts       |  3 ++-
 .../mediatek/dts/mt7981b-routerich-ax3000-common.dtsi   |  3 ++-
 target/linux/mediatek/dts/mt7981b-tplink-fr365v1.dts    |  3 ++-
 .../mediatek/dts/mt7981b-xiaomi-mi-router-common.dtsi   |  3 ++-
 .../linux/mediatek/dts/mt7981b-zbtlink-zbt-z8102ax.dts  |  3 ++-
 .../linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax.dts  |  3 ++-
 target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dts |  3 ++-
 target/linux/mediatek/dts/mt7986a-acer-w6-common.dtsi   |  3 ++-
 target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts     |  3 ++-
 target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts   |  3 ++-
 target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts   |  3 ++-
 .../linux/mediatek/dts/mt7986a-bananapi-bpi-r3-mini.dts |  3 ++-
 .../mediatek/dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts |  1 +
 target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts  |  1 +
 target/linux/mediatek/dts/mt7986a-netcore-n60-pro.dts   |  1 +
 target/linux/mediatek/dts/mt7986a-netcore-n60.dts       |  3 ++-
 target/linux/mediatek/dts/mt7986a-ruijie-rg-x60-pro.dts |  1 +
 .../mediatek/dts/mt7986a-tplink-archer-ax80-v1.dts      |  1 +
 .../mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi      |  3 ++-
 target/linux/mediatek/dts/mt7986a-tplink-tl-xtr8488.dts |  3 ++-
 .../dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi         |  3 ++-
 .../mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi    |  3 ++-
 .../linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts |  3 ++-
 .../mediatek/dts/mt7986b-mercusys-mr90x-v1-common.dtsi  |  3 ++-
 target/linux/mediatek/dts/mt7986b-tplink-re6000xd.dts   |  3 ++-
 .../linux/mediatek/dts/mt7988a-smartrg-mt-stuart.dtsi   |  3 ++-
 target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi |  3 ++-
 .../arch/arm64/boot/dts/mediatek/mt7981-rfb.dts         |  3 ++-
 .../arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi       |  3 ++-
 ...dts-mediatek-add-MT7988A-reference-board-devic.patch |  5 +++--
 ...189-arm64-dts-mediatek-mt7988a-complete-bpi-r4.patch | 17 +++++++++--------
 57 files changed, 114 insertions(+), 57 deletions(-)

diff --git a/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts b/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts
index b8fac373a0..8f24690a3c 100644
--- a/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts
+++ b/target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts
@@ -11,8 +11,9 @@
 		label-mac-device = &gmac0;
 	};
 
-	memory {
-		reg = <0 0x40000000 0 0x0F000000>;
+	memory at 40000000 {
+		reg = <0 0x40000000 0 0x0f000000>;
+		device_type = "memory";
 	};
 
 	rtkgsw: rtkgsw at 0 {
diff --git a/target/linux/mediatek/dts/mt7622-buffalo-wsr-3200ax4s.dts b/target/linux/mediatek/dts/mt7622-buffalo-wsr-3200ax4s.dts
index 82cc970fdd..dee8c77341 100644
--- a/target/linux/mediatek/dts/mt7622-buffalo-wsr-3200ax4s.dts
+++ b/target/linux/mediatek/dts/mt7622-buffalo-wsr-3200ax4s.dts
@@ -7,8 +7,9 @@
 	model = "Buffalo WSR-3200AX4S";
 	compatible = "buffalo,wsr-3200ax4s", "mediatek,mt7622";
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x1f000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi b/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi
index 8bd58bfe85..ae92fedc58 100644
--- a/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi
+++ b/target/linux/mediatek/dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi
@@ -45,8 +45,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts b/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
index 7fe5d02e1a..5f8bb3ded8 100644
--- a/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
+++ b/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
@@ -134,8 +134,9 @@
 		enable-active-high;
 	};
 
-	memory {
-		reg = <0 0x40000000 0 0x3F000000>;
+	memory at 40000000 {
+		reg = <0 0x40000000 0 0x3f000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts b/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts
index 2bf4a33a50..b437fe1b3a 100644
--- a/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts
+++ b/target/linux/mediatek/dts/mt7622-elecom-wrc-x3200gst3.dts
@@ -25,8 +25,9 @@
 		bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n8 swiotlb=512";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x1f000000>;
+		device_type = "memory";
 	};
 
 	leds {
diff --git a/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi b/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
index 48b25f7a4a..882ab841a7 100644
--- a/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
+++ b/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
@@ -80,8 +80,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7622-netgear-wax206.dts b/target/linux/mediatek/dts/mt7622-netgear-wax206.dts
index ab512e7894..6399743223 100644
--- a/target/linux/mediatek/dts/mt7622-netgear-wax206.dts
+++ b/target/linux/mediatek/dts/mt7622-netgear-wax206.dts
@@ -108,8 +108,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200.dtsi b/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200.dtsi
index 24ed92788e..0344d3dc6e 100644
--- a/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200.dtsi
+++ b/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200.dtsi
@@ -71,8 +71,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7622-smartrg-SDG-841-t6.dts b/target/linux/mediatek/dts/mt7622-smartrg-SDG-841-t6.dts
index 05fd74a7d3..8cf18f5e07 100644
--- a/target/linux/mediatek/dts/mt7622-smartrg-SDG-841-t6.dts
+++ b/target/linux/mediatek/dts/mt7622-smartrg-SDG-841-t6.dts
@@ -90,8 +90,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0x0 0x40000000 0x0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reserved-memory {
diff --git a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi
index 783b0c388e..f23b151968 100644
--- a/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi
+++ b/target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi
@@ -45,8 +45,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x3f000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts b/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts
index ebc8731bc7..d3187cc383 100644
--- a/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts
+++ b/target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts
@@ -26,8 +26,9 @@
 		bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512 ubi.block=0,fit root=/dev/fit0";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x8000000>;
+		device_type = "memory";
 	};
 
 	leds {
diff --git a/target/linux/mediatek/dts/mt7981a-comfast-cf-e393ax.dts b/target/linux/mediatek/dts/mt7981a-comfast-cf-e393ax.dts
index 8f7598fc7c..1cf13ff6a9 100644
--- a/target/linux/mediatek/dts/mt7981a-comfast-cf-e393ax.dts
+++ b/target/linux/mediatek/dts/mt7981a-comfast-cf-e393ax.dts
@@ -20,8 +20,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>; // 256mb
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-abt-asr3000.dts b/target/linux/mediatek/dts/mt7981b-abt-asr3000.dts
index 2b0d39b2c2..651d6461c7 100644
--- a/target/linux/mediatek/dts/mt7981b-abt-asr3000.dts
+++ b/target/linux/mediatek/dts/mt7981b-abt-asr3000.dts
@@ -25,6 +25,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-asus-rt-ax52.dts b/target/linux/mediatek/dts/mt7981b-asus-rt-ax52.dts
index 34cc8ee131..604d318eae 100644
--- a/target/linux/mediatek/dts/mt7981b-asus-rt-ax52.dts
+++ b/target/linux/mediatek/dts/mt7981b-asus-rt-ax52.dts
@@ -19,8 +19,9 @@
 		bootargs-override = "";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dts b/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dts
index 11ff28b19f..285c721d76 100644
--- a/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dts
+++ b/target/linux/mediatek/dts/mt7981b-cetron-ct3003.dts
@@ -24,8 +24,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-a10.dtsi b/target/linux/mediatek/dts/mt7981b-cmcc-a10.dtsi
index 91644746a6..2029537518 100644
--- a/target/linux/mediatek/dts/mt7981b-cmcc-a10.dtsi
+++ b/target/linux/mediatek/dts/mt7981b-cmcc-a10.dtsi
@@ -24,6 +24,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
index a6803fe7da..36e77eb2c8 100644
--- a/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
+++ b/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m.dts
@@ -27,8 +27,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi b/target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi
index 90d9ea04a1..17b820252f 100644
--- a/target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi
+++ b/target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi
@@ -55,8 +55,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7981b-gatonetworks-gdsp.dts b/target/linux/mediatek/dts/mt7981b-gatonetworks-gdsp.dts
index 2719b17656..fd08f724b5 100644
--- a/target/linux/mediatek/dts/mt7981b-gatonetworks-gdsp.dts
+++ b/target/linux/mediatek/dts/mt7981b-gatonetworks-gdsp.dts
@@ -22,8 +22,9 @@
 		rootdisk = <&firmware>;
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts b/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
index dc62eeefd1..2f141b8c7a 100644
--- a/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
+++ b/target/linux/mediatek/dts/mt7981b-h3c-magic-nx30-pro.dts
@@ -25,8 +25,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-huasifei-wh3000.dts b/target/linux/mediatek/dts/mt7981b-huasifei-wh3000.dts
index 3f58ae42a1..4c1bae087c 100644
--- a/target/linux/mediatek/dts/mt7981b-huasifei-wh3000.dts
+++ b/target/linux/mediatek/dts/mt7981b-huasifei-wh3000.dts
@@ -60,6 +60,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7981b-jcg-q30-pro.dts b/target/linux/mediatek/dts/mt7981b-jcg-q30-pro.dts
index a571d9afde..0045c452a7 100644
--- a/target/linux/mediatek/dts/mt7981b-jcg-q30-pro.dts
+++ b/target/linux/mediatek/dts/mt7981b-jcg-q30-pro.dts
@@ -26,8 +26,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-mercusys-mr80x-v3.dts b/target/linux/mediatek/dts/mt7981b-mercusys-mr80x-v3.dts
index 377c1c71fd..0db7a61f0d 100644
--- a/target/linux/mediatek/dts/mt7981b-mercusys-mr80x-v3.dts
+++ b/target/linux/mediatek/dts/mt7981b-mercusys-mr80x-v3.dts
@@ -22,8 +22,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7981b-nokia-ea0326gmp.dts b/target/linux/mediatek/dts/mt7981b-nokia-ea0326gmp.dts
index 5865d9f1a7..707ec2b4ee 100644
--- a/target/linux/mediatek/dts/mt7981b-nokia-ea0326gmp.dts
+++ b/target/linux/mediatek/dts/mt7981b-nokia-ea0326gmp.dts
@@ -26,6 +26,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-openembed-som7981.dts b/target/linux/mediatek/dts/mt7981b-openembed-som7981.dts
index 61465d9011..4c3f80ed5e 100644
--- a/target/linux/mediatek/dts/mt7981b-openembed-som7981.dts
+++ b/target/linux/mediatek/dts/mt7981b-openembed-som7981.dts
@@ -25,6 +25,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	beeper {
diff --git a/target/linux/mediatek/dts/mt7981b-openwrt-one.dts b/target/linux/mediatek/dts/mt7981b-openwrt-one.dts
index d1a24db38a..18a569daf8 100644
--- a/target/linux/mediatek/dts/mt7981b-openwrt-one.dts
+++ b/target/linux/mediatek/dts/mt7981b-openwrt-one.dts
@@ -22,8 +22,9 @@
 		rootdisk = <&ubi_fit_volume>;
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts b/target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts
index db7fa5e870..67ea2ff4c5 100644
--- a/target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts
+++ b/target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts
@@ -25,8 +25,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-routerich-ax3000-common.dtsi b/target/linux/mediatek/dts/mt7981b-routerich-ax3000-common.dtsi
index 9b41774b88..38fb371d8a 100644
--- a/target/linux/mediatek/dts/mt7981b-routerich-ax3000-common.dtsi
+++ b/target/linux/mediatek/dts/mt7981b-routerich-ax3000-common.dtsi
@@ -108,8 +108,9 @@
 		};
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 };
 
diff --git a/target/linux/mediatek/dts/mt7981b-tplink-fr365v1.dts b/target/linux/mediatek/dts/mt7981b-tplink-fr365v1.dts
index af6fa90d7e..5815f84912 100644
--- a/target/linux/mediatek/dts/mt7981b-tplink-fr365v1.dts
+++ b/target/linux/mediatek/dts/mt7981b-tplink-fr365v1.dts
@@ -23,8 +23,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-common.dtsi b/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-common.dtsi
index ceb238bde2..4ff39064d5 100644
--- a/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-common.dtsi
+++ b/target/linux/mediatek/dts/mt7981b-xiaomi-mi-router-common.dtsi
@@ -19,8 +19,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8102ax.dts b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8102ax.dts
index c0f7fff801..80dd203560 100644
--- a/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8102ax.dts
+++ b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8102ax.dts
@@ -22,8 +22,9 @@
 		bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax.dts b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax.dts
index 67b1eef411..ee066cf538 100644
--- a/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax.dts
+++ b/target/linux/mediatek/dts/mt7981b-zbtlink-zbt-z8103ax.dts
@@ -22,8 +22,9 @@
 		bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dts b/target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dts
index d46497ec33..c80f80e1cf 100644
--- a/target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dts
+++ b/target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dts
@@ -19,8 +19,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory at 0 {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7986a-acer-w6-common.dtsi b/target/linux/mediatek/dts/mt7986a-acer-w6-common.dtsi
index 8b35ce2517..f0df588473 100644
--- a/target/linux/mediatek/dts/mt7986a-acer-w6-common.dtsi
+++ b/target/linux/mediatek/dts/mt7986a-acer-w6-common.dtsi
@@ -12,8 +12,9 @@
 		bootargs = "dm-mod.create=\"acer,,,ro,0 1 zero 1 0 0 0\" rootfstype=squashfs,ext4 rootwait root=/dev/mmcblk0p6 fstools_ignore_partname=1";
 	};
 
-	memory at 0 {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts b/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts
index 7e0c05618f..d213c76793 100644
--- a/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts
+++ b/target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts
@@ -26,8 +26,9 @@
 		bootargs-override = "";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts
index f055118398..712584a3af 100644
--- a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts
+++ b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax4200.dts
@@ -25,8 +25,9 @@
 		bootargs-override = "";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
index 4d5c8410a3..e0faaaa11b 100644
--- a/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
+++ b/target/linux/mediatek/dts/mt7986a-asus-tuf-ax6000.dts
@@ -25,8 +25,9 @@
 		bootargs-override = "";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3-mini.dts b/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3-mini.dts
index f39fd96596..6808db80fe 100644
--- a/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3-mini.dts
+++ b/target/linux/mediatek/dts/mt7986a-bananapi-bpi-r3-mini.dts
@@ -32,8 +32,9 @@
 		rootdisk-spim-nand = <&nand_rootdisk>;
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x80000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts b/target/linux/mediatek/dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts
index 10c53596e5..97a96aadea 100644
--- a/target/linux/mediatek/dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts
+++ b/target/linux/mediatek/dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts
@@ -26,6 +26,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
index 286c24a9f1..a318ad1ae4 100644
--- a/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
+++ b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
@@ -30,6 +30,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-netcore-n60-pro.dts b/target/linux/mediatek/dts/mt7986a-netcore-n60-pro.dts
index 3af7792971..786c5eb312 100644
--- a/target/linux/mediatek/dts/mt7986a-netcore-n60-pro.dts
+++ b/target/linux/mediatek/dts/mt7986a-netcore-n60-pro.dts
@@ -28,6 +28,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-netcore-n60.dts b/target/linux/mediatek/dts/mt7986a-netcore-n60.dts
index 484c93d4a7..6ab0f497c3 100644
--- a/target/linux/mediatek/dts/mt7986a-netcore-n60.dts
+++ b/target/linux/mediatek/dts/mt7986a-netcore-n60.dts
@@ -26,8 +26,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x10000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986a-ruijie-rg-x60-pro.dts b/target/linux/mediatek/dts/mt7986a-ruijie-rg-x60-pro.dts
index 9f40fec043..3628ad00e1 100644
--- a/target/linux/mediatek/dts/mt7986a-ruijie-rg-x60-pro.dts
+++ b/target/linux/mediatek/dts/mt7986a-ruijie-rg-x60-pro.dts
@@ -25,6 +25,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-tplink-archer-ax80-v1.dts b/target/linux/mediatek/dts/mt7986a-tplink-archer-ax80-v1.dts
index 841501c7cf..12f03e1fda 100644
--- a/target/linux/mediatek/dts/mt7986a-tplink-archer-ax80-v1.dts
+++ b/target/linux/mediatek/dts/mt7986a-tplink-archer-ax80-v1.dts
@@ -25,6 +25,7 @@
 
 	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	gpio-keys {
diff --git a/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi b/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi
index 1649b0775d..0056f6f224 100644
--- a/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi
+++ b/target/linux/mediatek/dts/mt7986a-tplink-tl-xdr-common.dtsi
@@ -22,8 +22,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/dts/mt7986a-tplink-tl-xtr8488.dts b/target/linux/mediatek/dts/mt7986a-tplink-tl-xtr8488.dts
index e3d3aa37b2..c2ed7c9a28 100644
--- a/target/linux/mediatek/dts/mt7986a-tplink-tl-xtr8488.dts
+++ b/target/linux/mediatek/dts/mt7986a-tplink-tl-xtr8488.dts
@@ -26,8 +26,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi
index fe3e760914..3375434393 100644
--- a/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi
+++ b/target/linux/mediatek/dts/mt7986a-xiaomi-redmi-router-ax6000.dtsi
@@ -20,8 +20,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi
index b68f386e8b..86c08138ac 100644
--- a/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi
+++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5601-t0-common.dtsi
@@ -23,8 +23,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts b/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts
index 20e9146e2a..c2a0ef2ab0 100644
--- a/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts
+++ b/target/linux/mediatek/dts/mt7986a-zyxel-ex5700-telenor.dts
@@ -27,8 +27,9 @@
 		bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1-common.dtsi b/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1-common.dtsi
index 5522c58af2..964c17e821 100644
--- a/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1-common.dtsi
+++ b/target/linux/mediatek/dts/mt7986b-mercusys-mr90x-v1-common.dtsi
@@ -21,8 +21,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7986b-tplink-re6000xd.dts b/target/linux/mediatek/dts/mt7986b-tplink-re6000xd.dts
index 44a5e21e7c..12e264073d 100644
--- a/target/linux/mediatek/dts/mt7986b-tplink-re6000xd.dts
+++ b/target/linux/mediatek/dts/mt7986b-tplink-re6000xd.dts
@@ -24,8 +24,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	keys {
diff --git a/target/linux/mediatek/dts/mt7988a-smartrg-mt-stuart.dtsi b/target/linux/mediatek/dts/mt7988a-smartrg-mt-stuart.dtsi
index a0a8804726..a8eeebda6c 100644
--- a/target/linux/mediatek/dts/mt7988a-smartrg-mt-stuart.dtsi
+++ b/target/linux/mediatek/dts/mt7988a-smartrg-mt-stuart.dtsi
@@ -27,8 +27,9 @@
 		bootargs = "console=ttyS0,115200n1 pci=pcie_bus_perf root=PARTLABEL=rootfs";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0x0 0x40000000 0x0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reserved-memory {
diff --git a/target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi b/target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi
index 20e7a3839c..1d916d760f 100644
--- a/target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi
+++ b/target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi
@@ -86,8 +86,9 @@
 		led-upgrade = &led_status_blue;
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0x0 0x40000000 0x0 0x40000000>;
+		device_type = "memory";
 	};
 
 	cpus {
diff --git a/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7981-rfb.dts b/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7981-rfb.dts
index 6fca59d3ef..28bcc155df 100644
--- a/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7981-rfb.dts
+++ b/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7981-rfb.dts
@@ -20,8 +20,9 @@
 		bootargs-append = " root=/dev/fit0 rootwait";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
+		device_type = "memory";
 	};
 
 	reg_3p3v: regulator-3p3v {
diff --git a/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi b/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
index 26d560bd4b..0b6df17214 100644
--- a/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
+++ b/target/linux/mediatek/files-6.12/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dtsi
@@ -19,8 +19,9 @@
 		stdout-path = "serial0:115200n8";
 	};
 
-	memory {
+	memory at 40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
+		device_type = "memory";
 	};
 
 	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/patches-6.12/188-arm64-dts-mediatek-add-MT7988A-reference-board-devic.patch b/target/linux/mediatek/patches-6.12/188-arm64-dts-mediatek-add-MT7988A-reference-board-devic.patch
index 23bc2ea203..f968ac15cf 100644
--- a/target/linux/mediatek/patches-6.12/188-arm64-dts-mediatek-add-MT7988A-reference-board-devic.patch
+++ b/target/linux/mediatek/patches-6.12/188-arm64-dts-mediatek-add-MT7988A-reference-board-devic.patch
@@ -811,7 +811,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 +};
 --- /dev/null
 +++ b/arch/arm64/boot/dts/mediatek/mt7988a-rfb.dts
-@@ -0,0 +1,470 @@
+@@ -0,0 +1,471 @@
 +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
 +/*
 + * Copyright (C) 2022 MediaTek Inc.
@@ -836,8 +836,9 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 +			    pci=pcie_bus_perf";
 +	};
 +
-+	memory {
++	memory at 40000000 {
 +		reg = <0 0x40000000 0 0x40000000>;
++		device_type = "memory";
 +	};
 +
 +	reg_1p8v: regulator-1p8v {
diff --git a/target/linux/mediatek/patches-6.12/189-arm64-dts-mediatek-mt7988a-complete-bpi-r4.patch b/target/linux/mediatek/patches-6.12/189-arm64-dts-mediatek-mt7988a-complete-bpi-r4.patch
index a8b7a74134..8eccb6f8f1 100644
--- a/target/linux/mediatek/patches-6.12/189-arm64-dts-mediatek-mt7988a-complete-bpi-r4.patch
+++ b/target/linux/mediatek/patches-6.12/189-arm64-dts-mediatek-mt7988a-complete-bpi-r4.patch
@@ -194,7 +194,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  	};
  
  	fan: pwm-fan {
-@@ -50,6 +54,141 @@
+@@ -50,6 +54,142 @@
  		rate-select0-gpios = <&pio 21 GPIO_ACTIVE_LOW>;
  		maximum-power-milliwatt = <3000>;
  	};
@@ -210,8 +210,9 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
 +		led-upgrade = &led_green;
 +	};
 +
-+	memory {
++	memory at 40000000 {
 +		reg = <0x00 0x40000000 0x00 0x10000000>;
++		device_type = "memory";
 +	};
 +
 +	/* SFP1 cage (WAN) */
@@ -336,7 +337,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  };
  
  &cci {
-@@ -174,6 +313,10 @@
+@@ -174,6 +314,10 @@
  	color = <LED_COLOR_ID_GREEN>;
  };
  
@@ -347,7 +348,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  &i2c0 {
  	pinctrl-names = "default";
  	pinctrl-0 = <&i2c0_pins>;
-@@ -265,6 +408,14 @@
+@@ -265,6 +409,14 @@
  			#size-cells = <0>;
  			reg = <1>;
  		};
@@ -362,7 +363,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  	};
  };
  
-@@ -364,34 +515,6 @@
+@@ -364,34 +516,6 @@
  		};
  	};
  
@@ -397,7 +398,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  	i2p5gbe_led0_pins: 2p5gbe-led0-pins {
  		mux {
  			function = "led";
-@@ -399,13 +522,6 @@
+@@ -399,13 +523,6 @@
  		};
  	};
  
@@ -411,7 +412,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  	mmc0_pins_emmc_45: mmc0-emmc-45-pins {
  		mux {
  			function = "flash";
-@@ -427,40 +543,12 @@
+@@ -427,40 +544,12 @@
  		};
  	};
  
@@ -452,7 +453,7 @@ Subject: [PATCH 32/32] WIP: add BPi-R4
  };
  
  &pwm {
-@@ -500,6 +588,32 @@
+@@ -500,6 +589,32 @@
  			reg = <0x0 0x200000>;
  			read-only;
  		};




More information about the lede-commits mailing list