diff options
Diffstat (limited to 'include/linux/mdio.h')
-rw-r--r-- | include/linux/mdio.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/include/linux/mdio.h b/include/linux/mdio.h index dfb947959ec9..7cccafe50e7b 100644 --- a/include/linux/mdio.h +++ b/include/linux/mdio.h | |||
@@ -43,7 +43,11 @@ | |||
43 | #define MDIO_PKGID2 15 | 43 | #define MDIO_PKGID2 15 |
44 | #define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */ | 44 | #define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */ |
45 | #define MDIO_AN_LPA 19 /* AN LP abilities (base page) */ | 45 | #define MDIO_AN_LPA 19 /* AN LP abilities (base page) */ |
46 | #define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */ | ||
47 | #define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */ | ||
46 | #define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */ | 48 | #define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */ |
49 | #define MDIO_AN_EEE_ADV 60 /* EEE advertisement */ | ||
50 | #define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */ | ||
47 | 51 | ||
48 | /* Media-dependent registers. */ | 52 | /* Media-dependent registers. */ |
49 | #define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */ | 53 | #define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */ |
@@ -56,7 +60,6 @@ | |||
56 | #define MDIO_PCS_10GBRT_STAT2 33 /* 10GBASE-R/-T PCS status 2 */ | 60 | #define MDIO_PCS_10GBRT_STAT2 33 /* 10GBASE-R/-T PCS status 2 */ |
57 | #define MDIO_AN_10GBT_CTRL 32 /* 10GBASE-T auto-negotiation control */ | 61 | #define MDIO_AN_10GBT_CTRL 32 /* 10GBASE-T auto-negotiation control */ |
58 | #define MDIO_AN_10GBT_STAT 33 /* 10GBASE-T auto-negotiation status */ | 62 | #define MDIO_AN_10GBT_STAT 33 /* 10GBASE-T auto-negotiation status */ |
59 | #define MDIO_AN_EEE_ADV 60 /* EEE advertisement */ | ||
60 | 63 | ||
61 | /* LASI (Link Alarm Status Interrupt) registers, defined by XENPAK MSA. */ | 64 | /* LASI (Link Alarm Status Interrupt) registers, defined by XENPAK MSA. */ |
62 | #define MDIO_PMA_LASI_RXCTRL 0x9000 /* RX_ALARM control */ | 65 | #define MDIO_PMA_LASI_RXCTRL 0x9000 /* RX_ALARM control */ |
@@ -82,6 +85,7 @@ | |||
82 | #define MDIO_AN_CTRL1_RESTART BMCR_ANRESTART | 85 | #define MDIO_AN_CTRL1_RESTART BMCR_ANRESTART |
83 | #define MDIO_AN_CTRL1_ENABLE BMCR_ANENABLE | 86 | #define MDIO_AN_CTRL1_ENABLE BMCR_ANENABLE |
84 | #define MDIO_AN_CTRL1_XNP 0x2000 /* Enable extended next page */ | 87 | #define MDIO_AN_CTRL1_XNP 0x2000 /* Enable extended next page */ |
88 | #define MDIO_PCS_CTRL1_CLKSTOP_EN 0x400 /* Stop the clock during LPI */ | ||
85 | 89 | ||
86 | /* 10 Gb/s */ | 90 | /* 10 Gb/s */ |
87 | #define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00) | 91 | #define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00) |
@@ -237,9 +241,25 @@ | |||
237 | #define MDIO_AN_10GBT_STAT_MS 0x4000 /* Master/slave config */ | 241 | #define MDIO_AN_10GBT_STAT_MS 0x4000 /* Master/slave config */ |
238 | #define MDIO_AN_10GBT_STAT_MSFLT 0x8000 /* Master/slave config fault */ | 242 | #define MDIO_AN_10GBT_STAT_MSFLT 0x8000 /* Master/slave config fault */ |
239 | 243 | ||
240 | /* AN EEE Advertisement register. */ | 244 | /* EEE Supported/Advertisement/LP Advertisement registers. |
241 | #define MDIO_AN_EEE_ADV_100TX 0x0002 /* Advertise 100TX EEE cap */ | 245 | * |
242 | #define MDIO_AN_EEE_ADV_1000T 0x0004 /* Advertise 1000T EEE cap */ | 246 | * EEE capability Register (3.20), Advertisement (7.60) and |
247 | * Link partner ability (7.61) registers have and can use the same identical | ||
248 | * bit masks. | ||
249 | */ | ||
250 | #define MDIO_AN_EEE_ADV_100TX 0x0002 /* Advertise 100TX EEE cap */ | ||
251 | #define MDIO_AN_EEE_ADV_1000T 0x0004 /* Advertise 1000T EEE cap */ | ||
252 | /* Note: the two defines above can be potentially used by the user-land | ||
253 | * and cannot remove them now. | ||
254 | * So, we define the new generic MDIO_EEE_100TX and MDIO_EEE_1000T macros | ||
255 | * using the previous ones (that can be considered obsolete). | ||
256 | */ | ||
257 | #define MDIO_EEE_100TX MDIO_AN_EEE_ADV_100TX /* 100TX EEE cap */ | ||
258 | #define MDIO_EEE_1000T MDIO_AN_EEE_ADV_1000T /* 1000T EEE cap */ | ||
259 | #define MDIO_EEE_10GT 0x0008 /* 10GT EEE cap */ | ||
260 | #define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */ | ||
261 | #define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */ | ||
262 | #define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */ | ||
243 | 263 | ||
244 | /* LASI RX_ALARM control/status registers. */ | 264 | /* LASI RX_ALARM control/status registers. */ |
245 | #define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */ | 265 | #define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */ |