From ce7a5037f3b9ce2f93522b62a8a944180456f219 Mon Sep 17 00:00:00 2001 From: Jonas Jelonek Date: Mon, 18 May 2026 09:45:26 +0000 Subject: [PATCH] realtek: make LED set config for XS1930 more generic The led_set node was previously duplicated in the per-device DTS for -10/-12HP and -12F, even though all three share the same Base-T LED encoding. Move the shared led_set with the Base-T mapping into the common DTSI as set 0, and have XS1930-12F append its SFP-port mapping as led_set1 via a property override. Swap the led-set index on the -12F ports accordingly so SFP ports use set 1 and the two Base-T ports use set 0. Signed-off-by: Jonas Jelonek Link: https://github.com/openwrt/openwrt/pull/23428 Signed-off-by: Robert Marko --- .../realtek/dts/rtl9313_zyxel_xs1930-12f.dts | 50 ++++++++----------- .../dts/rtl9313_zyxel_xs1930-aqr813.dtsi | 13 ----- .../realtek/dts/rtl9313_zyxel_xs1930.dtsi | 13 +++++ 3 files changed, 33 insertions(+), 43 deletions(-) diff --git a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-12f.dts b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-12f.dts index a058f6f0b5..e9f7629acd 100644 --- a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-12f.dts +++ b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-12f.dts @@ -13,24 +13,6 @@ compatible = "zyxel,xs1930-12f", "realtek,rtl9313-soc"; model = "Zyxel XS1930-12F"; - led_set: led_set@0 { - compatible = "realtek,rtl9300-leds"; - active-low; - - /* SFP ports */ - led_set0 = <(RTL93XX_LED_SET_10G | RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_LINK | - RTL93XX_LED_SET_ACT) - (RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_1G | RTL93XX_LED_SET_LINK | - RTL93XX_LED_SET_ACT)>; - /* Base-T ports */ - led_set1 = <(RTL93XX_LED_SET_10G | RTL93XX_LED_SET_5G | RTL93XX_LED_SET_2P5G | - RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) - (RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_1G | RTL93XX_LED_SET_100M | - RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) - (RTL93XX_LED_SET_5G | RTL93XX_LED_SET_100M | RTL93XX_LED_SET_LINK | - RTL93XX_LED_SET_ACT)>; - }; - sfp1: sfp-p1 { compatible = "sff,sfp"; i2c-bus = <&i2c0>; @@ -211,6 +193,14 @@ &led_cloud_red { gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; }; &led_locator { gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; +&led_set { + /* SFP ports */ + led_set1 = <(RTL93XX_LED_SET_10G | RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_LINK | + RTL93XX_LED_SET_ACT) + (RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_1G | RTL93XX_LED_SET_LINK | + RTL93XX_LED_SET_ACT)>; +}; + &mdio_aux { status = "okay"; @@ -248,20 +238,20 @@ #address-cells = <1>; #size-cells = <0>; - SWITCH_PORT_SFP(0, 1, 2, 0, 1) - SWITCH_PORT_SFP(8, 2, 3, 0, 2) - SWITCH_PORT_SFP(16, 3, 4, 0, 3) - SWITCH_PORT_SFP(24, 4, 5, 0, 4) - SWITCH_PORT_SFP(32, 5, 6, 0, 5) - SWITCH_PORT_SFP(40, 6, 7, 0, 6) - SWITCH_PORT_SFP(48, 7, 8, 0, 7) - SWITCH_PORT_SFP(50, 8, 9, 0, 8) - SWITCH_PORT_SFP(52, 9, 10, 0, 9) - SWITCH_PORT_SFP(53, 10, 11, 0, 10) + SWITCH_PORT_SFP(0, 1, 2, 1, 1) + SWITCH_PORT_SFP(8, 2, 3, 1, 2) + SWITCH_PORT_SFP(16, 3, 4, 1, 3) + SWITCH_PORT_SFP(24, 4, 5, 1, 4) + SWITCH_PORT_SFP(32, 5, 6, 1, 5) + SWITCH_PORT_SFP(40, 6, 7, 1, 6) + SWITCH_PORT_SFP(48, 7, 8, 1, 7) + SWITCH_PORT_SFP(50, 8, 9, 1, 8) + SWITCH_PORT_SFP(52, 9, 10, 1, 9) + SWITCH_PORT_SFP(53, 10, 11, 1, 10) /* Base-T ports */ - SWITCH_PORT_LED(54, 11, 12, 1, usxgmii) - SWITCH_PORT_LED(55, 12, 13, 1, usxgmii) + SWITCH_PORT_LED(54, 11, 12, 0, usxgmii) + SWITCH_PORT_LED(55, 12, 13, 0, usxgmii) /* CPU port */ port@56 { diff --git a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi index c54f0bd18a..fb78826862 100644 --- a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi +++ b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi @@ -10,19 +10,6 @@ #include / { - led_set: led_set@0 { - compatible = "realtek,rtl9300-leds"; - active-low; - - /* Blue | Green | Red */ - led_set0 = <(RTL93XX_LED_SET_10G | RTL93XX_LED_SET_5G | RTL93XX_LED_SET_2P5G | - RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) - (RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_1G | RTL93XX_LED_SET_100M | - RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) - (RTL93XX_LED_SET_5G | RTL93XX_LED_SET_100M | RTL93XX_LED_SET_LINK | - RTL93XX_LED_SET_ACT)>; - }; - sfp_gpio_mux: gpio-mux { compatible = "gpio-mux"; mux-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>, diff --git a/target/linux/realtek/dts/rtl9313_zyxel_xs1930.dtsi b/target/linux/realtek/dts/rtl9313_zyxel_xs1930.dtsi index d5fa56bc06..c7e4a04839 100644 --- a/target/linux/realtek/dts/rtl9313_zyxel_xs1930.dtsi +++ b/target/linux/realtek/dts/rtl9313_zyxel_xs1930.dtsi @@ -81,6 +81,19 @@ }; }; + led_set: led_set@0 { + compatible = "realtek,rtl9300-leds"; + active-low; + + /* Blue | Green | Red */ + led_set0 = <(RTL93XX_LED_SET_10G | RTL93XX_LED_SET_5G | RTL93XX_LED_SET_2P5G | + RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) + (RTL93XX_LED_SET_2P5G | RTL93XX_LED_SET_1G | RTL93XX_LED_SET_100M | + RTL93XX_LED_SET_LINK | RTL93XX_LED_SET_ACT) + (RTL93XX_LED_SET_5G | RTL93XX_LED_SET_100M | RTL93XX_LED_SET_LINK | + RTL93XX_LED_SET_ACT)>; + }; + fan0: gpio-fan { compatible = "gpio-fan"; gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;