[PATCH v2 1/2] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus
Luo Jie <[email protected]>
| Newsgroups | org.kernel.vger.linux-devicetree,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260814-qcom_ipq5018_mdio_pinctrl-v2-1-ff90d6605d61@oss.qualcomm.com> |
The external MDIO bus (mdio1) needs its MDC/MDIO lines configured via TLMM pinctrl; without this the pins are left in their default state and the bus does not function on boards that enable it. The MDIO pin configuration is identical across all IPQ5018 RDP boards, so add it to the shared SoC dtsi. Add a mdio_pins pinctrl state for gpio36 (mdc) and gpio37 (mdio) with 8mA drive strength and pull-up, and reference it from the mdio1 node via pinctrl-0/pinctrl-names. Signed-off-by: Luo Jie <[email protected]> --- arch/arm64/boot/dts/qcom/ipq5018.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi index 4fc627b47fe7..cb3e1202b582 100644 --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi @@ -241,6 +241,8 @@ mdio1: mdio@90000 { reg = <0x00090000 0x64>; #address-cells = <1>; #size-cells = <0>; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; clocks = <&gcc GCC_MDIO1_AHB_CLK>; clock-names = "gcc_mdio_ahb_clk"; @@ -421,6 +423,22 @@ tlmm: pinctrl@1000000 { interrupt-controller; #interrupt-cells = <2>; + mdio_pins: mdio-state { + mdc-pins { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio-pins { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + uart1_pins: uart1-state { pins = "gpio31", "gpio32", "gpio33", "gpio34"; function = "blsp1_uart1"; -- 2.43.0