> > BTW, it's still not clear to me why the inversion would be needed. > > Cfr. Andrew's comment: > > > > | So with rgmii-rxid, what is actually passed to the PHY? Is your > > | problem you get twice the delay in one direction, and no delay in the > > | other? > > Yes, it was the problem I got. > The PHY I use have RX delay enabled by default, currently the PHY driver does > not support delay configuration, therefore I let the MAC handle TX delay. I > have stumbling over that legacy/wrong DTS on the old Kernel. This is where we get into the horrible mess of RGMII delays. The real solution is to fix the PHY driver. If it is asked to do rgmii, but is actually doing rgmii-id, the PHY driver is broken. It either should do what it is told, or return -EINVAL/-EOPNOTSUPP etc to indicate it does not support what it is asked to do. But fixing things like this often breaks working systems, because the DT says rgmii, the PHY actually does rgmii-id, the board works, until the PHY is fixed to do what it is told, and all the bugs in the DT suddenly come to light. Now, you said you are using an old kernel. So it could be we have already fixed this, and had the pain of fixing broken DT. Please look at the current kernel PHY driver, and see if all you need to do is back port some PHY fixes, or better still, throw away your old kernel and use a modern one. Andrew