From 03d223042ef10be4de388a93fde4a06d976b047c Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Sat, 23 May 2026 19:22:23 +0200 Subject: [PATCH 1/8] arm64: dts: rename r4pro-8x lan/wan overlays --- arch/arm64/boot/dts/mediatek/Makefile | 8 ++++---- ...y.dtso => mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso} | 0 ...p.dtso => mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso} | 0 ...y.dtso => mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso} | 0 ...p.dtso => mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename arch/arm64/boot/dts/mediatek/{mt7988a-bananapi-bpi-r4-pro-lan-phy.dtso => mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso} (100%) rename arch/arm64/boot/dts/mediatek/{mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtso => mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso} (100%) rename arch/arm64/boot/dts/mediatek/{mt7988a-bananapi-bpi-r4-pro-wan-phy.dtso => mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso} (100%) rename arch/arm64/boot/dts/mediatek/{mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtso => mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso} (100%) diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile index 8e70afca5927..f001959deba9 100644 --- a/arch/arm64/boot/dts/mediatek/Makefile +++ b/arch/arm64/boot/dts/mediatek/Makefile @@ -87,14 +87,14 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-2g5.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-sfp.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x.dtb +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtbo +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtbo +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtbo +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn13.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn14.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn15.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn18.dtbo -dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-lan-phy.dtbo -dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtbo -dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-wan-phy.dtbo -dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso From 6eb49468344d6d9835f6980719121a5e54e911b0 Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Sat, 23 May 2026 19:24:30 +0200 Subject: [PATCH 2/8] arm64: dts: add nand-overlay for R4 8G which has 256MB --- arch/arm64/boot/dts/mediatek/Makefile | 1 + .../mediatek/mt7988a-bananapi-bpi-r4-nand.dtso | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile index f001959deba9..93ad11c87da8 100644 --- a/arch/arm64/boot/dts/mediatek/Makefile +++ b/arch/arm64/boot/dts/mediatek/Makefile @@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-nopcie2.dtbo +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-nand.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-2g5.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-sfp.dtbo diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso new file mode 100644 index 000000000000..648c59d78cd5 --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (C) 2025 MediaTek Inc. + * Author: Frank Wunderlich + */ + +/* This updates NAND size to 256MB on BPI-R4-8G */ + +/dts-v1/; +/plugin/; + +/ { + compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; +}; + +&{/soc/spi@11007000/flash@0/partitions/partition@200000} { + reg = <0x200000 0xfe00000>; +}; From 6ca2804e882b276c1d5db0965428dc39e4265460 Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Sat, 23 May 2026 19:28:10 +0200 Subject: [PATCH 3/8] its: r4: rename lan/wan overlays with for r4pro 8x --- bpi-r4.its | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/bpi-r4.its b/bpi-r4.its index 602122ec2397..c0ea68f55121 100644 --- a/bpi-r4.its +++ b/bpi-r4.its @@ -148,24 +148,24 @@ data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-emmc.dtbo"); type = "flat_dt"; }; - fdt-ov-pro-lan-phy { + fdt-ov-pro-8x-lan-phy { description = "DT overlay for R4Pro LAN-PHY"; - data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtbo"); + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtbo"); type = "flat_dt"; }; - fdt-ov-pro-lan-sfp { + fdt-ov-pro-8x-lan-sfp { description = "DT overlay for R4Pro LAN-SFP"; - data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtbo"); + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtbo"); type = "flat_dt"; }; - fdt-ov-pro-wan-phy { + fdt-ov-pro-8x-wan-phy { description = "DT overlay for R4Pro WAN-PHY"; - data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtbo"); + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtbo"); type = "flat_dt"; }; - fdt-ov-pro-wan-sfp { + fdt-ov-pro-8x-wan-sfp { description = "DT overlay for R4Pro WAN-SFP"; - data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtbo"); + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtbo"); type = "flat_dt"; }; /* ramdisk-1 { @@ -314,22 +314,22 @@ description = "CN18 FDT overlay blob for R4 Pro"; fdt = "fdt-ov-pro-cn18"; }; - //setenv addconf "#ov-pro-lan-phy#ov-pro-wan-phy" - ov-pro-lan-phy { - description = "LAN-PHY FDT overlay blob for R4 Pro"; - fdt = "fdt-ov-pro-lan-phy"; + //setenv addconf "#ov-pro-8x-lan-phy#ov-pro-8x-wan-phy" + ov-pro-8x-lan-phy { + description = "LAN-PHY FDT overlay blob for R4 Pro 8X"; + fdt = "fdt-ov-pro-8x-lan-phy"; }; - ov-pro-lan-sfp { - description = "LAN-SFP FDT overlay blob for R4 Pro"; - fdt = "fdt-ov-pro-lan-sfp"; + ov-pro-8x-lan-sfp { + description = "LAN-SFP FDT overlay blob for R4 Pro 8X"; + fdt = "fdt-ov-pro-8x-lan-sfp"; }; - ov-pro-wan-phy { - description = "WAN-PHY FDT overlay blob for R4 Pro"; - fdt = "fdt-ov-pro-wan-phy"; + ov-pro-8x-wan-phy { + description = "WAN-PHY FDT overlay blob for R4 Pro 8X"; + fdt = "fdt-ov-pro-8x-wan-phy"; }; - ov-pro-wan-sfp { - description = "WAN-SFP FDT overlay blob for R4 Pro"; - fdt = "fdt-ov-pro-wan-sfp"; + ov-pro-8x-wan-sfp { + description = "WAN-SFP FDT overlay blob for R4 Pro 8X"; + fdt = "fdt-ov-pro-8x-wan-sfp"; }; }; }; From 474e6064edf82e61c71d4662d44ba4c139b49054 Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Sat, 23 May 2026 19:32:40 +0200 Subject: [PATCH 4/8] its: r4: add wan-overlays for R4Pro 4e --- bpi-r4.its | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bpi-r4.its b/bpi-r4.its index c0ea68f55121..fc0144722b12 100644 --- a/bpi-r4.its +++ b/bpi-r4.its @@ -148,6 +148,18 @@ data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-emmc.dtbo"); type = "flat_dt"; }; + + fdt-ov-pro-4e-wan-phy { + description = "DT overlay for R4Pro 4E WAN-PHY"; + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e-wan-2g5.dtbo"); + type = "flat_dt"; + }; + fdt-ov-pro-4e-wan-sfp { + description = "DT overlay for R4Pro 4E WAN-SFP"; + data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e-wan-sfp.dtbo"); + type = "flat_dt"; + }; + fdt-ov-pro-8x-lan-phy { description = "DT overlay for R4Pro LAN-PHY"; data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtbo"); @@ -314,6 +326,14 @@ description = "CN18 FDT overlay blob for R4 Pro"; fdt = "fdt-ov-pro-cn18"; }; + ov-pro-4e-wan-phy { + description = "WAN-PHY FDT overlay blob for R4 Pro 4E"; + fdt = "fdt-ov-pro-4e-wan-phy"; + }; + ov-pro-4e-wan-sfp { + description = "WAN-SFP FDT overlay blob for R4 Pro 4E"; + fdt = "fdt-ov-pro-4e-wan-sfp"; + }; //setenv addconf "#ov-pro-8x-lan-phy#ov-pro-8x-wan-phy" ov-pro-8x-lan-phy { description = "LAN-PHY FDT overlay blob for R4 Pro 8X"; From 7221c58b068c3065b27c246c1e2db3a7e7be0f40 Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Mon, 25 May 2026 12:37:34 +0200 Subject: [PATCH 5/8] arm64: dts: some fixes for 4e dts (ws/order) --- .../mt7988a-bananapi-bpi-r4-pro-4e.dts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts index a9fdf9d07cf4..9472fa1cc481 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts @@ -15,6 +15,15 @@ "mediatek,mt7988a"; }; +&gsw_phy2 { + status = "okay"; +}; + +&gsw_port2 { + label = "lan5"; + status = "okay"; +}; + &switch16 { ports { port6: port@6 { @@ -29,12 +38,3 @@ }; }; }; - -&gsw_phy2 { - status = "okay"; -}; - -&gsw_port2 { - status = "okay"; - label = "lan5"; -}; From 24700476ff5cd530d207148d6cb86fcef9c17e82 Mon Sep 17 00:00:00 2001 From: Frank Wunderlich Date: Wed, 27 May 2026 10:31:58 +0200 Subject: [PATCH 6/8] build.sh: fix dtbs_check install --- build.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/build.sh b/build.sh index 1dcbc3708f3d..78a256d4a383 100755 --- a/build.sh +++ b/build.sh @@ -1139,12 +1139,10 @@ if [ -n "$kernver" ]; then ;; "dtbs_check") - export ARCH=arm64 - export CROSS_COMPILE='aarch64-linux-gnu-' - if [[ "$2" == "disable_unrelated" ]];then - sed -i.bak '/mediatek\|rockchip/! s/^/#/' arch/arm64/boot/dts/Makefile - sed -i.bak '/bpi/! s/^/#/' arch/arm64/boot/dts/{mediatek,rockchip}/Makefile - fi + unset ARCH + unset CROSS_COMPILE + unset CC + unset HOSTCC if [[ ! -e .venv ]];then python3 -m venv .venv fi @@ -1152,6 +1150,14 @@ if [ -n "$kernver" ]; then if [[ $? -ne 0 ]];then exit 1;fi pip3 install dtschema --upgrade pip3 show dtschema + if [[ $? -ne 0 ]];then exit 1;fi + + if [[ "$2" == "disable_unrelated" ]];then + sed -i.bak '/mediatek\|rockchip/! s/^/#/' arch/arm64/boot/dts/Makefile + sed -i.bak '/bpi/! s/^/#/' arch/arm64/boot/dts/{mediatek,rockchip}/Makefile + fi + export ARCH=arm64 + export CROSS_COMPILE='aarch64-linux-gnu-' make dt_binding_check 2>&1 | tee dtbs_check.log make defconfig make dtbs_check 2>&1 | tee -a dtbs_check.log From 1b64b4ddcb3fedbe69925330fc4ea62637f5d5ca Mon Sep 17 00:00:00 2001 From: Wilfried Teiken Date: Wed, 27 May 2026 12:41:40 -0400 Subject: [PATCH 7/8] Change the base file/overlay structure around the pcie-hogs for BPI R4 Pro. This avoids the kernel crashing if no overlay is specified. The default behavior of the R4 Pro is to use cn13/cn14 if no explicit overlay is specified. --- .../mt7988a-bananapi-bpi-r4-pro-cn13.dtso | 9 ++++++-- .../mt7988a-bananapi-bpi-r4-pro-cn14.dtso | 8 +++++-- .../mt7988a-bananapi-bpi-r4-pro-cn15.dtso | 8 +++++-- .../mt7988a-bananapi-bpi-r4-pro-cn18.dtso | 8 +++++-- .../mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi | 22 +++++++++---------- 5 files changed, 36 insertions(+), 19 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso index 973b76ba0cbf..ee4409191806 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso @@ -15,6 +15,11 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&{/soc/pinctrl@1001f000/pcie-2-hog} { - output-high; +&pio { + /* 1L0 0=key-b (CN15), 1=key-m (CN13) */ + pcie-2-hog { + gpio-hog; + gpios = <79 GPIO_ACTIVE_HIGH>; + output-high; + }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso index 90b2a64459c3..c32acc99155c 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso @@ -15,6 +15,10 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&{/soc/pinctrl@1001f000/pcie-3-hog} { - output-high; +&pio { + pcie-3-hog { + gpio-hog; + gpios = <63 GPIO_ACTIVE_HIGH>; + output-high; + }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso index 9750916042de..ed37d66cedef 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso @@ -15,6 +15,10 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&{/soc/pinctrl@1001f000/pcie-2-hog} { - output-low; +&pio { + pcie-2-hog { + gpio-hog; + gpios = <79 GPIO_ACTIVE_HIGH>; + output-low; + }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso index 9830fb0fd97a..a59e901925fd 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso @@ -15,6 +15,10 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&{/soc/pinctrl@1001f000/pcie-3-hog} { - output-low; +&pio { + pcie-3-hog { + gpio-hog; + gpios = <63 GPIO_ACTIVE_HIGH>; + output-low; + }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi index b8e458599e38..b586a16cd3f6 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi @@ -562,17 +562,17 @@ }; }; - /* 1L0 0=key-b (CN15), 1=key-m (CN13) */ - pcie-2-hog { - gpio-hog; - gpios = <79 GPIO_ACTIVE_HIGH>; - }; - - /* 1L1 0=key-b (CN18), 1=key-m (CN14) */ - pcie-3-hog { - gpio-hog; - gpios = <63 GPIO_ACTIVE_HIGH>; - }; + /* pcie-2-hog (1L0 0=key-b (CN15), 1=key-m (CN13)) + * Add one overlay to set (CN13 is enabled by default): + * - mt7988a-bananapi-bpi-r4-pro-cn13 + * - mt7988a-bananapi-bpi-r4-pro-cn15 + */ + + /* pcie-3-hog (1L1 0=key-b (CN18), 1=key-m (CN14)) + * Add one overlay to set (CN14 is enabled by default): + * - mt7988a-bananapi-bpi-r4-pro-cn14 + * - mt7988a-bananapi-bpi-r4-pro-cn18 + */ pwm0_pins: pwm0-pins { mux { From cd326730303c0f0d2ebc87a8c7ffb38b99efacc8 Mon Sep 17 00:00:00 2001 From: Wilfried Teiken Date: Wed, 27 May 2026 17:55:18 -0400 Subject: [PATCH 8/8] Use an intermediate version of the change that has less duplication. --- .../dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso | 10 +++------- .../dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso | 9 +++------ .../dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso | 9 +++------ .../dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso | 9 +++------ .../boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi | 10 ++++++++-- 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso index ee4409191806..68978445b592 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn13.dtso @@ -15,11 +15,7 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&pio { - /* 1L0 0=key-b (CN15), 1=key-m (CN13) */ - pcie-2-hog { - gpio-hog; - gpios = <79 GPIO_ACTIVE_HIGH>; - output-high; - }; +&pcie_2_hog { + gpio-hog; + output-high; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso index c32acc99155c..38c589b2c780 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn14.dtso @@ -15,10 +15,7 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&pio { - pcie-3-hog { - gpio-hog; - gpios = <63 GPIO_ACTIVE_HIGH>; - output-high; - }; +&pcie_3_hog { + gpio-hog; + output-high; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso index ed37d66cedef..7797919df716 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn15.dtso @@ -15,10 +15,7 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&pio { - pcie-2-hog { - gpio-hog; - gpios = <79 GPIO_ACTIVE_HIGH>; - output-low; - }; +&pcie_2_hog { + gpio-hog; + output-low; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso index a59e901925fd..65cfa9b2f1e8 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-cn18.dtso @@ -15,10 +15,7 @@ compatible = "bananapi,bpi-r4-pro", "mediatek,mt7988a"; }; -&pio { - pcie-3-hog { - gpio-hog; - gpios = <63 GPIO_ACTIVE_HIGH>; - output-low; - }; +&pcie_3_hog { + gpio-hog; + output-low; }; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi index b586a16cd3f6..0f3ddcc2ebbb 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro.dtsi @@ -563,16 +563,22 @@ }; /* pcie-2-hog (1L0 0=key-b (CN15), 1=key-m (CN13)) - * Add one overlay to set (CN13 is enabled by default): + * Add one overlay to configure the CN to connect (CN13 is default): * - mt7988a-bananapi-bpi-r4-pro-cn13 * - mt7988a-bananapi-bpi-r4-pro-cn15 */ + pcie_2_hog: pcie-2-hog { + gpios = <79 GPIO_ACTIVE_HIGH>; + }; /* pcie-3-hog (1L1 0=key-b (CN18), 1=key-m (CN14)) - * Add one overlay to set (CN14 is enabled by default): + * Add one overlay to configure the CN to connect (CN14 is default): * - mt7988a-bananapi-bpi-r4-pro-cn14 * - mt7988a-bananapi-bpi-r4-pro-cn18 */ + pcie_3_hog: pcie-3-hog { + gpios = <63 GPIO_ACTIVE_HIGH>; + }; pwm0_pins: pwm0-pins { mux {