On Sun, Oct 25, 2020 at 10:27:05PM +0800, Icenowy Zheng wrote: > > > 于 2020年10月25日 GMT+08:00 下午10:18:25, Andrew Lunn <andrew@xxxxxxx> 写到: > >On Sun, Oct 25, 2020 at 04:55:56PM +0800, Icenowy Zheng wrote: > >> Currently there are many boards that just set "rgmii" as phy-mode in > >the > >> device tree, and leave the hardware [TR]XDLY pins to set PHY delay > >mode. > >> > >> In order to keep old device tree working, omit setting delay for just > >> "RGMII" without any internal delay suffix, otherwise many devices are > >> broken. > > > >Hi Icenowy > > > >We have been here before with the Atheros PHY. It did not correctly > >implement one of the delay modes, until somebody really did need that > >mode. So the driver was fixed. And we then found a number of device > >trees were also buggy. It was painful for a while, but all the device > >trees got fixed. > > 1. As the PHY chip has hardware configuration for configuring delays, > we should at least have a mode that respects what's set on the hardware. Yes, that is PHY_INTERFACE_MODE_NA. In DT, set the phy-mode to "". Or for most MAC drivers, don't list a phy-mode at all. > 2. As I know, at least Fedora ships a device tree with their bootloader, and > the DT will not be updated with kernel. I would check that. Debian does the exact opposite, the last time i looked. It always uses the DT that come with the kernel because it understands DT can have bugs, like all software. Andrew