[PATCH v2 net-next 0/1] Add BASE-T1 PHY support
From: Christian Herber
Date: Mon Aug 19 2019 - 11:19:58 EST
v1 patchset can be found here: https://lkml.org/lkml/2019/8/15/626
This patch adds basic support for BASE-T1 PHYs in the framework.
BASE-T1 PHYs main area of application are automotive and industrial.
BASE-T1 is standardized in IEEE 802.3, namely
- IEEE 802.3bw: 100BASE-T1
- IEEE 802.3bp 1000BASE-T1
- IEEE 802.3cg: 10BASE-T1L and 10BASE-T1S
There are no products which contain BASE-T1 and consumer type PHYs like
1000BASE-T. However, devices exist which combine 100BASE-T1 and
1000BASE-T1 PHYs with auto-negotiation.
The intention of this patch is to make use of the existing Clause 45
functions. BASE-T1 adds some additional registers e.g. for aneg control,
which follow a similar register layout as the existing devices. The
bits which are used in BASE-T1 specific registers are the same as in basic
registers, thus the existing functions can be resued, with get_aneg_ctrl()
selecting the correct register address.
The current version of ethtool has been prepared for 100/1000BASE-T1 and
works with this patch. 10BASE-T1 needs to be added to ethtool. The fixed-
speed and auto-negotiation functions are extended for 100/1000BASE-T1.
For 10BASE-T1S/L, only discovery of ability is added with this patchset.
Christian Herber (1):
net: phy: Added BASE-T1 PHY support to PHY Subsystem
drivers/net/phy/phy-c45.c | 106 +++++++++++++++++++++++++++++++----
drivers/net/phy/phy-core.c | 4 +-
drivers/net/phy/phy_device.c | 12 ++++
include/linux/phy.h | 1 +
include/uapi/linux/ethtool.h | 2 +
include/uapi/linux/mdio.h | 21 +++++++
6 files changed, 135 insertions(+), 11 deletions(-)