[openwrt/openwrt] realtek: adapt devices to backported i2c driver
LEDE Commits
lede-commits at lists.infradead.org
Wed Aug 13 05:23:41 PDT 2025
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/dc54af86397f6e6ca397d7adfc655eb85c5fcf55
commit dc54af86397f6e6ca397d7adfc655eb85c5fcf55
Author: Jonas Jelonek <jelonek.jonas at gmail.com>
AuthorDate: Tue Jun 24 19:02:33 2025 +0000
realtek: adapt devices to backported i2c driver
Adapt the device tree definitions of rtl93xx devices and the base dtsi
for rtl930x and rtl931x to match with what's expected by the recently
backported RTL9300 I2C driver.
Signed-off-by: Jonas Jelonek <jelonek.jonas at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19736
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
.../linux/realtek/dts/rtl9302_zyxel_xgs1210-12.dts | 54 ++++--------
.../linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts | 20 ++---
.../realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts | 95 +++++++---------------
.../realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts | 95 +++++++---------------
.../realtek/dts/rtl9303_xikestor_sks8300-8x.dts | 95 +++++++---------------
target/linux/realtek/dts/rtl930x.dtsi | 18 ++++
target/linux/realtek/dts/rtl931x.dtsi | 20 +++++
7 files changed, 153 insertions(+), 244 deletions(-)
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12.dts b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12.dts
index 65954e3587..e1f4753f23 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12.dts
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12.dts
@@ -29,42 +29,6 @@
};
};
- /* i2c of the SFP cage: port 11 & port 12 */
- i2c0: i2c-rtl9300 at 1b00036c {
- compatible = "realtek,rtl9300-i2c";
- reg = <0x1b00036c 0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
- sda-pin = <9>;
- scl-pin = <8>;
- clock-frequency = <100000>;
- };
-
- i2cmux {
- compatible = "realtek,rtl9302-i2c-mux", "realtek,i2c-mux-rtl9300";
- #address-cells = <1>;
- #size-cells = <0>;
- i2c-parent = <&i2c0>;
-
- /* i2c of the left SFP+ cage as seen from the front: port 11 */
- i2c0_0: i2c at 0 {
- reg = <0>;
- #address-cells = <1>;
- #size-cells = <0>;
- sda-pin = <9>;
- scl-pin = <8>;
- };
-
- /* i2c of the right SFP+ cage as seen from the front: port 12 */
- i2c0_1: i2c at 1 {
- reg = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- sda-pin = <10>;
- scl-pin = <8>;
- };
- };
-
leds {
compatible = "gpio-leds";
@@ -81,7 +45,7 @@
sfp0: sfp-p11 {
compatible = "sff,sfp";
- i2c-bus = <&i2c0_0>;
+ i2c-bus = <&i2c0>;
los-gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>;
tx-fault-gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
mod-def0-gpio = <&gpio0 12 GPIO_ACTIVE_LOW>;
@@ -90,7 +54,7 @@
sfp1: sfp-p12 {
compatible = "sff,sfp";
- i2c-bus = <&i2c0_1>;
+ i2c-bus = <&i2c1>;
los-gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>;
tx-fault-gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>;
mod-def0-gpio = <&gpio0 16 GPIO_ACTIVE_LOW>;
@@ -122,6 +86,20 @@
};
};
+&i2c_mst1 {
+ status = "okay";
+
+ /* i2c of the left SFP+ cage seen from the front; port 11 */
+ i2c0: i2c at 0 {
+ reg = <0>;
+ };
+
+ /* i2c of the right SFP+ cage seen from the front; port 12 */
+ i2c1: i2c at 1 {
+ reg = <1>;
+ };
+};
+
&spi0 {
status = "okay";
flash at 0 {
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
index a2486f134e..38066ff2a2 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
@@ -29,17 +29,6 @@
};
};
- /* i2c of the SFP cage: port 12 */
- i2c0: i2c-rtl9300 at 1b00036c {
- compatible = "realtek,rtl9300-i2c";
- reg = <0x1b00036c 0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
- sda-pin = <10>;
- scl-pin = <8>;
- clock-frequency = <100000>;
- };
-
leds {
compatible = "gpio-leds";
@@ -174,6 +163,15 @@
};
};
+&i2c_mst1 {
+ status = "okay";
+
+ /* i2c of the SFP+ cage; port 12 */
+ i2c0: i2c at 1 {
+ reg = <1>;
+ };
+};
+
&spi0 {
status = "okay";
flash at 0 {
diff --git a/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts b/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts
index 75633e53f9..49d7b348d5 100644
--- a/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts
+++ b/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f_v2.dts
@@ -71,71 +71,6 @@
};
};
- i2c_main: i2c at 1b00036c {
- compatible = "realtek,rtl9300-i2c";
- reg = <0x1b00036c 0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- clock-frequency = <100000>;
- };
-
- i2c-mux {
- compatible = "realtek,i2c-mux-rtl9300";
- i2c-parent = <&i2c_main>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- i2c0: i2c at 0 {
- reg = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- };
-
- i2c1: i2c at 1 {
- reg = <1>;
- scl-pin = <8>;
- sda-pin = <10>;
- };
-
- i2c2: i2c at 2 {
- reg = <2>;
- scl-pin = <8>;
- sda-pin = <11>;
- };
-
- i2c3: i2c at 3 {
- reg = <3>;
- scl-pin = <8>;
- sda-pin = <12>;
- };
-
- i2c4: i2c at 4 {
- reg = <4>;
- scl-pin = <8>;
- sda-pin = <13>;
- };
-
- i2c5: i2c at 5 {
- reg = <5>;
- scl-pin = <8>;
- sda-pin = <14>;
- };
-
- i2c6: i2c at 6 {
- reg = <6>;
- scl-pin = <8>;
- sda-pin = <15>;
- };
-
- i2c7: i2c at 7 {
- reg = <7>;
- scl-pin = <8>;
- sda-pin = <16>;
- };
- };
-
sfp0: sfp-p1 {
compatible = "sff,sfp";
i2c-bus = <&i2c0>;
@@ -217,6 +152,36 @@
};
};
+&i2c_mst1 {
+ status = "okay";
+
+ /* SDA0-7 correspond to GPIO9-16 */
+ i2c0: i2c at 0 {
+ reg = <0>;
+ };
+ i2c1: i2c at 1 {
+ reg = <1>;
+ };
+ i2c2: i2c at 2 {
+ reg = <2>;
+ };
+ i2c3: i2c at 3 {
+ reg = <3>;
+ };
+ i2c4: i2c at 4 {
+ reg = <4>;
+ };
+ i2c5: i2c at 5 {
+ reg = <5>;
+ };
+ i2c6: i2c at 6 {
+ reg = <6>;
+ };
+ i2c7: i2c at 7 {
+ reg = <7>;
+ };
+};
+
&spi0 {
status = "okay";
diff --git a/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts b/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
index d901967a22..4777d085d7 100644
--- a/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
+++ b/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
@@ -20,71 +20,6 @@
stdout-path = "serial0:115200n8";
};
- i2c_master: i2c at 1b00036c {
- compatible = "realtek,rtl9300-i2c";
- reg = <0x1b00036c 0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- clock-frequency = <100000>;
- };
-
- i2c-mux {
- compatible = "realtek,i2c-mux-rtl9300";
- i2c-parent = <&i2c_master>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- i2c0: i2c at 0 {
- reg = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- };
-
- i2c1: i2c at 1 {
- reg = <1>;
- scl-pin = <8>;
- sda-pin = <10>;
- };
-
- i2c2: i2c at 2 {
- reg = <2>;
- scl-pin = <8>;
- sda-pin = <11>;
- };
-
- i2c3: i2c at 3 {
- reg = <3>;
- scl-pin = <8>;
- sda-pin = <12>;
- };
-
- i2c4: i2c at 4 {
- reg = <4>;
- scl-pin = <8>;
- sda-pin = <13>;
- };
-
- i2c5: i2c at 5 {
- reg = <5>;
- scl-pin = <8>;
- sda-pin = <14>;
- };
-
- i2c6: i2c at 6 {
- reg = <6>;
- scl-pin = <8>;
- sda-pin = <15>;
- };
-
- i2c7: i2c at 7 {
- reg = <7>;
- scl-pin = <8>;
- sda-pin = <16>;
- };
- };
-
keys {
compatible = "gpio-keys";
@@ -188,6 +123,36 @@
};
};
+&i2c_mst1 {
+ status = "okay";
+
+ /* SDA0-7 correspond to GPIO9-16 */
+ i2c0: i2c at 0 {
+ reg = <0>;
+ };
+ i2c1: i2c at 1 {
+ reg = <1>;
+ };
+ i2c2: i2c at 2 {
+ reg = <2>;
+ };
+ i2c3: i2c at 3 {
+ reg = <3>;
+ };
+ i2c4: i2c at 4 {
+ reg = <4>;
+ };
+ i2c5: i2c at 5 {
+ reg = <5>;
+ };
+ i2c6: i2c at 6 {
+ reg = <6>;
+ };
+ i2c7: i2c at 7 {
+ reg = <7>;
+ };
+};
+
&mdio_aux {
status = "okay";
diff --git a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
index b3b2a9a6f1..8c19323f5b 100644
--- a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
+++ b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
@@ -27,71 +27,6 @@
stdout-path = "serial0:9600n8";
};
- i2c_master: i2c at 1b00036c {
- compatible = "realtek,rtl9300-i2c";
- reg = <0x1b00036c 0x3c>;
- #address-cells = <1>;
- #size-cells = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- clock-frequency = <100000>;
- };
-
- i2c-mux {
- compatible = "realtek,i2c-mux-rtl9300";
- i2c-parent = <&i2c_master>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- i2c0: i2c at 0 {
- reg = <0>;
- scl-pin = <8>;
- sda-pin = <9>;
- };
-
- i2c1: i2c at 1 {
- reg = <1>;
- scl-pin = <8>;
- sda-pin = <10>;
- };
-
- i2c2: i2c at 2 {
- reg = <2>;
- scl-pin = <8>;
- sda-pin = <11>;
- };
-
- i2c3: i2c at 3 {
- reg = <3>;
- scl-pin = <8>;
- sda-pin = <12>;
- };
-
- i2c4: i2c at 4 {
- reg = <4>;
- scl-pin = <8>;
- sda-pin = <13>;
- };
-
- i2c5: i2c at 5 {
- reg = <5>;
- scl-pin = <8>;
- sda-pin = <14>;
- };
-
- i2c6: i2c at 6 {
- reg = <6>;
- scl-pin = <8>;
- sda-pin = <15>;
- };
-
- i2c7: i2c at 7 {
- reg = <7>;
- scl-pin = <8>;
- sda-pin = <16>;
- };
- };
-
keys {
compatible = "gpio-keys";
@@ -206,6 +141,36 @@
};
};
+&i2c_mst1 {
+ status = "okay";
+
+ /* SDA0-7 correspond to GPIO9-16 */
+ i2c0: i2c at 0 {
+ reg = <0>;
+ };
+ i2c1: i2c at 1 {
+ reg = <1>;
+ };
+ i2c2: i2c at 2 {
+ reg = <2>;
+ };
+ i2c3: i2c at 3 {
+ reg = <3>;
+ };
+ i2c4: i2c at 4 {
+ reg = <4>;
+ };
+ i2c5: i2c at 5 {
+ reg = <5>;
+ };
+ i2c6: i2c at 6 {
+ reg = <6>;
+ };
+ i2c7: i2c at 7 {
+ reg = <7>;
+ };
+};
+
&mdio_aux {
status = "okay";
diff --git a/target/linux/realtek/dts/rtl930x.dtsi b/target/linux/realtek/dts/rtl930x.dtsi
index 31fe3ffd8b..5423f996e2 100644
--- a/target/linux/realtek/dts/rtl930x.dtsi
+++ b/target/linux/realtek/dts/rtl930x.dtsi
@@ -167,6 +167,24 @@
compatible = "syscon", "simple-mfd";
reg = <0x1b000000 0x10000>;
+ i2c_mst1: i2c at 36c {
+ compatible = "realtek,rtl9301-i2c";
+ reg = <0x36c 0x18>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+
+ i2c_mst2: i2c at 388 {
+ compatible = "realtek,rtl9301-i2c";
+ reg = <0x388 0x18>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+
mdio_aux: mdio-aux {
compatible = "realtek,rtl9300-aux-mdio";
#address-cells = <1>;
diff --git a/target/linux/realtek/dts/rtl931x.dtsi b/target/linux/realtek/dts/rtl931x.dtsi
index 86634d6c16..ef45258cb5 100644
--- a/target/linux/realtek/dts/rtl931x.dtsi
+++ b/target/linux/realtek/dts/rtl931x.dtsi
@@ -197,6 +197,26 @@
switchcore at 1b000000 {
compatible = "syscon", "simple-mfd";
reg = <0x1b000000 0x10000>;
+
+ i2c_mst1: i2c at 100c {
+ compatible = "realtek,rtl9310-i2c";
+ reg = <0x100c 0x18>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ realtek,scl = <0>;
+
+ status = "disabled";
+ };
+
+ i2c_mst2: i2c at 1024 {
+ compatible = "realtek,rtl9310-i2c";
+ reg = <0x1024 0x18>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ realtek,scl = <1>;
+
+ status = "disabled";
+ };
};
pinmux: pinmux at 1b001358 {
More information about the lede-commits
mailing list