On Tue, Oct 22, 2024 at 03:51:08PM +0200, Andrew Lunn wrote: > On Tue, Oct 22, 2024 at 06:21:49PM +0800, Inochi Amaoto wrote: > > On Mon, Oct 21, 2024 at 03:27:18PM +0200, Andrew Lunn wrote: > > > > It is related to the RGMII delay. On sg2044, when the phy > > > > sets rx-delay, the interal mac is not set the same delay, > > > > so this is needed to be set. > > > > > > This is the wrong way to do it. Please look at how phy-mode should be > > > used, the four different "rgmii" values. Nearly everybody gets this > > > wrong, so there are plenty of emails from me in the netdev list about > > > how it should be done. > > > > > > > The phy-mode is alreay set to the "rgmii-id" and a rx delay is already > > set (a default tx delay is set by the phy driver). In the scenario > > the extra bit is used to fix 2ns difference between the sampling clock > > and data. It is more like an extra setting and the kernel can not handle > > it by only setting the phy-mode. > > This sounds wrong. > > So in DT you have rgmii-id? You say the PHY is doing TX delay. So you > pass PHY_INTERFACE_MODE_RGMII_TXID to the PHY? It is not clear from > this patch, i don't see any code mentioning > PHY_INTERFACE_MODE_RGMII_TXID. Could you point me at that code. > > Andrew The phy on the board I have is YT8531, The config code is here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/motorcomm.c#n868 As the syscon only has a config on rx delay. I have already fix the code and only set the bit when the mac is rgmii-rxid/id. Regards, Inochi.