Module Name: src Committed By: martin Date: Tue Nov 21 14:43:17 UTC 2017
Modified Files: src/sys/dev/mii [netbsd-8]: mdio.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #363): sys/dev/mii/mdio.h: revision 1.4 sys/dev/mii/mdio.h: revision 1.5 sys/dev/mii/mdio.h: revision 1.6 sys/dev/mii/mdio.h: revision 1.7 Add missing RCS Id. Fix typo. - Update IEEE 802.3 Clause 45 definitions from IEEE 802.3 2009 to IEEE 802.3 2015. - Modify register names. - Modify comments. Define bit definitions of MDIO_PMAPMD_CTRL1 and MDIO_AN_CTRL1. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.3.32.1 src/sys/dev/mii/mdio.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/mii/mdio.h diff -u src/sys/dev/mii/mdio.h:1.3 src/sys/dev/mii/mdio.h:1.3.32.1 --- src/sys/dev/mii/mdio.h:1.3 Mon Apr 15 16:19:48 2013 +++ src/sys/dev/mii/mdio.h Tue Nov 21 14:43:17 2017 @@ -1,3 +1,5 @@ +/* $NetBSD: mdio.h,v 1.3.32.1 2017/11/21 14:43:17 martin Exp $ */ + /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,14 +35,13 @@ /* * IEEE 802.3 Clause 45 definitions. * From: - * IEEE 802.3 2009 + * IEEE 802.3 2015 * IEEE 802.3at * IEEE 802.3av - * IEEE 802.3az */ /* - * MDIO Manageable Device addresses. + * MDIO Manageable Device (MMD) addresses. * Table 45-1 */ #define MDIO_MMD_PMAPMD 1 @@ -50,15 +51,37 @@ #define MDIO_MMD_DTEXS 5 #define MDIO_MMD_TC 6 #define MDIO_MMD_AN 7 +#define MDIO_MMD_SEPPMA1 8 +#define MDIO_MMD_SEPPMA2 9 +#define MDIO_MMD_SEPPMA3 10 +#define MDIO_MMD_SEPPMA4 11 #define MDIO_MMD_CL22EXT 29 #define MDIO_MMD_VNDSP1 30 #define MDIO_MMD_VNDSP2 31 /* - * MDIO PMA/PMD registers. + * PMA/PMD registers. * Table 45-3 */ #define MDIO_PMAPMD_CTRL1 0 /* PMA/PMD control 1 */ +#define PMAPMD_CTRL1_RESET 0x8000 /* Reset */ +#define PMAPMD_CTRL1_SPEED0 0x2000 /* Speed selection (LSB) */ +#define PMAPMD_CTRL1_LOWPWR 0x0800 /* Low power */ +#define PMAPMD_CTRL1_SPEED1 0x0040 /* Speed selection (MSB) */ +#define PMAPMD_CTRL1_SPEED2 0x003c /* Speed selection (over 1G) */ +#define PMAPMD_CTRL1_LOOP_REM 0x0002 /* PMA remote loopback */ +#define PMAPMD_CTRL1_LOOP_LOC 0x0001 /* PMA local loopback */ +#define PMAPMD_CTRL1_SPEED_SEL52 (PMAPMD_CTRL1_SPEED0 | PMAPMD_CTRL1_SPEED1) +#define PMAPMD_CTRL1_SPEED_MASK (PMAPMD_CTRL1_SPEED_SEL52 \ + | PMAPMD_CTRL1_SPEED2) +#define PMAPMD_CTRL1_SPEED_10 0 +#define PMAPMD_CTRL1_SPEED_100 PMAPMD_CTRL1_SPEED0 +#define PMAPMD_CTRL1_SPEED_1G PMAPMD_CTRL1_SPEED1 +#define PMAPMD_CTRL1_SPEED_10G PMAPMD_CTRL1_SPEED_SEL52 +#define PMAPMD_CTRL1_SPEED_10PASS (PMAPMD_CTRL1_SPEED_SEL52 | (1 << 2)) +#define PMAPMD_CTRL1_SPEED_40G (PMAPMD_CTRL1_SPEED_SEL52 | (2 << 2)) +#define PMAPMD_CTRL1_SPEED_100G (PMAPMD_CTRL1_SPEED_SEL52 | (3 << 2)) + #define MDIO_PMAPMD_STAT1 1 /* PMA/PMD status 1 */ #define MDIO_PMAPMD_DEVID1 2 /* PMA/PMD device identifier 1 */ #define MDIO_PMAPMD_DEVID2 3 /* PMA/PMD device identifier 2 */ @@ -71,10 +94,11 @@ #define MDIO_PMAPMD_RXSIGDTCT 10 /* 10G PMD receive signal detect */ #define MDIO_PMAPMD_EXTABLTY 11 /* 10G PMA/PMD ext. ability reg */ #define MDIO_PMAPMD_P2MPABLTY 12 /* P2MP ability register(802.3av)*/ - /* Value 13 is reserved */ +#define MDIO_PMAPMD_40G100GEXTABLTY 13 /* 40G/100G extended ability */ #define MDIO_PMAPMD_PKGID1 14 /* PMA/PMD package identifier 1 */ #define MDIO_PMAPMD_PKGID2 15 /* PMA/PMD package identifier 2 */ - /* Values 16 to 29 are reserved */ +#define MDIO_PMAPMD_EEECAP 16 /* PMA/PMD EEE capability */ + /* Values 17 to 29 are reserved */ #define MDIO_PMAPMD_10P2BCTRL 30 /* 10P/2B PMA/PMD control */ #define MDIO_PMAPMD_10P2BSTAT 31 /* 10P/2B PMA/PMD status */ #define MDIO_PMAPMD_10P2BLPCTRL 32 /* 10P/2B link partner PMA/D ctrl*/ @@ -100,7 +124,7 @@ #define MDIO_PMAPMD_10PDSRSCONF 53 /* 10P downstream ReedSolomon cnf*/ #define MDIO_PMAPMD_10PUSDR1 54 /* 10P upstream data rate cnf1 */ #define MDIO_PMAPMD_10PUSDR2 55 /* 10P upstream data rate cnf2 */ -#define MDIO_PMAPMD_10PUSRSCONF 56 /* 10P upnstream ReedSolomon cnf */ +#define MDIO_PMAPMD_10PUSRSCONF 56 /* 10P upstream ReedSolomon cnf */ #define MDIO_PMAPMD_10PTONEGROUP1 57 /* 10P tone group 1 */ #define MDIO_PMAPMD_10PTONEGROUP2 58 /* 10P tone group 2 */ #define MDIO_PMAPMD_10PTONEPARAM1 59 /* 10P tone parameter 1 */ @@ -168,28 +192,114 @@ #define MDIO_PMAPMD_10GTSKEWDLY2 146 /* 10G-T skew delay 2 */ #define MDIO_PMAPMD_10GTFSTRETSTATCTRL 147 /* 10G-T fast retrain stat&ctrl */ /* Values 148 to 149 are reserved */ -#define MDIO_PMAPMD_10GKRPMDCTRL 150 /* 10G-KR PMD control */ -#define MDIO_PMAPMD_10GKRPMDSTAT 151 /* 10G-KR PMD status */ -#define MDIO_PMAPMD_10GKRLPCOEFUPD 152 /* 10G-KR LP coefficient update */ -#define MDIO_PMAPMD_10GKRLPSTATRPT 153 /* 10G-KR LP status report */ -#define MDIO_PMAPMD_10GKRLDCOEFFUPD 154 /* 10G-KR LD coefficient update */ -#define MDIO_PMAPMD_10GKRLDSTATRPT 155 /* 10G-KR LD status report */ - /* Values 156 to 159 are reserved */ -#define MDIO_PMAPMD_10GKXCTRL 160 /* 10G-KX control */ -#define MDIO_PMAPMD_10GKXSTAT 161 /* 10G-KX status */ - /* Values 162 to 169 are reserved */ -#define MDIO_PMAPMD_10GRFECABLTY 170 /* 10G-R FEC ability */ -#define MDIO_PMAPMD_10GRFECCTRL 171 /* 10G-R FEC control */ -#define MDIO_PMAPMD_10GRFECCOBLCNT1 172 /* 10G-R FEC corrected blks cnt1 */ -#define MDIO_PMAPMD_10GRFECCOBLCNT2 173 /* 10G-R FEC corrected blks cnt2 */ -#define MDIO_PMAPMD_10GRFECUNCOBLCNT1 174 /* 10G-R FEC uncorrect blks cnt1 */ -#define MDIO_PMAPMD_10GRFECUNCOBLCNT2 175 /* 10G-R FEC uncorrect blks cnt2 */ - /* Values 176 to 32767 are reserved */ +#define MDIO_PMAPMD_BASERPMDCTRL 150 /* BASE-R PMD control */ +#define MDIO_PMAPMD_BASERPMDSTAT 151 /* BASE-R PMD status */ +#define MDIO_PMAPMD_BASERLPCOEFUPDL0 152 /* BASE-R LP coeffici. update ln0*/ +#define MDIO_PMAPMD_BASERLPSTATRPTL0 153 /* BASE-R LP status report lane0 */ +#define MDIO_PMAPMD_BASERLDCOEFFUPDL0 154 /* BASE-R LD coeffici. update ln0*/ +#define MDIO_PMAPMD_BASERLDSTATRPTL0 155 /* BASE-R LD status report lane0 */ +#define MDIO_PMAPMD_BASERSTAT2 156 /* BASE-R PMD status 2 */ +#define MDIO_PMAPMD_BASERSTAT3 157 /* BASE-R PMD status 3 */ + /* Values 158 to 159 are reserved */ +#define MDIO_PMAPMD_1000KXCTRL 160 /* 1000BASE-KX control */ +#define MDIO_PMAPMD_1000KXSTAT 161 /* 1000BASE-KX status */ +#define MDIO_PMAPMD_PMAOVHDCTRL1 162 /* PMA Overhead Control 1 */ +#define MDIO_PMAPMD_PMAOVHDCTRL2 163 /* PMA Overhead Control 2 */ +#define MDIO_PMAPMD_PMAOVHDCTRL3 164 /* PMA Overhead Control 3 */ +#define MDIO_PMAPMD_PMAOVHDSTAT1 165 /* PMA Overhead Status 1 */ +#define MDIO_PMAPMD_PMAOVHDSTAT2 166 /* PMA Overhead Status 2 */ + /* Values 167 to 169 are reserved */ +#define MDIO_PMAPMD_BASERFECABLTY 170 /* BASE-R FEC ability */ +#define MDIO_PMAPMD_BASERFECCTRL 171 /* BASE-R FEC control */ +#define MDIO_PMAPMD_10GRFECCOBLCNTL 172 /* 10G-R FEC corrected blks cntL */ +#define MDIO_PMAPMD_10GRFECCOBLCNTH 173 /* 10G-R FEC corrected blks cntH */ +#define MDIO_PMAPMD_10GRFECUNCOBLCNTL 174 /* 10G-R FEC uncorrect blks cntL */ +#define MDIO_PMAPMD_10GRFECUNCOBLCNTH 175 /* 10G-R FEC uncorrect blks cntH */ + /* Values 176 to 178 are reserved */ +#define MDIO_PMAPMD_CAUI4C2MRECCTLE 179 /* CAUI-4 Chip2Mod recomme. CTLE */ +#define MDIO_PMAPMD_CAUI4C2CTERDIL0 180 /* CAUI-4 Ch2Ch TxEq RxDir lane0 */ +#define MDIO_PMAPMD_CAUI4C2CTERDIL1 181 /* lane1 */ +#define MDIO_PMAPMD_CAUI4C2CTERDIL2 182 /* lane2 */ +#define MDIO_PMAPMD_CAUI4C2CTERDIL3 183 /* lane3 */ +#define MDIO_PMAPMD_CAUI4C2CTETDEL0 184 /* CAUI-4 Ch2Ch TxEq TxDet lane0 */ +#define MDIO_PMAPMD_CAUI4C2CTETDEL1 185 /* lane1 */ +#define MDIO_PMAPMD_CAUI4C2CTETDEL2 186 /* lane2 */ +#define MDIO_PMAPMD_CAUI4C2CTETDEL3 187 /* lane3 */ + /* Values 188 to 199 are reserved */ +#define MDIO_PMAPMD_RSFECCTRL 200 /* RS-FEC Control */ +#define MDIO_PMAPMD_RSFECSTAT 201 /* RS-FEC Status */ +#define MDIO_PMAPMD_RSFECCORRCWCNTL 202 /* RS-FEC correct. codeword cntL */ +#define MDIO_PMAPMD_RSFECCORRCWCNTH 203 /* RS-FEC correct. codeword cntH */ +#define MDIO_PMAPMD_RSFECUNCORRCWCNTL 204 /* RS-FEC uncorre. codeword cntL */ +#define MDIO_PMAPMD_RSFECUNCORRCWCNTH 205 /* RS-FEC uncorre. codeword cntH */ +#define MDIO_PMAPMD_RSFECLANEMAP 206 /* RS-FEC Lane Mapping */ + /* Values 207 to 209 are reserved */ +#define MDIO_PMAPMD_RSFECSMBLERRCNTL(x) /* RS-FEC Symbol Error CntLow */ \ + (210 + ((x) * 2)) /* lane 0 to 3 */ +#define MDIO_PMAPMD_RSFECSMBLERRCNTH(x) /* RS-FEC Symbol Error CntHigh */ \ + (211 + ((x) * 2)) /* lane 0 to 3 */ + /* Values 218 to 229 are reserved */ +#define MDIO_PMAPMD_RSFECBIPERRCNT(x) /* RS-FEC BIP Error Counter */ \ + (230 + (x)) /* lane 0 to 19 */ +#define MDIO_PMAPMD_RSFECPCSLMAP(x) /* RS-FEC PCS Lane Mapping */ \ + (250 + (x)) /* lane 0 to 19 */ + /* Values 270 to 279 are reserved */ +#define MDIO_PMAPMD_RSFECPCSALGNSTAT1 280 /* RS-FEC PCS Alignment Status 1 */ +#define MDIO_PMAPMD_RSFECPCSALGNSTAT2 281 /* RS-FEC PCS Alignment Status 2 */ +#define MDIO_PMAPMD_RSFECPCSALGNSTAT3 282 /* RS-FEC PCS Alignment Status 3 */ +#define MDIO_PMAPMD_RSFECPCSALGNSTAT4 283 /* RS-FEC PCS Alignment Status 4 */ + /* Values 284 to 299 are reserved */ +#define MDIO_PMAPMD_BASERFECCORBLKCNTL(x) /* BASE-R FEC Corr. Blk. CntL */ \ + (300 + ((x) * 2)) /* lane0 to 19 */ +#define MDIO_PMAPMD_BASERFECCORBLKCNTH(x) /* BASE-R FEC Corr. Blk. CntH */ \ + (301 + ((x) * 2)) /* lane0 to 19 */ + /* Values 340 to 699 are reserved */ +#define MDIO_PMAPMD_BASERFECUNCORBLKCNTL(x) /* BASE-R FEC UnCorr. Blk. CntL*/ \ + (700 + ((x) * 2)) /* lane0 to 19 */ +#define MDIO_PMAPMD_BASERFECUNCORBLKCNTH(x) /* BASE-R FEC UnCorr. Blk. CntH*/ \ + (701 + ((x) * 2)) /* lane0 to 19 */ + /* Values 740 to 1099 are reserved */ +#define MDIO_PMAPMD_BASERLPCOEFUPD(x) /* BASE-R LP coefficient update */\ + (1100 + (x)) /* lane0 to 9 */ + /* Values 1110 to 1199 are reserved */ +#define MDIO_PMAPMD_BASERLPSTATRPT(x) /* BASE-R LP status report */ \ + (1200 + (x)) /* lane0 to 9 */ + /* Values 1210 to 1299 are reserved */ +#define MDIO_PMAPMD_BASERLDCOEFUPD(x) /* BASE-R LD coefficient update */\ + (1300 + (x)) /* lane0 to 9 */ + /* Values 1310 to 1399 are reserved */ +#define MDIO_PMAPMD_BASERLDSTATRPT(x) /* BASE-R LD status report */ \ + (1400 + (x)) /* lane0 to 9 */ + /* Values 1410 to 1449 are reserved */ +#define MDIO_PMAPMD_PMDTRAINPATTERN(x) /* PMD training pattern */ \ + (1450 + (x)) /* lane0 to 3 */ + /* Values 1454 to 1499 are reserved */ +#define MDIO_PMAPMD_TSTPAT 1500 /* Test-pattern ability */ +#define MDIO_PMAPMD_PRBSPATTSTCTRL 1501 /* PRBS pattern testing control */ + /* Values 1502 to 1509 are reserved */ +#define MDIO_PMAPMD_SQWVTSTCTRL 1510 /* Square wave testing control */ + /* Values 1511 to 1599 are reserved */ +#define MDIO_PMAPMD_PRBSTXERRCNT(x) /* PRBS Tx Error Counter */ \ + (1600 + (x)) /* lane0 to 9 */ + /* Values 1610 to 1699 are reserved */ +#define MDIO_PMAPMD_PRBSRXERRCNT(x) /* PRBS Rx Error Counter */ \ + (1700 + (x)) /* lane0 to 9 */ + /* Values 1710 to 1799 are reserved */ +#define MDIO_PMAPMD_TSYNCCAP 1800 /* TimeSync PMA/PMD capability */ +#define MDIO_PMAPMD_TSYNCTXMAXDLYL 1801 /* TimeSync PMAPMD TX MAXdelay L*/ +#define MDIO_PMAPMD_TSYNCTXMAXDLYH 1802 /* TimeSync PMAPMD TX MAXdelay H*/ +#define MDIO_PMAPMD_TSYNCTXMINDLYL 1803 /* TimeSync PMAPMD TX MINdelay L*/ +#define MDIO_PMAPMD_TSYNCTXMINDLYH 1804 /* TimeSync PMAPMD TX MINdelay H*/ +#define MDIO_PMAPMD_TSYNCRXMAXDLYL 1805 /* TimeSync PMAPMD RX MAXdelay L*/ +#define MDIO_PMAPMD_TSYNCRXMAXDLYH 1806 /* TimeSync PMAPMD RX MAXdelay H*/ +#define MDIO_PMAPMD_TSYNCRXMINDLYL 1807 /* TimeSync PMAPMD RX MINdelay L*/ +#define MDIO_PMAPMD_TSYNCRXMINDLYH 1808 /* TimeSync PMAPMD RX MINdelay H*/ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO WIS registers. - * Table 45-65 + * WIS registers. + * Table 45-99 */ #define MDIO_WIS_CTRL1 0 /* WIS control 1 */ #define MDIO_WIS_STAT1 1 /* WIS status 1 */ @@ -207,24 +317,13 @@ /* Values 16 to 32 are reserved */ #define MDIO_WIS_10GSTAT3 33 /* 10G WIS status 3 */ /* Values 34 to 36 are reserved */ -#define MDIO_WIS_FARENDPBERRCNT 37 /* WIS far end path block error count*/ +#define MDIO_WIS_10GFARENDPBERRCNT 37 /* 10G WIS far end path block errcnt */ /* Value 38 is reserved */ -#define MDIO_WIS_J1XMIT1 39 /* 10G WIS J1 transmit 1 */ -#define MDIO_WIS_J1XMIT2 40 /* 10G WIS J1 transmit 2 */ -#define MDIO_WIS_J1XMIT3 41 /* 10G WIS J1 transmit 3 */ -#define MDIO_WIS_J1XMIT4 42 /* 10G WIS J1 transmit 4 */ -#define MDIO_WIS_J1XMIT5 43 /* 10G WIS J1 transmit 5 */ -#define MDIO_WIS_J1XMIT6 44 /* 10G WIS J1 transmit 6 */ -#define MDIO_WIS_J1XMIT7 45 /* 10G WIS J1 transmit 7 */ -#define MDIO_WIS_J1XMIT8 46 /* 10G WIS J1 transmit 8 */ -#define MDIO_WIS_J1RECV1 47 /* 10G WIS J1 receive 1 */ -#define MDIO_WIS_J1RECV2 48 /* 10G WIS J1 receive 2 */ -#define MDIO_WIS_J1RECV3 49 /* 10G WIS J1 receive 3 */ -#define MDIO_WIS_J1RECV4 50 /* 10G WIS J1 receive 4 */ -#define MDIO_WIS_J1RECV5 51 /* 10G WIS J1 receive 5 */ -#define MDIO_WIS_J1RECV6 52 /* 10G WIS J1 receive 6 */ -#define MDIO_WIS_J1RECV7 53 /* 10G WIS J1 receive 7 */ -#define MDIO_WIS_J1RECV8 54 /* 10G WIS J1 receive 8 */ +#define MDIO_WIS_J1XMIT(x) /* 10G WIS J1 transmit */ \ + (39 + ((x) / 2))/* 0to15. L8=even, H8=odd */ + +#define MDIO_WIS_J1RCV(x) /* 10G WIS J1 receive */ \ + (47 + ((x) / 2))/* 0to15. L8=even, H8=odd */ #define MDIO_WIS_FARENDLBIPERR1 55 /* 10G WIS far end line BIP errors 1 */ #define MDIO_WIS_FARENDLBIPERR2 56 /* 10G WIS far end line BIP errors 2 */ #define MDIO_WIS_LBIPERR1 57 /* 10G WIS line BIP errors 1 */ @@ -232,28 +331,27 @@ #define MDIO_WIS_PBERRCNT 59 /* 10G WIS path block error count */ #define MDIO_WIS_SECBIPERRCNT 60 /* 10G WIS section BIP error count */ /* Values 61 to 63 are reserved */ -#define MDIO_WIS_J0XMIT1 64 /* 10G WIS J0 transmit 1 */ -#define MDIO_WIS_J0XMIT2 65 /* 10G WIS J0 transmit 2 */ -#define MDIO_WIS_J0XMIT3 66 /* 10G WIS J0 transmit 3 */ -#define MDIO_WIS_J0XMIT4 67 /* 10G WIS J0 transmit 4 */ -#define MDIO_WIS_J0XMIT5 68 /* 10G WIS J0 transmit 5 */ -#define MDIO_WIS_J0XMIT6 69 /* 10G WIS J0 transmit 6 */ -#define MDIO_WIS_J0XMIT7 70 /* 10G WIS J0 transmit 7 */ -#define MDIO_WIS_J0XMIT8 71 /* 10G WIS J0 transmit 8 */ -#define MDIO_WIS_J0RECV1 72 /* 10G WIS J0 receive 1 */ -#define MDIO_WIS_J0RECV2 73 /* 10G WIS J0 receive 2 */ -#define MDIO_WIS_J0RECV3 74 /* 10G WIS J0 receive 3 */ -#define MDIO_WIS_J0RECV4 75 /* 10G WIS J0 receive 4 */ -#define MDIO_WIS_J0RECV5 76 /* 10G WIS J0 receive 5 */ -#define MDIO_WIS_J0RECV6 77 /* 10G WIS J0 receive 6 */ -#define MDIO_WIS_J0RECV7 78 /* 10G WIS J0 receive 7 */ -#define MDIO_WIS_J0RECV8 79 /* 10G WIS J0 receive 8 */ - /* Values 80 to 32767 are reserved */ +#define MDIO_WIS_J0XMIT(x) /* 10G WIS J0 transmit */ \ + (64 + ((x) / 2))/* 0to15. L8=even, H8=odd */ + +#define MDIO_WIS_J0RCV(x) /* 10G WIS J0 receive */ \ + (72 + ((x) / 2))/* 0to15. L8=even, H8=odd */ + /* Values 80 to 1799 are reserved */ +#define MDIO_WIS_TSYNCCAP 1800 /* TimeSync WIS capability */ +#define MDIO_WIS_TSYNCTXMAXDLYL 1801 /* TimeSync WIS TX MAXdelay L*/ +#define MDIO_WIS_TSYNCTXMAXDLYH 1802 /* TimeSync WIS TX MAXdelay H*/ +#define MDIO_WIS_TSYNCTXMINDLYL 1803 /* TimeSync WIS TX MINdelay L*/ +#define MDIO_WIS_TSYNCTXMINDLYH 1804 /* TimeSync WIS TX MINdelay H*/ +#define MDIO_WIS_TSYNCRXMAXDLYL 1805 /* TimeSync WIS RX MAXdelay L*/ +#define MDIO_WIS_TSYNCRXMAXDLYH 1806 /* TimeSync WIS RX MAXdelay H*/ +#define MDIO_WIS_TSYNCRXMINDLYL 1807 /* TimeSync WIS RX MINdelay L*/ +#define MDIO_WIS_TSYNCRXMINDLYH 1808 /* TimeSync WIS RX MINdelay H*/ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO PCS registers. - * Table 45-82 + * PCS registers. + * Table 45-119 */ #define MDIO_PCS_CTRL1 0 /* PCS control 1 */ #define MDIO_PCS_STAT1 1 /* PCS status 1 */ @@ -268,28 +366,31 @@ #define MDIO_PCS_PKGID1 14 /* PCS package identifier 1 */ #define MDIO_PCS_PKGID2 15 /* PCS package identifier 2 */ /* Values 16 to 19 are reserved */ -#define MDIO_PCS_EEECAP 20 /* EEE capability register (802.3az) */ +#define MDIO_PCS_EEECTRLCAP 20 /* EEE control and capability */ /* Value 21 is reserved */ -#define MDIO_PCS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */ +#define MDIO_PCS_EEEWKERRCNT 22 /* EEE wake error counter */ /* Value 23 is reserved */ #define MDIO_PCS_10GXSTAT 24 /* 10G-X PCS status */ #define MDIO_PCS_10GXSTSCTRL 25 /* 10G-X PCS test control */ /* Values 26 to 31 are reserved */ -#define MDIO_PCS_10GRTSTAT1 32 /* 10G-R & 10G-T PCS status 1 */ -#define MDIO_PCS_10GRTSTAT2 33 /* 10G-R & 10G-T PCS status 2 */ -#define MDIO_PCS_10GRTPSEEDA1 34 /* 10G-R PCS test pattern seed A1 */ -#define MDIO_PCS_10GRTPSEEDA2 35 /* 10G-R PCS test pattern seed A2 */ -#define MDIO_PCS_10GRTPSEEDA3 36 /* 10G-R PCS test pattern seed A3 */ -#define MDIO_PCS_10GRTPSEEDA4 37 /* 10G-R PCS test pattern seed A4 */ -#define MDIO_PCS_10GRTPSEEDB1 38 /* 10G-R PCS test pattern seed B1 */ -#define MDIO_PCS_10GRTPSEEDB2 39 /* 10G-R PCS test pattern seed B2 */ -#define MDIO_PCS_10GRTPSEEDB3 40 /* 10G-R PCS test pattern seed B3 */ -#define MDIO_PCS_10GRTPSEEDB4 41 /* 10G-R PCS test pattern seed B4 */ +#define MDIO_PCS_BASERTSTAT1 32 /* BASE-R & 10G-T PCS status 1 */ +#define MDIO_PCS_BASERTSTAT2 33 /* BASE-R & 10G-T PCS status 2 */ +#define MDIO_PCS_10GRTPSEEDA(x) /* 10G-R PCS test pattern seed A */ \ + (34 + (x)) /* 0 to 3 */ +#define MDIO_PCS_10GRTPSEEDB /* 10G-R PCS test pattern seed B */ \ + (38 + (x)) /* 0 to 3 */ #define MDIO_PCS_10GRTPCTRL 42 /* 10G-R PCS test pattern control */ #define MDIO_PCS_10GRTPERRCNT 43 /* 10G-R PCS test pattern err counter*/ - /* Values 44 to 59 are reserved */ +#define MDIO_PCS_BERHIORDERCNT 44 /* BER high order counter */ +#define MDIO_PCS_ERRBHIORDERCNT 45 /* Errored blocks high order counter */ + /* Values 46 to 49 are reserved */ +#define MDIO_PCS_MLBRPCSALGNSTAT1 50 /* Mlt-lane BASE-R PCS Align. Stat1 */ +#define MDIO_PCS_MLBRPCSALGNSTAT2 51 /* Mlt-lane BASE-R PCS Align. Stat2 */ +#define MDIO_PCS_MLBRPCSALGNSTAT3 52 /* Mlt-lane BASE-R PCS Align. Stat3 */ +#define MDIO_PCS_MLBRPCSALGNSTAT4 53 /* Mlt-lane BASE-R PCS Align. Stat4 */ + /* Values 54 to 59 are reserved */ #define MDIO_PCS_10P2BCAP 60 /* 10P/2B capability */ -#define MDIO_PCS_10P2BCTRL 61 /* 10P/2B PCS control register */ +#define MDIO_PCS_10P2BCTRL 61 /* 10P/2B PCS control */ #define MDIO_PCS_10P2BPMEAVAIL1 62 /* 10P/2B PME available 1 */ #define MDIO_PCS_10P2BPMEAVAIL2 63 /* 10P/2B PME available 2 */ #define MDIO_PCS_10P2BPMEAGGRG1 64 /* 10P/2B PME aggregate 1 */ @@ -297,11 +398,11 @@ #define MDIO_PCS_10P2BPAFRXERRCNT 66 /* 10P/2B PAF RX error counter */ #define MDIO_PCS_10P2BPAFSMLFRCNT 67 /* 10P/2B PAF small fragment counter */ #define MDIO_PCS_10P2BPAFLARFLCNT 68 /* 10P/2B PAF large fragment counter */ -#define MDIO_PCS_10P2BPAFOVFLCNT 69 /* 10P/2B PAF overflow counter */ -#define MDIO_PCS_10P2BPAFBADFLCNT 70 /* 10P/2B PAF bad fragments counter */ -#define MDIO_PCS_10P2BPAFLSTFLCNT 71 /* 10P/2B PAF lost fragments counter */ -#define MDIO_PCS_10P2BPAFLSTSTFLCNT 72 /* 10P/2B PAF lost starts of fr. cnt */ -#define MDIO_PCS_10P2BPAFLSTENFLCNT 73 /* 10P/2B PAF lost ends of fr. count */ +#define MDIO_PCS_10P2BPAFOVFLCNT 69 /* 10P/2B PAF overflow counter */ +#define MDIO_PCS_10P2BPAFBADFLCNT 70 /* 10P/2B PAF bad fragments counter */ +#define MDIO_PCS_10P2BPAFLSTFLCNT 71 /* 10P/2B PAF lost fragments counter */ +#define MDIO_PCS_10P2BPAFLSTSTFLCNT 72 /* 10P/2B PAF lost starts of fr. cnt */ +#define MDIO_PCS_10P2BPAFLSTENFLCNT 73 /* 10P/2B PAF lost ends of fr. count */ #define MDIO_PCS_10GPRFECABLTY 74 /* 10G-PR & 10/1G-PRX FEC ability */ #define MDIO_PCS_10GPRFECCTRL 75 /* 10G-PR & 10/1G-PRX FEC control */ #define MDIO_PCS_10GPRCOFECCOCNT1 76 /*10(/1)G-PR(X) corrected FECcodecnt1*/ @@ -311,12 +412,28 @@ #define MDIO_PCS_10GPRBERMONTMRCTRL 80 /*10(/1)G-PR(X) BER monitor tmr ctrl */ #define MDIO_PCS_10GPRBERMONSTAT 81 /*10(/1)G-PR(X) BER monitor status */ #define MDIO_PCS_10GPRBERMONTHRCTRL 82 /*10(/1)G-PR(X) BER mntr thresh ctrl */ - /* Values 83 to 32767 are reserved */ + /* Values 83 to 199 are reserved */ +#define MDIO_PCS_BIPERRCNT(x) /* BIP Error Counter */ \ + (200 + (x)) /* lane 0 to 19 */ + /* Values 220 to 399 are reserved */ +#define MDIO_PCS_PCSLMAP(x) /* PCS Lane Mapping */ \ + (400 + (x)) /* lane 0 to 19 */ + /* Values 420 to 1799 are reserved */ +#define MDIO_PCS_TSYNCCAP 1800 /* TimeSync PCS capability */ +#define MDIO_PCS_TSYNCTXMAXDLYL 1801 /* TimeSync PCS TX MAXdelay L*/ +#define MDIO_PCS_TSYNCTXMAXDLYH 1802 /* TimeSync PCS TX MAXdelay H*/ +#define MDIO_PCS_TSYNCTXMINDLYL 1803 /* TimeSync PCS TX MINdelay L*/ +#define MDIO_PCS_TSYNCTXMINDLYH 1804 /* TimeSync PCS TX MINdelay H*/ +#define MDIO_PCS_TSYNCRXMAXDLYL 1805 /* TimeSync PCS RX MAXdelay L*/ +#define MDIO_PCS_TSYNCRXMAXDLYH 1806 /* TimeSync PCS RX MAXdelay H*/ +#define MDIO_PCS_TSYNCRXMINDLYL 1807 /* TimeSync PCS RX MINdelay L*/ +#define MDIO_PCS_TSYNCRXMINDLYH 1808 /* TimeSync PCS RX MINdelay H*/ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO PHY XS registers. - * Table 45-108 + * PHY XS registers. + * Table 45-164 */ #define MDIO_PHYXS_CTRL1 0 /* PHY XS control 1 */ #define MDIO_PHYXS_STAT1 1 /* PHY XS status 1 */ @@ -331,18 +448,28 @@ #define MDIO_PHYXS_PKGID1 14 /* PHY XS package identifier 1 */ #define MDIO_PHYXS_PKGID2 15 /* PHY XS package identifier 2 */ /* Values 16 to 19 are reserved */ -#define MDIO_PHYXS_EEECAP 20 /* EEE capability register (802.3az) */ +#define MDIO_PHYXS_EEECAP 20 /* EEE capability register */ /* Value 21 is reserved */ -#define MDIO_PHYXS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */ +#define MDIO_PHYXS_EEEWKERRCNT 22 /* EEE wake error counter */ /* Value 23 is reserved */ #define MDIO_PHYXS_10GXGXLNSTAT 24 /* 10G-X PHY XGXS lane status */ #define MDIO_PHYXS_10GXGXSTSCTRL 25 /* 10G-X PHY XGXS test control */ - /* Values 26 to 32767 are reserved */ + /* Values 26 to 1799 are reserved */ +#define MDIO_PHYXS_TSYNCCSP 1800 /* TimeSync PHY XS capability */ +#define MDIO_PHYXS_TSYNCTXMAXDLYL 1801 /* TimeSync PHY XS TX MAX delay L */ +#define MDIO_PHYXS_TSYNCTXMAXDLYH 1802 /* TimeSync PHY XS TX MAX delay H */ +#define MDIO_PHYXS_TSYNCTXMINDLYL 1803 /* TimeSync PHY XS TX MIN delay L */ +#define MDIO_PHYXS_TSYNCTXMINDLYH 1804 /* TimeSync PHY XS TX MIN delay H */ +#define MDIO_PHYXS_TSYNCRXMAXDLYL 1805 /* TimeSync PHY XS RX MAX delay L */ +#define MDIO_PHYXS_TSYNCRXMAXDLYH 1806 /* TimeSync PHY XS RX MAX delay H */ +#define MDIO_PHYXS_TSYNCRXMINDLYL 1807 /* TimeSync PHY XS RX MIN delay L */ +#define MDIO_PHYXS_TSYNCRXMINDLYH 1808 /* TimeSync PHY XS RX MIN delay H */ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO DTE XS registers. - * Table 45-115 + * DTE XS registers. + * Table 45-175 */ #define MDIO_DTEXS_CTRL1 0 /* DTE XS control 1 */ #define MDIO_DTEXS_STAT1 1 /* DTE XS status 1 */ @@ -357,18 +484,28 @@ #define MDIO_DTEXS_PKGID1 14 /* DTE XS package identifier 1 */ #define MDIO_DTEXS_PKGID2 15 /* DTE XS package identifier 2 */ /* Values 16 to 19 are reserved */ -#define MDIO_DTEXS_EEECAP 20 /* EEE capability register (802.3az) */ +#define MDIO_DTEXS_EEECAP 20 /* EEE capability register */ /* Value 21 is reserved */ -#define MDIO_DTEXS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */ +#define MDIO_DTEXS_EEEWKERRCNT 22 /* EEE wake error counter */ /* Value 23 is reserved */ #define MDIO_DTEXS_10GXGXLNSTAT 24 /* 10G DTE XGXS lane status */ #define MDIO_DTEXS_10GXGXSTSCTRL 25 /* 10G DTE XGXS test control */ - /* Values 26 to 32767 are reserved */ + /* Values 26 to 1799 are reserved */ +#define MDIO_DTEXS_TSYNCCAP 1800 /* TimeSync DTE XS capability */ +#define MDIO_DTEXS_TSYNCTXMAXDLYL 1801 /* TimeSync DTE XS TX MAX delay L */ +#define MDIO_DTEXS_TSYNCTXMAXDLYH 1802 /* TimeSync DTE XS TX MAX delay H */ +#define MDIO_DTEXS_TSYNCTXMINDLYL 1803 /* TimeSync DTE XS TX MIN delay L */ +#define MDIO_DTEXS_TSYNCTXMINDLYH 1804 /* TimeSync DTE XS TX MIN delay H */ +#define MDIO_DTEXS_TSYNCRXMAXDLYL 1805 /* TimeSync DTE XS RX MAX delay L */ +#define MDIO_DTEXS_TSYNCRXMAXDLYH 1806 /* TimeSync DTE XS RX MAX delay H */ +#define MDIO_DTEXS_TSYNCRXMINDLYL 1807 /* TimeSync DTE XS RX MIN delay L */ +#define MDIO_DTEXS_TSYNCRXMINDLYH 1808 /* TimeSync DTE XS RX MIN delay H */ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO TC registers. - * Table 45-122 + * TC registers. + * Table 45-186 */ #define MDIO_TC_CTRL1 0 /* TC control 1 */ /* Value 1 is reserved */ @@ -392,14 +529,29 @@ #define MDIO_TC_10P2BTPSCOVIOCNT1 25 /* 10P/2B TPS-TC coding viol. cnt. 1 */ #define MDIO_TC_10P2BTPSCOVIOCNT2 26 /* 10P/2B TPS-TC coding viol. cnt. 2 */ #define MDIO_TC_10P2BINDIC 27 /* 10P/2B TC indications */ - /* Values 28 to 32767 are reserved */ + /* Values 28 to 1799 are reserved */ +#define MDIO_TC_TSYNCCAP 1800 /* TimeSync TC capability */ +#define MDIO_TC_TSYNCTXMAXDLYL 1801 /* TimeSync TC TX MAX delay L */ +#define MDIO_TC_TSYNCTXMAXDLYH 1802 /* TimeSync TC TX MAX delay H */ +#define MDIO_TC_TSYNCTXMINDLYL 1803 /* TimeSync TC TX MIN delay L */ +#define MDIO_TC_TSYNCTXMINDLYH 1804 /* TimeSync TC TX MIN delay H */ +#define MDIO_TC_TSYNCRXMAXDLYL 1805 /* TimeSync TC RX MAX delay L */ +#define MDIO_TC_TSYNCRXMAXDLYH 1806 /* TimeSync TC RX MAX delay H */ +#define MDIO_TC_TSYNCRXMINDLYL 1807 /* TimeSync TC RX MIN delay L */ +#define MDIO_TC_TSYNCRXMINDLYH 1808 /* TimeSync TC RX MIN delay H */ + /* Values 1809 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO Auto-Negotiation registers. - * Table 45-133 + * Auto-Negotiation registers. + * Table 45-200 */ #define MDIO_AN_CTRL1 0 /* AN control 1 */ +#define AN_CTRL1_ANRESET 0x8000 /* AN reset */ +#define AN_CTRL1_ENP 0x2000 /* Extended Next Page */ +#define AN_CTRL1_AUTOEN 0x1000 /* Auto-Negotiation enable */ +#define AN_CTRL1_STARTNEG 0x0200 /* Restart Auto-Negotiation */ + #define MDIO_AN_STAT1 1 /* AN status 1 */ #define MDIO_AN_DEVID1 2 /* AN device identifier 1 */ #define MDIO_AN_DEVID2 3 /* AN device identifier 2 */ @@ -427,14 +579,14 @@ /* Values 34 to 47 are reserved */ #define MDIO_AN_BPETHSTAT 48 /* BP Ethernet status */ /* Values 49 to 59 are reserved */ -#define MDIO_PCS_EEEADVERT 60 /* EEE advertisement (802.3az) */ -#define MDIO_PCS_EEELPABLTY 61 /* EEE LP ability (802.3az) */ +#define MDIO_AN_EEEADVERT 60 /* EEE advertisement */ +#define MDIO_AN_EEELPABLTY 61 /* EEE LP ability */ /* Values 62 to 32767 are reserved */ /* Values 32768 to 65535 are vendor specific */ /* - * MDIO Clause 22 extension registers. - * Table 45-143 + * Clause 22 extension registers. + * Table 45-212 */ /* Values 0 to 4 are reserved */ #define MDIO_CL22E_DEVS1 5 /* Clause 22 ext. devices in package 1 */ @@ -447,8 +599,8 @@ /* Values 12 to 32767 are reserved */ /* - * MDIO Vendor specific MMD 1 registers. - * Table 45-149 + * Vendor specific MMD 1 registers. + * Table 45-218 */ /* Values 0 to 1 are vendor specific */ #define MDIO_VSMMD1_DEVID1 2 /* Vendor specific MMD 1 device ident. 1 */ @@ -461,8 +613,8 @@ /* Values 16 to 65535 are vendor specific */ /* - * MDIO Vendor specific MMD 2 registers. - * Table 45-152 + * Vendor specific MMD 2 registers. + * Table 45-220 */ /* Values 0 to 1 are vendor specific */ #define MDIO_VSMMD2_DEVID1 2 /* Vendor specific MMD 2 device ident. 1 */