mdio.h revision 1.1 1 1.1 msaitoh /*-
2 1.1 msaitoh * Copyright (c) 2013 The NetBSD Foundation, Inc.
3 1.1 msaitoh * All rights reserved.
4 1.1 msaitoh *
5 1.1 msaitoh * This code is derived from software contributed to The NetBSD Foundation
6 1.1 msaitoh * by
7 1.1 msaitoh *
8 1.1 msaitoh * Redistribution and use in source and binary forms, with or without
9 1.1 msaitoh * modification, are permitted provided that the following conditions
10 1.1 msaitoh * are met:
11 1.1 msaitoh * 1. Redistributions of source code must retain the above copyright
12 1.1 msaitoh * notice, this list of conditions and the following disclaimer.
13 1.1 msaitoh * 2. Redistributions in binary form must reproduce the above copyright
14 1.1 msaitoh * notice, this list of conditions and the following disclaimer in the
15 1.1 msaitoh * documentation and/or other materials provided with the distribution.
16 1.1 msaitoh *
17 1.1 msaitoh * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 1.1 msaitoh * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 1.1 msaitoh * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 1.1 msaitoh * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 1.1 msaitoh * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 1.1 msaitoh * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 1.1 msaitoh * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 1.1 msaitoh * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 1.1 msaitoh * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 1.1 msaitoh * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 1.1 msaitoh * POSSIBILITY OF SUCH DAMAGE.
28 1.1 msaitoh */
29 1.1 msaitoh
30 1.1 msaitoh #ifndef _DEV_MII_MDIO_H_
31 1.1 msaitoh #define _DEV_MII_MDIO_H_
32 1.1 msaitoh
33 1.1 msaitoh /*
34 1.1 msaitoh * IEEE 802.3 Clause 45 definitions.
35 1.1 msaitoh * From:
36 1.1 msaitoh * IEEE 802.3 2008
37 1.1 msaitoh * IEEE 802.3at
38 1.1 msaitoh * IEEE 802.3av
39 1.1 msaitoh * IEEE 802.3az
40 1.1 msaitoh */
41 1.1 msaitoh
42 1.1 msaitoh /*
43 1.1 msaitoh * MDIO Manageable Device addresses.
44 1.1 msaitoh * Table 45-1
45 1.1 msaitoh */
46 1.1 msaitoh #define MDIO_MMD_PMAPMD 1
47 1.1 msaitoh #define MDIO_MMD_WIS 2
48 1.1 msaitoh #define MDIO_MMD_PCS 3
49 1.1 msaitoh #define MDIO_MMD_PHYXS 4
50 1.1 msaitoh #define MDIO_MMD_DTEXS 5
51 1.1 msaitoh #define MDIO_MMD_TC 6
52 1.1 msaitoh #define MDIO_MMD_AN 7
53 1.1 msaitoh #define MDIO_MMD_CL22EXT 29
54 1.1 msaitoh #define MDIO_MMD_VNDSP1 30
55 1.1 msaitoh #define MDIO_MMD_VNDSP2 31
56 1.1 msaitoh
57 1.1 msaitoh /*
58 1.1 msaitoh * MDIO PMA/PMD registers.
59 1.1 msaitoh * Table 45-3
60 1.1 msaitoh */
61 1.1 msaitoh #define MDIO_PMAPMD_CTRL1 0 /* PMA/PMD control 1 */
62 1.1 msaitoh #define MDIO_PMAPMD_STAT1 1 /* PMA/PMD status 1 */
63 1.1 msaitoh #define MDIO_PMAPMD_DEVID1 2 /* PMA/PMD device identifier 1 */
64 1.1 msaitoh #define MDIO_PMAPMD_DEVID2 3 /* PMA/PMD device identifier 2 */
65 1.1 msaitoh #define MDIO_PMAPMD_SPEED 4 /* PMA/PMD speed ability */
66 1.1 msaitoh #define MDIO_PMAPMD_DEVS1 5 /* PMA/PMD devices in package 1 */
67 1.1 msaitoh #define MDIO_PMAPMD_DEVS2 6 /* PMA/PMD devices in package 2 */
68 1.1 msaitoh #define MDIO_PMAPMD_CTRL2 7 /* PMA/PMD control 2 */
69 1.1 msaitoh #define MDIO_PMAPMD_10GSTAT2 8 /* 10G PMA/PMD status 2 */
70 1.1 msaitoh #define MDIO_PMAPMD_10GTXDIS 9 /* 10G PMA/PMD transmit disable */
71 1.1 msaitoh #define MDIO_PMAPMD_RXSIGDTCT 10 /* 10G PMD receive signal detect */
72 1.1 msaitoh #define MDIO_PMAPMD_EXTABLTY 11 /* 10G PMA/PMD ext. ability reg */
73 1.1 msaitoh #define MDIO_PMAPMD_P2MPABLTY 12 /* P2MP ability register(802.3av)*/
74 1.1 msaitoh /* Value 13 is reserved */
75 1.1 msaitoh #define MDIO_PMAPMD_PKGID1 14 /* PMA/PMD package identifier 1 */
76 1.1 msaitoh #define MDIO_PMAPMD_PKGID2 15 /* PMA/PMD package identifier 2 */
77 1.1 msaitoh /* Values 16 to 29 are reserved */
78 1.1 msaitoh #define MDIO_PMAPMD_10P2BCTRL 30 /* 10P/2B PMA/PMD control */
79 1.1 msaitoh #define MDIO_PMAPMD_10P2BSTAT 31 /* 10P/2B PMA/PMD status */
80 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPCTRL 32 /* 10P/2B link partner PMA/D ctrl*/
81 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPSTAT 33 /* 10P/2B link partner PMA/D stat*/
82 1.1 msaitoh /* Values 34 to 35 are reserved */
83 1.1 msaitoh #define MDIO_PMAPMD_10P2BLLOSCNT 36 /* 10P/2B link loss counter */
84 1.1 msaitoh #define MDIO_PMAPMD_10P2BRXSNMGN 37 /* 10P/2B RX SNR margin */
85 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPRXSNMG 38 /* 10P/2B link partner RX SNR mgn*/
86 1.1 msaitoh #define MDIO_PMAPMD_10P2BLINEATTN 39 /* 10P/2B line attenuation */
87 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPLINEATTN 40 /* 10P/2B link partner line atten*/
88 1.1 msaitoh #define MDIO_PMAPMD_10P2BLQTHRES 41 /* 10P/2B line quality thresholds*/
89 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPLQLTHRES 42 /* 10P/2B link partner LQ thresh.*/
90 1.1 msaitoh #define MDIO_PMAPMD_10PFECCOERRS 43 /* 10P FEC correctable errors cnt*/
91 1.1 msaitoh #define MDIO_PMAPMD_10PFECUNCOERRS 44 /* 10P FEC uncorrectable err cnt*/
92 1.1 msaitoh #define MDIO_PMAPMD_10PLPFECCOERRS 45 /* 10P LP FEC correctable err cnt*/
93 1.1 msaitoh #define MDIO_PMAPMD_10PLPFECUNCOERRS 46 /* 10P LP FEC uncorrectable errcn*/
94 1.1 msaitoh #define MDIO_PMAPMD_10PELECLENGTH 47 /* 10P electrical length */
95 1.1 msaitoh #define MDIO_PMAPMD_10PLPELECLENGTH 48 /* 10P LP electrical length */
96 1.1 msaitoh #define MDIO_PMAPMD_10PGENCONFIG 49 /* 10P PMA/PMD general config. */
97 1.1 msaitoh #define MDIO_PMAPMD_10PPSDCONFIG 50 /* 10P PSD configuration */
98 1.1 msaitoh #define MDIO_PMAPMD_10PDSDRCONF1 51 /* 10P downstream data rate cnf1 */
99 1.1 msaitoh #define MDIO_PMAPMD_10PDSDRCONF2 52 /* 10P downstream data rate cnf2 */
100 1.1 msaitoh #define MDIO_PMAPMD_10PDSRSCONF 53 /* 10P downstream ReedSolomon cnf*/
101 1.1 msaitoh #define MDIO_PMAPMD_10PUSDR1 54 /* 10P upstream data rate cnf1 */
102 1.1 msaitoh #define MDIO_PMAPMD_10PUSDR2 55 /* 10P upstream data rate cnf2 */
103 1.1 msaitoh #define MDIO_PMAPMD_10PUSRSCONF 56 /* 10P upnstream ReedSolomon cnf */
104 1.1 msaitoh #define MDIO_PMAPMD_10PTONEGROUP1 57 /* 10P tone group 1 */
105 1.1 msaitoh #define MDIO_PMAPMD_10PTONEGROUP2 58 /* 10P tone group 2 */
106 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM1 59 /* 10P tone parameter 1 */
107 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM2 60 /* 10P tone parameter 2 */
108 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM3 61 /* 10P tone parameter 3 */
109 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM4 62 /* 10P tone parameter 4 */
110 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM5 63 /* 10P tone parameter 5 */
111 1.1 msaitoh #define MDIO_PMAPMD_10PTONECTLACTN 64 /* 10P tone control action */
112 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT1 65 /* 10P tone status 1 */
113 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT2 66 /* 10P tone status 2 */
114 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT3 67 /* 10P tone status 3 */
115 1.1 msaitoh #define MDIO_PMAPMD_10POUTINDICAT 68 /* 10P outgoing indicatior bits */
116 1.1 msaitoh #define MDIO_PMAPMD_10PININDICAT 69 /* 10P incoming indicatior bits */
117 1.1 msaitoh #define MDIO_PMAPMD_10PCYCLICEXTCNF 70 /* 10P cyclic extension config. */
118 1.1 msaitoh #define MDIO_PMAPMD_10PATTAINDSDR 71 /* 10P attainable downstream DR */
119 1.1 msaitoh /* Values 72 to 79 are reserved */
120 1.1 msaitoh #define MDIO_PMAPMD_2BGENPARAM 80 /* 2B general parameter */
121 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM1 81 /* 2B PMD parameter 1 */
122 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM2 82 /* 2B PMD parameter 2 */
123 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM3 83 /* 2B PMD parameter 3 */
124 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM4 84 /* 2B PMD parameter 4 */
125 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM5 85 /* 2B PMD parameter 5 */
126 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM6 86 /* 2B PMD parameter 6 */
127 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM7 87 /* 2B PMD parameter 7 */
128 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM8 88 /* 2B PMD parameter 8 */
129 1.1 msaitoh #define MDIO_PMAPMD_2BCODEVIOERRCNT 89 /* 2B code violation errors cnt. */
130 1.1 msaitoh #define MDIO_PMAPMD_2BLPCODEVIOERR 90 /* 2B LP code violation errors */
131 1.1 msaitoh #define MDIO_PMAPMD_2BERRSECCNT 91 /* 2B errored seconds counter */
132 1.1 msaitoh #define MDIO_PMAPMD_2BLPERRSEC 92 /* 2B LP errored seconds */
133 1.1 msaitoh #define MDIO_PMAPMD_2BSEVERRSECCNT 93 /* 2B severely errored seconds cn*/
134 1.1 msaitoh #define MDIO_PMAPMD_2BLPSEVERRSECCNT 94 /* 2B LP severely errored secs cn*/
135 1.1 msaitoh #define MDIO_PMAPMD_2BLOSWCNT 95 /* 2B LOSW counter */
136 1.1 msaitoh #define MDIO_PMAPMD_2BLPLOSW 96 /* 2B LP LOSW */
137 1.1 msaitoh #define MDIO_PMAPMD_2BUNAVSECCNT 97 /* 2B unavailable seconds counter*/
138 1.1 msaitoh #define MDIO_PMAPMD_2BLPUNAVSECCNT 98 /* 2B LP unavailable seconds cnt */
139 1.1 msaitoh #define MDIO_PMAPMD_2BSTATDEFECT 99 /* 2B state defects */
140 1.1 msaitoh #define MDIO_PMAPMD_2BLPSTATDEFECT 100 /* 2B LP state defects */
141 1.1 msaitoh #define MDIO_PMAPMD_2BNEGOCONSTEL 101 /* 2B negotiated constellation */
142 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM1 102 /* 2B extended PMD parameters 1 */
143 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM2 103 /* 2B extended PMD parameters 2 */
144 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM3 104 /* 2B extended PMD parameters 3 */
145 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM4 105 /* 2B extended PMD parameters 4 */
146 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM5 106 /* 2B extended PMD parameters 5 */
147 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM6 107 /* 2B extended PMD parameters 6 */
148 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM7 108 /* 2B extended PMD parameters 7 */
149 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM8 109 /* 2B extended PMD parameters 8 */
150 1.1 msaitoh /* Values 110 to 128 are reserved */
151 1.1 msaitoh #define MDIO_PMAPMD_10GTSTAT 129 /* 10GBASE-T status */
152 1.1 msaitoh #define MDIO_PMAPMD_10GTPASWPOLAR 130 /* 10G-T pair swap & polarity */
153 1.1 msaitoh #define MDIO_PMAPMD_10GTTXPWBOSHRCH 131 /* 10G-T PWR backoff&PHY shrt rch*/
154 1.1 msaitoh #define MDIO_PMAPMD_10GTTSTMODE 132 /* 10G-T test mode */
155 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGA 133 /* 10G-T SNR operating margin chA*/
156 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGB 134 /* 10G-T SNR operating margin chB*/
157 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGC 135 /* 10G-T SNR operating margin chC*/
158 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGD 136 /* 10G-T SNR operating margin chD*/
159 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGA 137 /* 10G-T minimum margin ch. A */
160 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGB 138 /* 10G-T minimum margin ch. B */
161 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGC 139 /* 10G-T minimum margin ch. C */
162 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGD 140 /* 10G-T minimum margin ch. D */
163 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRA 141 /* 10G-T RX signal power ch. A */
164 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRB 142 /* 10G-T RX signal power ch. B */
165 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRC 143 /* 10G-T RX signal power ch. C */
166 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRD 144 /* 10G-T RX signal power ch. D */
167 1.1 msaitoh #define MDIO_PMAPMD_10GTSKEWDLY1 145 /* 10G-T skew delay 1 */
168 1.1 msaitoh #define MDIO_PMAPMD_10GTSKEWDLY2 146 /* 10G-T skew delay 2 */
169 1.1 msaitoh #define MDIO_PMAPMD_10GTFSTRETSTATCTRL 147 /* 10G-T fast retrain stat&ctrl */
170 1.1 msaitoh /* Values 148 to 149 are reserved */
171 1.1 msaitoh #define MDIO_PMAPMD_10GKRPMDCTRL 150 /* 10G-KR PMD control */
172 1.1 msaitoh #define MDIO_PMAPMD_10GKRPMDSTAT 151 /* 10G-KR PMD status */
173 1.1 msaitoh #define MDIO_PMAPMD_10GKRLPCOEFUPD 152 /* 10G-KR LP coefficient update */
174 1.1 msaitoh #define MDIO_PMAPMD_10GKRLPSTATRPT 153 /* 10G-KR LP status report */
175 1.1 msaitoh #define MDIO_PMAPMD_10GKRLDCOEFFUPD 154 /* 10G-KR LD coefficient update */
176 1.1 msaitoh #define MDIO_PMAPMD_10GKRLDSTATRPT 155 /* 10G-KR LD status report */
177 1.1 msaitoh /* Values 156 to 159 are reserved */
178 1.1 msaitoh #define MDIO_PMAPMD_10GKXCTRL 160 /* 10G-KX control */
179 1.1 msaitoh #define MDIO_PMAPMD_10GKXSTAT 161 /* 10G-KX status */
180 1.1 msaitoh /* Values 162 to 169 are reserved */
181 1.1 msaitoh #define MDIO_PMAPMD_10GRFECABLTY 170 /* 10G-R FEC ability */
182 1.1 msaitoh #define MDIO_PMAPMD_10GRFECCTRL 171 /* 10G-R FEC control */
183 1.1 msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNT1 172 /* 10G-R FEC corrected blks cnt1 */
184 1.1 msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNT2 173 /* 10G-R FEC corrected blks cnt2 */
185 1.1 msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNT1 174 /* 10G-R FEC uncorrect blks cnt1 */
186 1.1 msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNT2 175 /* 10G-R FEC uncorrect blks cnt2 */
187 1.1 msaitoh /* Values 176 to 32767 are reserved */
188 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
189 1.1 msaitoh
190 1.1 msaitoh /*
191 1.1 msaitoh * MDIO WIS registers.
192 1.1 msaitoh * Table 45-65
193 1.1 msaitoh */
194 1.1 msaitoh #define MDIO_WIS_CTRL1 0 /* WIS control 1 */
195 1.1 msaitoh #define MDIO_WIS_STAT1 1 /* WIS status 1 */
196 1.1 msaitoh #define MDIO_WIS_DEVID1 2 /* WIS device identifier 1 */
197 1.1 msaitoh #define MDIO_WIS_DEVID2 3 /* WIS device identifier 2 */
198 1.1 msaitoh #define MDIO_WIS_SPEED 4 /* WIS speed ability */
199 1.1 msaitoh #define MDIO_WIS_DEVS1 5 /* WIS devices in package 1 */
200 1.1 msaitoh #define MDIO_WIS_DEVS2 6 /* WIS devices in package 2 */
201 1.1 msaitoh #define MDIO_WIS_10GCTRL2 7 /* 10G WIS control 2 */
202 1.1 msaitoh #define MDIO_WIS_10GSTAT2 8 /* 10G WIS status 2 */
203 1.1 msaitoh #define MDIO_WIS_10GTSTERRCNT 9 /* 10G WIS test-pattern error counter*/
204 1.1 msaitoh /* Values 10 to 13 are reserved */
205 1.1 msaitoh #define MDIO_WIS_PKGID1 14 /* WIS package identifier 1 */
206 1.1 msaitoh #define MDIO_WIS_PKGID2 15 /* WIS package identifier 2 */
207 1.1 msaitoh /* Values 16 to 32 are reserved */
208 1.1 msaitoh #define MDIO_WIS_10GSTAT3 33 /* 10G WIS status 3 */
209 1.1 msaitoh /* Values 34 to 36 are reserved */
210 1.1 msaitoh #define MDIO_WIS_FARENDPBERRCNT 37 /* WIS far end path block error count*/
211 1.1 msaitoh /* Value 38 is reserved */
212 1.1 msaitoh #define MDIO_WIS_J1XMIT1 39 /* 10G WIS J1 transmit 1 */
213 1.1 msaitoh #define MDIO_WIS_J1XMIT2 40 /* 10G WIS J1 transmit 2 */
214 1.1 msaitoh #define MDIO_WIS_J1XMIT3 41 /* 10G WIS J1 transmit 3 */
215 1.1 msaitoh #define MDIO_WIS_J1XMIT4 42 /* 10G WIS J1 transmit 4 */
216 1.1 msaitoh #define MDIO_WIS_J1XMIT5 43 /* 10G WIS J1 transmit 5 */
217 1.1 msaitoh #define MDIO_WIS_J1XMIT6 44 /* 10G WIS J1 transmit 6 */
218 1.1 msaitoh #define MDIO_WIS_J1XMIT7 45 /* 10G WIS J1 transmit 7 */
219 1.1 msaitoh #define MDIO_WIS_J1XMIT8 46 /* 10G WIS J1 transmit 8 */
220 1.1 msaitoh #define MDIO_WIS_J1RECV1 47 /* 10G WIS J1 receive 1 */
221 1.1 msaitoh #define MDIO_WIS_J1RECV2 48 /* 10G WIS J1 receive 2 */
222 1.1 msaitoh #define MDIO_WIS_J1RECV3 49 /* 10G WIS J1 receive 3 */
223 1.1 msaitoh #define MDIO_WIS_J1RECV4 50 /* 10G WIS J1 receive 4 */
224 1.1 msaitoh #define MDIO_WIS_J1RECV5 51 /* 10G WIS J1 receive 5 */
225 1.1 msaitoh #define MDIO_WIS_J1RECV6 52 /* 10G WIS J1 receive 6 */
226 1.1 msaitoh #define MDIO_WIS_J1RECV7 53 /* 10G WIS J1 receive 7 */
227 1.1 msaitoh #define MDIO_WIS_J1RECV8 54 /* 10G WIS J1 receive 8 */
228 1.1 msaitoh #define MDIO_WIS_FARENDLBIPERR1 55 /* 10G WIS far end line BIP errors 1 */
229 1.1 msaitoh #define MDIO_WIS_FARENDLBIPERR2 56 /* 10G WIS far end line BIP errors 2 */
230 1.1 msaitoh #define MDIO_WIS_LBIPERR1 57 /* 10G WIS line BIP errors 1 */
231 1.1 msaitoh #define MDIO_WIS_LBIPERR2 58 /* 10G WIS line BIP errors 2 */
232 1.1 msaitoh #define MDIO_WIS_PBERRCNT 59 /* 10G WIS path block error count */
233 1.1 msaitoh #define MDIO_WIS_SECBIPERRCNT 60 /* 10G WIS section BIP error count */
234 1.1 msaitoh /* Values 61 to 63 are reserved */
235 1.1 msaitoh #define MDIO_WIS_J0XMIT1 64 /* 10G WIS J0 transmit 1 */
236 1.1 msaitoh #define MDIO_WIS_J0XMIT2 65 /* 10G WIS J0 transmit 2 */
237 1.1 msaitoh #define MDIO_WIS_J0XMIT3 66 /* 10G WIS J0 transmit 3 */
238 1.1 msaitoh #define MDIO_WIS_J0XMIT4 67 /* 10G WIS J0 transmit 4 */
239 1.1 msaitoh #define MDIO_WIS_J0XMIT5 68 /* 10G WIS J0 transmit 5 */
240 1.1 msaitoh #define MDIO_WIS_J0XMIT6 69 /* 10G WIS J0 transmit 6 */
241 1.1 msaitoh #define MDIO_WIS_J0XMIT7 70 /* 10G WIS J0 transmit 7 */
242 1.1 msaitoh #define MDIO_WIS_J0XMIT8 71 /* 10G WIS J0 transmit 8 */
243 1.1 msaitoh #define MDIO_WIS_J0RECV1 72 /* 10G WIS J0 receive 1 */
244 1.1 msaitoh #define MDIO_WIS_J0RECV2 73 /* 10G WIS J0 receive 2 */
245 1.1 msaitoh #define MDIO_WIS_J0RECV3 74 /* 10G WIS J0 receive 3 */
246 1.1 msaitoh #define MDIO_WIS_J0RECV4 75 /* 10G WIS J0 receive 4 */
247 1.1 msaitoh #define MDIO_WIS_J0RECV5 76 /* 10G WIS J0 receive 5 */
248 1.1 msaitoh #define MDIO_WIS_J0RECV6 77 /* 10G WIS J0 receive 6 */
249 1.1 msaitoh #define MDIO_WIS_J0RECV7 78 /* 10G WIS J0 receive 7 */
250 1.1 msaitoh #define MDIO_WIS_J0RECV8 79 /* 10G WIS J0 receive 8 */
251 1.1 msaitoh /* Values 80 to 32767 are reserved */
252 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
253 1.1 msaitoh
254 1.1 msaitoh /*
255 1.1 msaitoh * MDIO PCS registers.
256 1.1 msaitoh * Table 45-82
257 1.1 msaitoh */
258 1.1 msaitoh #define MDIO_PCS_CTRL1 0 /* PCS control 1 */
259 1.1 msaitoh #define MDIO_PCS_STAT1 1 /* PCS status 1 */
260 1.1 msaitoh #define MDIO_PCS_DEVID1 2 /* PCS device identifier 1 */
261 1.1 msaitoh #define MDIO_PCS_DEVID2 3 /* PCS device identifier 2 */
262 1.1 msaitoh #define MDIO_PCS_SPEED 4 /* PCS speed ability */
263 1.1 msaitoh #define MDIO_PCS_DEVS1 5 /* PCS devices in package 1 */
264 1.1 msaitoh #define MDIO_PCS_DEVS2 6 /* PCS devices in package 2 */
265 1.1 msaitoh #define MDIO_PCS_10GCTRL2 7 /* 10G PCS control 2 */
266 1.1 msaitoh #define MDIO_PCS_10GSTAT2 8 /* 10G PCS status 2 */
267 1.1 msaitoh /* Values 9 to 13 are reserved */
268 1.1 msaitoh #define MDIO_PCS_PKGID1 14 /* PCS package identifier 1 */
269 1.1 msaitoh #define MDIO_PCS_PKGID2 15 /* PCS package identifier 2 */
270 1.1 msaitoh /* Values 16 to 19 are reserved */
271 1.1 msaitoh #define MDIO_PCS_EEECAP 20 /* EEE capability register (802.3az) */
272 1.1 msaitoh /* Value 21 is reserved */
273 1.1 msaitoh #define MDIO_PCS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */
274 1.1 msaitoh /* Value 23 is reserved */
275 1.1 msaitoh #define MDIO_PCS_10GXSTAT 24 /* 10G-X PCS status */
276 1.1 msaitoh #define MDIO_PCS_10GXSTSCTRL 25 /* 10G-X PCS test control */
277 1.1 msaitoh /* Values 26 to 31 are reserved */
278 1.1 msaitoh #define MDIO_PCS_10GRTSTAT1 32 /* 10G-R & 10G-T PCS status 1 */
279 1.1 msaitoh #define MDIO_PCS_10GRTSTAT2 33 /* 10G-R & 10G-T PCS status 2 */
280 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDA1 34 /* 10G-R PCS test pattern seed A1 */
281 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDA2 35 /* 10G-R PCS test pattern seed A2 */
282 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDA3 36 /* 10G-R PCS test pattern seed A3 */
283 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDA4 37 /* 10G-R PCS test pattern seed A4 */
284 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDB1 38 /* 10G-R PCS test pattern seed B1 */
285 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDB2 39 /* 10G-R PCS test pattern seed B2 */
286 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDB3 40 /* 10G-R PCS test pattern seed B3 */
287 1.1 msaitoh #define MDIO_PCS_10GRTPSEEDB4 41 /* 10G-R PCS test pattern seed B4 */
288 1.1 msaitoh #define MDIO_PCS_10GRTPCTRL 42 /* 10G-R PCS test pattern control */
289 1.1 msaitoh #define MDIO_PCS_10GRTPERRCNT 43 /* 10G-R PCS test pattern err counter*/
290 1.1 msaitoh /* Values 44 to 59 are reserved */
291 1.1 msaitoh #define MDIO_PCS_10P2BCAP 60 /* 10P/2B capability */
292 1.1 msaitoh #define MDIO_PCS_10P2BCTRL 61 /* 10P/2B PCS control register */
293 1.1 msaitoh #define MDIO_PCS_10P2BPMEAVAIL1 62 /* 10P/2B PME available 1 */
294 1.1 msaitoh #define MDIO_PCS_10P2BPMEAVAIL2 63 /* 10P/2B PME available 2 */
295 1.1 msaitoh #define MDIO_PCS_10P2BPMEAGGRG1 64 /* 10P/2B PME aggregate 1 */
296 1.1 msaitoh #define MDIO_PCS_10P2BPMEAGGRG2 65 /* 10P/2B PME aggregate 2 */
297 1.1 msaitoh #define MDIO_PCS_10P2BPAFRXERRCNT 66 /* 10P/2B PAF RX error counter */
298 1.1 msaitoh #define MDIO_PCS_10P2BPAFSMLFRCNT 67 /* 10P/2B PAF small fragment counter */
299 1.1 msaitoh #define MDIO_PCS_10P2BPAFLARFLCNT 68 /* 10P/2B PAF large fragment counter */
300 1.1 msaitoh #define MDIO_PCS_10P2BPAFOVFLCNT 69 /* 10P/2B PAF overflow counter */
301 1.1 msaitoh #define MDIO_PCS_10P2BPAFBADFLCNT 70 /* 10P/2B PAF bad fragments counter */
302 1.1 msaitoh #define MDIO_PCS_10P2BPAFLSTFLCNT 71 /* 10P/2B PAF lost fragments counter */
303 1.1 msaitoh #define MDIO_PCS_10P2BPAFLSTSTFLCNT 72 /* 10P/2B PAF lost starts of fr. cnt */
304 1.1 msaitoh #define MDIO_PCS_10P2BPAFLSTENFLCNT 73 /* 10P/2B PAF lost ends of fr. count */
305 1.1 msaitoh #define MDIO_PCS_10GPRFECABLTY 74 /* 10G-PR & 10/1G-PRX FEC ability */
306 1.1 msaitoh #define MDIO_PCS_10GPRFECCTRL 75 /* 10G-PR & 10/1G-PRX FEC control */
307 1.1 msaitoh #define MDIO_PCS_10GPRCOFECCOCNT1 76 /*10(/1)G-PR(X) corrected FECcodecnt1*/
308 1.1 msaitoh #define MDIO_PCS_10GPRCOFECCOCNT2 77 /*10(/1)G-PR(X) corrected FECcodecnt2*/
309 1.1 msaitoh #define MDIO_PCS_10GPRUNCOFECCOCNT1 78 /*10(/1)G-PR(X)uncorrected FECcdecnt1*/
310 1.1 msaitoh #define MDIO_PCS_10GPRUNCOFECCOCNT2 79 /*10(/1)G-PR(X)uncorrected FECcdecnt2*/
311 1.1 msaitoh #define MDIO_PCS_10GPRBERMONTMRCTRL 80 /*10(/1)G-PR(X) BER monitor tmr ctrl */
312 1.1 msaitoh #define MDIO_PCS_10GPRBERMONSTAT 81 /*10(/1)G-PR(X) BER monitor status */
313 1.1 msaitoh #define MDIO_PCS_10GPRBERMONTHRCTRL 82 /*10(/1)G-PR(X) BER mntr thresh ctrl */
314 1.1 msaitoh /* Values 83 to 32767 are reserved */
315 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
316 1.1 msaitoh
317 1.1 msaitoh /*
318 1.1 msaitoh * MDIO PHY XS registers.
319 1.1 msaitoh * Table 45-108
320 1.1 msaitoh */
321 1.1 msaitoh #define MDIO_PHYXS_CTRL1 0 /* PHY XS control 1 */
322 1.1 msaitoh #define MDIO_PHYXS_STAT1 1 /* PHY XS status 1 */
323 1.1 msaitoh #define MDIO_PHYXS_DEVID1 2 /* PHY XS device identifier 1 */
324 1.1 msaitoh #define MDIO_PHYXS_DEVID2 3 /* PHY XS device identifier 2 */
325 1.1 msaitoh #define MDIO_PHYXS_SPEED 4 /* PHY XS speed ability */
326 1.1 msaitoh #define MDIO_PHYXS_DEVS1 5 /* PHY XS devices in package 1 */
327 1.1 msaitoh #define MDIO_PHYXS_DEVS2 6 /* PHY XS devices in package 2 */
328 1.1 msaitoh /* Value 7 is reserved */
329 1.1 msaitoh #define MDIO_PHYXS_STAT2 8 /* PHY XS status 2 */
330 1.1 msaitoh /* Values 9 to 13 are reserved */
331 1.1 msaitoh #define MDIO_PHYXS_PKGID1 14 /* PHY XS package identifier 1 */
332 1.1 msaitoh #define MDIO_PHYXS_PKGID2 15 /* PHY XS package identifier 2 */
333 1.1 msaitoh /* Values 16 to 19 are reserved */
334 1.1 msaitoh #define MDIO_PHYXS_EEECAP 20 /* EEE capability register (802.3az) */
335 1.1 msaitoh /* Value 21 is reserved */
336 1.1 msaitoh #define MDIO_PHYXS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */
337 1.1 msaitoh /* Value 23 is reserved */
338 1.1 msaitoh #define MDIO_PHYXS_10GXGXLNSTAT 24 /* 10G-X PHY XGXS lane status */
339 1.1 msaitoh #define MDIO_PHYXS_10GXGXSTSCTRL 25 /* 10G-X PHY XGXS test control */
340 1.1 msaitoh /* Values 26 to 32767 are reserved */
341 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
342 1.1 msaitoh
343 1.1 msaitoh /*
344 1.1 msaitoh * MDIO DTE XS registers.
345 1.1 msaitoh * Table 45-115
346 1.1 msaitoh */
347 1.1 msaitoh #define MDIO_DTEXS_CTRL1 0 /* DTE XS control 1 */
348 1.1 msaitoh #define MDIO_DTEXS_STAT1 1 /* DTE XS status 1 */
349 1.1 msaitoh #define MDIO_DTEXS_DEVID1 2 /* DTE XS device identifier 1 */
350 1.1 msaitoh #define MDIO_DTEXS_DEVID2 3 /* DTE XS device identifier 2 */
351 1.1 msaitoh #define MDIO_DTEXS_SPEED 4 /* DTE XS speed ability */
352 1.1 msaitoh #define MDIO_DTEXS_DEVS1 5 /* DTE XS devices in package 1 */
353 1.1 msaitoh #define MDIO_DTEXS_DEVS2 6 /* DTE XS devices in package 2 */
354 1.1 msaitoh /* Value 7 is reserved */
355 1.1 msaitoh #define MDIO_DTEXS_STAT2 8 /* DTE XS status 2 */
356 1.1 msaitoh /* Values 9 to 13 are reserved */
357 1.1 msaitoh #define MDIO_DTEXS_PKGID1 14 /* DTE XS package identifier 1 */
358 1.1 msaitoh #define MDIO_DTEXS_PKGID2 15 /* DTE XS package identifier 2 */
359 1.1 msaitoh /* Values 16 to 19 are reserved */
360 1.1 msaitoh #define MDIO_DTEXS_EEECAP 20 /* EEE capability register (802.3az) */
361 1.1 msaitoh /* Value 21 is reserved */
362 1.1 msaitoh #define MDIO_DTEXS_EEEWKERRCNT 22 /* EEE wake error counter (802.3az) */
363 1.1 msaitoh /* Value 23 is reserved */
364 1.1 msaitoh #define MDIO_DTEXS_10GXGXLNSTAT 24 /* 10G DTE XGXS lane status */
365 1.1 msaitoh #define MDIO_DTEXS_10GXGXSTSCTRL 25 /* 10G DTE XGXS test control */
366 1.1 msaitoh /* Values 26 to 32767 are reserved */
367 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
368 1.1 msaitoh
369 1.1 msaitoh /*
370 1.1 msaitoh * MDIO TC registers.
371 1.1 msaitoh * Table 45-122
372 1.1 msaitoh */
373 1.1 msaitoh #define MDIO_TC_CTRL1 0 /* TC control 1 */
374 1.1 msaitoh /* Value 1 is reserved */
375 1.1 msaitoh #define MDIO_TC_DEVID1 2 /* TC device identifier 1 */
376 1.1 msaitoh #define MDIO_TC_DEVID2 3 /* TC device identifier 2 */
377 1.1 msaitoh #define MDIO_TC_SPEED 4 /* TC speed ability */
378 1.1 msaitoh #define MDIO_TC_DEVS1 5 /* TC devices in package 1 */
379 1.1 msaitoh #define MDIO_TC_DEVS2 6 /* TC devices in package 2 */
380 1.1 msaitoh /* Values 7 to 13 are reserved */
381 1.1 msaitoh #define MDIO_TC_PKGID1 14 /* TC package identifier 1 */
382 1.1 msaitoh #define MDIO_TC_PKGID2 15 /* TC package identifier 2 */
383 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCTRL 16 /* 10P/2B aggregation discovery ctrl */
384 1.1 msaitoh #define MDIO_TC_10P2BAGGDCSTAT 17 /* 10P/2B aggregation&discovery stat */
385 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE1 18 /* 10P/2B aggregation discovery code1*/
386 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE2 19 /* 10P/2B aggregation discovery code2*/
387 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE3 20 /* 10P/2B aggregation discovery code3*/
388 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGCTRL 21 /* 10P/2B LP PME aggregate control */
389 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGDAT1 22 /* 10P/2B LP PME aggregate data 1 */
390 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGDAT2 23 /* 10P/2B LP PME aggregate data 2 */
391 1.1 msaitoh #define MDIO_TC_10P2BCRCERRCNT 24 /* 10P/2B TC CRC error counter */
392 1.1 msaitoh #define MDIO_TC_10P2BTPSCOVIOCNT1 25 /* 10P/2B TPS-TC coding viol. cnt. 1 */
393 1.1 msaitoh #define MDIO_TC_10P2BTPSCOVIOCNT2 26 /* 10P/2B TPS-TC coding viol. cnt. 2 */
394 1.1 msaitoh #define MDIO_TC_10P2BINDIC 27 /* 10P/2B TC indications */
395 1.1 msaitoh /* Values 28 to 32767 are reserved */
396 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
397 1.1 msaitoh
398 1.1 msaitoh /*
399 1.1 msaitoh * MDIO Auto-Negotiation registers.
400 1.1 msaitoh * Table 45-133
401 1.1 msaitoh */
402 1.1 msaitoh #define MDIO_AN_CTRL1 0 /* AN control 1 */
403 1.1 msaitoh #define MDIO_AN_STAT1 1 /* AN status 1 */
404 1.1 msaitoh #define MDIO_AN_DEVID1 2 /* AN device identifier 1 */
405 1.1 msaitoh #define MDIO_AN_DEVID2 3 /* AN device identifier 2 */
406 1.1 msaitoh /* Value 4 is reserved */
407 1.1 msaitoh #define MDIO_AN_DEVS1 5 /* AN devices in package 1 */
408 1.1 msaitoh #define MDIO_AN_DEVS2 6 /* AN devices in package 2 */
409 1.1 msaitoh /* Values 7 to 13 are reserved */
410 1.1 msaitoh #define MDIO_AN_PKGID1 14 /* AN package identifier 1 */
411 1.1 msaitoh #define MDIO_AN_PKGID2 15 /* AN package identifier 2 */
412 1.1 msaitoh #define MDIO_AN_ADVERT1 16 /* AN advertisement 1 */
413 1.1 msaitoh #define MDIO_AN_ADVERT2 17 /* AN advertisement 2 */
414 1.1 msaitoh #define MDIO_AN_ADVERT3 18 /* AN advertisement 3 */
415 1.1 msaitoh #define MDIO_AN_LPBPABLTY1 19 /* AN LP base page ability 1 */
416 1.1 msaitoh #define MDIO_AN_LPBPABLTY2 20 /* AN LP base page ability 2 */
417 1.1 msaitoh #define MDIO_AN_LPBPABLTY3 21 /* AN LP base page ability 3 */
418 1.1 msaitoh #define MDIO_AN_XNPXMIT1 22 /* AN XNP transmit 1 */
419 1.1 msaitoh #define MDIO_AN_XNPXMIT2 23 /* AN XNP transmit 2 */
420 1.1 msaitoh #define MDIO_AN_XNPXMIT3 24 /* AN XNP transmit 3 */
421 1.1 msaitoh #define MDIO_AN_LPXNPABLTY1 25 /* AN LP XNP ability 1 */
422 1.1 msaitoh #define MDIO_AN_LPXNPABLTY2 26 /* AN LP XNP ability 2 */
423 1.1 msaitoh #define MDIO_AN_LPXNPABLTY3 27 /* AN LP XNP ability 3 */
424 1.1 msaitoh /* Values 28 to 31 are reserved */
425 1.1 msaitoh #define MDIO_AN_10GTANCTRL 32 /* 10G-T AN control */
426 1.1 msaitoh #define MDIO_AN_10GTANSTAT 33 /* 10G-T AN status */
427 1.1 msaitoh /* Values 34 to 47 are reserved */
428 1.1 msaitoh #define MDIO_AN_BPETHSTAT 48 /* BP Ethernet status */
429 1.1 msaitoh /* Values 49 to 59 are reserved */
430 1.1 msaitoh #define MDIO_PCS_EEEADVERT 60 /* EEE advertisement (802.3az) */
431 1.1 msaitoh #define MDIO_PCS_EEELPABLTY 61 /* EEE LP ability (802.3az) */
432 1.1 msaitoh /* Values 62 to 32767 are reserved */
433 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
434 1.1 msaitoh
435 1.1 msaitoh /*
436 1.1 msaitoh * MDIO Clause 22 extension registers.
437 1.1 msaitoh * Table 45-143
438 1.1 msaitoh */
439 1.1 msaitoh /* Values 0 to 4 are reserved */
440 1.1 msaitoh #define MDIO_CL22E_DEVS1 5 /* Clause 22 ext. devices in package 1 */
441 1.1 msaitoh #define MDIO_CL22E_DEVS2 6 /* Clause 22 ext. devices in package 2 */
442 1.1 msaitoh #define MDIO_CL22E_FECCAP 7 /* FEC capability */
443 1.1 msaitoh #define MDIO_CL22E_FECCTRL 8 /* FEC control */
444 1.1 msaitoh #define MDIO_CL22E_FECBHCVIOCNT 9 /* FEC buffer head coding violation cnt. */
445 1.1 msaitoh #define MDIO_CL22E_FECCOBLCNT 10 /* FEC corrected blocks counter */
446 1.1 msaitoh #define MDIO_CL22E_FECUNCOBLCNT 11 /* FEC uncorrected blocks counter */
447 1.1 msaitoh /* Values 12 to 32767 are reserved */
448 1.1 msaitoh
449 1.1 msaitoh /*
450 1.1 msaitoh * MDIO Vendor specific MMD 1 registers.
451 1.1 msaitoh * Table 45-149
452 1.1 msaitoh */
453 1.1 msaitoh /* Values 0 to 1 are vendor specific */
454 1.1 msaitoh #define MDIO_VSMMD1_DEVID1 2 /* Vendor specific MMD 1 device ident. 1 */
455 1.1 msaitoh #define MDIO_VSMMD1_DEVID2 3 /* Vendor specific MMD 1 device ident. 2 */
456 1.1 msaitoh /* Values 4 to 7 are vendor specific */
457 1.1 msaitoh #define MDIO_VSMMD1_STAT 8 /* Vendor specific MMD 1 status register */
458 1.1 msaitoh /* Values 9 to 13 are vendor specific */
459 1.1 msaitoh #define MDIO_VSMMD1_PKGID1 14 /* Vendor specific MMD 1 package ident 1 */
460 1.1 msaitoh #define MDIO_VSMMD1_PKGID2 15 /* Vendor specific MMD 1 package ident 2 */
461 1.1 msaitoh /* Values 16 to 65535 are vendor specific */
462 1.1 msaitoh
463 1.1 msaitoh /*
464 1.1 msaitoh * MDIO Vendor specific MMD 2 registers.
465 1.1 msaitoh * Table 45-152
466 1.1 msaitoh */
467 1.1 msaitoh /* Values 0 to 1 are vendor specific */
468 1.1 msaitoh #define MDIO_VSMMD2_DEVID1 2 /* Vendor specific MMD 2 device ident. 1 */
469 1.1 msaitoh #define MDIO_VSMMD2_DEVID2 3 /* Vendor specific MMD 2 device ident. 2 */
470 1.1 msaitoh /* Values 4 to 7 are vendor specific */
471 1.1 msaitoh #define MDIO_VSMMD2_STAT 8 /* Vendor specific MMD 2 status register */
472 1.1 msaitoh /* Values 9 to 13 are vendor specific */
473 1.1 msaitoh #define MDIO_VSMMD2_PKGID1 14 /* Vendor specific MMD 2 package ident 1 */
474 1.1 msaitoh #define MDIO_VSMMD2_PKGID2 15 /* Vendor specific MMD 2 package ident 2 */
475 1.1 msaitoh /* Values 16 to 65535 are vendor specific */
476 1.1 msaitoh
477 1.1 msaitoh #endif /* _DEV_MII_MDIO_H_ */
478