
On Mon, 2013-11-18 at 18:05 +0100, Giuseppe Pagano wrote:
- ksz9031_phy_extended_write(phydev, 0x02,
MII_KSZ9031_EXT_RGMII_CLOCK_SKEW,
MII_KSZ9031_MOD_DATA_NO_POST_INC, 0x03FF);
I have september 2012 revision of KSZ9031's manual, and I think it is complete enough about skew parameter (preliminary version was not). Default value for GTX_CLK and RX_CLK swek register is 0x001ef (0 ns delay for both). I use maximum positive delay (value 0x03ff) as safe value, but it doesn't work on every board.
To be more clear (for people who do not have KSZ9031 manual). GTX and RX skew delay have 5 bit resolution, so MII_KSZ9031_EXT_RGMII_CLOCK_SKEW register have this default value bit:
reserved GTX skew RX skew 0000_00----01_111-----0_1111 (0x01EF -> 0ns delay) 0000_00----00_000-----0_0000 (0x0000 -> -0.96ns delay both) 0000_00----11_111-----1_1111 (0x03FF -> +0.96ns delay both) 0000_00----11_111-----0_1111 (0x03EF -> +0.96ns delay only for GTX) etc.
Best regards Giuseppe Pagano