This patch series adds Signal Quality Indicator (SQI) and enhanced SQI+
support for OATC14 10Base-T1S PHYs, along with integration into the
Microchip T1S PHY driver. This enables ethtool to report the SQI value for
OATC14 10Base-T1S PHYs.
Patch Summary:
1. add SQI and SQI+ support for OATC14 10Base-T1S PHYs
- Introduces MDIO register definitions for DCQ_SQI and DCQ_SQIPLUS.
- Adds genphy_c45_oatc14_get_sqi_max() to report the maximum SQI/SQI+
level.
- Adds genphy_c45_oatc14_get_sqi() to return the current SQI or SQI+
value.
- Updates include/linux/phy.h to expose the new APIs.
- SQI+ capability is read from the Advanced Diagnostic Features
Capability register (ADFCAP). If unsupported, the driver falls back
to basic SQI (0–7 levels).
- If SQI+ capability is supported, the function returns the extended
SQI+ value; otherwise, it returns the basic SQI value.
- Open Alliance TC14 10BASE-T1S Advanced Diagnostic PHY Features.
https://opensig.org/wp-content/uploads/2025/06/OPEN_Alliance_10BASE-T1S_Advanced_PHY_features_for-automotive_Ethernet_V2.1b.pdf
2. add SQI support for LAN867x Rev.D0 PHYs
- Registers .get_sqi and .get_sqi_max callbacks in the Microchip T1S
driver.
- Enables network drivers and diagnostic tools to query link signal
quality for LAN867x Rev.D0 PHYs.
- Existing PHY functionality remains unchanged.
v2:
- Updated cover letter description for better clarity.
- Added oatc14_sqiplus_bits variable to cache the SQI+ capability in the
phy device structure.
- Fixed function description comment style warnings reported by the
kernel test robot.
v3:
- Reworked SQI/SQI+ update sequencing to address the issue,
oatc14_sqiplus_bits being 0 until after
genphy_c45_oatc14_get_sqi_max() is called.
v4:
- Added the missing description for the member
to fix the kernel-doc warning.
Parthiban Veerasooran (2):
net: phy: phy-c45: add SQI and SQI+ support for OATC14 10Base-T1S PHYs
net: phy: microchip_t1s: add SQI support for LAN867x Rev.D0 PHYs
drivers/net/phy/mdio-open-alliance.h | 13 +++
drivers/net/phy/microchip_t1s.c | 2 +
drivers/net/phy/phy-c45.c | 137 +++++++++++++++++++++++++++
include/linux/phy.h | 29 ++++++
4 files changed, 181 insertions(+)
base-commit: 0177f0f07886e54e12c6f18fa58f63e63ddd3c58
--
2.34.1