Hi Andrew, On Wed, Nov 22, 2023 at 2:57 PM Andrew Lunn <andrew@xxxxxxx> wrote: > > > In general, we try to have the PHY add the delay, not the MAC. So i > > > would start with hard coding the delay to 0ns, and only implement > > > these properties if you have a board where the PHY cannot add the > > > delay. > > > > If I understand the KSZ9031 bindings correctly, that PHY is limited to > > a skew of up to 960 ps, not 1800 or 2000 ps. > > Reading ksz9031_config_rgmii_delay(), it implements the four > PHY_INTERFACE_MODE_RGMII* interface modes. So it should be able to > provide the 2ns delay. Sometimes the tuning ability is relative to the > base delay. So maybe it can do 2n +- 0.960/2 ? Oh, I do remember the regressions when the KSZ9031 driver started implementing that :-( See commit a6f51f2efa742df0 ("ravb: Add support for explicit internal clock delay configuration") and the commits it links to. > Anyway, try interface mode "rgmii_id" with the MAC not providing any > delay. That's more or less what we had before, cfr. commit 9b81018185965a30 ("arm64: dts: renesas: rcar-gen3: Convert EtherAVB to explicit delay handling")... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds