On 13:44-20240112, Sjoerd Simons wrote: > The beagleplay dts was using a bit-bang gpio mdio bus as a work-around > for errata i2329. However since commit d04807b80691 ("net: ethernet: ti: > davinci_mdio: Add workaround for errata i2329") the mdio driver itself > already takes care of this errata for effected silicon, which landed > well before the beagleplay dts. So i suspect the reason for the > workaround in upstream was simply due to copying the vendor dts. > > Switch the dts to the ti,cpsw-mdio instead so it described the actual > hardware and is consistent with other AM625 based boards > > Signed-off-by: Sjoerd Simons <sjoerd@xxxxxxxxxxxxx> > > --- We have had issues with the ethernet integration previously (also why ethernet in u-boot is not yet functional on beagleplay[1]). https://openbeagle.org/beagleplay/beagleplay/-/issues/101 we should probably do a 1000 boot nfs test or something to ensure this doesn't introduce regressions (I recollect mdio wasn't stable on beagleplay) and switching to bitbang driver stopped all complains. [1] https://lore.kernel.org/u-boot/20230822121350.51324-1-rogerq@xxxxxxxxxx/ > > .../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 42 +++++++------------ > 1 file changed, 16 insertions(+), 26 deletions(-) > > diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts > index eadbdd9ffe37..49fb21ba62b0 100644 > --- a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts > +++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts > @@ -29,7 +29,6 @@ aliases { > i2c3 = &main_i2c3; > i2c4 = &wkup_i2c0; > i2c5 = &mcu_i2c0; > - mdio-gpio0 = &mdio0; > mmc0 = &sdhci0; > mmc1 = &sdhci1; > mmc2 = &sdhci2; > @@ -231,27 +230,6 @@ simple-audio-card,codec { > }; > }; > > - /* Workaround for errata i2329 - just use mdio bitbang */ > - mdio0: mdio { > - compatible = "virtual,mdio-gpio"; > - pinctrl-names = "default"; > - pinctrl-0 = <&mdio0_pins_default>; > - gpios = <&main_gpio0 86 GPIO_ACTIVE_HIGH>, /* MDC */ > - <&main_gpio0 85 GPIO_ACTIVE_HIGH>; /* MDIO */ > - #address-cells = <1>; > - #size-cells = <0>; > - > - cpsw3g_phy0: ethernet-phy@0 { > - reg = <0>; > - }; > - > - cpsw3g_phy1: ethernet-phy@1 { > - reg = <1>; > - reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>; > - reset-assert-us = <25>; > - reset-deassert-us = <60000>; /* T2 */ > - }; > - }; > }; > > &main_pmx0 { > @@ -312,8 +290,8 @@ AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ > > mdio0_pins_default: mdio0-default-pins { > pinctrl-single,pins = < > - AM62X_IOPAD(0x0160, PIN_OUTPUT, 7) /* (AD24) MDIO0_MDC.GPIO0_86 */ > - AM62X_IOPAD(0x015c, PIN_INPUT, 7) /* (AB22) MDIO0_MDIO.GPIO0_85 */ > + AM62X_IOPAD(0x0160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */ > + AM62X_IOPAD(0x015c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */ > >; > }; > > @@ -611,8 +589,20 @@ &cpsw_port2 { > }; > > &cpsw3g_mdio { > - /* Workaround for errata i2329 - Use mdio bitbang */ > - status = "disabled"; > + status = "okay"; > + pinctrl-names = "default"; > + pinctrl-0 = <&mdio0_pins_default>; > + > + cpsw3g_phy0: ethernet-phy@0 { > + reg = <0>; > + }; > + > + cpsw3g_phy1: ethernet-phy@1 { > + reg = <1>; > + reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>; > + reset-assert-us = <25>; > + reset-deassert-us = <60000>; /* T2 */ > + }; > }; > > &main_gpio0 { > -- > 2.43.0 > -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D