On Mon, 2024-12-09 at 14:24 +0100, Andrew Lunn wrote: > > > +&cpsw_port1 { > > + phy-mode = "rgmii-rxid"; > > + phy-handle = <&cpsw3g_phy0>; > > +}; > > + > > +&cpsw_port2 { > > + phy-mode = "rgmii-rxid"; > > + phy-handle = <&cpsw3g_phy3>; > > +}; > > rgmii-rxid is very odd. > > > + > > +&cpsw3g_mdio { > > + status = "okay"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&main_mdio1_pins>; > > + > > + cpsw3g_phy0: ethernet-phy@0 { > > + compatible = "ethernet-phy-ieee802.3-c22"; > > + reg = <0x0>; > > + reset-gpios = <&main_gpio1 11 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <1000>; > > + reset-deassert-us = <1000>; > > + ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; > > I guess this is the explanation. > > What happens when you use rgmii-id, and don't have this delay here? > That would be normal. > > Andrew This is normal for AM62-based boards, see the DTSI of the TI reference starterkit for example: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi#n451 With rgmii-id, both ti,rx-internal-delay and ti,tx-internal-delay should be set. As ti,*-internal-delay sets the delay on the PHY side, phy-mode "rgmii" is the one that would not use either: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ti,dp83867.yaml#n78 At the end of the day, does it really matter as long as MAC and PHY agree on the used mode? We copied this part of the hardware design from the TI reference board, and did our hardware qualification with these settings, so I think it makes sense to use the same phy-mode configuration. Best regards, Matthias -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider https://www.tq-group.com/