-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'NCN26000-PLCA-RS-support'
Piergiorgio Beruto says: ==================== net: add PLCA RS support and onsemi NCN26000 This patchset adds support for getting/setting the Physical Layer Collision Avoidace (PLCA) Reconciliation Sublayer (RS) configuration and status on Ethernet PHYs that supports it. PLCA is a feature that provides improved media-access performance in terms of throughput, latency and fairness for multi-drop (P2MP) half-duplex PHYs. PLCA is defined in Clause 148 of the IEEE802.3 specifications as amended by 802.3cg-2019. Currently, PLCA is supported by the 10BASE-T1S single-pair Ethernet PHY defined in the same standard and related amendments. The OPEN Alliance SIG TC14 defines additional specifications for the 10BASE-T1S PHY, including a standard register map for PHYs that embeds the PLCA RS (see PLCA management registers at https://www.opensig.org/about/specifications/). The changes proposed herein add the appropriate ethtool netlink interface for configuring the PLCA RS on PHYs that supports it. A separate patchset further modifies the ethtool userspace program to show and modify the configuration/status of the PLCA RS. Additionally, this patchset adds support for the onsemi NCN26000 Industrial Ethernet 10BASE-T1S PHY that uses the newly added PLCA infrastructure. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
20 changed files
with
1,233 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* | ||
* mdio-open-alliance.h - definition of OPEN Alliance SIG standard registers | ||
*/ | ||
|
||
#ifndef __MDIO_OPEN_ALLIANCE__ | ||
#define __MDIO_OPEN_ALLIANCE__ | ||
|
||
#include <linux/mdio.h> | ||
|
||
/* NOTE: all OATC14 registers are located in MDIO_MMD_VEND2 */ | ||
|
||
/* Open Alliance TC14 (10BASE-T1S) registers */ | ||
#define MDIO_OATC14_PLCA_IDVER 0xca00 /* PLCA ID and version */ | ||
#define MDIO_OATC14_PLCA_CTRL0 0xca01 /* PLCA Control register 0 */ | ||
#define MDIO_OATC14_PLCA_CTRL1 0xca02 /* PLCA Control register 1 */ | ||
#define MDIO_OATC14_PLCA_STATUS 0xca03 /* PLCA Status register */ | ||
#define MDIO_OATC14_PLCA_TOTMR 0xca04 /* PLCA TO Timer register */ | ||
#define MDIO_OATC14_PLCA_BURST 0xca05 /* PLCA BURST mode register */ | ||
|
||
/* Open Alliance TC14 PLCA IDVER register */ | ||
#define MDIO_OATC14_PLCA_IDM 0xff00 /* PLCA MAP ID */ | ||
#define MDIO_OATC14_PLCA_VER 0x00ff /* PLCA MAP version */ | ||
|
||
/* Open Alliance TC14 PLCA CTRL0 register */ | ||
#define MDIO_OATC14_PLCA_EN BIT(15) /* PLCA enable */ | ||
#define MDIO_OATC14_PLCA_RST BIT(14) /* PLCA reset */ | ||
|
||
/* Open Alliance TC14 PLCA CTRL1 register */ | ||
#define MDIO_OATC14_PLCA_NCNT 0xff00 /* PLCA node count */ | ||
#define MDIO_OATC14_PLCA_ID 0x00ff /* PLCA local node ID */ | ||
|
||
/* Open Alliance TC14 PLCA STATUS register */ | ||
#define MDIO_OATC14_PLCA_PST BIT(15) /* PLCA status indication */ | ||
|
||
/* Open Alliance TC14 PLCA TOTMR register */ | ||
#define MDIO_OATC14_PLCA_TOT 0x00ff | ||
|
||
/* Open Alliance TC14 PLCA BURST register */ | ||
#define MDIO_OATC14_PLCA_MAXBC 0xff00 | ||
#define MDIO_OATC14_PLCA_BTMR 0x00ff | ||
|
||
/* Version Identifiers */ | ||
#define OATC14_IDM 0x0a00 | ||
|
||
#endif /* __MDIO_OPEN_ALLIANCE__ */ |
Oops, something went wrong.