linux-stable/drivers/net/phy
Willy Liu bbc4d71d63 net: phy: realtek: fix rtl8211e rx/tx delay config
There are two chip pins named TXDLY and RXDLY which actually adds the 2ns
delays to TXC and RXC for TXD/RXD latching. These two pins can config via
4.7k-ohm resistor to 3.3V hw setting, but also config via software setting
(extension page 0xa4 register 0x1c bit13 12 and 11).

The configuration register definitions from table 13 official PHY datasheet:
PHYAD[2:0] = PHY Address
AN[1:0] = Auto-Negotiation
Mode = Interface Mode Select
RX Delay = RX Delay
TX Delay = TX Delay
SELRGV = RGMII/GMII Selection

This table describes how to config these hw pins via external pull-high or pull-
low resistor.

It is a misunderstanding that mapping it as register bits below:
8:6 = PHY Address
5:4 = Auto-Negotiation
3 = Interface Mode Select
2 = RX Delay
1 = TX Delay
0 = SELRGV
So I removed these descriptions above and add related settings as below:
14 = reserved
13 = force Tx RX Delay controlled by bit12 bit11
12 = Tx Delay
11 = Rx Delay
10:0 = Test && debug settings reserved by realtek

Test && debug settings are not recommend to modify by default.

Fixes: f81dadbcf7 ("net: phy: realtek: Add rtl8211e rx/tx delays config")
Signed-off-by: Willy Liu <willy.liu@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-29 12:55:33 -07:00
..
mscc net: phy: mscc: Fix a couple of spelling mistakes "spcified" -> "specified" 2020-08-20 11:10:12 -07:00
adin.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
amd.c
aquantia.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
aquantia_hwmon.c
aquantia_main.c net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
at803x.c net: phy: at803x: add mdix configuration support for AR9331 and AR8035 2020-07-19 18:07:16 -07:00
ax88796b.c
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: don't export RDB/legacy access methods 2020-06-01 12:02:57 -07:00
bcm-phy-lib.h net: phy: broadcom: add cable test support 2020-05-13 12:52:38 -07:00
bcm7xxx.c net: phy: bcm7xx: add jumbo frame configuration to PHY 2020-03-27 16:07:24 -07:00
bcm63xx.c net: phy: bcm63xx: fix OOPS due to missing driver name 2020-03-03 17:37:06 -08:00
bcm87xx.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
bcm54140.c net: phy: bcm54140: add cable diagnostics support 2020-05-13 12:52:39 -07:00
bcm84881.c net: phy: bcm84881: clear settings on link down 2020-04-23 15:55:35 -07:00
broadcom.c net: phy: broadcom: fix checkpatch complains about tabs 2020-05-16 13:38:33 -07:00
cicada.c
cortina.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
davicom.c
dp83tc811.c net: phy: DP83TC811: Fix WoL in config init to be disabled 2020-05-01 15:23:44 -07:00
dp83640.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dp83640_reg.h
dp83822.c net: phy: DP83822: Add setting the fixed internal delay 2020-06-25 16:05:21 -07:00
dp83848.c
dp83867.c net: dp83867: Fix WoL SecureOn password 2020-09-02 16:04:59 -07:00
dp83869.c net: dp83869: Fix RGMII internal delay configuration 2020-08-26 07:13:28 -07:00
et1011c.c
fixed_phy.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
icplus.c
intel-xway.c
Kconfig mdio: fix mdio-thunder.c dependency & build error 2020-09-27 13:21:28 -07:00
linkmode.c net: add linkmode helper for setting flow control advertisement 2020-02-16 19:39:44 -08:00
lxt.c net: phy: provide and use genphy_read_status_fixed() 2019-12-19 12:52:34 -08:00
Makefile net: phy: add a Kconfig option for mdio_devres 2020-07-07 15:37:02 -07:00
marvell.c net: phy: marvell: Add Marvell 88E1548P support 2020-06-22 16:28:34 -07:00
marvell10g.c net: phy: marvell10g: fix null pointer dereference 2020-08-11 15:42:23 -07:00
mdio-aspeed.c
mdio-bcm-iproc.c net: phy: Make iproc_mdio_resume static 2020-05-07 12:55:29 -07:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Fix clock handling 2020-03-24 16:45:32 -07:00
mdio-bitbang.c
mdio-boardinfo.c net: phy: Fixup parameters in kerneldoc 2020-07-07 12:47:10 -07:00
mdio-boardinfo.h
mdio-cavium.c
mdio-cavium.h net: phy: cavium: Improve __iomem mess 2020-07-07 12:47:11 -07:00
mdio-gpio.c
mdio-hisi-femac.c
mdio-i2c.c net: mdio-i2c: add support for Clause 45 accesses 2019-12-11 11:53:41 -08:00
mdio-i2c.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-ipq4019.c net: phy: mdio: add IPQ4019 MDIO driver 2020-04-30 12:11:14 -07:00
mdio-ipq8064.c net: mdio: add ipq8064 mdio driver 2020-03-06 22:07:05 -08:00
mdio-moxart.c net: phy: mdio-moxart: remove unneeded include 2020-05-14 17:58:46 -07:00
mdio-mscc-miim.c net: phy: mscc-miim: read poll when high resolution timers are disabled 2020-05-26 15:33:56 -07:00
mdio-mux-bcm-iproc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
mdio-mux-gpio.c net: mdio-mux-gpio: use devm_gpiod_get_array() 2020-07-21 15:35:29 -07:00
mdio-mux-meson-g12a.c clk: let init callback return an error code 2019-12-23 18:53:13 -08:00
mdio-mux-mmioreg.c
mdio-mux-multiplexer.c
mdio-mux.c
mdio-mvusb.c net: phy: add marvell usb to mdio controller 2020-03-26 19:49:34 -07:00
mdio-octeon.c net: phy: mdio-octeon: Cleanup module loading dependencies 2020-07-07 12:47:11 -07:00
mdio-sun4i.c
mdio-thunder.c net: phy: cavium: Improve __iomem mess 2020-07-07 12:47:11 -07:00
mdio-xgene.c
mdio-xgene.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-xpcs.c net: phy: xpcs: Restart AutoNeg if outcome was invalid 2020-03-23 21:01:58 -07:00
mdio_bus.c net: mdiobus: add reset-post-delay-us handling 2020-08-03 15:01:02 -07:00
mdio_device.c net: mdio device: use flexible sleeping in reset function 2020-08-03 15:01:02 -07:00
mdio_devres.c of: mdio: provide devm_of_mdiobus_register() 2020-06-30 15:57:34 -07:00
meson-gxl.c
micrel.c net: phy: micrel: add phy-mode support for the KSZ9031 PHY 2020-04-22 19:38:46 -07:00
microchip.c
microchip_t1.c net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. 2020-04-22 11:38:58 -07:00
mii_timestamper.c net: mii_timestamper: fix static allocation by PHY driver 2020-01-31 07:46:11 -08:00
national.c
nxp-tja11xx.c net: ethtool: Add generic parts of cable test TDR 2020-05-26 23:21:48 -07:00
phy-c45.c net: phy: split devices_in_package 2020-06-19 20:17:15 -07:00
phy-core.c ethtool: Add support for 100Gbps per lane link modes 2020-07-08 15:30:42 -07:00
phy.c net: phy: Do not warn in phy_stop() on PHY_DOWN 2020-09-17 16:55:35 -07:00
phy_device.c net: phy: Avoid NPD upon phy_detach() when driver is unbound 2020-09-17 16:55:35 -07:00
phy_led_triggers.c
phylink.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
qsemi.c
realtek.c net: phy: realtek: fix rtl8211e rx/tx delay config 2020-09-29 12:55:33 -07:00
rockchip.c
sfp-bus.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sfp.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sfp.h net: sfp: add module start/stop upstream notifications 2019-12-11 11:53:41 -08:00
smsc.c net: phy: smsc: fix printing too many logs 2020-06-22 16:08:48 -07:00
spi_ks8995.c
ste10Xp.c
swphy.c Update rmk's email address in various drivers 2020-04-21 17:50:09 +01:00
swphy.h
teranetics.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
uPD60620.c net: phy: use phy_resolve_aneg_pause() 2019-12-19 12:52:34 -08:00
vitesse.c
xilinx_gmii2rgmii.c