u-boot/drivers/net/phy
Andreas Pretzsch 3b4cda34d4 net: phy: micrel: fix KSZ9031 clock skew for values greater 0ps
For KSZ9021, all skew register fields are 4-bit wide.
For KSZ9031, the clock skew register fields are 5-bit wide.

The common code in ksz90x1_of_config_group calculating the combined
register value checks if the requested value is above the maximum
and uses this maximum if so. The calculation of this maximum uses
the register width, but the check itself does not. It uses a hardcoded
value of 0xf, which is too low in case of the 5-bit clock (0x1f).
This detail was probably lost during driver unification.

Effect (only for KSZ9031 clock skews): For values greater 900 (== 0ps),
this silently results in 1860 (== +960ps) instead of the requested one.

Fix the check by using the bit width instead of hardcoded value(s).

Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2019-01-24 11:35:28 -06:00
..
aquantia.c lib: merge CRC16-CCITT into u-boot/crc.h 2018-12-08 20:18:32 -05:00
atheros.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
b53.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
broadcom.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
cortina.c net/phy/cortina: Add support for CS4223 PHY 2018-06-13 13:54:15 -05:00
davicom.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
et1011c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fixed.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
generic_10g.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
Kconfig net: phy: aquantia: add firmware loading support 2018-10-24 14:45:37 -05:00
lxt.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
marvell.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
meson-gxl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
micrel_ksz8xxx.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
micrel_ksz90x1.c net: phy: micrel: fix KSZ9031 clock skew for values greater 0ps 2019-01-24 11:35:28 -06:00
miiphybb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mscc.c net: phy: mscc: add support for VSC8574 PHY 2018-11-05 10:41:59 -06:00
mv88e61xx.c net: phy: mv88e61xx: Force CPU port link up 2018-06-13 13:54:17 -05:00
mv88e6352.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
natsemi.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
phy.c net: phy: Add clause 45 identifier to phy_device 2019-01-24 11:35:26 -06:00
realtek.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
smsc.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
teranetics.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
ti.c net: phy: ti: Add binding for the CLK_OUT pin muxing 2018-10-10 12:28:54 -05:00
vitesse.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
xilinx_phy.c net: phy: xilinx: switch to use phy_get_ofnode() 2018-07-26 14:08:22 -05:00