]> git.ipfire.org Git - people/ms/u-boot.git/commit - drivers/net/phy/micrel_ksz90x1.c
net: phy: micrel: fix divisor value for KSZ9031 phy skew
authorDinh Nguyen <dinguyen@opensource.altera.com>
Wed, 27 Jan 2016 21:46:00 +0000 (15:46 -0600)
committerJoe Hershberger <joe.hershberger@ni.com>
Thu, 28 Jan 2016 19:20:30 +0000 (13:20 -0600)
commitff7bd212cb8a0a80a113e25af7616ef0a24abdfc
treedfa4709b5cc35695a4af1055c5d50a483d9ad760
parentc16e69f702b171473d46825db7e663fd27d141b4
net: phy: micrel: fix divisor value for KSZ9031 phy skew

The picoseconds to register value divisor(ps_to_regval) should be 60 and not
200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the correct
divisor because the 4-bit skew values are defined from 0x0000(-420ps) to
0xffff(480ps), increments of 60.

For example, a DTS skew value of 420, represents 0ps delay, which should be 0x7.
With the previous divisor of 200, it would result in 0x2, which represents a
-300ps delay.

With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
1Gb ethernet.

References:
http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/phy/micrel.c