[PATCH v2 1/2] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus
From: Luo Jie
Date: Fri Aug 14 2026 - 10:29:58 EST
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 <jie.luo@xxxxxxxxxxxxxxxx>
---
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