From: Jonas Jelonek Date: Mon, 18 May 2026 13:07:36 +0000 (+0000) Subject: realtek: add hog for PHY reset for XS1930-10 and -12HP X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c166c20cf6f12fe8f7d830500ecee79a73fb8fdb;p=thirdparty%2Fopenwrt.git realtek: add hog for PHY reset for XS1930-10 and -12HP Add a GPIO hog for those two switches to avoid having a dangling GPIO which might be pulled accidentally breaking all PHYs, and to have that GPIO documented. Signed-off-by: Jonas Jelonek Link: https://github.com/openwrt/openwrt/pull/23428 Signed-off-by: Robert Marko --- diff --git a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi index 3894753b34b..6585745a6c9 100644 --- a/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi +++ b/target/linux/realtek/dts/rtl9313_zyxel_xs1930-aqr813.dtsi @@ -65,6 +65,21 @@ pinctrl-names = "default"; pinctrl-0 = <&pinmux_disable_jtag>; + /* + * GPIO 31 is the global reset pin shared by all PHYs across all MDIO + * buses. It is intentionally not declared as reset-gpios on any bus: + * the MDIO driver / phylink only support a reset GPIO per bus, not on + * the parent controller. Attaching it to a single bus would still reset + * the PHYs on the other buses as a side effect, leaving their software + * state out of sync with the hardware and likely breaking them. + */ + phy_reset_hog { + gpio-hog; + gpios = <31 GPIO_ACTIVE_LOW>; + output-low; + line-name = "phy-reset"; + }; + sfp_enable_hog { gpio-hog; gpios = <6 GPIO_ACTIVE_LOW>,