FILE
mdio-open-alliance.h
File preview with syntax highlighting.
linux-6.19.14/drivers/net/phy/mdio-open-alliance.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * mdio-open-alliance.h - definition of OPEN Alliance SIG standard registers 4 */ 5 6#ifndef __MDIO_OPEN_ALLIANCE__ 7#define __MDIO_OPEN_ALLIANCE__ 8 9#include <linux/mdio.h> 10 11/* NOTE: all OATC14 registers are located in MDIO_MMD_VEND2 */ 12 13/* Open Alliance TC14 (10BASE-T1S) registers */ 14#define MDIO_OATC14_PLCA_IDVER 0xca00 /* PLCA ID and version */ 15#define MDIO_OATC14_PLCA_CTRL0 0xca01 /* PLCA Control register 0 */ 16#define MDIO_OATC14_PLCA_CTRL1 0xca02 /* PLCA Control register 1 */ 17#define MDIO_OATC14_PLCA_STATUS 0xca03 /* PLCA Status register */ 18#define MDIO_OATC14_PLCA_TOTMR 0xca04 /* PLCA TO Timer register */ 19#define MDIO_OATC14_PLCA_BURST 0xca05 /* PLCA BURST mode register */ 20 21/* Open Alliance TC14 PLCA IDVER register */ 22#define MDIO_OATC14_PLCA_IDM 0xff00 /* PLCA MAP ID */ 23#define MDIO_OATC14_PLCA_VER 0x00ff /* PLCA MAP version */ 24 25/* Open Alliance TC14 PLCA CTRL0 register */ 26#define MDIO_OATC14_PLCA_EN BIT(15) /* PLCA enable */ 27#define MDIO_OATC14_PLCA_RST BIT(14) /* PLCA reset */ 28 29/* Open Alliance TC14 PLCA CTRL1 register */ 30#define MDIO_OATC14_PLCA_NCNT 0xff00 /* PLCA node count */ 31#define MDIO_OATC14_PLCA_ID 0x00ff /* PLCA local node ID */ 32 33/* Open Alliance TC14 PLCA STATUS register */ 34#define MDIO_OATC14_PLCA_PST BIT(15) /* PLCA status indication */ 35 36/* Open Alliance TC14 PLCA TOTMR register */ 37#define MDIO_OATC14_PLCA_TOT 0x00ff 38 39/* Open Alliance TC14 PLCA BURST register */ 40#define MDIO_OATC14_PLCA_MAXBC 0xff00 41#define MDIO_OATC14_PLCA_BTMR 0x00ff 42 43/* Version Identifiers */ 44#define OATC14_IDM 0x0a00 45 46/* 47 * Open Alliance TC14 (10BASE-T1S) - Advanced Diagnostic Features Registers 48 * 49 * Refer to the OPEN Alliance documentation: 50 * https://opensig.org/automotive-ethernet-specifications/ 51 * 52 * Specification: 53 * "10BASE-T1S Advanced Diagnostic PHY Features" 54 * https://opensig.org/wp-content/uploads/2025/06/OPEN_Alliance_10BASE-T1S_Advanced_PHY_features_for-automotive_Ethernet_V2.1b.pdf 55 */ 56/* Advanced Diagnostic Features Capability Register*/ 57#define MDIO_OATC14_ADFCAP 0xcc00 58#define OATC14_ADFCAP_HDD_CAPABILITY GENMASK(10, 8) 59#define OATC14_ADFCAP_SQIPLUS_CAPABILITY GENMASK(4, 1) 60#define OATC14_ADFCAP_SQI_CAPABILITY BIT(0) 61 62/* Harness Defect Detection Register */ 63#define MDIO_OATC14_HDD 0xcc01 64#define OATC14_HDD_CONTROL BIT(15) 65#define OATC14_HDD_READY BIT(14) 66#define OATC14_HDD_START_CONTROL BIT(13) 67#define OATC14_HDD_VALID BIT(2) 68#define OATC14_HDD_SHORT_OPEN_STATUS GENMASK(1, 0) 69 70/* Dynamic Channel Quality SQI Register */ 71#define MDIO_OATC14_DCQ_SQI 0xcc03 72#define OATC14_DCQ_SQI_VALUE GENMASK(2, 0) 73 74/* Dynamic Channel Quality SQI Plus Register */ 75#define MDIO_OATC14_DCQ_SQIPLUS 0xcc04 76#define OATC14_DCQ_SQIPLUS_VALUE GENMASK(7, 0) 77 78/* SQI is supported using 3 bits means 8 levels (0-7) */ 79#define OATC14_SQI_MAX_LEVEL 7 80 81/* Bus Short/Open Status: 82 * 0 0 - no fault; everything is ok. (Default) 83 * 0 1 - detected as an open or missing termination(s) 84 * 1 0 - detected as a short or extra termination(s) 85 * 1 1 - fault but fault type not detectable. More details can be available by 86 * vender specific register if supported. 87 */ 88enum oatc14_hdd_status { 89 OATC14_HDD_STATUS_CABLE_OK = 0, 90 OATC14_HDD_STATUS_OPEN, 91 OATC14_HDD_STATUS_SHORT, 92 OATC14_HDD_STATUS_NOT_DETECTABLE, 93}; 94 95#endif /* __MDIO_OPEN_ALLIANCE__ */
~/
Read-only file preview.