[openwrt/openwrt] realtek: Add virtual MDIO bus on rtl838x
LEDE Commits
lede-commits at lists.infradead.org
Sat Jan 25 06:08:25 PST 2025
svanheule pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/d4bf16a9e1618347709b0dccae71c273e6291a61
commit d4bf16a9e1618347709b0dccae71c273e6291a61
Author: Sander Vanheule <sander at svanheule.net>
AuthorDate: Tue Jan 21 19:40:11 2025 +0100
realtek: Add virtual MDIO bus on rtl838x
Some RTL8380M-based devices have been around for a long time and use an
early A revision of the RTL8380M SoC. This revision has an issue with
the auxiliary MDIO controller, causing it to malfunction. This may lead
to device reboots when the controller is used.
Provide a bit-banged MDIO bus, which muxes the auxiliary MDIO pins to
their GPIO function. Although this will result in lower performance,
there should otherwise be no functional differences.
Link: https://github.com/openwrt/openwrt/issues/9534
Signed-off-by: Sander Vanheule <sander at svanheule.net>
---
target/linux/realtek/dts/rtl838x.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/target/linux/realtek/dts/rtl838x.dtsi b/target/linux/realtek/dts/rtl838x.dtsi
index ab034fc1bc..18da4c9380 100644
--- a/target/linux/realtek/dts/rtl838x.dtsi
+++ b/target/linux/realtek/dts/rtl838x.dtsi
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/clock/rtl83xx-clk.h>
+#include <dt-bindings/gpio/gpio.h>
/dts-v1/;
@@ -120,6 +121,7 @@
aliases {
serial0 = &uart0;
serial1 = &uart1;
+ mdio-gpio1 = &mdio_gpio;
};
chosen {
@@ -134,6 +136,22 @@
interrupt-controller;
};
+ /*
+ * Provided for devices with RTL838xM SoC with revision A silicon.
+ * Newer SoCs can use the &mdio_aux bus instead.
+ */
+ mdio_gpio: mdio {
+ compatible = "virtual,mdio-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>,
+ <&gpio0 3 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mdio_aux_gpio>;
+
+ status = "disabled";
+ };
+
soc: soc {
compatible = "simple-bus";
#address-cells = <1>;
More information about the lede-commits
mailing list