* [PATCH v3 1/3] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus
2026-09-02 10:22 [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Luo Jie
@ 2026-09-02 10:22 ` Luo Jie
2026-09-02 10:22 ` [PATCH v3 2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY Luo Jie
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Luo Jie @ 2026-09-02 10:22 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Luo Jie, Konrad Dybcio
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.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com>
---
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
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v3 2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY
2026-09-02 10:22 [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Luo Jie
2026-09-02 10:22 ` [PATCH v3 1/3] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus Luo Jie
@ 2026-09-02 10:22 ` Luo Jie
2026-09-02 10:42 ` Konrad Dybcio
2026-09-02 10:22 ` [PATCH v3 3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2 Luo Jie
2026-09-18 1:49 ` [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Bjorn Andersson
3 siblings, 1 reply; 7+ messages in thread
From: Luo Jie @ 2026-09-02 10:22 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Luo Jie
mdio0 is the internal MDIO bus used to access the SoC-integrated
EPHY (ge_phy), which is present on every IPQ5018 RDP board. Enable
mdio0 with a 6.25MHz MDIO clock in the SoC dtsi so all boards can
reach the EPHY, instead of enabling it per board.
Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index cb3e1202b582..fe1ed240de59 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -222,8 +222,7 @@ mdio0: mdio@88000 {
clocks = <&gcc GCC_MDIO0_AHB_CLK>;
clock-names = "gcc_mdio_ahb_clk";
-
- status = "disabled";
+ clock-frequency = <6250000>;
ge_phy: ethernet-phy@7 {
compatible = "ethernet-phy-id004d.d0c0";
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH v3 2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY
2026-09-02 10:22 ` [PATCH v3 2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY Luo Jie
@ 2026-09-02 10:42 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-09-02 10:42 UTC (permalink / raw)
To: Luo Jie, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/2/26 12:22 PM, Luo Jie wrote:
> mdio0 is the internal MDIO bus used to access the SoC-integrated
> EPHY (ge_phy), which is present on every IPQ5018 RDP board. Enable
> mdio0 with a 6.25MHz MDIO clock in the SoC dtsi so all boards can
> reach the EPHY, instead of enabling it per board.
>
> Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2
2026-09-02 10:22 [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Luo Jie
2026-09-02 10:22 ` [PATCH v3 1/3] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus Luo Jie
2026-09-02 10:22 ` [PATCH v3 2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY Luo Jie
@ 2026-09-02 10:22 ` Luo Jie
2026-09-02 10:42 ` Konrad Dybcio
2026-09-18 1:49 ` [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Bjorn Andersson
3 siblings, 1 reply; 7+ messages in thread
From: Luo Jie @ 2026-09-02 10:22 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Luo Jie
The RDP432-c2 board uses an external QCA8081 PHY on mdio1 for one
of its Ethernet connections, but mdio1 is left disabled at the
board level. Enable mdio1 with a 6.25MHz MDIO clock and describe
the QCA8081 PHY at address 0x1c.
Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
index 33eef92b19b1..34d4a0886356 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
+++ b/arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts
@@ -30,6 +30,16 @@ &blsp1_uart1 {
status = "okay";
};
+&mdio1 {
+ clock-frequency = <6250000>;
+
+ status = "okay";
+
+ ethernet-phy@1c {
+ reg = <0x1c>;
+ };
+};
+
&pcie0 {
pinctrl-0 = <&pcie0_default>;
pinctrl-names = "default";
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH v3 3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2
2026-09-02 10:22 ` [PATCH v3 3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2 Luo Jie
@ 2026-09-02 10:42 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-09-02 10:42 UTC (permalink / raw)
To: Luo Jie, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/2/26 12:22 PM, Luo Jie wrote:
> The RDP432-c2 board uses an external QCA8081 PHY on mdio1 for one
> of its Ethernet connections, but mdio1 is left disabled at the
> board level. Enable mdio1 with a 6.25MHz MDIO clock and describe
> the QCA8081 PHY at address 0x1c.
>
> Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2
2026-09-02 10:22 [PATCH v3 0/3] arm64: dts: qcom: ipq5018: Add MDIO pinctrl and enable MDIO/PHY on RDP432-c2 Luo Jie
` (2 preceding siblings ...)
2026-09-02 10:22 ` [PATCH v3 3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2 Luo Jie
@ 2026-09-18 1:49 ` Bjorn Andersson
3 siblings, 0 replies; 7+ messages in thread
From: Bjorn Andersson @ 2026-09-18 1:49 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luo Jie
Cc: linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio
On Wed, 02 Sep 2026 03:22:47 -0700, Luo Jie wrote:
> This is v2 of the series enabling the two MDIO buses on the IPQ5018
> platform. v1 (this series' patch 1) added TLMM pinctrl for the
> external MDIO bus (mdio1) and is still under review upstream; it is
> carried into this v2 with a clarified commit message noting that the
> MDIO pin configuration is identical across all IPQ5018 RDP boards.
>
> v2 adds a second patch that actually makes use of the MDIO buses on
> the RDP432-c2 board: it enables mdio0, used by the SoC-integrated
> EPHY, and mdio1, used by an external QCA8081 PHY, and describes the
> QCA8081 PHY node on mdio1.
>
> [...]
Applied, thanks!
[1/3] arm64: dts: qcom: ipq5018: Add pinctrl for MDIO bus
commit: 2cfae284310731888f4899a01d147baf08a58ffd
[2/3] arm64: dts: qcom: ipq5018: Enable mdio0 for SoC-integrated EPHY
commit: af0ce879f4149002117a4a2fe0bfda217ed1a6a6
[3/3] arm64: dts: qcom: ipq5018: Enable mdio1 and add QCA8081 PHY on rdp432-c2
commit: 5f3324c8ffa5d5fd35f1075b4d02d845f1b4afa9
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread