.. | .. |
---|
45 | 45 | #define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */ |
---|
46 | 46 | #define MDIO_AN_LPA 19 /* AN LP abilities (base page) */ |
---|
47 | 47 | #define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */ |
---|
| 48 | +#define MDIO_PCS_EEE_ABLE2 21 /* EEE Capability register 2 */ |
---|
| 49 | +#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */ |
---|
48 | 50 | #define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */ |
---|
49 | 51 | #define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */ |
---|
50 | 52 | #define MDIO_AN_EEE_ADV 60 /* EEE advertisement */ |
---|
51 | 53 | #define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */ |
---|
| 54 | +#define MDIO_AN_EEE_ADV2 62 /* EEE advertisement 2 */ |
---|
| 55 | +#define MDIO_AN_EEE_LPABLE2 63 /* EEE link partner ability 2 */ |
---|
52 | 56 | |
---|
53 | 57 | /* Media-dependent registers. */ |
---|
54 | 58 | #define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */ |
---|
.. | .. |
---|
92 | 96 | #define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00) |
---|
93 | 97 | /* 10PASS-TS/2BASE-TL */ |
---|
94 | 98 | #define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04) |
---|
| 99 | +/* 2.5 Gb/s */ |
---|
| 100 | +#define MDIO_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18) |
---|
| 101 | +/* 5 Gb/s */ |
---|
| 102 | +#define MDIO_CTRL1_SPEED5G (MDIO_CTRL1_SPEEDSELEXT | 0x1c) |
---|
95 | 103 | |
---|
96 | 104 | /* Status register 1. */ |
---|
97 | 105 | #define MDIO_STAT1_LPOWERABLE 0x0002 /* Low-power ability */ |
---|
.. | .. |
---|
115 | 123 | |
---|
116 | 124 | /* Device present registers. */ |
---|
117 | 125 | #define MDIO_DEVS_PRESENT(devad) (1 << (devad)) |
---|
| 126 | +#define MDIO_DEVS_C22PRESENT MDIO_DEVS_PRESENT(0) |
---|
118 | 127 | #define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD) |
---|
119 | 128 | #define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS) |
---|
120 | 129 | #define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS) |
---|
.. | .. |
---|
123 | 132 | #define MDIO_DEVS_TC MDIO_DEVS_PRESENT(MDIO_MMD_TC) |
---|
124 | 133 | #define MDIO_DEVS_AN MDIO_DEVS_PRESENT(MDIO_MMD_AN) |
---|
125 | 134 | #define MDIO_DEVS_C22EXT MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT) |
---|
| 135 | +#define MDIO_DEVS_VEND1 MDIO_DEVS_PRESENT(MDIO_MMD_VEND1) |
---|
| 136 | +#define MDIO_DEVS_VEND2 MDIO_DEVS_PRESENT(MDIO_MMD_VEND2) |
---|
126 | 137 | |
---|
127 | 138 | /* Control register 2. */ |
---|
128 | 139 | #define MDIO_PMA_CTRL2_TYPE 0x000f /* PMA/PMD type selection */ |
---|
.. | .. |
---|
142 | 153 | #define MDIO_PMA_CTRL2_1000BKX 0x000d /* 1000BASE-KX type */ |
---|
143 | 154 | #define MDIO_PMA_CTRL2_100BTX 0x000e /* 100BASE-TX type */ |
---|
144 | 155 | #define MDIO_PMA_CTRL2_10BT 0x000f /* 10BASE-T type */ |
---|
| 156 | +#define MDIO_PMA_CTRL2_2_5GBT 0x0030 /* 2.5GBaseT type */ |
---|
| 157 | +#define MDIO_PMA_CTRL2_5GBT 0x0031 /* 5GBaseT type */ |
---|
145 | 158 | #define MDIO_PCS_CTRL2_TYPE 0x0003 /* PCS type selection */ |
---|
146 | 159 | #define MDIO_PCS_CTRL2_10GBR 0x0000 /* 10GBASE-R type */ |
---|
147 | 160 | #define MDIO_PCS_CTRL2_10GBX 0x0001 /* 10GBASE-X type */ |
---|
.. | .. |
---|
195 | 208 | #define MDIO_PMA_EXTABLE_1000BKX 0x0040 /* 1000BASE-KX ability */ |
---|
196 | 209 | #define MDIO_PMA_EXTABLE_100BTX 0x0080 /* 100BASE-TX ability */ |
---|
197 | 210 | #define MDIO_PMA_EXTABLE_10BT 0x0100 /* 10BASE-T ability */ |
---|
| 211 | +#define MDIO_PMA_EXTABLE_NBT 0x4000 /* 2.5/5GBASE-T ability */ |
---|
198 | 212 | |
---|
199 | 213 | /* PHY XGXS lane state register. */ |
---|
200 | 214 | #define MDIO_PHYXS_LNSTAT_SYNC0 0x0001 |
---|
.. | .. |
---|
231 | 245 | #define MDIO_PCS_10GBRT_STAT2_BER 0x3f00 |
---|
232 | 246 | |
---|
233 | 247 | /* AN 10GBASE-T control register. */ |
---|
| 248 | +#define MDIO_AN_10GBT_CTRL_ADV2_5G 0x0080 /* Advertise 2.5GBASE-T */ |
---|
| 249 | +#define MDIO_AN_10GBT_CTRL_ADV5G 0x0100 /* Advertise 5GBASE-T */ |
---|
234 | 250 | #define MDIO_AN_10GBT_CTRL_ADV10G 0x1000 /* Advertise 10GBASE-T */ |
---|
235 | 251 | |
---|
236 | 252 | /* AN 10GBASE-T status register. */ |
---|
| 253 | +#define MDIO_AN_10GBT_STAT_LP2_5G 0x0020 /* LP is 2.5GBT capable */ |
---|
| 254 | +#define MDIO_AN_10GBT_STAT_LP5G 0x0040 /* LP is 5GBT capable */ |
---|
237 | 255 | #define MDIO_AN_10GBT_STAT_LPTRR 0x0200 /* LP training reset req. */ |
---|
238 | 256 | #define MDIO_AN_10GBT_STAT_LPLTABLE 0x0400 /* LP loop timing ability */ |
---|
239 | 257 | #define MDIO_AN_10GBT_STAT_LP10G 0x0800 /* LP is 10GBT capable */ |
---|
.. | .. |
---|
261 | 279 | #define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */ |
---|
262 | 280 | #define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */ |
---|
263 | 281 | #define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */ |
---|
| 282 | +#define MDIO_EEE_40GR_FW 0x0100 /* 40G R fast wake */ |
---|
| 283 | +#define MDIO_EEE_40GR_DS 0x0200 /* 40G R deep sleep */ |
---|
| 284 | +#define MDIO_EEE_100GR_FW 0x1000 /* 100G R fast wake */ |
---|
| 285 | +#define MDIO_EEE_100GR_DS 0x2000 /* 100G R deep sleep */ |
---|
| 286 | + |
---|
| 287 | +#define MDIO_EEE_2_5GT 0x0001 /* 2.5GT EEE cap */ |
---|
| 288 | +#define MDIO_EEE_5GT 0x0002 /* 5GT EEE cap */ |
---|
| 289 | + |
---|
| 290 | +/* 2.5G/5G Extended abilities register. */ |
---|
| 291 | +#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */ |
---|
| 292 | +#define MDIO_PMA_NG_EXTABLE_5GBT 0x0002 /* 5GBASET ability */ |
---|
264 | 293 | |
---|
265 | 294 | /* LASI RX_ALARM control/status registers. */ |
---|
266 | 295 | #define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */ |
---|
.. | .. |
---|
295 | 324 | return MDIO_PHY_ID_C45 | (prtad << 5) | devad; |
---|
296 | 325 | } |
---|
297 | 326 | |
---|
| 327 | +/* UsxgmiiChannelInfo[15:0] for USXGMII in-band auto-negotiation.*/ |
---|
| 328 | +#define MDIO_USXGMII_EEE_CLK_STP 0x0080 /* EEE clock stop supported */ |
---|
| 329 | +#define MDIO_USXGMII_EEE 0x0100 /* EEE supported */ |
---|
| 330 | +#define MDIO_USXGMII_SPD_MASK 0x0e00 /* USXGMII speed mask */ |
---|
| 331 | +#define MDIO_USXGMII_FULL_DUPLEX 0x1000 /* USXGMII full duplex */ |
---|
| 332 | +#define MDIO_USXGMII_DPX_SPD_MASK 0x1e00 /* USXGMII duplex and speed bits */ |
---|
| 333 | +#define MDIO_USXGMII_10 0x0000 /* 10Mbps */ |
---|
| 334 | +#define MDIO_USXGMII_10HALF 0x0000 /* 10Mbps half-duplex */ |
---|
| 335 | +#define MDIO_USXGMII_10FULL 0x1000 /* 10Mbps full-duplex */ |
---|
| 336 | +#define MDIO_USXGMII_100 0x0200 /* 100Mbps */ |
---|
| 337 | +#define MDIO_USXGMII_100HALF 0x0200 /* 100Mbps half-duplex */ |
---|
| 338 | +#define MDIO_USXGMII_100FULL 0x1200 /* 100Mbps full-duplex */ |
---|
| 339 | +#define MDIO_USXGMII_1000 0x0400 /* 1000Mbps */ |
---|
| 340 | +#define MDIO_USXGMII_1000HALF 0x0400 /* 1000Mbps half-duplex */ |
---|
| 341 | +#define MDIO_USXGMII_1000FULL 0x1400 /* 1000Mbps full-duplex */ |
---|
| 342 | +#define MDIO_USXGMII_10G 0x0600 /* 10Gbps */ |
---|
| 343 | +#define MDIO_USXGMII_10GHALF 0x0600 /* 10Gbps half-duplex */ |
---|
| 344 | +#define MDIO_USXGMII_10GFULL 0x1600 /* 10Gbps full-duplex */ |
---|
| 345 | +#define MDIO_USXGMII_2500 0x0800 /* 2500Mbps */ |
---|
| 346 | +#define MDIO_USXGMII_2500HALF 0x0800 /* 2500Mbps half-duplex */ |
---|
| 347 | +#define MDIO_USXGMII_2500FULL 0x1800 /* 2500Mbps full-duplex */ |
---|
| 348 | +#define MDIO_USXGMII_5000 0x0a00 /* 5000Mbps */ |
---|
| 349 | +#define MDIO_USXGMII_5000HALF 0x0a00 /* 5000Mbps half-duplex */ |
---|
| 350 | +#define MDIO_USXGMII_5000FULL 0x1a00 /* 5000Mbps full-duplex */ |
---|
| 351 | +#define MDIO_USXGMII_LINK 0x8000 /* PHY link with copper-side partner */ |
---|
| 352 | + |
---|
298 | 353 | #endif /* _UAPI__LINUX_MDIO_H__ */ |
---|