mdio.h revision 1.9 1 1.9 msaitoh /* $NetBSD: mdio.h,v 1.9 2018/07/06 01:58:12 msaitoh Exp $ */
2 1.4 msaitoh
3 1.1 msaitoh /*-
4 1.1 msaitoh * Copyright (c) 2013 The NetBSD Foundation, Inc.
5 1.1 msaitoh * All rights reserved.
6 1.1 msaitoh *
7 1.1 msaitoh * This code is derived from software contributed to The NetBSD Foundation
8 1.2 msaitoh * by Masanobu SAITOH.
9 1.1 msaitoh *
10 1.1 msaitoh * Redistribution and use in source and binary forms, with or without
11 1.1 msaitoh * modification, are permitted provided that the following conditions
12 1.1 msaitoh * are met:
13 1.1 msaitoh * 1. Redistributions of source code must retain the above copyright
14 1.1 msaitoh * notice, this list of conditions and the following disclaimer.
15 1.1 msaitoh * 2. Redistributions in binary form must reproduce the above copyright
16 1.1 msaitoh * notice, this list of conditions and the following disclaimer in the
17 1.1 msaitoh * documentation and/or other materials provided with the distribution.
18 1.1 msaitoh *
19 1.1 msaitoh * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 1.1 msaitoh * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 1.1 msaitoh * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 1.1 msaitoh * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 1.1 msaitoh * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 1.1 msaitoh * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 1.1 msaitoh * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 1.1 msaitoh * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 1.1 msaitoh * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 1.1 msaitoh * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.1 msaitoh * POSSIBILITY OF SUCH DAMAGE.
30 1.1 msaitoh */
31 1.1 msaitoh
32 1.1 msaitoh #ifndef _DEV_MII_MDIO_H_
33 1.1 msaitoh #define _DEV_MII_MDIO_H_
34 1.1 msaitoh
35 1.1 msaitoh /*
36 1.1 msaitoh * IEEE 802.3 Clause 45 definitions.
37 1.1 msaitoh * From:
38 1.6 msaitoh * IEEE 802.3 2015
39 1.1 msaitoh * IEEE 802.3at
40 1.1 msaitoh * IEEE 802.3av
41 1.1 msaitoh */
42 1.1 msaitoh
43 1.1 msaitoh /*
44 1.6 msaitoh * MDIO Manageable Device (MMD) addresses.
45 1.1 msaitoh * Table 45-1
46 1.1 msaitoh */
47 1.1 msaitoh #define MDIO_MMD_PMAPMD 1
48 1.1 msaitoh #define MDIO_MMD_WIS 2
49 1.1 msaitoh #define MDIO_MMD_PCS 3
50 1.1 msaitoh #define MDIO_MMD_PHYXS 4
51 1.1 msaitoh #define MDIO_MMD_DTEXS 5
52 1.1 msaitoh #define MDIO_MMD_TC 6
53 1.1 msaitoh #define MDIO_MMD_AN 7
54 1.6 msaitoh #define MDIO_MMD_SEPPMA1 8
55 1.6 msaitoh #define MDIO_MMD_SEPPMA2 9
56 1.6 msaitoh #define MDIO_MMD_SEPPMA3 10
57 1.6 msaitoh #define MDIO_MMD_SEPPMA4 11
58 1.1 msaitoh #define MDIO_MMD_CL22EXT 29
59 1.1 msaitoh #define MDIO_MMD_VNDSP1 30
60 1.1 msaitoh #define MDIO_MMD_VNDSP2 31
61 1.1 msaitoh
62 1.1 msaitoh /*
63 1.6 msaitoh * PMA/PMD registers.
64 1.1 msaitoh * Table 45-3
65 1.1 msaitoh */
66 1.1 msaitoh #define MDIO_PMAPMD_CTRL1 0 /* PMA/PMD control 1 */
67 1.7 msaitoh #define PMAPMD_CTRL1_RESET 0x8000 /* Reset */
68 1.7 msaitoh #define PMAPMD_CTRL1_SPEED0 0x2000 /* Speed selection (LSB) */
69 1.7 msaitoh #define PMAPMD_CTRL1_LOWPWR 0x0800 /* Low power */
70 1.7 msaitoh #define PMAPMD_CTRL1_SPEED1 0x0040 /* Speed selection (MSB) */
71 1.7 msaitoh #define PMAPMD_CTRL1_SPEED2 0x003c /* Speed selection (over 1G) */
72 1.7 msaitoh #define PMAPMD_CTRL1_LOOP_REM 0x0002 /* PMA remote loopback */
73 1.7 msaitoh #define PMAPMD_CTRL1_LOOP_LOC 0x0001 /* PMA local loopback */
74 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_SEL52 (PMAPMD_CTRL1_SPEED0 | PMAPMD_CTRL1_SPEED1)
75 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_MASK (PMAPMD_CTRL1_SPEED_SEL52 \
76 1.7 msaitoh | PMAPMD_CTRL1_SPEED2)
77 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_10 0
78 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_100 PMAPMD_CTRL1_SPEED0
79 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_1G PMAPMD_CTRL1_SPEED1
80 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_10G PMAPMD_CTRL1_SPEED_SEL52
81 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_10PASS (PMAPMD_CTRL1_SPEED_SEL52 | (1 << 2))
82 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_40G (PMAPMD_CTRL1_SPEED_SEL52 | (2 << 2))
83 1.7 msaitoh #define PMAPMD_CTRL1_SPEED_100G (PMAPMD_CTRL1_SPEED_SEL52 | (3 << 2))
84 1.8 msaitoh #define PMAPMD_CTRL1_SPEED_25G (PMAPMD_CTRL1_SPEED_SEL52 | (4 << 2))
85 1.8 msaitoh #define PMAPMD_CTRL1_SPEED_2_5G (PMAPMD_CTRL1_SPEED_SEL52 | (6 << 2))
86 1.8 msaitoh #define PMAPMD_CTRL1_SPEED_5G (PMAPMD_CTRL1_SPEED_SEL52 | (7 << 2))
87 1.7 msaitoh
88 1.1 msaitoh #define MDIO_PMAPMD_STAT1 1 /* PMA/PMD status 1 */
89 1.1 msaitoh #define MDIO_PMAPMD_DEVID1 2 /* PMA/PMD device identifier 1 */
90 1.1 msaitoh #define MDIO_PMAPMD_DEVID2 3 /* PMA/PMD device identifier 2 */
91 1.1 msaitoh #define MDIO_PMAPMD_SPEED 4 /* PMA/PMD speed ability */
92 1.1 msaitoh #define MDIO_PMAPMD_DEVS1 5 /* PMA/PMD devices in package 1 */
93 1.1 msaitoh #define MDIO_PMAPMD_DEVS2 6 /* PMA/PMD devices in package 2 */
94 1.9 msaitoh
95 1.1 msaitoh #define MDIO_PMAPMD_CTRL2 7 /* PMA/PMD control 2 */
96 1.9 msaitoh #define PMAPMD_CTRL2_PIASE 0x0200
97 1.9 msaitoh #define PMAPMD_CTRL2_PEASE 0x0100
98 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_MASK 0x003f
99 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_SR4 0x2f
100 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_CR4 0x2e
101 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_KR4 0x2d
102 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_KP4 0x2c
103 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_ER4 0x2b
104 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_LR4 0x2a
105 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_SR10 0x29
106 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100G_CR10 0x28
107 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_ER4 0x25
108 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_FR 0x24
109 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_LR 0x23
110 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_SR4 0x22
111 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_CR4 0x21
112 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_40G_KR4 0x20
113 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U4 0x1f
114 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_U4 0x1e
115 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D4 0x1d
116 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_D4 0x1c
117 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_U3 0x1a
118 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_U1 0x19
119 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U3 0x18
120 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U2 0x17
121 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_U1 0x16
122 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_D3 0x15
123 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_D2 0x14
124 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_PR_D1 0x13
125 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D3 0x12
126 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D2 0x11
127 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_1G_PRX_D1 0x10
128 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10_T 0x0f
129 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_100_TX 0x0e
130 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_1000_KX 0x0d
131 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_1000_T 0x0c
132 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_KR 0x0b
133 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_KX4 0x0a
134 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_T 0x09
135 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_LRM 0x08
136 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_SR 0x07
137 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_LR 0x06
138 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_ER 0x05
139 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_LX4 0x04
140 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_SW 0x03
141 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_LW 0x02
142 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_EW 0x01
143 1.9 msaitoh #define PMAPMD_CTRL2_TYPE_10G_CX4 0x00
144 1.9 msaitoh
145 1.1 msaitoh #define MDIO_PMAPMD_10GSTAT2 8 /* 10G PMA/PMD status 2 */
146 1.1 msaitoh #define MDIO_PMAPMD_10GTXDIS 9 /* 10G PMA/PMD transmit disable */
147 1.1 msaitoh #define MDIO_PMAPMD_RXSIGDTCT 10 /* 10G PMD receive signal detect */
148 1.1 msaitoh #define MDIO_PMAPMD_EXTABLTY 11 /* 10G PMA/PMD ext. ability reg */
149 1.1 msaitoh #define MDIO_PMAPMD_P2MPABLTY 12 /* P2MP ability register(802.3av)*/
150 1.6 msaitoh #define MDIO_PMAPMD_40G100GEXTABLTY 13 /* 40G/100G extended ability */
151 1.1 msaitoh #define MDIO_PMAPMD_PKGID1 14 /* PMA/PMD package identifier 1 */
152 1.1 msaitoh #define MDIO_PMAPMD_PKGID2 15 /* PMA/PMD package identifier 2 */
153 1.6 msaitoh #define MDIO_PMAPMD_EEECAP 16 /* PMA/PMD EEE capability */
154 1.6 msaitoh /* Values 17 to 29 are reserved */
155 1.1 msaitoh #define MDIO_PMAPMD_10P2BCTRL 30 /* 10P/2B PMA/PMD control */
156 1.1 msaitoh #define MDIO_PMAPMD_10P2BSTAT 31 /* 10P/2B PMA/PMD status */
157 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPCTRL 32 /* 10P/2B link partner PMA/D ctrl*/
158 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPSTAT 33 /* 10P/2B link partner PMA/D stat*/
159 1.1 msaitoh /* Values 34 to 35 are reserved */
160 1.1 msaitoh #define MDIO_PMAPMD_10P2BLLOSCNT 36 /* 10P/2B link loss counter */
161 1.1 msaitoh #define MDIO_PMAPMD_10P2BRXSNMGN 37 /* 10P/2B RX SNR margin */
162 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPRXSNMG 38 /* 10P/2B link partner RX SNR mgn*/
163 1.1 msaitoh #define MDIO_PMAPMD_10P2BLINEATTN 39 /* 10P/2B line attenuation */
164 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPLINEATTN 40 /* 10P/2B link partner line atten*/
165 1.1 msaitoh #define MDIO_PMAPMD_10P2BLQTHRES 41 /* 10P/2B line quality thresholds*/
166 1.1 msaitoh #define MDIO_PMAPMD_10P2BLPLQLTHRES 42 /* 10P/2B link partner LQ thresh.*/
167 1.1 msaitoh #define MDIO_PMAPMD_10PFECCOERRS 43 /* 10P FEC correctable errors cnt*/
168 1.1 msaitoh #define MDIO_PMAPMD_10PFECUNCOERRS 44 /* 10P FEC uncorrectable err cnt*/
169 1.1 msaitoh #define MDIO_PMAPMD_10PLPFECCOERRS 45 /* 10P LP FEC correctable err cnt*/
170 1.1 msaitoh #define MDIO_PMAPMD_10PLPFECUNCOERRS 46 /* 10P LP FEC uncorrectable errcn*/
171 1.1 msaitoh #define MDIO_PMAPMD_10PELECLENGTH 47 /* 10P electrical length */
172 1.1 msaitoh #define MDIO_PMAPMD_10PLPELECLENGTH 48 /* 10P LP electrical length */
173 1.1 msaitoh #define MDIO_PMAPMD_10PGENCONFIG 49 /* 10P PMA/PMD general config. */
174 1.1 msaitoh #define MDIO_PMAPMD_10PPSDCONFIG 50 /* 10P PSD configuration */
175 1.1 msaitoh #define MDIO_PMAPMD_10PDSDRCONF1 51 /* 10P downstream data rate cnf1 */
176 1.1 msaitoh #define MDIO_PMAPMD_10PDSDRCONF2 52 /* 10P downstream data rate cnf2 */
177 1.1 msaitoh #define MDIO_PMAPMD_10PDSRSCONF 53 /* 10P downstream ReedSolomon cnf*/
178 1.1 msaitoh #define MDIO_PMAPMD_10PUSDR1 54 /* 10P upstream data rate cnf1 */
179 1.1 msaitoh #define MDIO_PMAPMD_10PUSDR2 55 /* 10P upstream data rate cnf2 */
180 1.5 msaitoh #define MDIO_PMAPMD_10PUSRSCONF 56 /* 10P upstream ReedSolomon cnf */
181 1.1 msaitoh #define MDIO_PMAPMD_10PTONEGROUP1 57 /* 10P tone group 1 */
182 1.1 msaitoh #define MDIO_PMAPMD_10PTONEGROUP2 58 /* 10P tone group 2 */
183 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM1 59 /* 10P tone parameter 1 */
184 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM2 60 /* 10P tone parameter 2 */
185 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM3 61 /* 10P tone parameter 3 */
186 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM4 62 /* 10P tone parameter 4 */
187 1.1 msaitoh #define MDIO_PMAPMD_10PTONEPARAM5 63 /* 10P tone parameter 5 */
188 1.1 msaitoh #define MDIO_PMAPMD_10PTONECTLACTN 64 /* 10P tone control action */
189 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT1 65 /* 10P tone status 1 */
190 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT2 66 /* 10P tone status 2 */
191 1.1 msaitoh #define MDIO_PMAPMD_10PTONESTAT3 67 /* 10P tone status 3 */
192 1.3 msaitoh #define MDIO_PMAPMD_10POUTINDICAT 68 /* 10P outgoing indicator bits */
193 1.3 msaitoh #define MDIO_PMAPMD_10PININDICAT 69 /* 10P incoming indicator bits */
194 1.1 msaitoh #define MDIO_PMAPMD_10PCYCLICEXTCNF 70 /* 10P cyclic extension config. */
195 1.1 msaitoh #define MDIO_PMAPMD_10PATTAINDSDR 71 /* 10P attainable downstream DR */
196 1.1 msaitoh /* Values 72 to 79 are reserved */
197 1.1 msaitoh #define MDIO_PMAPMD_2BGENPARAM 80 /* 2B general parameter */
198 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM1 81 /* 2B PMD parameter 1 */
199 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM2 82 /* 2B PMD parameter 2 */
200 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM3 83 /* 2B PMD parameter 3 */
201 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM4 84 /* 2B PMD parameter 4 */
202 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM5 85 /* 2B PMD parameter 5 */
203 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM6 86 /* 2B PMD parameter 6 */
204 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM7 87 /* 2B PMD parameter 7 */
205 1.1 msaitoh #define MDIO_PMAPMD_2BPMDPARAM8 88 /* 2B PMD parameter 8 */
206 1.1 msaitoh #define MDIO_PMAPMD_2BCODEVIOERRCNT 89 /* 2B code violation errors cnt. */
207 1.1 msaitoh #define MDIO_PMAPMD_2BLPCODEVIOERR 90 /* 2B LP code violation errors */
208 1.1 msaitoh #define MDIO_PMAPMD_2BERRSECCNT 91 /* 2B errored seconds counter */
209 1.1 msaitoh #define MDIO_PMAPMD_2BLPERRSEC 92 /* 2B LP errored seconds */
210 1.1 msaitoh #define MDIO_PMAPMD_2BSEVERRSECCNT 93 /* 2B severely errored seconds cn*/
211 1.1 msaitoh #define MDIO_PMAPMD_2BLPSEVERRSECCNT 94 /* 2B LP severely errored secs cn*/
212 1.1 msaitoh #define MDIO_PMAPMD_2BLOSWCNT 95 /* 2B LOSW counter */
213 1.1 msaitoh #define MDIO_PMAPMD_2BLPLOSW 96 /* 2B LP LOSW */
214 1.1 msaitoh #define MDIO_PMAPMD_2BUNAVSECCNT 97 /* 2B unavailable seconds counter*/
215 1.1 msaitoh #define MDIO_PMAPMD_2BLPUNAVSECCNT 98 /* 2B LP unavailable seconds cnt */
216 1.1 msaitoh #define MDIO_PMAPMD_2BSTATDEFECT 99 /* 2B state defects */
217 1.1 msaitoh #define MDIO_PMAPMD_2BLPSTATDEFECT 100 /* 2B LP state defects */
218 1.1 msaitoh #define MDIO_PMAPMD_2BNEGOCONSTEL 101 /* 2B negotiated constellation */
219 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM1 102 /* 2B extended PMD parameters 1 */
220 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM2 103 /* 2B extended PMD parameters 2 */
221 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM3 104 /* 2B extended PMD parameters 3 */
222 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM4 105 /* 2B extended PMD parameters 4 */
223 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM5 106 /* 2B extended PMD parameters 5 */
224 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM6 107 /* 2B extended PMD parameters 6 */
225 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM7 108 /* 2B extended PMD parameters 7 */
226 1.1 msaitoh #define MDIO_PMAPMD_2BEXTPMDPARAM8 109 /* 2B extended PMD parameters 8 */
227 1.1 msaitoh /* Values 110 to 128 are reserved */
228 1.1 msaitoh #define MDIO_PMAPMD_10GTSTAT 129 /* 10GBASE-T status */
229 1.1 msaitoh #define MDIO_PMAPMD_10GTPASWPOLAR 130 /* 10G-T pair swap & polarity */
230 1.1 msaitoh #define MDIO_PMAPMD_10GTTXPWBOSHRCH 131 /* 10G-T PWR backoff&PHY shrt rch*/
231 1.1 msaitoh #define MDIO_PMAPMD_10GTTSTMODE 132 /* 10G-T test mode */
232 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGA 133 /* 10G-T SNR operating margin chA*/
233 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGB 134 /* 10G-T SNR operating margin chB*/
234 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGC 135 /* 10G-T SNR operating margin chC*/
235 1.1 msaitoh #define MDIO_PMAPMD_10GTSNROMARGD 136 /* 10G-T SNR operating margin chD*/
236 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGA 137 /* 10G-T minimum margin ch. A */
237 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGB 138 /* 10G-T minimum margin ch. B */
238 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGC 139 /* 10G-T minimum margin ch. C */
239 1.1 msaitoh #define MDIO_PMAPMD_10GTMINMARGD 140 /* 10G-T minimum margin ch. D */
240 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRA 141 /* 10G-T RX signal power ch. A */
241 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRB 142 /* 10G-T RX signal power ch. B */
242 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRC 143 /* 10G-T RX signal power ch. C */
243 1.1 msaitoh #define MDIO_PMAPMD_10GTSIGPWRD 144 /* 10G-T RX signal power ch. D */
244 1.1 msaitoh #define MDIO_PMAPMD_10GTSKEWDLY1 145 /* 10G-T skew delay 1 */
245 1.1 msaitoh #define MDIO_PMAPMD_10GTSKEWDLY2 146 /* 10G-T skew delay 2 */
246 1.1 msaitoh #define MDIO_PMAPMD_10GTFSTRETSTATCTRL 147 /* 10G-T fast retrain stat&ctrl */
247 1.3 msaitoh /* Values 148 to 149 are reserved */
248 1.6 msaitoh #define MDIO_PMAPMD_BASERPMDCTRL 150 /* BASE-R PMD control */
249 1.6 msaitoh #define MDIO_PMAPMD_BASERPMDSTAT 151 /* BASE-R PMD status */
250 1.6 msaitoh #define MDIO_PMAPMD_BASERLPCOEFUPDL0 152 /* BASE-R LP coeffici. update ln0*/
251 1.6 msaitoh #define MDIO_PMAPMD_BASERLPSTATRPTL0 153 /* BASE-R LP status report lane0 */
252 1.6 msaitoh #define MDIO_PMAPMD_BASERLDCOEFFUPDL0 154 /* BASE-R LD coeffici. update ln0*/
253 1.6 msaitoh #define MDIO_PMAPMD_BASERLDSTATRPTL0 155 /* BASE-R LD status report lane0 */
254 1.6 msaitoh #define MDIO_PMAPMD_BASERSTAT2 156 /* BASE-R PMD status 2 */
255 1.6 msaitoh #define MDIO_PMAPMD_BASERSTAT3 157 /* BASE-R PMD status 3 */
256 1.6 msaitoh /* Values 158 to 159 are reserved */
257 1.6 msaitoh #define MDIO_PMAPMD_1000KXCTRL 160 /* 1000BASE-KX control */
258 1.6 msaitoh #define MDIO_PMAPMD_1000KXSTAT 161 /* 1000BASE-KX status */
259 1.6 msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL1 162 /* PMA Overhead Control 1 */
260 1.6 msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL2 163 /* PMA Overhead Control 2 */
261 1.6 msaitoh #define MDIO_PMAPMD_PMAOVHDCTRL3 164 /* PMA Overhead Control 3 */
262 1.6 msaitoh #define MDIO_PMAPMD_PMAOVHDSTAT1 165 /* PMA Overhead Status 1 */
263 1.6 msaitoh #define MDIO_PMAPMD_PMAOVHDSTAT2 166 /* PMA Overhead Status 2 */
264 1.6 msaitoh /* Values 167 to 169 are reserved */
265 1.6 msaitoh #define MDIO_PMAPMD_BASERFECABLTY 170 /* BASE-R FEC ability */
266 1.6 msaitoh #define MDIO_PMAPMD_BASERFECCTRL 171 /* BASE-R FEC control */
267 1.6 msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNTL 172 /* 10G-R FEC corrected blks cntL */
268 1.6 msaitoh #define MDIO_PMAPMD_10GRFECCOBLCNTH 173 /* 10G-R FEC corrected blks cntH */
269 1.6 msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNTL 174 /* 10G-R FEC uncorrect blks cntL */
270 1.6 msaitoh #define MDIO_PMAPMD_10GRFECUNCOBLCNTH 175 /* 10G-R FEC uncorrect blks cntH */
271 1.6 msaitoh /* Values 176 to 178 are reserved */
272 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2MRECCTLE 179 /* CAUI-4 Chip2Mod recomme. CTLE */
273 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL0 180 /* CAUI-4 Ch2Ch TxEq RxDir lane0 */
274 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL1 181 /* lane1 */
275 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL2 182 /* lane2 */
276 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTERDIL3 183 /* lane3 */
277 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL0 184 /* CAUI-4 Ch2Ch TxEq TxDet lane0 */
278 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL1 185 /* lane1 */
279 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL2 186 /* lane2 */
280 1.6 msaitoh #define MDIO_PMAPMD_CAUI4C2CTETDEL3 187 /* lane3 */
281 1.6 msaitoh /* Values 188 to 199 are reserved */
282 1.6 msaitoh #define MDIO_PMAPMD_RSFECCTRL 200 /* RS-FEC Control */
283 1.6 msaitoh #define MDIO_PMAPMD_RSFECSTAT 201 /* RS-FEC Status */
284 1.6 msaitoh #define MDIO_PMAPMD_RSFECCORRCWCNTL 202 /* RS-FEC correct. codeword cntL */
285 1.6 msaitoh #define MDIO_PMAPMD_RSFECCORRCWCNTH 203 /* RS-FEC correct. codeword cntH */
286 1.6 msaitoh #define MDIO_PMAPMD_RSFECUNCORRCWCNTL 204 /* RS-FEC uncorre. codeword cntL */
287 1.6 msaitoh #define MDIO_PMAPMD_RSFECUNCORRCWCNTH 205 /* RS-FEC uncorre. codeword cntH */
288 1.6 msaitoh #define MDIO_PMAPMD_RSFECLANEMAP 206 /* RS-FEC Lane Mapping */
289 1.6 msaitoh /* Values 207 to 209 are reserved */
290 1.6 msaitoh #define MDIO_PMAPMD_RSFECSMBLERRCNTL(x) /* RS-FEC Symbol Error CntLow */ \
291 1.6 msaitoh (210 + ((x) * 2)) /* lane 0 to 3 */
292 1.6 msaitoh #define MDIO_PMAPMD_RSFECSMBLERRCNTH(x) /* RS-FEC Symbol Error CntHigh */ \
293 1.6 msaitoh (211 + ((x) * 2)) /* lane 0 to 3 */
294 1.6 msaitoh /* Values 218 to 229 are reserved */
295 1.6 msaitoh #define MDIO_PMAPMD_RSFECBIPERRCNT(x) /* RS-FEC BIP Error Counter */ \
296 1.6 msaitoh (230 + (x)) /* lane 0 to 19 */
297 1.6 msaitoh #define MDIO_PMAPMD_RSFECPCSLMAP(x) /* RS-FEC PCS Lane Mapping */ \
298 1.6 msaitoh (250 + (x)) /* lane 0 to 19 */
299 1.6 msaitoh /* Values 270 to 279 are reserved */
300 1.6 msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT1 280 /* RS-FEC PCS Alignment Status 1 */
301 1.6 msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT2 281 /* RS-FEC PCS Alignment Status 2 */
302 1.6 msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT3 282 /* RS-FEC PCS Alignment Status 3 */
303 1.6 msaitoh #define MDIO_PMAPMD_RSFECPCSALGNSTAT4 283 /* RS-FEC PCS Alignment Status 4 */
304 1.6 msaitoh /* Values 284 to 299 are reserved */
305 1.6 msaitoh #define MDIO_PMAPMD_BASERFECCORBLKCNTL(x) /* BASE-R FEC Corr. Blk. CntL */ \
306 1.6 msaitoh (300 + ((x) * 2)) /* lane0 to 19 */
307 1.6 msaitoh #define MDIO_PMAPMD_BASERFECCORBLKCNTH(x) /* BASE-R FEC Corr. Blk. CntH */ \
308 1.6 msaitoh (301 + ((x) * 2)) /* lane0 to 19 */
309 1.6 msaitoh /* Values 340 to 699 are reserved */
310 1.6 msaitoh #define MDIO_PMAPMD_BASERFECUNCORBLKCNTL(x) /* BASE-R FEC UnCorr. Blk. CntL*/ \
311 1.6 msaitoh (700 + ((x) * 2)) /* lane0 to 19 */
312 1.6 msaitoh #define MDIO_PMAPMD_BASERFECUNCORBLKCNTH(x) /* BASE-R FEC UnCorr. Blk. CntH*/ \
313 1.6 msaitoh (701 + ((x) * 2)) /* lane0 to 19 */
314 1.6 msaitoh /* Values 740 to 1099 are reserved */
315 1.6 msaitoh #define MDIO_PMAPMD_BASERLPCOEFUPD(x) /* BASE-R LP coefficient update */\
316 1.6 msaitoh (1100 + (x)) /* lane0 to 9 */
317 1.6 msaitoh /* Values 1110 to 1199 are reserved */
318 1.6 msaitoh #define MDIO_PMAPMD_BASERLPSTATRPT(x) /* BASE-R LP status report */ \
319 1.6 msaitoh (1200 + (x)) /* lane0 to 9 */
320 1.6 msaitoh /* Values 1210 to 1299 are reserved */
321 1.6 msaitoh #define MDIO_PMAPMD_BASERLDCOEFUPD(x) /* BASE-R LD coefficient update */\
322 1.6 msaitoh (1300 + (x)) /* lane0 to 9 */
323 1.6 msaitoh /* Values 1310 to 1399 are reserved */
324 1.6 msaitoh #define MDIO_PMAPMD_BASERLDSTATRPT(x) /* BASE-R LD status report */ \
325 1.6 msaitoh (1400 + (x)) /* lane0 to 9 */
326 1.6 msaitoh /* Values 1410 to 1449 are reserved */
327 1.6 msaitoh #define MDIO_PMAPMD_PMDTRAINPATTERN(x) /* PMD training pattern */ \
328 1.6 msaitoh (1450 + (x)) /* lane0 to 3 */
329 1.6 msaitoh /* Values 1454 to 1499 are reserved */
330 1.6 msaitoh #define MDIO_PMAPMD_TSTPAT 1500 /* Test-pattern ability */
331 1.6 msaitoh #define MDIO_PMAPMD_PRBSPATTSTCTRL 1501 /* PRBS pattern testing control */
332 1.6 msaitoh /* Values 1502 to 1509 are reserved */
333 1.6 msaitoh #define MDIO_PMAPMD_SQWVTSTCTRL 1510 /* Square wave testing control */
334 1.6 msaitoh /* Values 1511 to 1599 are reserved */
335 1.6 msaitoh #define MDIO_PMAPMD_PRBSTXERRCNT(x) /* PRBS Tx Error Counter */ \
336 1.6 msaitoh (1600 + (x)) /* lane0 to 9 */
337 1.6 msaitoh /* Values 1610 to 1699 are reserved */
338 1.6 msaitoh #define MDIO_PMAPMD_PRBSRXERRCNT(x) /* PRBS Rx Error Counter */ \
339 1.6 msaitoh (1700 + (x)) /* lane0 to 9 */
340 1.6 msaitoh /* Values 1710 to 1799 are reserved */
341 1.6 msaitoh #define MDIO_PMAPMD_TSYNCCAP 1800 /* TimeSync PMA/PMD capability */
342 1.6 msaitoh #define MDIO_PMAPMD_TSYNCTXMAXDLYL 1801 /* TimeSync PMAPMD TX MAXdelay L*/
343 1.6 msaitoh #define MDIO_PMAPMD_TSYNCTXMAXDLYH 1802 /* TimeSync PMAPMD TX MAXdelay H*/
344 1.6 msaitoh #define MDIO_PMAPMD_TSYNCTXMINDLYL 1803 /* TimeSync PMAPMD TX MINdelay L*/
345 1.6 msaitoh #define MDIO_PMAPMD_TSYNCTXMINDLYH 1804 /* TimeSync PMAPMD TX MINdelay H*/
346 1.6 msaitoh #define MDIO_PMAPMD_TSYNCRXMAXDLYL 1805 /* TimeSync PMAPMD RX MAXdelay L*/
347 1.6 msaitoh #define MDIO_PMAPMD_TSYNCRXMAXDLYH 1806 /* TimeSync PMAPMD RX MAXdelay H*/
348 1.6 msaitoh #define MDIO_PMAPMD_TSYNCRXMINDLYL 1807 /* TimeSync PMAPMD RX MINdelay L*/
349 1.6 msaitoh #define MDIO_PMAPMD_TSYNCRXMINDLYH 1808 /* TimeSync PMAPMD RX MINdelay H*/
350 1.6 msaitoh /* Values 1809 to 32767 are reserved */
351 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
352 1.1 msaitoh
353 1.1 msaitoh /*
354 1.6 msaitoh * WIS registers.
355 1.6 msaitoh * Table 45-99
356 1.1 msaitoh */
357 1.1 msaitoh #define MDIO_WIS_CTRL1 0 /* WIS control 1 */
358 1.1 msaitoh #define MDIO_WIS_STAT1 1 /* WIS status 1 */
359 1.1 msaitoh #define MDIO_WIS_DEVID1 2 /* WIS device identifier 1 */
360 1.1 msaitoh #define MDIO_WIS_DEVID2 3 /* WIS device identifier 2 */
361 1.1 msaitoh #define MDIO_WIS_SPEED 4 /* WIS speed ability */
362 1.1 msaitoh #define MDIO_WIS_DEVS1 5 /* WIS devices in package 1 */
363 1.1 msaitoh #define MDIO_WIS_DEVS2 6 /* WIS devices in package 2 */
364 1.1 msaitoh #define MDIO_WIS_10GCTRL2 7 /* 10G WIS control 2 */
365 1.1 msaitoh #define MDIO_WIS_10GSTAT2 8 /* 10G WIS status 2 */
366 1.1 msaitoh #define MDIO_WIS_10GTSTERRCNT 9 /* 10G WIS test-pattern error counter*/
367 1.1 msaitoh /* Values 10 to 13 are reserved */
368 1.1 msaitoh #define MDIO_WIS_PKGID1 14 /* WIS package identifier 1 */
369 1.1 msaitoh #define MDIO_WIS_PKGID2 15 /* WIS package identifier 2 */
370 1.1 msaitoh /* Values 16 to 32 are reserved */
371 1.1 msaitoh #define MDIO_WIS_10GSTAT3 33 /* 10G WIS status 3 */
372 1.1 msaitoh /* Values 34 to 36 are reserved */
373 1.6 msaitoh #define MDIO_WIS_10GFARENDPBERRCNT 37 /* 10G WIS far end path block errcnt */
374 1.1 msaitoh /* Value 38 is reserved */
375 1.6 msaitoh #define MDIO_WIS_J1XMIT(x) /* 10G WIS J1 transmit */ \
376 1.6 msaitoh (39 + ((x) / 2))/* 0to15. L8=even, H8=odd */
377 1.6 msaitoh
378 1.6 msaitoh #define MDIO_WIS_J1RCV(x) /* 10G WIS J1 receive */ \
379 1.6 msaitoh (47 + ((x) / 2))/* 0to15. L8=even, H8=odd */
380 1.1 msaitoh #define MDIO_WIS_FARENDLBIPERR1 55 /* 10G WIS far end line BIP errors 1 */
381 1.1 msaitoh #define MDIO_WIS_FARENDLBIPERR2 56 /* 10G WIS far end line BIP errors 2 */
382 1.1 msaitoh #define MDIO_WIS_LBIPERR1 57 /* 10G WIS line BIP errors 1 */
383 1.1 msaitoh #define MDIO_WIS_LBIPERR2 58 /* 10G WIS line BIP errors 2 */
384 1.1 msaitoh #define MDIO_WIS_PBERRCNT 59 /* 10G WIS path block error count */
385 1.1 msaitoh #define MDIO_WIS_SECBIPERRCNT 60 /* 10G WIS section BIP error count */
386 1.1 msaitoh /* Values 61 to 63 are reserved */
387 1.6 msaitoh #define MDIO_WIS_J0XMIT(x) /* 10G WIS J0 transmit */ \
388 1.6 msaitoh (64 + ((x) / 2))/* 0to15. L8=even, H8=odd */
389 1.6 msaitoh
390 1.6 msaitoh #define MDIO_WIS_J0RCV(x) /* 10G WIS J0 receive */ \
391 1.6 msaitoh (72 + ((x) / 2))/* 0to15. L8=even, H8=odd */
392 1.6 msaitoh /* Values 80 to 1799 are reserved */
393 1.6 msaitoh #define MDIO_WIS_TSYNCCAP 1800 /* TimeSync WIS capability */
394 1.6 msaitoh #define MDIO_WIS_TSYNCTXMAXDLYL 1801 /* TimeSync WIS TX MAXdelay L*/
395 1.6 msaitoh #define MDIO_WIS_TSYNCTXMAXDLYH 1802 /* TimeSync WIS TX MAXdelay H*/
396 1.6 msaitoh #define MDIO_WIS_TSYNCTXMINDLYL 1803 /* TimeSync WIS TX MINdelay L*/
397 1.6 msaitoh #define MDIO_WIS_TSYNCTXMINDLYH 1804 /* TimeSync WIS TX MINdelay H*/
398 1.6 msaitoh #define MDIO_WIS_TSYNCRXMAXDLYL 1805 /* TimeSync WIS RX MAXdelay L*/
399 1.6 msaitoh #define MDIO_WIS_TSYNCRXMAXDLYH 1806 /* TimeSync WIS RX MAXdelay H*/
400 1.6 msaitoh #define MDIO_WIS_TSYNCRXMINDLYL 1807 /* TimeSync WIS RX MINdelay L*/
401 1.6 msaitoh #define MDIO_WIS_TSYNCRXMINDLYH 1808 /* TimeSync WIS RX MINdelay H*/
402 1.6 msaitoh /* Values 1809 to 32767 are reserved */
403 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
404 1.1 msaitoh
405 1.1 msaitoh /*
406 1.6 msaitoh * PCS registers.
407 1.6 msaitoh * Table 45-119
408 1.1 msaitoh */
409 1.1 msaitoh #define MDIO_PCS_CTRL1 0 /* PCS control 1 */
410 1.1 msaitoh #define MDIO_PCS_STAT1 1 /* PCS status 1 */
411 1.1 msaitoh #define MDIO_PCS_DEVID1 2 /* PCS device identifier 1 */
412 1.1 msaitoh #define MDIO_PCS_DEVID2 3 /* PCS device identifier 2 */
413 1.1 msaitoh #define MDIO_PCS_SPEED 4 /* PCS speed ability */
414 1.1 msaitoh #define MDIO_PCS_DEVS1 5 /* PCS devices in package 1 */
415 1.1 msaitoh #define MDIO_PCS_DEVS2 6 /* PCS devices in package 2 */
416 1.1 msaitoh #define MDIO_PCS_10GCTRL2 7 /* 10G PCS control 2 */
417 1.1 msaitoh #define MDIO_PCS_10GSTAT2 8 /* 10G PCS status 2 */
418 1.1 msaitoh /* Values 9 to 13 are reserved */
419 1.1 msaitoh #define MDIO_PCS_PKGID1 14 /* PCS package identifier 1 */
420 1.1 msaitoh #define MDIO_PCS_PKGID2 15 /* PCS package identifier 2 */
421 1.1 msaitoh /* Values 16 to 19 are reserved */
422 1.6 msaitoh #define MDIO_PCS_EEECTRLCAP 20 /* EEE control and capability */
423 1.1 msaitoh /* Value 21 is reserved */
424 1.6 msaitoh #define MDIO_PCS_EEEWKERRCNT 22 /* EEE wake error counter */
425 1.1 msaitoh /* Value 23 is reserved */
426 1.1 msaitoh #define MDIO_PCS_10GXSTAT 24 /* 10G-X PCS status */
427 1.1 msaitoh #define MDIO_PCS_10GXSTSCTRL 25 /* 10G-X PCS test control */
428 1.1 msaitoh /* Values 26 to 31 are reserved */
429 1.6 msaitoh #define MDIO_PCS_BASERTSTAT1 32 /* BASE-R & 10G-T PCS status 1 */
430 1.6 msaitoh #define MDIO_PCS_BASERTSTAT2 33 /* BASE-R & 10G-T PCS status 2 */
431 1.6 msaitoh #define MDIO_PCS_10GRTPSEEDA(x) /* 10G-R PCS test pattern seed A */ \
432 1.6 msaitoh (34 + (x)) /* 0 to 3 */
433 1.6 msaitoh #define MDIO_PCS_10GRTPSEEDB /* 10G-R PCS test pattern seed B */ \
434 1.6 msaitoh (38 + (x)) /* 0 to 3 */
435 1.1 msaitoh #define MDIO_PCS_10GRTPCTRL 42 /* 10G-R PCS test pattern control */
436 1.1 msaitoh #define MDIO_PCS_10GRTPERRCNT 43 /* 10G-R PCS test pattern err counter*/
437 1.6 msaitoh #define MDIO_PCS_BERHIORDERCNT 44 /* BER high order counter */
438 1.6 msaitoh #define MDIO_PCS_ERRBHIORDERCNT 45 /* Errored blocks high order counter */
439 1.6 msaitoh /* Values 46 to 49 are reserved */
440 1.6 msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT1 50 /* Mlt-lane BASE-R PCS Align. Stat1 */
441 1.6 msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT2 51 /* Mlt-lane BASE-R PCS Align. Stat2 */
442 1.6 msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT3 52 /* Mlt-lane BASE-R PCS Align. Stat3 */
443 1.6 msaitoh #define MDIO_PCS_MLBRPCSALGNSTAT4 53 /* Mlt-lane BASE-R PCS Align. Stat4 */
444 1.6 msaitoh /* Values 54 to 59 are reserved */
445 1.1 msaitoh #define MDIO_PCS_10P2BCAP 60 /* 10P/2B capability */
446 1.6 msaitoh #define MDIO_PCS_10P2BCTRL 61 /* 10P/2B PCS control */
447 1.1 msaitoh #define MDIO_PCS_10P2BPMEAVAIL1 62 /* 10P/2B PME available 1 */
448 1.1 msaitoh #define MDIO_PCS_10P2BPMEAVAIL2 63 /* 10P/2B PME available 2 */
449 1.1 msaitoh #define MDIO_PCS_10P2BPMEAGGRG1 64 /* 10P/2B PME aggregate 1 */
450 1.1 msaitoh #define MDIO_PCS_10P2BPMEAGGRG2 65 /* 10P/2B PME aggregate 2 */
451 1.1 msaitoh #define MDIO_PCS_10P2BPAFRXERRCNT 66 /* 10P/2B PAF RX error counter */
452 1.1 msaitoh #define MDIO_PCS_10P2BPAFSMLFRCNT 67 /* 10P/2B PAF small fragment counter */
453 1.1 msaitoh #define MDIO_PCS_10P2BPAFLARFLCNT 68 /* 10P/2B PAF large fragment counter */
454 1.6 msaitoh #define MDIO_PCS_10P2BPAFOVFLCNT 69 /* 10P/2B PAF overflow counter */
455 1.6 msaitoh #define MDIO_PCS_10P2BPAFBADFLCNT 70 /* 10P/2B PAF bad fragments counter */
456 1.6 msaitoh #define MDIO_PCS_10P2BPAFLSTFLCNT 71 /* 10P/2B PAF lost fragments counter */
457 1.6 msaitoh #define MDIO_PCS_10P2BPAFLSTSTFLCNT 72 /* 10P/2B PAF lost starts of fr. cnt */
458 1.6 msaitoh #define MDIO_PCS_10P2BPAFLSTENFLCNT 73 /* 10P/2B PAF lost ends of fr. count */
459 1.1 msaitoh #define MDIO_PCS_10GPRFECABLTY 74 /* 10G-PR & 10/1G-PRX FEC ability */
460 1.1 msaitoh #define MDIO_PCS_10GPRFECCTRL 75 /* 10G-PR & 10/1G-PRX FEC control */
461 1.1 msaitoh #define MDIO_PCS_10GPRCOFECCOCNT1 76 /*10(/1)G-PR(X) corrected FECcodecnt1*/
462 1.1 msaitoh #define MDIO_PCS_10GPRCOFECCOCNT2 77 /*10(/1)G-PR(X) corrected FECcodecnt2*/
463 1.1 msaitoh #define MDIO_PCS_10GPRUNCOFECCOCNT1 78 /*10(/1)G-PR(X)uncorrected FECcdecnt1*/
464 1.1 msaitoh #define MDIO_PCS_10GPRUNCOFECCOCNT2 79 /*10(/1)G-PR(X)uncorrected FECcdecnt2*/
465 1.1 msaitoh #define MDIO_PCS_10GPRBERMONTMRCTRL 80 /*10(/1)G-PR(X) BER monitor tmr ctrl */
466 1.1 msaitoh #define MDIO_PCS_10GPRBERMONSTAT 81 /*10(/1)G-PR(X) BER monitor status */
467 1.1 msaitoh #define MDIO_PCS_10GPRBERMONTHRCTRL 82 /*10(/1)G-PR(X) BER mntr thresh ctrl */
468 1.6 msaitoh /* Values 83 to 199 are reserved */
469 1.6 msaitoh #define MDIO_PCS_BIPERRCNT(x) /* BIP Error Counter */ \
470 1.6 msaitoh (200 + (x)) /* lane 0 to 19 */
471 1.6 msaitoh /* Values 220 to 399 are reserved */
472 1.6 msaitoh #define MDIO_PCS_PCSLMAP(x) /* PCS Lane Mapping */ \
473 1.6 msaitoh (400 + (x)) /* lane 0 to 19 */
474 1.6 msaitoh /* Values 420 to 1799 are reserved */
475 1.6 msaitoh #define MDIO_PCS_TSYNCCAP 1800 /* TimeSync PCS capability */
476 1.6 msaitoh #define MDIO_PCS_TSYNCTXMAXDLYL 1801 /* TimeSync PCS TX MAXdelay L*/
477 1.6 msaitoh #define MDIO_PCS_TSYNCTXMAXDLYH 1802 /* TimeSync PCS TX MAXdelay H*/
478 1.6 msaitoh #define MDIO_PCS_TSYNCTXMINDLYL 1803 /* TimeSync PCS TX MINdelay L*/
479 1.6 msaitoh #define MDIO_PCS_TSYNCTXMINDLYH 1804 /* TimeSync PCS TX MINdelay H*/
480 1.6 msaitoh #define MDIO_PCS_TSYNCRXMAXDLYL 1805 /* TimeSync PCS RX MAXdelay L*/
481 1.6 msaitoh #define MDIO_PCS_TSYNCRXMAXDLYH 1806 /* TimeSync PCS RX MAXdelay H*/
482 1.6 msaitoh #define MDIO_PCS_TSYNCRXMINDLYL 1807 /* TimeSync PCS RX MINdelay L*/
483 1.6 msaitoh #define MDIO_PCS_TSYNCRXMINDLYH 1808 /* TimeSync PCS RX MINdelay H*/
484 1.6 msaitoh /* Values 1809 to 32767 are reserved */
485 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
486 1.1 msaitoh
487 1.1 msaitoh /*
488 1.6 msaitoh * PHY XS registers.
489 1.6 msaitoh * Table 45-164
490 1.1 msaitoh */
491 1.1 msaitoh #define MDIO_PHYXS_CTRL1 0 /* PHY XS control 1 */
492 1.1 msaitoh #define MDIO_PHYXS_STAT1 1 /* PHY XS status 1 */
493 1.1 msaitoh #define MDIO_PHYXS_DEVID1 2 /* PHY XS device identifier 1 */
494 1.1 msaitoh #define MDIO_PHYXS_DEVID2 3 /* PHY XS device identifier 2 */
495 1.1 msaitoh #define MDIO_PHYXS_SPEED 4 /* PHY XS speed ability */
496 1.1 msaitoh #define MDIO_PHYXS_DEVS1 5 /* PHY XS devices in package 1 */
497 1.1 msaitoh #define MDIO_PHYXS_DEVS2 6 /* PHY XS devices in package 2 */
498 1.1 msaitoh /* Value 7 is reserved */
499 1.1 msaitoh #define MDIO_PHYXS_STAT2 8 /* PHY XS status 2 */
500 1.1 msaitoh /* Values 9 to 13 are reserved */
501 1.1 msaitoh #define MDIO_PHYXS_PKGID1 14 /* PHY XS package identifier 1 */
502 1.1 msaitoh #define MDIO_PHYXS_PKGID2 15 /* PHY XS package identifier 2 */
503 1.1 msaitoh /* Values 16 to 19 are reserved */
504 1.6 msaitoh #define MDIO_PHYXS_EEECAP 20 /* EEE capability register */
505 1.1 msaitoh /* Value 21 is reserved */
506 1.6 msaitoh #define MDIO_PHYXS_EEEWKERRCNT 22 /* EEE wake error counter */
507 1.1 msaitoh /* Value 23 is reserved */
508 1.1 msaitoh #define MDIO_PHYXS_10GXGXLNSTAT 24 /* 10G-X PHY XGXS lane status */
509 1.1 msaitoh #define MDIO_PHYXS_10GXGXSTSCTRL 25 /* 10G-X PHY XGXS test control */
510 1.6 msaitoh /* Values 26 to 1799 are reserved */
511 1.6 msaitoh #define MDIO_PHYXS_TSYNCCSP 1800 /* TimeSync PHY XS capability */
512 1.6 msaitoh #define MDIO_PHYXS_TSYNCTXMAXDLYL 1801 /* TimeSync PHY XS TX MAX delay L */
513 1.6 msaitoh #define MDIO_PHYXS_TSYNCTXMAXDLYH 1802 /* TimeSync PHY XS TX MAX delay H */
514 1.6 msaitoh #define MDIO_PHYXS_TSYNCTXMINDLYL 1803 /* TimeSync PHY XS TX MIN delay L */
515 1.6 msaitoh #define MDIO_PHYXS_TSYNCTXMINDLYH 1804 /* TimeSync PHY XS TX MIN delay H */
516 1.6 msaitoh #define MDIO_PHYXS_TSYNCRXMAXDLYL 1805 /* TimeSync PHY XS RX MAX delay L */
517 1.6 msaitoh #define MDIO_PHYXS_TSYNCRXMAXDLYH 1806 /* TimeSync PHY XS RX MAX delay H */
518 1.6 msaitoh #define MDIO_PHYXS_TSYNCRXMINDLYL 1807 /* TimeSync PHY XS RX MIN delay L */
519 1.6 msaitoh #define MDIO_PHYXS_TSYNCRXMINDLYH 1808 /* TimeSync PHY XS RX MIN delay H */
520 1.6 msaitoh /* Values 1809 to 32767 are reserved */
521 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
522 1.1 msaitoh
523 1.1 msaitoh /*
524 1.6 msaitoh * DTE XS registers.
525 1.6 msaitoh * Table 45-175
526 1.1 msaitoh */
527 1.1 msaitoh #define MDIO_DTEXS_CTRL1 0 /* DTE XS control 1 */
528 1.1 msaitoh #define MDIO_DTEXS_STAT1 1 /* DTE XS status 1 */
529 1.1 msaitoh #define MDIO_DTEXS_DEVID1 2 /* DTE XS device identifier 1 */
530 1.1 msaitoh #define MDIO_DTEXS_DEVID2 3 /* DTE XS device identifier 2 */
531 1.1 msaitoh #define MDIO_DTEXS_SPEED 4 /* DTE XS speed ability */
532 1.1 msaitoh #define MDIO_DTEXS_DEVS1 5 /* DTE XS devices in package 1 */
533 1.1 msaitoh #define MDIO_DTEXS_DEVS2 6 /* DTE XS devices in package 2 */
534 1.1 msaitoh /* Value 7 is reserved */
535 1.1 msaitoh #define MDIO_DTEXS_STAT2 8 /* DTE XS status 2 */
536 1.1 msaitoh /* Values 9 to 13 are reserved */
537 1.1 msaitoh #define MDIO_DTEXS_PKGID1 14 /* DTE XS package identifier 1 */
538 1.1 msaitoh #define MDIO_DTEXS_PKGID2 15 /* DTE XS package identifier 2 */
539 1.1 msaitoh /* Values 16 to 19 are reserved */
540 1.6 msaitoh #define MDIO_DTEXS_EEECAP 20 /* EEE capability register */
541 1.1 msaitoh /* Value 21 is reserved */
542 1.6 msaitoh #define MDIO_DTEXS_EEEWKERRCNT 22 /* EEE wake error counter */
543 1.1 msaitoh /* Value 23 is reserved */
544 1.1 msaitoh #define MDIO_DTEXS_10GXGXLNSTAT 24 /* 10G DTE XGXS lane status */
545 1.1 msaitoh #define MDIO_DTEXS_10GXGXSTSCTRL 25 /* 10G DTE XGXS test control */
546 1.6 msaitoh /* Values 26 to 1799 are reserved */
547 1.6 msaitoh #define MDIO_DTEXS_TSYNCCAP 1800 /* TimeSync DTE XS capability */
548 1.6 msaitoh #define MDIO_DTEXS_TSYNCTXMAXDLYL 1801 /* TimeSync DTE XS TX MAX delay L */
549 1.6 msaitoh #define MDIO_DTEXS_TSYNCTXMAXDLYH 1802 /* TimeSync DTE XS TX MAX delay H */
550 1.6 msaitoh #define MDIO_DTEXS_TSYNCTXMINDLYL 1803 /* TimeSync DTE XS TX MIN delay L */
551 1.6 msaitoh #define MDIO_DTEXS_TSYNCTXMINDLYH 1804 /* TimeSync DTE XS TX MIN delay H */
552 1.6 msaitoh #define MDIO_DTEXS_TSYNCRXMAXDLYL 1805 /* TimeSync DTE XS RX MAX delay L */
553 1.6 msaitoh #define MDIO_DTEXS_TSYNCRXMAXDLYH 1806 /* TimeSync DTE XS RX MAX delay H */
554 1.6 msaitoh #define MDIO_DTEXS_TSYNCRXMINDLYL 1807 /* TimeSync DTE XS RX MIN delay L */
555 1.6 msaitoh #define MDIO_DTEXS_TSYNCRXMINDLYH 1808 /* TimeSync DTE XS RX MIN delay H */
556 1.6 msaitoh /* Values 1809 to 32767 are reserved */
557 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
558 1.1 msaitoh
559 1.1 msaitoh /*
560 1.6 msaitoh * TC registers.
561 1.6 msaitoh * Table 45-186
562 1.1 msaitoh */
563 1.1 msaitoh #define MDIO_TC_CTRL1 0 /* TC control 1 */
564 1.1 msaitoh /* Value 1 is reserved */
565 1.1 msaitoh #define MDIO_TC_DEVID1 2 /* TC device identifier 1 */
566 1.1 msaitoh #define MDIO_TC_DEVID2 3 /* TC device identifier 2 */
567 1.1 msaitoh #define MDIO_TC_SPEED 4 /* TC speed ability */
568 1.1 msaitoh #define MDIO_TC_DEVS1 5 /* TC devices in package 1 */
569 1.1 msaitoh #define MDIO_TC_DEVS2 6 /* TC devices in package 2 */
570 1.1 msaitoh /* Values 7 to 13 are reserved */
571 1.1 msaitoh #define MDIO_TC_PKGID1 14 /* TC package identifier 1 */
572 1.1 msaitoh #define MDIO_TC_PKGID2 15 /* TC package identifier 2 */
573 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCTRL 16 /* 10P/2B aggregation discovery ctrl */
574 1.1 msaitoh #define MDIO_TC_10P2BAGGDCSTAT 17 /* 10P/2B aggregation&discovery stat */
575 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE1 18 /* 10P/2B aggregation discovery code1*/
576 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE2 19 /* 10P/2B aggregation discovery code2*/
577 1.1 msaitoh #define MDIO_TC_10P2BAGGDCCODE3 20 /* 10P/2B aggregation discovery code3*/
578 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGCTRL 21 /* 10P/2B LP PME aggregate control */
579 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGDAT1 22 /* 10P/2B LP PME aggregate data 1 */
580 1.1 msaitoh #define MDIO_TC_10P2BLPPMEAGGDAT2 23 /* 10P/2B LP PME aggregate data 2 */
581 1.1 msaitoh #define MDIO_TC_10P2BCRCERRCNT 24 /* 10P/2B TC CRC error counter */
582 1.1 msaitoh #define MDIO_TC_10P2BTPSCOVIOCNT1 25 /* 10P/2B TPS-TC coding viol. cnt. 1 */
583 1.1 msaitoh #define MDIO_TC_10P2BTPSCOVIOCNT2 26 /* 10P/2B TPS-TC coding viol. cnt. 2 */
584 1.1 msaitoh #define MDIO_TC_10P2BINDIC 27 /* 10P/2B TC indications */
585 1.6 msaitoh /* Values 28 to 1799 are reserved */
586 1.6 msaitoh #define MDIO_TC_TSYNCCAP 1800 /* TimeSync TC capability */
587 1.6 msaitoh #define MDIO_TC_TSYNCTXMAXDLYL 1801 /* TimeSync TC TX MAX delay L */
588 1.6 msaitoh #define MDIO_TC_TSYNCTXMAXDLYH 1802 /* TimeSync TC TX MAX delay H */
589 1.6 msaitoh #define MDIO_TC_TSYNCTXMINDLYL 1803 /* TimeSync TC TX MIN delay L */
590 1.6 msaitoh #define MDIO_TC_TSYNCTXMINDLYH 1804 /* TimeSync TC TX MIN delay H */
591 1.6 msaitoh #define MDIO_TC_TSYNCRXMAXDLYL 1805 /* TimeSync TC RX MAX delay L */
592 1.6 msaitoh #define MDIO_TC_TSYNCRXMAXDLYH 1806 /* TimeSync TC RX MAX delay H */
593 1.6 msaitoh #define MDIO_TC_TSYNCRXMINDLYL 1807 /* TimeSync TC RX MIN delay L */
594 1.6 msaitoh #define MDIO_TC_TSYNCRXMINDLYH 1808 /* TimeSync TC RX MIN delay H */
595 1.6 msaitoh /* Values 1809 to 32767 are reserved */
596 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
597 1.1 msaitoh
598 1.1 msaitoh /*
599 1.6 msaitoh * Auto-Negotiation registers.
600 1.6 msaitoh * Table 45-200
601 1.1 msaitoh */
602 1.1 msaitoh #define MDIO_AN_CTRL1 0 /* AN control 1 */
603 1.7 msaitoh #define AN_CTRL1_ANRESET 0x8000 /* AN reset */
604 1.7 msaitoh #define AN_CTRL1_ENP 0x2000 /* Extended Next Page */
605 1.7 msaitoh #define AN_CTRL1_AUTOEN 0x1000 /* Auto-Negotiation enable */
606 1.7 msaitoh #define AN_CTRL1_STARTNEG 0x0200 /* Restart Auto-Negotiation */
607 1.7 msaitoh
608 1.1 msaitoh #define MDIO_AN_STAT1 1 /* AN status 1 */
609 1.1 msaitoh #define MDIO_AN_DEVID1 2 /* AN device identifier 1 */
610 1.1 msaitoh #define MDIO_AN_DEVID2 3 /* AN device identifier 2 */
611 1.1 msaitoh /* Value 4 is reserved */
612 1.1 msaitoh #define MDIO_AN_DEVS1 5 /* AN devices in package 1 */
613 1.1 msaitoh #define MDIO_AN_DEVS2 6 /* AN devices in package 2 */
614 1.1 msaitoh /* Values 7 to 13 are reserved */
615 1.1 msaitoh #define MDIO_AN_PKGID1 14 /* AN package identifier 1 */
616 1.1 msaitoh #define MDIO_AN_PKGID2 15 /* AN package identifier 2 */
617 1.1 msaitoh #define MDIO_AN_ADVERT1 16 /* AN advertisement 1 */
618 1.1 msaitoh #define MDIO_AN_ADVERT2 17 /* AN advertisement 2 */
619 1.1 msaitoh #define MDIO_AN_ADVERT3 18 /* AN advertisement 3 */
620 1.1 msaitoh #define MDIO_AN_LPBPABLTY1 19 /* AN LP base page ability 1 */
621 1.1 msaitoh #define MDIO_AN_LPBPABLTY2 20 /* AN LP base page ability 2 */
622 1.1 msaitoh #define MDIO_AN_LPBPABLTY3 21 /* AN LP base page ability 3 */
623 1.1 msaitoh #define MDIO_AN_XNPXMIT1 22 /* AN XNP transmit 1 */
624 1.1 msaitoh #define MDIO_AN_XNPXMIT2 23 /* AN XNP transmit 2 */
625 1.1 msaitoh #define MDIO_AN_XNPXMIT3 24 /* AN XNP transmit 3 */
626 1.1 msaitoh #define MDIO_AN_LPXNPABLTY1 25 /* AN LP XNP ability 1 */
627 1.1 msaitoh #define MDIO_AN_LPXNPABLTY2 26 /* AN LP XNP ability 2 */
628 1.1 msaitoh #define MDIO_AN_LPXNPABLTY3 27 /* AN LP XNP ability 3 */
629 1.1 msaitoh /* Values 28 to 31 are reserved */
630 1.1 msaitoh #define MDIO_AN_10GTANCTRL 32 /* 10G-T AN control */
631 1.1 msaitoh #define MDIO_AN_10GTANSTAT 33 /* 10G-T AN status */
632 1.1 msaitoh /* Values 34 to 47 are reserved */
633 1.1 msaitoh #define MDIO_AN_BPETHSTAT 48 /* BP Ethernet status */
634 1.1 msaitoh /* Values 49 to 59 are reserved */
635 1.6 msaitoh #define MDIO_AN_EEEADVERT 60 /* EEE advertisement */
636 1.6 msaitoh #define MDIO_AN_EEELPABLTY 61 /* EEE LP ability */
637 1.1 msaitoh /* Values 62 to 32767 are reserved */
638 1.1 msaitoh /* Values 32768 to 65535 are vendor specific */
639 1.1 msaitoh
640 1.1 msaitoh /*
641 1.6 msaitoh * Clause 22 extension registers.
642 1.6 msaitoh * Table 45-212
643 1.1 msaitoh */
644 1.1 msaitoh /* Values 0 to 4 are reserved */
645 1.1 msaitoh #define MDIO_CL22E_DEVS1 5 /* Clause 22 ext. devices in package 1 */
646 1.1 msaitoh #define MDIO_CL22E_DEVS2 6 /* Clause 22 ext. devices in package 2 */
647 1.1 msaitoh #define MDIO_CL22E_FECCAP 7 /* FEC capability */
648 1.1 msaitoh #define MDIO_CL22E_FECCTRL 8 /* FEC control */
649 1.1 msaitoh #define MDIO_CL22E_FECBHCVIOCNT 9 /* FEC buffer head coding violation cnt. */
650 1.1 msaitoh #define MDIO_CL22E_FECCOBLCNT 10 /* FEC corrected blocks counter */
651 1.1 msaitoh #define MDIO_CL22E_FECUNCOBLCNT 11 /* FEC uncorrected blocks counter */
652 1.1 msaitoh /* Values 12 to 32767 are reserved */
653 1.1 msaitoh
654 1.1 msaitoh /*
655 1.6 msaitoh * Vendor specific MMD 1 registers.
656 1.6 msaitoh * Table 45-218
657 1.1 msaitoh */
658 1.1 msaitoh /* Values 0 to 1 are vendor specific */
659 1.1 msaitoh #define MDIO_VSMMD1_DEVID1 2 /* Vendor specific MMD 1 device ident. 1 */
660 1.1 msaitoh #define MDIO_VSMMD1_DEVID2 3 /* Vendor specific MMD 1 device ident. 2 */
661 1.1 msaitoh /* Values 4 to 7 are vendor specific */
662 1.1 msaitoh #define MDIO_VSMMD1_STAT 8 /* Vendor specific MMD 1 status register */
663 1.1 msaitoh /* Values 9 to 13 are vendor specific */
664 1.1 msaitoh #define MDIO_VSMMD1_PKGID1 14 /* Vendor specific MMD 1 package ident 1 */
665 1.1 msaitoh #define MDIO_VSMMD1_PKGID2 15 /* Vendor specific MMD 1 package ident 2 */
666 1.1 msaitoh /* Values 16 to 65535 are vendor specific */
667 1.1 msaitoh
668 1.1 msaitoh /*
669 1.6 msaitoh * Vendor specific MMD 2 registers.
670 1.6 msaitoh * Table 45-220
671 1.1 msaitoh */
672 1.1 msaitoh /* Values 0 to 1 are vendor specific */
673 1.1 msaitoh #define MDIO_VSMMD2_DEVID1 2 /* Vendor specific MMD 2 device ident. 1 */
674 1.1 msaitoh #define MDIO_VSMMD2_DEVID2 3 /* Vendor specific MMD 2 device ident. 2 */
675 1.1 msaitoh /* Values 4 to 7 are vendor specific */
676 1.1 msaitoh #define MDIO_VSMMD2_STAT 8 /* Vendor specific MMD 2 status register */
677 1.1 msaitoh /* Values 9 to 13 are vendor specific */
678 1.1 msaitoh #define MDIO_VSMMD2_PKGID1 14 /* Vendor specific MMD 2 package ident 1 */
679 1.1 msaitoh #define MDIO_VSMMD2_PKGID2 15 /* Vendor specific MMD 2 package ident 2 */
680 1.1 msaitoh /* Values 16 to 65535 are vendor specific */
681 1.1 msaitoh
682 1.1 msaitoh #endif /* _DEV_MII_MDIO_H_ */
683