From: Joe Holden Date: Sun, 25 May 2025 12:13:30 +0000 (+0000) Subject: realtek: switch HP-1920-48G to new shared gpio driver X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=502b2f4ee5a4a823f2350aa45e70f98b8a6c3fd3;p=thirdparty%2Fopenwrt.git realtek: switch HP-1920-48G to new shared gpio driver This allows the SFPs to work without manually switching port type. Signed-off-by: Joe Holden Link: https://github.com/openwrt/openwrt/pull/18914 Signed-off-by: Robert Marko --- diff --git a/target/linux/realtek/dts/rtl8393_hpe_1920-48g.dts b/target/linux/realtek/dts/rtl8393_hpe_1920-48g.dts index 651ae69864e..2f6f75e1481 100644 --- a/target/linux/realtek/dts/rtl8393_hpe_1920-48g.dts +++ b/target/linux/realtek/dts/rtl8393_hpe_1920-48g.dts @@ -6,81 +6,77 @@ compatible = "hpe,1920-48g", "realtek,rtl8393-soc"; model = "HPE 1920-48G (JG927A)"; - i2c0: i2c-gpio-0 { - compatible = "i2c-gpio"; - sda-gpios = <&gpio0 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - scl-gpios = <&gpio0 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - i2c-gpio,delay-us = <2>; - #address-cells = <1>; - #size-cells = <0>; - }; + i2c-gpio-shared0 { + compatible = "i2c-gpio-shared"; + scl-gpios = <&gpio0 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + #address-cells = <1>; + #size-cells = <0>; - sfp0: sfp-p49 { - compatible = "sff,sfp"; - i2c-bus = <&i2c0>; - los-gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>; - mod-def0-gpio = <&gpio0 19 GPIO_ACTIVE_LOW>; - // tx-fault unconnected (TODO?) - // tx-disable connected to RTL8214FC (TODO?) - }; + i2c0: i2c@0 { + sda-gpios = <&gpio0 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; + }; - i2c1: i2c-gpio-1 { - compatible = "i2c-gpio"; - sda-gpios = <&gpio0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - scl-gpios = <&gpio0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - i2c-gpio,delay-us = <2>; - #address-cells = <1>; - #size-cells = <0>; - }; + i2c2: i2c@2 { + sda-gpios = <&gpio0 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; - sfp1: sfp-p50 { - compatible = "sff,sfp"; - i2c-bus = <&i2c1>; - los-gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>; - mod-def0-gpio = <&gpio0 12 GPIO_ACTIVE_LOW>; - // tx-fault unconnected (TODO?) - // tx-disable connected to RTL8214FC (TODO?) - }; + }; + }; - // not enabled due to shared I2C clock - i2c2: i2c-gpio-2 { - status = "disabled"; - compatible = "i2c-gpio"; - sda-gpios = <&gpio0 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - scl-gpios = <&gpio0 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - i2c-gpio,delay-us = <2>; - #address-cells = <1>; - #size-cells = <0>; - }; + i2c-gpio-shared1 { + compatible = "i2c-gpio-shared"; + scl-gpios = <&gpio0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + #address-cells = <1>; + #size-cells = <0>; - sfp2: sfp-p51 { - compatible = "sff,sfp"; - i2c-bus = <&i2c2>; - los-gpio = <&gpio0 23 GPIO_ACTIVE_HIGH>; - mod-def0-gpio = <&gpio0 22 GPIO_ACTIVE_LOW>; - // tx-fault unconnected (TODO?) - // tx-disable connected to RTL8214FC (TODO?) - }; + i2c1: i2c@1 { + sda-gpios = <&gpio0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; + }; - // not enabled due to shared I2C clock - i2c3: i2c-gpio-3 { - status = "disabled"; - compatible = "i2c-gpio"; - sda-gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - scl-gpios = <&gpio0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - i2c-gpio,delay-us = <2>; - #address-cells = <1>; - #size-cells = <0>; - }; + i2c3: i2c@3 { + sda-gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us = <2>; - sfp3: sfp-p52 { - compatible = "sff,sfp"; - i2c-bus = <&i2c3>; - los-gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>; - mod-def0-gpio = <&gpio0 15 GPIO_ACTIVE_LOW>; - // tx-fault unconnected (TODO?) - // tx-disable connected to RTL8214FC (TODO?) - }; + }; + }; + + sfp0: sfp-p49 { + compatible = "sff,sfp"; + i2c-bus = <&i2c0>; + los-gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio0 19 GPIO_ACTIVE_LOW>; + // tx-fault unconnected (TODO?) + // tx-disable connected to RTL8214FC (TODO?) + }; + + sfp1: sfp-p50 { + compatible = "sff,sfp"; + i2c-bus = <&i2c1>; + los-gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio0 12 GPIO_ACTIVE_LOW>; + // tx-fault unconnected (TODO?) + // tx-disable connected to RTL8214FC (TODO?) + }; + + sfp2: sfp-p51 { + compatible = "sff,sfp"; + i2c-bus = <&i2c2>; + los-gpio = <&gpio0 23 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio0 22 GPIO_ACTIVE_LOW>; + // tx-fault unconnected (TODO?) + // tx-disable connected to RTL8214FC (TODO?) + }; + + sfp3: sfp-p52 { + compatible = "sff,sfp"; + i2c-bus = <&i2c3>; + los-gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>; + mod-def0-gpio = <&gpio0 15 GPIO_ACTIVE_LOW>; + // tx-fault unconnected (TODO?) + // tx-disable connected to RTL8214FC (TODO?) + }; };