linux/drivers/net/phy
Oleksij Rempel bcf3440c6d net: phy: micrel: add phy-mode support for the KSZ9031 PHY
Add support for following phy-modes: rgmii, rgmii-id, rgmii-txid, rgmii-rxid.

This PHY has an internal RX delay of 1.2ns and no delay for TX.

The pad skew registers allow to set the total TX delay to max 1.38ns and
the total RX delay to max of 2.58ns (configurable 1.38ns + build in
1.2ns) and a minimal delay of 0ns.

According to the RGMII v1.3 specification the delay provided by PCB traces
should be between 1.5ns and 2.0ns. The RGMII v2.0 allows to provide this
delay by MAC or PHY. So, we configure this PHY to the best values we can
get by this HW: TX delay to 1.38ns (max supported value) and RX delay to
1.80ns (best calculated delay)

The phy-modes can still be fine tuned/overwritten by *-skew-ps
device tree properties described in:
Documentation/devicetree/bindings/net/micrel-ksz90x1.txt

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-04-22 19:38:46 -07:00
..
mscc net: phy: mscc: use mdiobus_get_phy() 2020-04-20 12:07:22 -07:00
adin.c net: phy: adin: fix a warning about msleep 2020-01-19 16:06:42 +01:00
amd.c
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
aquantia.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
at803x.c net: phy: at803x: add support for AR8032 PHY 2020-04-18 15:45:52 -07:00
ax88796b.c net: phy: rename Asix Electronics PHY driver 2019-06-09 13:24:17 -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: phy: bcm87xx: improve bcm87xx_config_init and feature detection 2019-05-26 21:56:41 -07:00
bcm54140.c net: phy: bcm54140: add hwmon support 2020-04-22 12:14:18 -07:00
bcm84881.c net: phy: bcm84881: use phy_read_mmd_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: add helper to write/read RDB registers 2020-04-22 12:14:18 -07:00
bcm-phy-lib.h net: phy: broadcom: add helper to write/read RDB registers 2020-04-22 12:14:18 -07:00
broadcom.c net: phy: broadcom: Add support for BCM53125 internal PHYs 2020-04-18 15:50:32 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
dp83640_reg.h
dp83640.c ptp: Avoid deadlocks in the programmable pin code. 2020-03-30 11:16:38 -07:00
dp83822.c net: phy: DP83822: Add support for additional DP83825 devices 2020-01-23 21:21:12 +01:00
dp83848.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
dp83867.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
dp83869.c net: phy: dp83869: Remove unneeded semicolon 2019-12-14 16:11:40 -08:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: switch to using fwnode_gpiod_get_index 2020-01-05 14:27:01 -08:00
icplus.c
intel-xway.c
Kconfig net: phy: bcm54140: add hwmon support 2020-04-22 12:14:18 -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 Broadcom BCM54140 support 2020-04-22 12:14:18 -07:00
marvell10g.c net: marvell10g: soft-reset the PHY when coming out of low power 2020-04-14 16:48:09 -07:00
marvell.c net: phy: marvell: Fix pause frame negotiation 2020-04-11 16:51:09 -07:00
mdio_bus.c net: phy: add device-managed devm_mdiobus_register 2020-04-22 12:19:54 -07:00
mdio_device.c net: phy: allow for reset line to be tied to a sleepy GPIO controller 2019-10-04 18:07:45 -07:00
mdio-aspeed.c net: phy: Add mdio-aspeed 2019-08-02 17:56:28 -07:00
mdio-bcm-iproc.c net: phy: mdio-bcm-iproc: Do not show kernel pointer 2020-04-18 15:50:04 -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
mdio-boardinfo.h
mdio-cavium.c
mdio-cavium.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-gpio.c
mdio-hisi-femac.c phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code 2019-08-28 14:51:00 -07:00
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-ipq8064.c net: mdio: add ipq8064 mdio driver 2020-03-06 22:07:05 -08:00
mdio-moxart.c phy: mdio-moxart: use devm_platform_ioremap_resource() to simplify code 2019-08-28 14:51:00 -07:00
mdio-mscc-miim.c
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
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
mdio-sun4i.c phy: mdio-sun4i: add missed regulator_disable in remove 2019-11-18 17:22:40 -08:00
mdio-thunder.c phy: mdio-thunder: add missed pci_release_regions in remove 2019-12-06 12:05:06 -08:00
mdio-xgene.c net: phy: xgene: use devm_platform_ioremap_resource() to simplify code 2019-08-01 13:10:34 -04:00
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
meson-gxl.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
micrel.c net: phy: micrel: add phy-mode support for the KSZ9031 PHY 2020-04-22 19:38:46 -07:00
microchip_t1.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
microchip.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
mii_timestamper.c net: mii_timestamper: fix static allocation by PHY driver 2020-01-31 07:46:11 -08:00
national.c net/phy: fix DP83865 10 Mbps HDX loopback disable function 2019-09-21 18:21:52 -07:00
nxp-tja11xx.c net: phy: tja11xx: use phy_read_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
phy_device.c net: phy: don't touch suspended flag if there's no suspend/resume callback 2020-03-26 20:29:51 -07:00
phy_led_triggers.c net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed() 2019-07-31 18:56:11 -04:00
phy-c45.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-02-27 18:31:39 -08:00
phy-core.c net: phy: add and use phy_check_downshift 2020-03-23 21:09:47 -07:00
phy.c net: phy: add and use phy_check_downshift 2020-03-23 21:09:47 -07:00
phylink.c net: phylink: add separate pcs operations structure 2020-03-30 11:52:27 -07:00
qsemi.c
realtek.c net: phy: realtek: add delay to resume path of certain internal PHY's 2020-04-20 11:12:29 -07:00
rockchip.c
sfp-bus.c net: phy: sfp-bus.c: get rid of docs warnings 2020-03-17 23:39:29 -07:00
sfp.c net: sfp: report error on failure to read sfp soft status 2019-12-19 17:26:07 -08:00
sfp.h net: sfp: add module start/stop upstream notifications 2019-12-11 11:53:41 -08:00
smsc.c net: phy: smsc: use phy_read_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
spi_ks8995.c
ste10Xp.c
swphy.c net: phy: swphy: emulate register MII_ESTATUS 2019-08-15 11:43:48 -07:00
swphy.h
teranetics.c
uPD60620.c net: phy: use phy_resolve_aneg_pause() 2019-12-19 12:52:34 -08:00
vitesse.c net: phy: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
xilinx_gmii2rgmii.c net: phy: gmii2rgmii: Dont use priv field in phy device 2019-09-05 12:32:06 +02:00