From 6bc9ebc31d4a5a9da81374484518dad2058f68e3 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Sat, 31 May 2025 23:56:40 +0800 Subject: [PATCH] ipq806x: dts: fix 6.12 kernel pinmux conflicts Some pinmux nodes in the qcom-ipq8064.dtsi have been changed[1]. Adjust our local devices dts to solve the conflicts. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=de52c020e1a9c3313d88405a4545020b1f5ab24d Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/18989 Signed-off-by: Christian Marangi --- .../boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts | 17 ++++--- .../dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi | 7 ++- .../arm/boot/dts/qcom/qcom-ipq8064-ap161.dts | 14 +++--- .../boot/dts/qcom/qcom-ipq8064-fap-421e.dts | 26 +++++++++-- .../arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi | 7 ++- .../dts/qcom/qcom-ipq8064-unifi-ac-hd.dts | 7 ++- .../boot/dts/qcom/qcom-ipq8064-vr2600v.dts | 7 ++- .../boot/dts/qcom/qcom-ipq8064-wg2600hp.dts | 7 ++- .../arm/boot/dts/qcom/qcom-ipq8064-wpq864.dts | 7 ++- .../dts/qcom/qcom-ipq8064-wxr-2533dhp.dts | 7 ++- .../arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts | 7 ++- .../boot/dts/qcom/qcom-ipq8065-nbg6817.dts | 45 +++++++++++++++++-- .../boot/dts/qcom/qcom-ipq8065-nighthawk.dtsi | 38 ++++++++++++++-- .../dts/qcom/qcom-ipq8065-rt4230w-rev6.dts | 21 ++++++++- .../boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts | 31 ++++++++++++- .../arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts | 7 ++- .../boot/dts/qcom/qcom-ipq8068-ecw5410.dts | 7 ++- .../dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts | 7 ++- 18 files changed, 231 insertions(+), 38 deletions(-) diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts index 76751910e0..fbf5cd6712 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts @@ -25,7 +25,7 @@ keys { compatible = "gpio-keys"; - pinctrl-0 = <&buttons_pins>; + pinctrl-0 = <&button_pins>; pinctrl-names = "default"; reset { @@ -66,7 +66,7 @@ leds { compatible = "gpio-leds"; - pinctrl-0 = <&leds_pins>; + pinctrl-0 = <&led_pins>; pinctrl-names = "default"; led_power_green: power_green { @@ -135,7 +135,7 @@ }; }; -/* nand_pins are used for leds_pins, empty the node +/* nand_pins are used for led_pins, empty the node * from ipq8064.dtsi */ &nand_pins { @@ -148,7 +148,12 @@ pinctrl-0 = <&akro_pins>; pinctrl-names = "default"; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; @@ -171,7 +176,7 @@ }; }; - buttons_pins: buttons_pins { + button_pins: button_pins { mux { pins = "gpio22", "gpio24", "gpio40", "gpio41"; @@ -181,7 +186,7 @@ }; }; - leds_pins: leds_pins { + led_pins: led_pins { mux { pins = "gpio14", "gpio15", "gpio35", "gpio36", "gpio38", "gpio42", diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi index d8e018367e..4a28bfc578 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi @@ -28,7 +28,12 @@ }; &qcom_pinmux { - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ap161.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ap161.dts index 9d0b451f43..19995a5e7a 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ap161.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ap161.dts @@ -25,14 +25,12 @@ }; &qcom_pinmux { - rgmii2_pins: rgmii2-pins { - mux { - pins = "gpio27", "gpio28", "gpio29", - "gpio30", "gpio31", "gpio32", - "gpio51", "gpio52", "gpio59", - "gpio60", "gpio61", "gpio62", - "gpio2", "gpio66"; - }; + rgmii2_pins: rgmii2-state { + pins = "gpio27", "gpio28", "gpio29", + "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", + "gpio60", "gpio61", "gpio62", + "gpio2", "gpio66"; }; }; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts index 813eb050b4..202731e9f0 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts @@ -116,8 +116,23 @@ }; }; - rgmii2_pins: rgmii2-pins { - mux { + rgmii2_pins: rgmii2-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux-1 { + pins = "gpio27", "gpio28", "gpio29", + "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", + "gpio60", "gpio61", "gpio62"; + function = "rgmii2"; + drive-strength = <8>; + bias-disable; + }; + + mux-2 { bias-disable; drive-strength = <16>; function = "rgmii2"; @@ -125,7 +140,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi index 2010c4f7b8..08f5a4487c 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi @@ -271,7 +271,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts index a1717a999b..f750d32e75 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts @@ -71,7 +71,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts index 3df650eba4..5a4ce00f5f 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts @@ -144,7 +144,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts index b97b4325f2..3c99472a09 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts @@ -516,7 +516,12 @@ switch@10 { }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wpq864.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wpq864.dts index 0fb7e0531d..d0ff076a40 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wpq864.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wpq864.dts @@ -528,7 +528,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts index b3561cafe7..ad9201d018 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts @@ -586,7 +586,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts index 7151f8de52..6c7dc0936a 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts @@ -102,7 +102,12 @@ }; &qcom_pinmux { - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts index 9a9251e9b9..310ad98b57 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts @@ -110,21 +110,60 @@ }; }; - mdio0_pins: mdio0-pins { + mdio0_pins: mdio0-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio0", "gpio1"; + function = "mdio"; + drive-strength = <8>; + bias-disable; + }; + clk { pins = "gpio1"; input-disable; }; }; - rgmii2_pins: rgmii2-pins { + rgmii2_pins: rgmii2-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio27", "gpio28", "gpio29", + "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", + "gpio60", "gpio61", "gpio62"; + function = "rgmii2"; + drive-strength = <8>; + bias-disable; + }; + tx { pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32" ; input-disable; }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio18", "gpio19", "gpio21"; + function = "gsbi5"; + drive-strength = <10>; + bias-disable; + }; + cs { pins = "gpio20"; drive-strength = <12>; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nighthawk.dtsi b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nighthawk.dtsi index a2d916faaf..589c04af2b 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nighthawk.dtsi +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nighthawk.dtsi @@ -130,14 +130,41 @@ }; }; - mdio0_pins: mdio0-pins { + mdio0_pins: mdio0-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio0", "gpio1"; + function = "mdio"; + drive-strength = <8>; + bias-disable; + }; + clk { pins = "gpio1"; input-disable; }; }; - rgmii2_pins: rgmii2-pins { + rgmii2_pins: rgmii2-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio27", "gpio28", "gpio29", + "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", + "gpio60", "gpio61", "gpio62"; + function = "rgmii2"; + drive-strength = <8>; + bias-disable; + }; + tx { pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32"; @@ -145,7 +172,12 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19", "gpio21"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts index cd63f92db6..22624ce59c 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts @@ -84,7 +84,12 @@ }; }; - rgmii2_pins: rgmii2-pins { + rgmii2_pins: rgmii2-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62"; @@ -99,7 +104,19 @@ }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio18", "gpio19", "gpio21"; + function = "gsbi5"; + drive-strength = <10>; + bias-disable; + }; + cs { pins = "gpio20"; drive-strength = <12>; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts index 176ae29337..95133b4709 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts @@ -84,14 +84,41 @@ }; }; - rgmii2_pins: rgmii2-pins { + rgmii2_pins: rgmii2-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio27", "gpio28", "gpio29", + "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", + "gpio60", "gpio61", "gpio62"; + function = "rgmii2"; + drive-strength = <8>; + bias-disable; + }; + tx { pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32"; input-disable; }; }; - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + + mux { + pins = "gpio18", "gpio19", "gpio21"; + function = "gsbi5"; + drive-strength = <10>; + bias-disable; + }; + cs { pins = "gpio20"; drive-strength = <12>; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts index f26d026be8..4a6fbf4f3f 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts @@ -99,7 +99,12 @@ &qcom_pinmux { - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts index 9f6c5fb696..b809a2fd1a 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts @@ -103,7 +103,12 @@ &qcom_pinmux { - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19"; function = "gsbi5"; diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts index 5174927a0f..f3fa42be3a 100644 --- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts +++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts @@ -95,7 +95,12 @@ }; &qcom_pinmux { - spi_pins: spi_pins { + spi_pins: spi-state { + /delete-property/ pins; + /delete-property/ function; + /delete-property/ drive-strength; + /delete-property/ bias-disable; + mux { pins = "gpio18", "gpio19"; function = "gsbi5"; -- 2.30.2