1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #ifndef _DEV_MII_CIPHYREG_H_
36 #define _DEV_MII_CIPHYREG_H_
37
38
39
40
41
42
43
44 #define CIPHY_MII_BMCR 0x00
45 #define CIPHY_BMCR_RESET 0x8000
46 #define CIPHY_BMCR_LOOP 0x4000
47 #define CIPHY_BMCR_SPD0 0x2000
48 #define CIPHY_BMCR_AUTOEN 0x1000
49 #define CIPHY_BMCR_PDOWN 0x0800
50 #define CIPHY_BMCR_STARTNEG 0x0200
51 #define CIPHY_BMCR_FDX 0x0100
52 #define CIPHY_BMCR_CTEST 0x0080
53 #define CIPHY_BMCR_SPD1 0x0040
54
55 #define CIPHY_S1000 CIPHY_BMCR_SPD1
56 #define CIPHY_S100 CIPHY_BMCR_SPD0
57 #define CIPHY_S10 0
58
59
60 #define CIPHY_MII_BMSR 0x01
61 #define CIPHY_BMSR_100T4 0x8000
62 #define CIPHY_BMSR_100TXFDX 0x4000
63 #define CIPHY_BMSR_100TXHDX 0x2000
64 #define CIPHY_BMSR_10TFDX 0x1000
65 #define CIPHY_BMSR_10THDX 0x0800
66 #define CIPHY_BMSR_100T2FDX 0x0400
67 #define CIPHY_BMSR_100T2HDX 0x0200
68 #define CIPHY_BMSR_EXTSTS 0x0100
69 #define CIPHY_BMSR_PRESUB 0x0040
70 #define CIPHY_BMSR_ACOMP 0x0020
71 #define CIPHY_BMSR_RFAULT 0x0010
72 #define CIPHY_BMSR_ANEG 0x0008
73 #define CIPHY_BMSR_LINK 0x0004
74 #define CIPHY_BMSR_JABBER 0x0002
75 #define CIPHY_BMSR_EXT 0x0001
76
77
78 #define CIPHY_MII_PHYIDR1 0x02
79 #define CIPHY_MII_PHYIDR2 0x03
80
81
82 #define CIPHY_MII_ANAR 0x04
83 #define CIPHY_ANAR_NP 0x8000
84 #define CIPHY_ANAR_RF 0x2000
85 #define CIPHY_ANAR_ASP 0x0800
86 #define CIPHY_ANAR_PC 0x0400
87 #define CIPHY_ANAR_T4 0x0200
88 #define CIPHY_ANAR_TX_FD 0x0100
89 #define CIPHY_ANAR_TX 0x0080
90 #define CIPHY_ANAR_10_FD 0x0040
91 #define CIPHY_ANAR_10 0x0020
92 #define CIPHY_ANAR_SEL 0x001F
93
94
95 #define CIPHY_MII_ANLPAR 0x05
96 #define CIPHY_ANLPAR_NP 0x8000
97 #define CIPHY_ANLPAR_ACK 0x4000
98 #define CIPHY_ANLPAR_RF 0x2000
99 #define CIPHY_ANLPAR_ASP 0x0800
100 #define CIPHY_ANLPAR_PC 0x0400
101 #define CIPHY_ANLPAR_T4 0x0200
102 #define CIPHY_ANLPAR_TX_FD 0x0100
103 #define CIPHY_ANLPAR_TX 0x0080
104 #define CIPHY_ANLPAR_10_FD 0x0040
105 #define CIPHY_ANLPAR_10 0x0020
106 #define CIPHY_ANLPAR_SEL 0x001F
107
108 #define CIPHY_SEL_TYPE 0x0001
109
110
111 #define CIPHY_MII_ANER 0x06
112 #define CIPHY_ANER_PDF 0x0010
113 #define CIPHY_ANER_LPNP 0x0008
114 #define CIPHY_ANER_NP 0x0004
115 #define CIPHY_ANER_RX 0x0002
116 #define CIPHY_ANER_LPAN 0x0001
117
118
119 #define CIPHY_MII_NEXTP 0x07
120 #define CIPHY_NEXTP_MOREP 0x8000
121 #define CIPHY_NEXTP_MESS 0x2000
122 #define CIPHY_NEXTP_ACK2 0x1000
123 #define CIPHY_NEXTP_TOGGLE 0x0800
124 #define CIPHY_NEXTP_CODE 0x07FF
125
126
127 #define CIPHY_MII_NEXTP_LP 0x08
128 #define CIPHY_NEXTPLP_MOREP 0x8000
129 #define CIPHY_NEXTPLP_MESS 0x2000
130 #define CIPHY_NEXTPLP_ACK2 0x1000
131 #define CIPHY_NEXTPLP_TOGGLE 0x0800
132 #define CIPHY_NEXTPLP_CODE 0x07FF
133
134
135 #define CIPHY_MII_1000CTL 0x09
136 #define CIPHY_1000CTL_TST 0xE000
137 #define CIPHY_1000CTL_MSE 0x1000
138 #define CIPHY_1000CTL_MSC 0x0800
139 #define CIPHY_1000CTL_RD 0x0400
140 #define CIPHY_1000CTL_AFD 0x0200
141 #define CIPHY_1000CTL_AHD 0x0100
142
143 #define CIPHY_TEST_TX_JITTER 0x2000
144 #define CIPHY_TEST_TX_JITTER_MASTER_MODE 0x4000
145 #define CIPHY_TEST_TX_JITTER_SLAVE_MODE 0x6000
146 #define CIPHY_TEST_TX_DISTORTION 0x8000
147
148
149 #define CIPHY_MII_1000STS 0x0A
150 #define CIPHY_1000STS_MSF 0x8000
151 #define CIPHY_1000STS_MSR 0x4000
152 #define CIPHY_1000STS_LRS 0x2000
153 #define CIPHY_1000STS_RRS 0x1000
154 #define CIPHY_1000STS_LPFD 0x0800
155 #define CIPHY_1000STS_LPHD 0x0400
156 #define CIPHY_1000STS_IEC 0x00FF
157
158 #define CIPHY_MII_EXTSTS 0x0F
159 #define CIPHY_EXTSTS_X_FD_CAP 0x8000
160 #define CIPHY_EXTSTS_X_HD_CAP 0x4000
161 #define CIPHY_EXTSTS_T_FD_CAP 0x2000
162 #define CIPHY_EXTSTS_T_HD_CAP 0x1000
163
164
165 #define CIPHY_MII_1000STS1 0x0F
166 #define CIPHY_1000STS1_1000XFDX 0x8000
167 #define CIPHY_1000STS1_1000XHDX 0x4000
168 #define CIPHY_1000STS1_1000TFDX 0x2000
169 #define CIPHY_1000STS1_1000THDX 0x1000
170
171
172
173
174 #define CIPHY_MII_100STS 0x10
175 #define CIPHY_100STS_DESLCK 0x8000
176 #define CIPHY_100STS_LKCERR 0x4000
177 #define CIPHY_100STS_DISC 0x2000
178 #define CIPHY_100STS_LINK 0x1000
179 #define CIPHY_100STS_RXERR 0x0800
180 #define CIPHY_100STS_TXERR 0x0400
181 #define CIPHY_100STS_SSDERR 0x0200
182 #define CIPHY_100STS_ESDERR 0x0100
183
184
185 #define CIPHY_MII_1000STS2 0x11
186 #define CIPHY_1000STS2_DESLCK 0x8000
187 #define CIPHY_1000STS2_LKCERR 0x4000
188 #define CIPHY_1000STS2_DISC 0x2000
189 #define CIPHY_1000STS2_LINK 0x1000
190 #define CIPHY_1000STS2_RXERR 0x0800
191 #define CIPHY_1000STS2_TXERR 0x0400
192 #define CIPHY_1000STS2_SSDERR 0x0200
193 #define CIPHY_1000STS2_ESDERR 0x0100
194 #define CIPHY_1000STS2_CARREXT 0x0080
195 #define CIPHY_1000STS2_BCM5400 0x0040
196
197
198 #define CIPHY_MII_BYPASS 0x12
199 #define CIPHY_BYPASS_TX 0x8000
200 #define CIPHY_BYPASS_4B5B 0x4000
201 #define CIPHY_BYPASS_SCRAM 0x2000
202 #define CIPHY_BYPASS_DSCAM 0x1000
203 #define CIPHY_BYPASS_PCSRX 0x0800
204 #define CIPHY_BYPASS_PCSTX 0x0400
205 #define CIPHY_BYPASS_LFI 0x0200
206 #define CIPHY_BYPASS_TXCLK 0x0100
207 #define CIPHY_BYPASS_BCM5400_F 0x0080
208 #define CIPHY_BYPASS_BCM5400 0x0040
209 #define CIPHY_BYPASS_PAIRSWAP 0x0020
210 #define CIPHY_BYPASS_POLARITY 0x0010
211 #define CIPHY_BYPASS_PARALLEL 0x0008
212 #define CIPHY_BYPASS_PULSE 0x0004
213 #define CIPHY_BYPASS_1000BNP 0x0002
214
215
216 #define CIPHY_MII_RXERR 0x13
217
218
219 #define CIPHY_MII_FCSERR 0x14
220
221
222 #define CIPHY_MII_DISCERR 0x15
223
224
225 #define CIPHY_MII_10BTCSR 0x16
226 #define CIPHY_10BTCSR_DLIT 0x8000
227 #define CIPHY_10BTCSR_JABBER 0x4000
228 #define CIPHY_10BTCSR_ECHO 0x2000
229 #define CIPHY_10BTCSR_SQE 0x1000
230 #define CIPHY_10BTCSR_SQUENCH 0x0C00
231 #define CIPHY_10BTCSR_EOFERR 0x0100
232 #define CIPHY_10BTCSR_DISC 0x0080
233 #define CIPHY_10BTCSR_LINK 0x0040
234 #define CIPHY_10BTCSR_ITRIM 0x0038
235 #define CIPHY_10BTCSR_CSR 0x0006
236
237 #define CIPHY_SQUELCH_300MV 0x0000
238 #define CIPHY_SQUELCH_197MV 0x0400
239 #define CIPHY_SQUELCH_450MV 0x0800
240 #define CIPHY_SQUELCH_RSVD 0x0C00
241
242 #define CIPHY_ITRIM_PLUS2 0x0000
243 #define CIPHY_ITRIM_PLUS4 0x0008
244 #define CIPHY_ITRIM_PLUS6 0x0010
245 #define CIPHY_ITRIM_PLUS6_ 0x0018
246 #define CIPHY_ITRIM_MINUS4 0x0020
247 #define CIPHY_ITRIM_MINUS4_ 0x0028
248 #define CIPHY_ITRIM_MINUS2 0x0030
249 #define CIPHY_ITRIM_ZERO 0x0038
250
251
252 #define CIPHY_MII_ECTL1 0x17
253 #define CIPHY_ECTL1_ACTIPHY 0x0020
254 #define CIPHY_ECTL1_IOVOL 0x0e00
255 #define CIPHY_ECTL1_INTSEL 0xf000
256
257 #define CIPHY_IOVOL_3300MV 0x0000
258 #define CIPHY_IOVOL_2500MV 0x0200
259
260 #define CIPHY_INTSEL_GMII 0x0000
261 #define CIPHY_INTSEL_RGMII 0x1000
262 #define CIPHY_INTSEL_TBI 0x2000
263 #define CIPHY_INTSEL_RTBI 0x3000
264
265
266 #define CIPHY_MII_ECTL2 0x18
267 #define CIPHY_ECTL2_ERATE 0xE000
268 #define CIPHY_ECTL2_VTRIM 0x1C00
269 #define CIPHY_ECTL2_CABLELEN 0x000E
270 #define CIPHY_ECTL2_ANALOGLOOP 0x0001
271
272 #define CIPHY_CABLELEN_0TO10M 0x0000
273 #define CIPHY_CABLELEN_10TO20M 0x0002
274 #define CIPHY_CABLELEN_20TO40M 0x0004
275 #define CIPHY_CABLELEN_40TO80M 0x0006
276 #define CIPHY_CABLELEN_80TO100M 0x0008
277 #define CIPHY_CABLELEN_100TO140M 0x000A
278 #define CIPHY_CABLELEN_140TO180M 0x000C
279 #define CIPHY_CABLELEN_OVER180M 0x000E
280
281
282 #define CIPHY_MII_IMR 0x19
283 #define CIPHY_IMR_PINENABLE 0x8000
284 #define CIPHY_IMR_SPEED 0x4000
285 #define CIPHY_IMR_LINK 0x2000
286 #define CIPHY_IMR_DPX 0x1000
287 #define CIPHY_IMR_ANEGERR 0x0800
288 #define CIPHY_IMR_ANEGDONE 0x0400
289 #define CIPHY_IMR_NPRX 0x0200
290 #define CIPHY_IMR_SYMERR 0x0100
291 #define CIPHY_IMR_LOCKERR 0x0080
292 #define CIPHY_IMR_XOVER 0x0040
293 #define CIPHY_IMR_POLARITY 0x0020
294 #define CIPHY_IMR_JABBER 0x0010
295 #define CIPHY_IMR_SSDERR 0x0008
296 #define CIPHY_IMR_ESDERR 0x0004
297 #define CIPHY_IMR_MASTERSLAVE 0x0002
298 #define CIPHY_IMR_RXERR 0x0001
299
300
301 #define CIPHY_MII_ISR 0x1A
302 #define CIPHY_ISR_IPENDING 0x8000
303 #define CIPHY_ISR_SPEED 0x4000
304 #define CIPHY_ISR_LINK 0x2000
305 #define CIPHY_ISR_DPX 0x1000
306 #define CIPHY_ISR_ANEGERR 0x0800
307 #define CIPHY_ISR_ANEGDONE 0x0400
308 #define CIPHY_ISR_NPRX 0x0200
309 #define CIPHY_ISR_SYMERR 0x0100
310 #define CIPHY_ISR_LOCKERR 0x0080
311 #define CIPHY_ISR_XOVER 0x0040
312 #define CIPHY_ISR_POLARITY 0x0020
313 #define CIPHY_ISR_JABBER 0x0010
314 #define CIPHY_ISR_SSDERR 0x0008
315 #define CIPHY_ISR_ESDERR 0x0004
316 #define CIPHY_ISR_MASTERSLAVE 0x0002
317 #define CIPHY_ISR_RXERR 0x0001
318
319
320 #define CIPHY_MII_LED 0x1B
321 #define CIPHY_LED_LINK10FORCE 0x8000
322 #define CIPHY_LED_LINK10DIS 0x4000
323 #define CIPHY_LED_LINK100FORCE 0x2000
324 #define CIPHY_LED_LINK100DIS 0x1000
325 #define CIPHY_LED_LINK1000FORCE 0x0800
326 #define CIPHY_LED_LINK1000DIS 0x0400
327 #define CIPHY_LED_FDXFORCE 0x0200
328 #define CIPHY_LED_FDXDIS 0x0100
329 #define CIPHY_LED_ACTFORCE 0x0080
330 #define CIPHY_LED_ACTDIS 0x0040
331 #define CIPHY_LED_PULSE 0x0008
332 #define CIPHY_LED_LINKACTBLINK 0x0004
333 #define CIPHY_LED_BLINKRATE 0x0002
334
335
336 #define CIPHY_MII_AUXCSR 0x1C
337 #define CIPHY_AUXCSR_ANEGDONE 0x8000
338 #define CIPHY_AUXCSR_ANEGOFF 0x4000
339 #define CIPHY_AUXCSR_XOVER 0x2000
340 #define CIPHY_AUXCSR_PAIRSWAP 0x1000
341 #define CIPHY_AUXCSR_APOLARITY 0x0800
342 #define CIPHY_AUXCSR_BPOLARITY 0x0400
343 #define CIPHY_AUXCSR_CPOLARITY 0x0200
344 #define CIPHY_AUXCSR_DPOLARITY 0x0100
345 #define CIPHY_AUXCSR_FDX 0x0020
346 #define CIPHY_AUXCSR_SPEED 0x0018
347 #define CIPHY_AUXCSR_MDPPS 0x0004
348 #define CIPHY_AUXCSR_STICKYREST 0x0002
349
350 #define CIPHY_SPEED10 0x0000
351 #define CIPHY_SPEED100 0x0008
352 #define CIPHY_SPEED1000 0x0010
353
354
355 #define CIPHY_MII_DSKEW 0x1D
356 #define CIPHY_DSKEW_PAIRA 0x7000
357 #define CIPHY_DSKEW_PAIRB 0x0700
358 #define CIPHY_DSKEW_PAIRC 0x0070
359 #define CIPHY_DSKEW_PAIRD 0x0007
360
361 #endif