[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190819151940.27756-1-christian.herber@nxp.com>
Date: Mon, 19 Aug 2019 15:19:52 +0000
From: Christian Herber <christian.herber@....com>
To: "andrew@...n.ch" <andrew@...n.ch>,
"f.fainelli@...il.com" <f.fainelli@...il.com>,
"hkallweit1@...il.com" <hkallweit1@...il.com>,
"davem@...emloft.net" <davem@...emloft.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Christian Herber <christian.herber@....com>
Subject: [PATCH v2 net-next 0/1] Add BASE-T1 PHY support
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(-)
--
2.17.1
Powered by blists - more mailing lists