1
2
3
4
5
6
7
8
9#ifndef __CVMX_GMXX_DEFS_H__
10#define __CVMX_GMXX_DEFS_H__
11
12static inline u64 CVMX_GMXX_BAD_REG(unsigned long offset)
13{
14 switch (cvmx_get_octeon_family()) {
15 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
16 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
17 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
18 return 0x0001180008000518ull + (offset) * 0x8000000ull;
19 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
20 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
21 return 0x0001180008000518ull + (offset) * 0x8000000ull;
22 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
23 return 0x0001180008000518ull + (offset) * 0x1000000ull;
24 }
25 return 0x0001180008000518ull + (offset) * 0x8000000ull;
26}
27
28static inline u64 CVMX_GMXX_BIST(unsigned long offset)
29{
30 switch (cvmx_get_octeon_family()) {
31 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
32 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
33 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
34 return 0x0001180008000400ull + (offset) * 0x8000000ull;
35 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
36 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
37 return 0x0001180008000400ull + (offset) * 0x8000000ull;
38 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
39 return 0x0001180008000400ull + (offset) * 0x1000000ull;
40 }
41 return 0x0001180008000400ull + (offset) * 0x8000000ull;
42}
43
44#define CVMX_GMXX_BPID_MAPX(offset, block_id) \
45 (0x0001180008000680ull + (((offset) & 15) + ((block_id) & 7) * 0x200000ull) * 8)
46#define CVMX_GMXX_BPID_MSK(offset) (0x0001180008000700ull + ((offset) & 7) * 0x1000000ull)
47static inline u64 CVMX_GMXX_CLK_EN(unsigned long offset)
48{
49 switch (cvmx_get_octeon_family()) {
50 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
51 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
52 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
53 return 0x00011800080007F0ull + (offset) * 0x8000000ull;
54 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
55 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
56 return 0x00011800080007F0ull + (offset) * 0x8000000ull;
57 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
58 return 0x00011800080007F0ull + (offset) * 0x1000000ull;
59 }
60 return 0x00011800080007F0ull + (offset) * 0x8000000ull;
61}
62
63#define CVMX_GMXX_EBP_DIS(offset) (0x0001180008000608ull + ((offset) & 7) * 0x1000000ull)
64#define CVMX_GMXX_EBP_MSK(offset) (0x0001180008000600ull + ((offset) & 7) * 0x1000000ull)
65static inline u64 CVMX_GMXX_HG2_CONTROL(unsigned long offset)
66{
67 switch (cvmx_get_octeon_family()) {
68 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
69 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
70 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
71 return 0x0001180008000550ull + (offset) * 0x8000000ull;
72 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
73 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
74 return 0x0001180008000550ull + (offset) * 0x8000000ull;
75 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
76 return 0x0001180008000550ull + (offset) * 0x1000000ull;
77 }
78 return 0x0001180008000550ull + (offset) * 0x8000000ull;
79}
80
81static inline u64 CVMX_GMXX_INF_MODE(unsigned long offset)
82{
83 switch (cvmx_get_octeon_family()) {
84 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
85 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
86 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
87 return 0x00011800080007F8ull + (offset) * 0x8000000ull;
88 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
89 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
90 return 0x00011800080007F8ull + (offset) * 0x8000000ull;
91 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
92 return 0x00011800080007F8ull + (offset) * 0x1000000ull;
93 }
94 return 0x00011800080007F8ull + (offset) * 0x8000000ull;
95}
96
97static inline u64 CVMX_GMXX_NXA_ADR(unsigned long offset)
98{
99 switch (cvmx_get_octeon_family()) {
100 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
101 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
102 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
103 return 0x0001180008000510ull + (offset) * 0x8000000ull;
104 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
105 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
106 return 0x0001180008000510ull + (offset) * 0x8000000ull;
107 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
108 return 0x0001180008000510ull + (offset) * 0x1000000ull;
109 }
110 return 0x0001180008000510ull + (offset) * 0x8000000ull;
111}
112
113#define CVMX_GMXX_PIPE_STATUS(offset) (0x0001180008000760ull + ((offset) & 7) * 0x1000000ull)
114static inline u64 CVMX_GMXX_PRTX_CBFC_CTL(unsigned long __attribute__((unused)) offset,
115 unsigned long block_id)
116{
117 switch (cvmx_get_octeon_family()) {
118 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
119 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
120 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
121 return 0x0001180008000580ull + (block_id) * 0x8000000ull;
122 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
123 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
124 return 0x0001180008000580ull + (block_id) * 0x8000000ull;
125 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
126 return 0x0001180008000580ull + (block_id) * 0x1000000ull;
127 }
128 return 0x0001180008000580ull + (block_id) * 0x8000000ull;
129}
130
131static inline u64 CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
132{
133 switch (cvmx_get_octeon_family()) {
134 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
135 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
136 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
137 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
138 return 0x0001180008000010ull + ((offset) + (block_id) * 0x10000ull) * 2048;
139 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
140 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
141 return 0x0001180008000010ull + ((offset) + (block_id) * 0x2000ull) * 2048;
142 }
143 return 0x0001180008000010ull + ((offset) + (block_id) * 0x10000ull) * 2048;
144}
145
146#define CVMX_GMXX_QSGMII_CTL(offset) (0x0001180008000760ull + ((offset) & 1) * 0x8000000ull)
147static inline u64 CVMX_GMXX_RXAUI_CTL(unsigned long offset)
148{
149 switch (cvmx_get_octeon_family()) {
150 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
151 return 0x0001180008000740ull + (offset) * 0x8000000ull;
152 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
153 return 0x0001180008000740ull + (offset) * 0x1000000ull;
154 }
155 return 0x0001180008000740ull + (offset) * 0x8000000ull;
156}
157
158static inline u64 CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
159{
160 switch (cvmx_get_octeon_family()) {
161 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
162 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
163 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
164 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
165 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
166 return 0x0001180008000180ull + ((offset) + (block_id) * 0x10000ull) * 2048;
167 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
168 return 0x0001180008000180ull + ((offset) + (block_id) * 0x2000ull) * 2048;
169 }
170 return 0x0001180008000180ull + ((offset) + (block_id) * 0x10000ull) * 2048;
171}
172
173static inline u64 CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
174{
175 switch (cvmx_get_octeon_family()) {
176 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
177 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
178 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
179 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
180 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
181 return 0x0001180008000188ull + ((offset) + (block_id) * 0x10000ull) * 2048;
182 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
183 return 0x0001180008000188ull + ((offset) + (block_id) * 0x2000ull) * 2048;
184 }
185 return 0x0001180008000188ull + ((offset) + (block_id) * 0x10000ull) * 2048;
186}
187
188static inline u64 CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
189{
190 switch (cvmx_get_octeon_family()) {
191 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
192 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
193 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
194 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
195 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
196 return 0x0001180008000190ull + ((offset) + (block_id) * 0x10000ull) * 2048;
197 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
198 return 0x0001180008000190ull + ((offset) + (block_id) * 0x2000ull) * 2048;
199 }
200 return 0x0001180008000190ull + ((offset) + (block_id) * 0x10000ull) * 2048;
201}
202
203static inline u64 CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
204{
205 switch (cvmx_get_octeon_family()) {
206 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
207 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
208 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
209 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
210 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
211 return 0x0001180008000198ull + ((offset) + (block_id) * 0x10000ull) * 2048;
212 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
213 return 0x0001180008000198ull + ((offset) + (block_id) * 0x2000ull) * 2048;
214 }
215 return 0x0001180008000198ull + ((offset) + (block_id) * 0x10000ull) * 2048;
216}
217
218static inline u64 CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
219{
220 switch (cvmx_get_octeon_family()) {
221 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
222 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
223 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
224 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
225 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
226 return 0x00011800080001A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
227 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
228 return 0x00011800080001A0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
229 }
230 return 0x00011800080001A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
231}
232
233static inline u64 CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
234{
235 switch (cvmx_get_octeon_family()) {
236 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
237 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
238 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
239 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
240 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
241 return 0x00011800080001A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
242 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
243 return 0x00011800080001A8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
244 }
245 return 0x00011800080001A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
246}
247
248static inline u64 CVMX_GMXX_RXX_ADR_CAM_ALL_EN(unsigned long offset, unsigned long block_id)
249{
250 switch (cvmx_get_octeon_family()) {
251 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
252 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
253 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
254 return 0x0001180008000110ull + ((offset) + (block_id) * 0x10000ull) * 2048;
255 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
256 return 0x0001180008000110ull + ((offset) + (block_id) * 0x10000ull) * 2048;
257 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
258 return 0x0001180008000110ull + ((offset) + (block_id) * 0x2000ull) * 2048;
259 }
260 return 0x0001180008000110ull + ((offset) + (block_id) * 0x10000ull) * 2048;
261}
262
263static inline u64 CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
264{
265 switch (cvmx_get_octeon_family()) {
266 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
267 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
268 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
269 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
270 return 0x0001180008000108ull + ((offset) + (block_id) * 0x10000ull) * 2048;
271 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
272 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
273 return 0x0001180008000108ull + ((offset) + (block_id) * 0x2000ull) * 2048;
274 }
275 return 0x0001180008000108ull + ((offset) + (block_id) * 0x10000ull) * 2048;
276}
277
278static inline u64 CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
279{
280 switch (cvmx_get_octeon_family()) {
281 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
282 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
283 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
284 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
285 return 0x0001180008000100ull + ((offset) + (block_id) * 0x10000ull) * 2048;
286 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
287 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
288 return 0x0001180008000100ull + ((offset) + (block_id) * 0x2000ull) * 2048;
289 }
290 return 0x0001180008000100ull + ((offset) + (block_id) * 0x10000ull) * 2048;
291}
292
293static inline u64 CVMX_GMXX_RXX_DECISION(unsigned long offset, unsigned long block_id)
294{
295 switch (cvmx_get_octeon_family()) {
296 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
297 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
298 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
299 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
300 return 0x0001180008000040ull + ((offset) + (block_id) * 0x10000ull) * 2048;
301 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
302 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
303 return 0x0001180008000040ull + ((offset) + (block_id) * 0x2000ull) * 2048;
304 }
305 return 0x0001180008000040ull + ((offset) + (block_id) * 0x10000ull) * 2048;
306}
307
308static inline u64 CVMX_GMXX_RXX_FRM_CHK(unsigned long offset, unsigned long block_id)
309{
310 switch (cvmx_get_octeon_family()) {
311 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
312 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
313 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
314 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
315 return 0x0001180008000020ull + ((offset) + (block_id) * 0x10000ull) * 2048;
316 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
317 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
318 return 0x0001180008000020ull + ((offset) + (block_id) * 0x2000ull) * 2048;
319 }
320 return 0x0001180008000020ull + ((offset) + (block_id) * 0x10000ull) * 2048;
321}
322
323static inline u64 CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
324{
325 switch (cvmx_get_octeon_family()) {
326 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
327 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
328 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
329 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
330 return 0x0001180008000018ull + ((offset) + (block_id) * 0x10000ull) * 2048;
331 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
332 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
333 return 0x0001180008000018ull + ((offset) + (block_id) * 0x2000ull) * 2048;
334 }
335 return 0x0001180008000018ull + ((offset) + (block_id) * 0x10000ull) * 2048;
336}
337
338#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) \
339 (0x0001180008000030ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
340#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) \
341 (0x0001180008000028ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
342static inline u64 CVMX_GMXX_RXX_IFG(unsigned long offset, unsigned long block_id)
343{
344 switch (cvmx_get_octeon_family()) {
345 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
346 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
347 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
348 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
349 return 0x0001180008000058ull + ((offset) + (block_id) * 0x10000ull) * 2048;
350 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
351 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
352 return 0x0001180008000058ull + ((offset) + (block_id) * 0x2000ull) * 2048;
353 }
354 return 0x0001180008000058ull + ((offset) + (block_id) * 0x10000ull) * 2048;
355}
356
357static inline u64 CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
358{
359 switch (cvmx_get_octeon_family()) {
360 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
361 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
362 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
363 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
364 return 0x0001180008000008ull + ((offset) + (block_id) * 0x10000ull) * 2048;
365 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
366 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
367 return 0x0001180008000008ull + ((offset) + (block_id) * 0x2000ull) * 2048;
368 }
369 return 0x0001180008000008ull + ((offset) + (block_id) * 0x10000ull) * 2048;
370}
371
372static inline u64 CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
373{
374 switch (cvmx_get_octeon_family()) {
375 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
376 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
377 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
378 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
379 return 0x0001180008000000ull + ((offset) + (block_id) * 0x10000ull) * 2048;
380 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
381 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
382 return 0x0001180008000000ull + ((offset) + (block_id) * 0x2000ull) * 2048;
383 }
384 return 0x0001180008000000ull + ((offset) + (block_id) * 0x10000ull) * 2048;
385}
386
387static inline u64 CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
388{
389 switch (cvmx_get_octeon_family()) {
390 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
391 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
392 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
393 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
394 return 0x0001180008000038ull + ((offset) + (block_id) * 0x10000ull) * 2048;
395 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
396 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
397 return 0x0001180008000038ull + ((offset) + (block_id) * 0x2000ull) * 2048;
398 }
399 return 0x0001180008000038ull + ((offset) + (block_id) * 0x10000ull) * 2048;
400}
401
402static inline u64 CVMX_GMXX_RXX_PAUSE_DROP_TIME(unsigned long offset, unsigned long block_id)
403{
404 switch (cvmx_get_octeon_family()) {
405 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
406 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
407 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
408 return 0x0001180008000068ull + ((offset) + (block_id) * 0x10000ull) * 2048;
409 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
410 return 0x0001180008000068ull + ((offset) + (block_id) * 0x10000ull) * 2048;
411 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
412 return 0x0001180008000068ull + ((offset) + (block_id) * 0x10000ull) * 2048;
413 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
414 return 0x0001180008000068ull + ((offset) + (block_id) * 0x2000ull) * 2048;
415 }
416 return 0x0001180008000068ull + ((offset) + (block_id) * 0x10000ull) * 2048;
417}
418
419#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) \
420 (0x0001180008000060ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
421static inline u64 CVMX_GMXX_RXX_STATS_CTL(unsigned long offset, unsigned long block_id)
422{
423 switch (cvmx_get_octeon_family()) {
424 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
425 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
426 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
427 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
428 return 0x0001180008000050ull + ((offset) + (block_id) * 0x10000ull) * 2048;
429 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
430 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
431 return 0x0001180008000050ull + ((offset) + (block_id) * 0x2000ull) * 2048;
432 }
433 return 0x0001180008000050ull + ((offset) + (block_id) * 0x10000ull) * 2048;
434}
435
436static inline u64 CVMX_GMXX_RXX_STATS_OCTS(unsigned long offset, unsigned long block_id)
437{
438 switch (cvmx_get_octeon_family()) {
439 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
440 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
441 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
442 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
443 return 0x0001180008000088ull + ((offset) + (block_id) * 0x10000ull) * 2048;
444 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
445 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
446 return 0x0001180008000088ull + ((offset) + (block_id) * 0x2000ull) * 2048;
447 }
448 return 0x0001180008000088ull + ((offset) + (block_id) * 0x10000ull) * 2048;
449}
450
451static inline u64 CVMX_GMXX_RXX_STATS_OCTS_CTL(unsigned long offset, unsigned long block_id)
452{
453 switch (cvmx_get_octeon_family()) {
454 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
455 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
456 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
457 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
458 return 0x0001180008000098ull + ((offset) + (block_id) * 0x10000ull) * 2048;
459 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
460 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
461 return 0x0001180008000098ull + ((offset) + (block_id) * 0x2000ull) * 2048;
462 }
463 return 0x0001180008000098ull + ((offset) + (block_id) * 0x10000ull) * 2048;
464}
465
466static inline u64 CVMX_GMXX_RXX_STATS_OCTS_DMAC(unsigned long offset, unsigned long block_id)
467{
468 switch (cvmx_get_octeon_family()) {
469 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
470 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
471 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
472 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
473 return 0x00011800080000A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
474 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
475 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
476 return 0x00011800080000A8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
477 }
478 return 0x00011800080000A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
479}
480
481static inline u64 CVMX_GMXX_RXX_STATS_OCTS_DRP(unsigned long offset, unsigned long block_id)
482{
483 switch (cvmx_get_octeon_family()) {
484 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
485 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
486 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
487 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
488 return 0x00011800080000B8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
489 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
490 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
491 return 0x00011800080000B8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
492 }
493 return 0x00011800080000B8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
494}
495
496static inline u64 CVMX_GMXX_RXX_STATS_PKTS(unsigned long offset, unsigned long block_id)
497{
498 switch (cvmx_get_octeon_family()) {
499 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
500 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
501 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
502 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
503 return 0x0001180008000080ull + ((offset) + (block_id) * 0x10000ull) * 2048;
504 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
505 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
506 return 0x0001180008000080ull + ((offset) + (block_id) * 0x2000ull) * 2048;
507 }
508 return 0x0001180008000080ull + ((offset) + (block_id) * 0x10000ull) * 2048;
509}
510
511static inline u64 CVMX_GMXX_RXX_STATS_PKTS_BAD(unsigned long offset, unsigned long block_id)
512{
513 switch (cvmx_get_octeon_family()) {
514 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
515 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
516 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
517 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
518 return 0x00011800080000C0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
519 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
520 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
521 return 0x00011800080000C0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
522 }
523 return 0x00011800080000C0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
524}
525
526static inline u64 CVMX_GMXX_RXX_STATS_PKTS_CTL(unsigned long offset, unsigned long block_id)
527{
528 switch (cvmx_get_octeon_family()) {
529 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
530 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
531 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
532 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
533 return 0x0001180008000090ull + ((offset) + (block_id) * 0x10000ull) * 2048;
534 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
535 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
536 return 0x0001180008000090ull + ((offset) + (block_id) * 0x2000ull) * 2048;
537 }
538 return 0x0001180008000090ull + ((offset) + (block_id) * 0x10000ull) * 2048;
539}
540
541static inline u64 CVMX_GMXX_RXX_STATS_PKTS_DMAC(unsigned long offset, unsigned long block_id)
542{
543 switch (cvmx_get_octeon_family()) {
544 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
545 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
546 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
547 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
548 return 0x00011800080000A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
549 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
550 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
551 return 0x00011800080000A0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
552 }
553 return 0x00011800080000A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
554}
555
556static inline u64 CVMX_GMXX_RXX_STATS_PKTS_DRP(unsigned long offset, unsigned long block_id)
557{
558 switch (cvmx_get_octeon_family()) {
559 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
560 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
561 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
562 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
563 return 0x00011800080000B0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
564 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
565 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
566 return 0x00011800080000B0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
567 }
568 return 0x00011800080000B0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
569}
570
571static inline u64 CVMX_GMXX_RXX_UDD_SKP(unsigned long offset, unsigned long block_id)
572{
573 switch (cvmx_get_octeon_family()) {
574 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
575 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
576 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
577 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
578 return 0x0001180008000048ull + ((offset) + (block_id) * 0x10000ull) * 2048;
579 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
580 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
581 return 0x0001180008000048ull + ((offset) + (block_id) * 0x2000ull) * 2048;
582 }
583 return 0x0001180008000048ull + ((offset) + (block_id) * 0x10000ull) * 2048;
584}
585
586static inline u64 CVMX_GMXX_RX_BP_DROPX(unsigned long offset, unsigned long block_id)
587{
588 switch (cvmx_get_octeon_family()) {
589 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
590 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
591 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
592 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
593 return 0x0001180008000420ull + ((offset) + (block_id) * 0x1000000ull) * 8;
594 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
595 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
596 return 0x0001180008000420ull + ((offset) + (block_id) * 0x200000ull) * 8;
597 }
598 return 0x0001180008000420ull + ((offset) + (block_id) * 0x1000000ull) * 8;
599}
600
601static inline u64 CVMX_GMXX_RX_BP_OFFX(unsigned long offset, unsigned long block_id)
602{
603 switch (cvmx_get_octeon_family()) {
604 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
605 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
606 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
607 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
608 return 0x0001180008000460ull + ((offset) + (block_id) * 0x1000000ull) * 8;
609 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
610 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
611 return 0x0001180008000460ull + ((offset) + (block_id) * 0x200000ull) * 8;
612 }
613 return 0x0001180008000460ull + ((offset) + (block_id) * 0x1000000ull) * 8;
614}
615
616static inline u64 CVMX_GMXX_RX_BP_ONX(unsigned long offset, unsigned long block_id)
617{
618 switch (cvmx_get_octeon_family()) {
619 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
620 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
621 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
622 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
623 return 0x0001180008000440ull + ((offset) + (block_id) * 0x1000000ull) * 8;
624 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
625 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
626 return 0x0001180008000440ull + ((offset) + (block_id) * 0x200000ull) * 8;
627 }
628 return 0x0001180008000440ull + ((offset) + (block_id) * 0x1000000ull) * 8;
629}
630
631static inline u64 CVMX_GMXX_RX_HG2_STATUS(unsigned long offset)
632{
633 switch (cvmx_get_octeon_family()) {
634 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
635 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
636 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
637 return 0x0001180008000548ull + (offset) * 0x8000000ull;
638 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
639 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
640 return 0x0001180008000548ull + (offset) * 0x8000000ull;
641 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
642 return 0x0001180008000548ull + (offset) * 0x1000000ull;
643 }
644 return 0x0001180008000548ull + (offset) * 0x8000000ull;
645}
646
647#define CVMX_GMXX_RX_PASS_EN(offset) (0x00011800080005F8ull + ((offset) & 1) * 0x8000000ull)
648#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) \
649 (0x0001180008000600ull + (((offset) & 15) + ((block_id) & 1) * 0x1000000ull) * 8)
650static inline u64 CVMX_GMXX_RX_PRTS(unsigned long offset)
651{
652 switch (cvmx_get_octeon_family()) {
653 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
654 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
655 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
656 return 0x0001180008000410ull + (offset) * 0x8000000ull;
657 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
658 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
659 return 0x0001180008000410ull + (offset) * 0x8000000ull;
660 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
661 return 0x0001180008000410ull + (offset) * 0x1000000ull;
662 }
663 return 0x0001180008000410ull + (offset) * 0x8000000ull;
664}
665
666static inline u64 CVMX_GMXX_RX_PRT_INFO(unsigned long offset)
667{
668 switch (cvmx_get_octeon_family()) {
669 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
670 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
671 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
672 return 0x00011800080004E8ull + (offset) * 0x8000000ull;
673 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
674 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
675 return 0x00011800080004E8ull + (offset) * 0x8000000ull;
676 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
677 return 0x00011800080004E8ull + (offset) * 0x1000000ull;
678 }
679 return 0x00011800080004E8ull + (offset) * 0x8000000ull;
680}
681
682#define CVMX_GMXX_RX_TX_STATUS(offset) (0x00011800080007E8ull)
683static inline u64 CVMX_GMXX_RX_XAUI_BAD_COL(unsigned long offset)
684{
685 switch (cvmx_get_octeon_family()) {
686 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
687 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
688 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
689 return 0x0001180008000538ull + (offset) * 0x8000000ull;
690 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
691 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
692 return 0x0001180008000538ull + (offset) * 0x8000000ull;
693 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
694 return 0x0001180008000538ull + (offset) * 0x1000000ull;
695 }
696 return 0x0001180008000538ull + (offset) * 0x8000000ull;
697}
698
699static inline u64 CVMX_GMXX_RX_XAUI_CTL(unsigned long offset)
700{
701 switch (cvmx_get_octeon_family()) {
702 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
703 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
704 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
705 return 0x0001180008000530ull + (offset) * 0x8000000ull;
706 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
707 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
708 return 0x0001180008000530ull + (offset) * 0x8000000ull;
709 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
710 return 0x0001180008000530ull + (offset) * 0x1000000ull;
711 }
712 return 0x0001180008000530ull + (offset) * 0x8000000ull;
713}
714
715static inline u64 CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
716{
717 switch (cvmx_get_octeon_family()) {
718 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
719 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
720 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
721 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
722 return 0x0001180008000230ull + ((offset) + (block_id) * 0x10000ull) * 2048;
723 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
724 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
725 return 0x0001180008000230ull + ((offset) + (block_id) * 0x2000ull) * 2048;
726 }
727 return 0x0001180008000230ull + ((offset) + (block_id) * 0x10000ull) * 2048;
728}
729
730static inline u64 CVMX_GMXX_SOFT_BIST(unsigned long offset)
731{
732 switch (cvmx_get_octeon_family()) {
733 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
734 return 0x00011800080007E8ull + (offset) * 0x8000000ull;
735 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
736 return 0x00011800080007E8ull + (offset) * 0x8000000ull;
737 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
738 return 0x00011800080007E8ull + (offset) * 0x1000000ull;
739 }
740 return 0x00011800080007E8ull + (offset) * 0x1000000ull;
741}
742
743static inline u64 CVMX_GMXX_STAT_BP(unsigned long offset)
744{
745 switch (cvmx_get_octeon_family()) {
746 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
747 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
748 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
749 return 0x0001180008000520ull + (offset) * 0x8000000ull;
750 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
751 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
752 return 0x0001180008000520ull + (offset) * 0x8000000ull;
753 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
754 return 0x0001180008000520ull + (offset) * 0x1000000ull;
755 }
756 return 0x0001180008000520ull + (offset) * 0x8000000ull;
757}
758
759static inline u64 CVMX_GMXX_TB_REG(unsigned long offset)
760{
761 switch (cvmx_get_octeon_family()) {
762 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
763 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
764 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
765 return 0x00011800080007E0ull + (offset) * 0x8000000ull;
766 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
767 return 0x00011800080007E0ull + (offset) * 0x8000000ull;
768 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
769 return 0x00011800080007E0ull + (offset) * 0x1000000ull;
770 }
771 return 0x00011800080007E0ull + (offset) * 0x8000000ull;
772}
773
774static inline u64 CVMX_GMXX_TXX_APPEND(unsigned long offset, unsigned long block_id)
775{
776 switch (cvmx_get_octeon_family()) {
777 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
778 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
779 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
780 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
781 return 0x0001180008000218ull + ((offset) + (block_id) * 0x10000ull) * 2048;
782 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
783 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
784 return 0x0001180008000218ull + ((offset) + (block_id) * 0x2000ull) * 2048;
785 }
786 return 0x0001180008000218ull + ((offset) + (block_id) * 0x10000ull) * 2048;
787}
788
789#define CVMX_GMXX_TXX_BCK_CRDT(offset, block_id) \
790 (0x0001180008000388ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
791static inline u64 CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
792{
793 switch (cvmx_get_octeon_family()) {
794 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
795 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
796 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
797 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
798 return 0x0001180008000228ull + ((offset) + (block_id) * 0x10000ull) * 2048;
799 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
800 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
801 return 0x0001180008000228ull + ((offset) + (block_id) * 0x2000ull) * 2048;
802 }
803 return 0x0001180008000228ull + ((offset) + (block_id) * 0x10000ull) * 2048;
804}
805
806static inline u64 CVMX_GMXX_TXX_CBFC_XOFF(unsigned long __attribute__((unused)) offset,
807 unsigned long block_id)
808{
809 switch (cvmx_get_octeon_family()) {
810 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
811 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
812 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
813 return 0x00011800080005A0ull + (block_id) * 0x8000000ull;
814 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
815 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
816 return 0x00011800080005A0ull + (block_id) * 0x8000000ull;
817 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
818 return 0x00011800080005A0ull + (block_id) * 0x1000000ull;
819 }
820 return 0x00011800080005A0ull + (block_id) * 0x8000000ull;
821}
822
823static inline u64 CVMX_GMXX_TXX_CBFC_XON(unsigned long __attribute__((unused)) offset,
824 unsigned long block_id)
825{
826 switch (cvmx_get_octeon_family()) {
827 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
828 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
829 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
830 return 0x00011800080005C0ull + (block_id) * 0x8000000ull;
831 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
832 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
833 return 0x00011800080005C0ull + (block_id) * 0x8000000ull;
834 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
835 return 0x00011800080005C0ull + (block_id) * 0x1000000ull;
836 }
837 return 0x00011800080005C0ull + (block_id) * 0x8000000ull;
838}
839
840#define CVMX_GMXX_TXX_CLK(offset, block_id) \
841 (0x0001180008000208ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
842static inline u64 CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
843{
844 switch (cvmx_get_octeon_family()) {
845 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
846 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
847 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
848 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
849 return 0x0001180008000270ull + ((offset) + (block_id) * 0x10000ull) * 2048;
850 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
851 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
852 return 0x0001180008000270ull + ((offset) + (block_id) * 0x2000ull) * 2048;
853 }
854 return 0x0001180008000270ull + ((offset) + (block_id) * 0x10000ull) * 2048;
855}
856
857#define CVMX_GMXX_TXX_JAM_MODE(offset, block_id) \
858 (0x0001180008000380ull + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
859static inline u64 CVMX_GMXX_TXX_MIN_PKT(unsigned long offset, unsigned long block_id)
860{
861 switch (cvmx_get_octeon_family()) {
862 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
863 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
864 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
865 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
866 return 0x0001180008000240ull + ((offset) + (block_id) * 0x10000ull) * 2048;
867 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
868 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
869 return 0x0001180008000240ull + ((offset) + (block_id) * 0x2000ull) * 2048;
870 }
871 return 0x0001180008000240ull + ((offset) + (block_id) * 0x10000ull) * 2048;
872}
873
874static inline u64 CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
875{
876 switch (cvmx_get_octeon_family()) {
877 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
878 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
879 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
880 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
881 return 0x0001180008000248ull + ((offset) + (block_id) * 0x10000ull) * 2048;
882 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
883 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
884 return 0x0001180008000248ull + ((offset) + (block_id) * 0x2000ull) * 2048;
885 }
886 return 0x0001180008000248ull + ((offset) + (block_id) * 0x10000ull) * 2048;
887}
888
889static inline u64 CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
890{
891 switch (cvmx_get_octeon_family()) {
892 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
893 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
894 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
895 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
896 return 0x0001180008000238ull + ((offset) + (block_id) * 0x10000ull) * 2048;
897 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
898 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
899 return 0x0001180008000238ull + ((offset) + (block_id) * 0x2000ull) * 2048;
900 }
901 return 0x0001180008000238ull + ((offset) + (block_id) * 0x10000ull) * 2048;
902}
903
904static inline u64 CVMX_GMXX_TXX_PAUSE_TOGO(unsigned long offset, unsigned long block_id)
905{
906 switch (cvmx_get_octeon_family()) {
907 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
908 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
909 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
910 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
911 return 0x0001180008000258ull + ((offset) + (block_id) * 0x10000ull) * 2048;
912 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
913 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
914 return 0x0001180008000258ull + ((offset) + (block_id) * 0x2000ull) * 2048;
915 }
916 return 0x0001180008000258ull + ((offset) + (block_id) * 0x10000ull) * 2048;
917}
918
919static inline u64 CVMX_GMXX_TXX_PAUSE_ZERO(unsigned long offset, unsigned long block_id)
920{
921 switch (cvmx_get_octeon_family()) {
922 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
923 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
924 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
925 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
926 return 0x0001180008000260ull + ((offset) + (block_id) * 0x10000ull) * 2048;
927 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
928 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
929 return 0x0001180008000260ull + ((offset) + (block_id) * 0x2000ull) * 2048;
930 }
931 return 0x0001180008000260ull + ((offset) + (block_id) * 0x10000ull) * 2048;
932}
933
934#define CVMX_GMXX_TXX_PIPE(offset, block_id) \
935 (0x0001180008000310ull + (((offset) & 3) + ((block_id) & 7) * 0x2000ull) * 2048)
936static inline u64 CVMX_GMXX_TXX_SGMII_CTL(unsigned long offset, unsigned long block_id)
937{
938 switch (cvmx_get_octeon_family()) {
939 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
940 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
941 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
942 return 0x0001180008000300ull + ((offset) + (block_id) * 0x10000ull) * 2048;
943 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
944 return 0x0001180008000300ull + ((offset) + (block_id) * 0x10000ull) * 2048;
945 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
946 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
947 return 0x0001180008000300ull + ((offset) + (block_id) * 0x2000ull) * 2048;
948 }
949 return 0x0001180008000300ull + ((offset) + (block_id) * 0x10000ull) * 2048;
950}
951
952static inline u64 CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
953{
954 switch (cvmx_get_octeon_family()) {
955 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
956 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
957 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
958 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
959 return 0x0001180008000220ull + ((offset) + (block_id) * 0x10000ull) * 2048;
960 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
961 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
962 return 0x0001180008000220ull + ((offset) + (block_id) * 0x2000ull) * 2048;
963 }
964 return 0x0001180008000220ull + ((offset) + (block_id) * 0x10000ull) * 2048;
965}
966
967static inline u64 CVMX_GMXX_TXX_SOFT_PAUSE(unsigned long offset, unsigned long block_id)
968{
969 switch (cvmx_get_octeon_family()) {
970 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
971 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
972 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
973 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
974 return 0x0001180008000250ull + ((offset) + (block_id) * 0x10000ull) * 2048;
975 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
976 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
977 return 0x0001180008000250ull + ((offset) + (block_id) * 0x2000ull) * 2048;
978 }
979 return 0x0001180008000250ull + ((offset) + (block_id) * 0x10000ull) * 2048;
980}
981
982static inline u64 CVMX_GMXX_TXX_STAT0(unsigned long offset, unsigned long block_id)
983{
984 switch (cvmx_get_octeon_family()) {
985 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
986 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
987 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
988 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
989 return 0x0001180008000280ull + ((offset) + (block_id) * 0x10000ull) * 2048;
990 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
991 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
992 return 0x0001180008000280ull + ((offset) + (block_id) * 0x2000ull) * 2048;
993 }
994 return 0x0001180008000280ull + ((offset) + (block_id) * 0x10000ull) * 2048;
995}
996
997static inline u64 CVMX_GMXX_TXX_STAT1(unsigned long offset, unsigned long block_id)
998{
999 switch (cvmx_get_octeon_family()) {
1000 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1001 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1002 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1003 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1004 return 0x0001180008000288ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1005 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1006 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1007 return 0x0001180008000288ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1008 }
1009 return 0x0001180008000288ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1010}
1011
1012static inline u64 CVMX_GMXX_TXX_STAT2(unsigned long offset, unsigned long block_id)
1013{
1014 switch (cvmx_get_octeon_family()) {
1015 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1016 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1017 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1018 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1019 return 0x0001180008000290ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1020 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1021 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1022 return 0x0001180008000290ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1023 }
1024 return 0x0001180008000290ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1025}
1026
1027static inline u64 CVMX_GMXX_TXX_STAT3(unsigned long offset, unsigned long block_id)
1028{
1029 switch (cvmx_get_octeon_family()) {
1030 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1031 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1032 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1033 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1034 return 0x0001180008000298ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1035 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1036 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1037 return 0x0001180008000298ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1038 }
1039 return 0x0001180008000298ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1040}
1041
1042static inline u64 CVMX_GMXX_TXX_STAT4(unsigned long offset, unsigned long block_id)
1043{
1044 switch (cvmx_get_octeon_family()) {
1045 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1046 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1047 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1048 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1049 return 0x00011800080002A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1050 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1051 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1052 return 0x00011800080002A0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1053 }
1054 return 0x00011800080002A0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1055}
1056
1057static inline u64 CVMX_GMXX_TXX_STAT5(unsigned long offset, unsigned long block_id)
1058{
1059 switch (cvmx_get_octeon_family()) {
1060 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1061 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1062 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1063 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1064 return 0x00011800080002A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1065 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1066 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1067 return 0x00011800080002A8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1068 }
1069 return 0x00011800080002A8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1070}
1071
1072static inline u64 CVMX_GMXX_TXX_STAT6(unsigned long offset, unsigned long block_id)
1073{
1074 switch (cvmx_get_octeon_family()) {
1075 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1076 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1077 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1078 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1079 return 0x00011800080002B0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1080 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1081 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1082 return 0x00011800080002B0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1083 }
1084 return 0x00011800080002B0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1085}
1086
1087static inline u64 CVMX_GMXX_TXX_STAT7(unsigned long offset, unsigned long block_id)
1088{
1089 switch (cvmx_get_octeon_family()) {
1090 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1091 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1092 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1093 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1094 return 0x00011800080002B8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1095 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1096 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1097 return 0x00011800080002B8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1098 }
1099 return 0x00011800080002B8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1100}
1101
1102static inline u64 CVMX_GMXX_TXX_STAT8(unsigned long offset, unsigned long block_id)
1103{
1104 switch (cvmx_get_octeon_family()) {
1105 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1106 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1107 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1108 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1109 return 0x00011800080002C0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1110 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1111 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1112 return 0x00011800080002C0ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1113 }
1114 return 0x00011800080002C0ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1115}
1116
1117static inline u64 CVMX_GMXX_TXX_STAT9(unsigned long offset, unsigned long block_id)
1118{
1119 switch (cvmx_get_octeon_family()) {
1120 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1121 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1122 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1123 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1124 return 0x00011800080002C8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1125 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1126 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1127 return 0x00011800080002C8ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1128 }
1129 return 0x00011800080002C8ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1130}
1131
1132static inline u64 CVMX_GMXX_TXX_STATS_CTL(unsigned long offset, unsigned long block_id)
1133{
1134 switch (cvmx_get_octeon_family()) {
1135 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1136 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1137 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1138 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1139 return 0x0001180008000268ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1140 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1141 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1142 return 0x0001180008000268ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1143 }
1144 return 0x0001180008000268ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1145}
1146
1147static inline u64 CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
1148{
1149 switch (cvmx_get_octeon_family()) {
1150 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1151 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1152 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1153 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1154 return 0x0001180008000210ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1155 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1156 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1157 return 0x0001180008000210ull + ((offset) + (block_id) * 0x2000ull) * 2048;
1158 }
1159 return 0x0001180008000210ull + ((offset) + (block_id) * 0x10000ull) * 2048;
1160}
1161
1162static inline u64 CVMX_GMXX_TX_BP(unsigned long offset)
1163{
1164 switch (cvmx_get_octeon_family()) {
1165 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1166 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1167 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1168 return 0x00011800080004D0ull + (offset) * 0x8000000ull;
1169 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1170 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1171 return 0x00011800080004D0ull + (offset) * 0x8000000ull;
1172 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1173 return 0x00011800080004D0ull + (offset) * 0x1000000ull;
1174 }
1175 return 0x00011800080004D0ull + (offset) * 0x8000000ull;
1176}
1177
1178#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) \
1179 (0x0001180008000780ull + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8)
1180static inline u64 CVMX_GMXX_TX_COL_ATTEMPT(unsigned long offset)
1181{
1182 switch (cvmx_get_octeon_family()) {
1183 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1184 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1185 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1186 return 0x0001180008000498ull + (offset) * 0x8000000ull;
1187 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1188 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1189 return 0x0001180008000498ull + (offset) * 0x8000000ull;
1190 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1191 return 0x0001180008000498ull + (offset) * 0x1000000ull;
1192 }
1193 return 0x0001180008000498ull + (offset) * 0x8000000ull;
1194}
1195
1196static inline u64 CVMX_GMXX_TX_CORRUPT(unsigned long offset)
1197{
1198 switch (cvmx_get_octeon_family()) {
1199 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1200 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1201 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1202 return 0x00011800080004D8ull + (offset) * 0x8000000ull;
1203 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1204 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1205 return 0x00011800080004D8ull + (offset) * 0x8000000ull;
1206 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1207 return 0x00011800080004D8ull + (offset) * 0x1000000ull;
1208 }
1209 return 0x00011800080004D8ull + (offset) * 0x8000000ull;
1210}
1211
1212static inline u64 CVMX_GMXX_TX_HG2_REG1(unsigned long offset)
1213{
1214 switch (cvmx_get_octeon_family()) {
1215 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1216 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1217 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1218 return 0x0001180008000558ull + (offset) * 0x8000000ull;
1219 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1220 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1221 return 0x0001180008000558ull + (offset) * 0x8000000ull;
1222 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1223 return 0x0001180008000558ull + (offset) * 0x1000000ull;
1224 }
1225 return 0x0001180008000558ull + (offset) * 0x8000000ull;
1226}
1227
1228static inline u64 CVMX_GMXX_TX_HG2_REG2(unsigned long offset)
1229{
1230 switch (cvmx_get_octeon_family()) {
1231 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1232 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1233 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1234 return 0x0001180008000560ull + (offset) * 0x8000000ull;
1235 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1236 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1237 return 0x0001180008000560ull + (offset) * 0x8000000ull;
1238 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1239 return 0x0001180008000560ull + (offset) * 0x1000000ull;
1240 }
1241 return 0x0001180008000560ull + (offset) * 0x8000000ull;
1242}
1243
1244static inline u64 CVMX_GMXX_TX_IFG(unsigned long offset)
1245{
1246 switch (cvmx_get_octeon_family()) {
1247 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1248 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1249 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1250 return 0x0001180008000488ull + (offset) * 0x8000000ull;
1251 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1252 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1253 return 0x0001180008000488ull + (offset) * 0x8000000ull;
1254 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1255 return 0x0001180008000488ull + (offset) * 0x1000000ull;
1256 }
1257 return 0x0001180008000488ull + (offset) * 0x8000000ull;
1258}
1259
1260static inline u64 CVMX_GMXX_TX_INT_EN(unsigned long offset)
1261{
1262 switch (cvmx_get_octeon_family()) {
1263 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1264 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1265 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1266 return 0x0001180008000508ull + (offset) * 0x8000000ull;
1267 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1268 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1269 return 0x0001180008000508ull + (offset) * 0x8000000ull;
1270 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1271 return 0x0001180008000508ull + (offset) * 0x1000000ull;
1272 }
1273 return 0x0001180008000508ull + (offset) * 0x8000000ull;
1274}
1275
1276static inline u64 CVMX_GMXX_TX_INT_REG(unsigned long offset)
1277{
1278 switch (cvmx_get_octeon_family()) {
1279 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1280 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1281 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1282 return 0x0001180008000500ull + (offset) * 0x8000000ull;
1283 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1284 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1285 return 0x0001180008000500ull + (offset) * 0x8000000ull;
1286 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1287 return 0x0001180008000500ull + (offset) * 0x1000000ull;
1288 }
1289 return 0x0001180008000500ull + (offset) * 0x8000000ull;
1290}
1291
1292static inline u64 CVMX_GMXX_TX_JAM(unsigned long offset)
1293{
1294 switch (cvmx_get_octeon_family()) {
1295 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1296 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1297 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1298 return 0x0001180008000490ull + (offset) * 0x8000000ull;
1299 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1300 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1301 return 0x0001180008000490ull + (offset) * 0x8000000ull;
1302 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1303 return 0x0001180008000490ull + (offset) * 0x1000000ull;
1304 }
1305 return 0x0001180008000490ull + (offset) * 0x8000000ull;
1306}
1307
1308static inline u64 CVMX_GMXX_TX_LFSR(unsigned long offset)
1309{
1310 switch (cvmx_get_octeon_family()) {
1311 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1312 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1313 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1314 return 0x00011800080004F8ull + (offset) * 0x8000000ull;
1315 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1316 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1317 return 0x00011800080004F8ull + (offset) * 0x8000000ull;
1318 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1319 return 0x00011800080004F8ull + (offset) * 0x1000000ull;
1320 }
1321 return 0x00011800080004F8ull + (offset) * 0x8000000ull;
1322}
1323
1324static inline u64 CVMX_GMXX_TX_OVR_BP(unsigned long offset)
1325{
1326 switch (cvmx_get_octeon_family()) {
1327 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1328 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1329 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1330 return 0x00011800080004C8ull + (offset) * 0x8000000ull;
1331 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1332 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1333 return 0x00011800080004C8ull + (offset) * 0x8000000ull;
1334 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1335 return 0x00011800080004C8ull + (offset) * 0x1000000ull;
1336 }
1337 return 0x00011800080004C8ull + (offset) * 0x8000000ull;
1338}
1339
1340static inline u64 CVMX_GMXX_TX_PAUSE_PKT_DMAC(unsigned long offset)
1341{
1342 switch (cvmx_get_octeon_family()) {
1343 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1344 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1345 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1346 return 0x00011800080004A0ull + (offset) * 0x8000000ull;
1347 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1348 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1349 return 0x00011800080004A0ull + (offset) * 0x8000000ull;
1350 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1351 return 0x00011800080004A0ull + (offset) * 0x1000000ull;
1352 }
1353 return 0x00011800080004A0ull + (offset) * 0x8000000ull;
1354}
1355
1356static inline u64 CVMX_GMXX_TX_PAUSE_PKT_TYPE(unsigned long offset)
1357{
1358 switch (cvmx_get_octeon_family()) {
1359 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1360 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1361 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1362 return 0x00011800080004A8ull + (offset) * 0x8000000ull;
1363 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1364 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1365 return 0x00011800080004A8ull + (offset) * 0x8000000ull;
1366 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1367 return 0x00011800080004A8ull + (offset) * 0x1000000ull;
1368 }
1369 return 0x00011800080004A8ull + (offset) * 0x8000000ull;
1370}
1371
1372static inline u64 CVMX_GMXX_TX_PRTS(unsigned long offset)
1373{
1374 switch (cvmx_get_octeon_family()) {
1375 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1376 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1377 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1378 return 0x0001180008000480ull + (offset) * 0x8000000ull;
1379 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1380 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1381 return 0x0001180008000480ull + (offset) * 0x8000000ull;
1382 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1383 return 0x0001180008000480ull + (offset) * 0x1000000ull;
1384 }
1385 return 0x0001180008000480ull + (offset) * 0x8000000ull;
1386}
1387
1388#define CVMX_GMXX_TX_SPI_CTL(offset) (0x00011800080004C0ull + ((offset) & 1) * 0x8000000ull)
1389#define CVMX_GMXX_TX_SPI_DRAIN(offset) (0x00011800080004E0ull + ((offset) & 1) * 0x8000000ull)
1390#define CVMX_GMXX_TX_SPI_MAX(offset) (0x00011800080004B0ull + ((offset) & 1) * 0x8000000ull)
1391#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) \
1392 (0x0001180008000680ull + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
1393#define CVMX_GMXX_TX_SPI_THRESH(offset) (0x00011800080004B8ull + ((offset) & 1) * 0x8000000ull)
1394static inline u64 CVMX_GMXX_TX_XAUI_CTL(unsigned long offset)
1395{
1396 switch (cvmx_get_octeon_family()) {
1397 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1398 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1399 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1400 return 0x0001180008000528ull + (offset) * 0x8000000ull;
1401 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1402 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1403 return 0x0001180008000528ull + (offset) * 0x8000000ull;
1404 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1405 return 0x0001180008000528ull + (offset) * 0x1000000ull;
1406 }
1407 return 0x0001180008000528ull + (offset) * 0x8000000ull;
1408}
1409
1410#define CVMX_GMXX_WOL_CTL(offset) (0x0001180008000780ull + ((offset) & 1) * 0x8000000ull)
1411static inline u64 CVMX_GMXX_XAUI_EXT_LOOPBACK(unsigned long offset)
1412{
1413 switch (cvmx_get_octeon_family()) {
1414 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1415 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1416 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1417 return 0x0001180008000540ull + (offset) * 0x8000000ull;
1418 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1419 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1420 return 0x0001180008000540ull + (offset) * 0x8000000ull;
1421 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1422 return 0x0001180008000540ull + (offset) * 0x1000000ull;
1423 }
1424 return 0x0001180008000540ull + (offset) * 0x8000000ull;
1425}
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437union cvmx_gmxx_bad_reg {
1438 u64 u64;
1439 struct cvmx_gmxx_bad_reg_s {
1440 u64 reserved_31_63 : 33;
1441 u64 inb_nxa : 4;
1442 u64 statovr : 1;
1443 u64 loststat : 4;
1444 u64 reserved_18_21 : 4;
1445 u64 out_ovr : 16;
1446 u64 ncb_ovr : 1;
1447 u64 out_col : 1;
1448 } s;
1449 struct cvmx_gmxx_bad_reg_cn30xx {
1450 u64 reserved_31_63 : 33;
1451 u64 inb_nxa : 4;
1452 u64 statovr : 1;
1453 u64 reserved_25_25 : 1;
1454 u64 loststat : 3;
1455 u64 reserved_5_21 : 17;
1456 u64 out_ovr : 3;
1457 u64 reserved_0_1 : 2;
1458 } cn30xx;
1459 struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
1460 struct cvmx_gmxx_bad_reg_s cn38xx;
1461 struct cvmx_gmxx_bad_reg_s cn38xxp2;
1462 struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
1463 struct cvmx_gmxx_bad_reg_cn52xx {
1464 u64 reserved_31_63 : 33;
1465 u64 inb_nxa : 4;
1466 u64 statovr : 1;
1467 u64 loststat : 4;
1468 u64 reserved_6_21 : 16;
1469 u64 out_ovr : 4;
1470 u64 reserved_0_1 : 2;
1471 } cn52xx;
1472 struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
1473 struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
1474 struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
1475 struct cvmx_gmxx_bad_reg_s cn58xx;
1476 struct cvmx_gmxx_bad_reg_s cn58xxp1;
1477 struct cvmx_gmxx_bad_reg_cn52xx cn61xx;
1478 struct cvmx_gmxx_bad_reg_cn52xx cn63xx;
1479 struct cvmx_gmxx_bad_reg_cn52xx cn63xxp1;
1480 struct cvmx_gmxx_bad_reg_cn52xx cn66xx;
1481 struct cvmx_gmxx_bad_reg_cn52xx cn68xx;
1482 struct cvmx_gmxx_bad_reg_cn52xx cn68xxp1;
1483 struct cvmx_gmxx_bad_reg_cn52xx cn70xx;
1484 struct cvmx_gmxx_bad_reg_cn52xx cn70xxp1;
1485 struct cvmx_gmxx_bad_reg_cn52xx cnf71xx;
1486};
1487
1488typedef union cvmx_gmxx_bad_reg cvmx_gmxx_bad_reg_t;
1489
1490
1491
1492
1493
1494
1495
1496union cvmx_gmxx_bist {
1497 u64 u64;
1498 struct cvmx_gmxx_bist_s {
1499 u64 reserved_25_63 : 39;
1500 u64 status : 25;
1501 } s;
1502 struct cvmx_gmxx_bist_cn30xx {
1503 u64 reserved_10_63 : 54;
1504 u64 status : 10;
1505 } cn30xx;
1506 struct cvmx_gmxx_bist_cn30xx cn31xx;
1507 struct cvmx_gmxx_bist_cn30xx cn38xx;
1508 struct cvmx_gmxx_bist_cn30xx cn38xxp2;
1509 struct cvmx_gmxx_bist_cn50xx {
1510 u64 reserved_12_63 : 52;
1511 u64 status : 12;
1512 } cn50xx;
1513 struct cvmx_gmxx_bist_cn52xx {
1514 u64 reserved_16_63 : 48;
1515 u64 status : 16;
1516 } cn52xx;
1517 struct cvmx_gmxx_bist_cn52xx cn52xxp1;
1518 struct cvmx_gmxx_bist_cn52xx cn56xx;
1519 struct cvmx_gmxx_bist_cn52xx cn56xxp1;
1520 struct cvmx_gmxx_bist_cn58xx {
1521 u64 reserved_17_63 : 47;
1522 u64 status : 17;
1523 } cn58xx;
1524 struct cvmx_gmxx_bist_cn58xx cn58xxp1;
1525 struct cvmx_gmxx_bist_s cn61xx;
1526 struct cvmx_gmxx_bist_s cn63xx;
1527 struct cvmx_gmxx_bist_s cn63xxp1;
1528 struct cvmx_gmxx_bist_s cn66xx;
1529 struct cvmx_gmxx_bist_s cn68xx;
1530 struct cvmx_gmxx_bist_s cn68xxp1;
1531 struct cvmx_gmxx_bist_s cn70xx;
1532 struct cvmx_gmxx_bist_s cn70xxp1;
1533 struct cvmx_gmxx_bist_s cnf71xx;
1534};
1535
1536typedef union cvmx_gmxx_bist cvmx_gmxx_bist_t;
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585union cvmx_gmxx_bpid_mapx {
1586 u64 u64;
1587 struct cvmx_gmxx_bpid_mapx_s {
1588 u64 reserved_17_63 : 47;
1589 u64 status : 1;
1590 u64 reserved_9_15 : 7;
1591 u64 val : 1;
1592 u64 reserved_6_7 : 2;
1593 u64 bpid : 6;
1594 } s;
1595 struct cvmx_gmxx_bpid_mapx_s cn68xx;
1596 struct cvmx_gmxx_bpid_mapx_s cn68xxp1;
1597};
1598
1599typedef union cvmx_gmxx_bpid_mapx cvmx_gmxx_bpid_mapx_t;
1600
1601
1602
1603
1604union cvmx_gmxx_bpid_msk {
1605 u64 u64;
1606 struct cvmx_gmxx_bpid_msk_s {
1607 u64 reserved_48_63 : 16;
1608 u64 msk_or : 16;
1609 u64 reserved_16_31 : 16;
1610 u64 msk_and : 16;
1611 } s;
1612 struct cvmx_gmxx_bpid_msk_s cn68xx;
1613 struct cvmx_gmxx_bpid_msk_s cn68xxp1;
1614};
1615
1616typedef union cvmx_gmxx_bpid_msk cvmx_gmxx_bpid_msk_t;
1617
1618
1619
1620
1621
1622
1623
1624union cvmx_gmxx_clk_en {
1625 u64 u64;
1626 struct cvmx_gmxx_clk_en_s {
1627 u64 reserved_1_63 : 63;
1628 u64 clk_en : 1;
1629 } s;
1630 struct cvmx_gmxx_clk_en_s cn52xx;
1631 struct cvmx_gmxx_clk_en_s cn52xxp1;
1632 struct cvmx_gmxx_clk_en_s cn56xx;
1633 struct cvmx_gmxx_clk_en_s cn56xxp1;
1634 struct cvmx_gmxx_clk_en_s cn61xx;
1635 struct cvmx_gmxx_clk_en_s cn63xx;
1636 struct cvmx_gmxx_clk_en_s cn63xxp1;
1637 struct cvmx_gmxx_clk_en_s cn66xx;
1638 struct cvmx_gmxx_clk_en_s cn68xx;
1639 struct cvmx_gmxx_clk_en_s cn68xxp1;
1640 struct cvmx_gmxx_clk_en_s cn70xx;
1641 struct cvmx_gmxx_clk_en_s cn70xxp1;
1642 struct cvmx_gmxx_clk_en_s cnf71xx;
1643};
1644
1645typedef union cvmx_gmxx_clk_en cvmx_gmxx_clk_en_t;
1646
1647
1648
1649
1650union cvmx_gmxx_ebp_dis {
1651 u64 u64;
1652 struct cvmx_gmxx_ebp_dis_s {
1653 u64 reserved_16_63 : 48;
1654 u64 dis : 16;
1655 } s;
1656 struct cvmx_gmxx_ebp_dis_s cn68xx;
1657 struct cvmx_gmxx_ebp_dis_s cn68xxp1;
1658};
1659
1660typedef union cvmx_gmxx_ebp_dis cvmx_gmxx_ebp_dis_t;
1661
1662
1663
1664
1665union cvmx_gmxx_ebp_msk {
1666 u64 u64;
1667 struct cvmx_gmxx_ebp_msk_s {
1668 u64 reserved_16_63 : 48;
1669 u64 msk : 16;
1670 } s;
1671 struct cvmx_gmxx_ebp_msk_s cn68xx;
1672 struct cvmx_gmxx_ebp_msk_s cn68xxp1;
1673};
1674
1675typedef union cvmx_gmxx_ebp_msk cvmx_gmxx_ebp_msk_t;
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700union cvmx_gmxx_hg2_control {
1701 u64 u64;
1702 struct cvmx_gmxx_hg2_control_s {
1703 u64 reserved_19_63 : 45;
1704 u64 hg2tx_en : 1;
1705 u64 hg2rx_en : 1;
1706 u64 phys_en : 1;
1707 u64 logl_en : 16;
1708 } s;
1709 struct cvmx_gmxx_hg2_control_s cn52xx;
1710 struct cvmx_gmxx_hg2_control_s cn52xxp1;
1711 struct cvmx_gmxx_hg2_control_s cn56xx;
1712 struct cvmx_gmxx_hg2_control_s cn61xx;
1713 struct cvmx_gmxx_hg2_control_s cn63xx;
1714 struct cvmx_gmxx_hg2_control_s cn63xxp1;
1715 struct cvmx_gmxx_hg2_control_s cn66xx;
1716 struct cvmx_gmxx_hg2_control_s cn68xx;
1717 struct cvmx_gmxx_hg2_control_s cn68xxp1;
1718 struct cvmx_gmxx_hg2_control_s cn70xx;
1719 struct cvmx_gmxx_hg2_control_s cn70xxp1;
1720 struct cvmx_gmxx_hg2_control_s cnf71xx;
1721};
1722
1723typedef union cvmx_gmxx_hg2_control cvmx_gmxx_hg2_control_t;
1724
1725
1726
1727
1728
1729
1730
1731union cvmx_gmxx_inf_mode {
1732 u64 u64;
1733 struct cvmx_gmxx_inf_mode_s {
1734 u64 reserved_20_63 : 44;
1735 u64 rate : 4;
1736 u64 reserved_12_15 : 4;
1737 u64 speed : 4;
1738 u64 reserved_7_7 : 1;
1739 u64 mode : 3;
1740 u64 reserved_3_3 : 1;
1741 u64 p0mii : 1;
1742 u64 en : 1;
1743 u64 type : 1;
1744 } s;
1745 struct cvmx_gmxx_inf_mode_cn30xx {
1746 u64 reserved_3_63 : 61;
1747 u64 p0mii : 1;
1748 u64 en : 1;
1749 u64 type : 1;
1750 } cn30xx;
1751 struct cvmx_gmxx_inf_mode_cn31xx {
1752 u64 reserved_2_63 : 62;
1753 u64 en : 1;
1754 u64 type : 1;
1755 } cn31xx;
1756 struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
1757 struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
1758 struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
1759 struct cvmx_gmxx_inf_mode_cn52xx {
1760 u64 reserved_10_63 : 54;
1761 u64 speed : 2;
1762 u64 reserved_6_7 : 2;
1763 u64 mode : 2;
1764 u64 reserved_2_3 : 2;
1765 u64 en : 1;
1766 u64 type : 1;
1767 } cn52xx;
1768 struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
1769 struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
1770 struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
1771 struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
1772 struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1;
1773 struct cvmx_gmxx_inf_mode_cn61xx {
1774 u64 reserved_12_63 : 52;
1775 u64 speed : 4;
1776 u64 reserved_5_7 : 3;
1777 u64 mode : 1;
1778 u64 reserved_2_3 : 2;
1779 u64 en : 1;
1780 u64 type : 1;
1781 } cn61xx;
1782 struct cvmx_gmxx_inf_mode_cn61xx cn63xx;
1783 struct cvmx_gmxx_inf_mode_cn61xx cn63xxp1;
1784 struct cvmx_gmxx_inf_mode_cn66xx {
1785 u64 reserved_20_63 : 44;
1786 u64 rate : 4;
1787 u64 reserved_12_15 : 4;
1788 u64 speed : 4;
1789 u64 reserved_5_7 : 3;
1790 u64 mode : 1;
1791 u64 reserved_2_3 : 2;
1792 u64 en : 1;
1793 u64 type : 1;
1794 } cn66xx;
1795 struct cvmx_gmxx_inf_mode_cn68xx {
1796 u64 reserved_12_63 : 52;
1797 u64 speed : 4;
1798 u64 reserved_7_7 : 1;
1799 u64 mode : 3;
1800 u64 reserved_2_3 : 2;
1801 u64 en : 1;
1802 u64 type : 1;
1803 } cn68xx;
1804 struct cvmx_gmxx_inf_mode_cn68xx cn68xxp1;
1805 struct cvmx_gmxx_inf_mode_cn70xx {
1806 u64 reserved_6_63 : 58;
1807 u64 mode : 2;
1808 u64 reserved_2_3 : 2;
1809 u64 en : 1;
1810 u64 reserved_0_0 : 1;
1811 } cn70xx;
1812 struct cvmx_gmxx_inf_mode_cn70xx cn70xxp1;
1813 struct cvmx_gmxx_inf_mode_cn61xx cnf71xx;
1814};
1815
1816typedef union cvmx_gmxx_inf_mode cvmx_gmxx_inf_mode_t;
1817
1818
1819
1820
1821
1822
1823
1824union cvmx_gmxx_nxa_adr {
1825 u64 u64;
1826 struct cvmx_gmxx_nxa_adr_s {
1827 u64 reserved_23_63 : 41;
1828 u64 pipe : 7;
1829 u64 reserved_6_15 : 10;
1830 u64 prt : 6;
1831 } s;
1832 struct cvmx_gmxx_nxa_adr_cn30xx {
1833 u64 reserved_6_63 : 58;
1834 u64 prt : 6;
1835 } cn30xx;
1836 struct cvmx_gmxx_nxa_adr_cn30xx cn31xx;
1837 struct cvmx_gmxx_nxa_adr_cn30xx cn38xx;
1838 struct cvmx_gmxx_nxa_adr_cn30xx cn38xxp2;
1839 struct cvmx_gmxx_nxa_adr_cn30xx cn50xx;
1840 struct cvmx_gmxx_nxa_adr_cn30xx cn52xx;
1841 struct cvmx_gmxx_nxa_adr_cn30xx cn52xxp1;
1842 struct cvmx_gmxx_nxa_adr_cn30xx cn56xx;
1843 struct cvmx_gmxx_nxa_adr_cn30xx cn56xxp1;
1844 struct cvmx_gmxx_nxa_adr_cn30xx cn58xx;
1845 struct cvmx_gmxx_nxa_adr_cn30xx cn58xxp1;
1846 struct cvmx_gmxx_nxa_adr_cn30xx cn61xx;
1847 struct cvmx_gmxx_nxa_adr_cn30xx cn63xx;
1848 struct cvmx_gmxx_nxa_adr_cn30xx cn63xxp1;
1849 struct cvmx_gmxx_nxa_adr_cn30xx cn66xx;
1850 struct cvmx_gmxx_nxa_adr_s cn68xx;
1851 struct cvmx_gmxx_nxa_adr_s cn68xxp1;
1852 struct cvmx_gmxx_nxa_adr_cn30xx cn70xx;
1853 struct cvmx_gmxx_nxa_adr_cn30xx cn70xxp1;
1854 struct cvmx_gmxx_nxa_adr_cn30xx cnf71xx;
1855};
1856
1857typedef union cvmx_gmxx_nxa_adr cvmx_gmxx_nxa_adr_t;
1858
1859
1860
1861
1862
1863
1864
1865union cvmx_gmxx_pipe_status {
1866 u64 u64;
1867 struct cvmx_gmxx_pipe_status_s {
1868 u64 reserved_20_63 : 44;
1869 u64 ovr : 4;
1870 u64 reserved_12_15 : 4;
1871 u64 bp : 4;
1872 u64 reserved_4_7 : 4;
1873 u64 stop : 4;
1874 } s;
1875 struct cvmx_gmxx_pipe_status_s cn68xx;
1876 struct cvmx_gmxx_pipe_status_s cn68xxp1;
1877};
1878
1879typedef union cvmx_gmxx_pipe_status cvmx_gmxx_pipe_status_t;
1880
1881
1882
1883
1884
1885
1886
1887union cvmx_gmxx_prtx_cbfc_ctl {
1888 u64 u64;
1889 struct cvmx_gmxx_prtx_cbfc_ctl_s {
1890 u64 phys_en : 16;
1891 u64 logl_en : 16;
1892 u64 phys_bp : 16;
1893 u64 reserved_4_15 : 12;
1894 u64 bck_en : 1;
1895 u64 drp_en : 1;
1896 u64 tx_en : 1;
1897 u64 rx_en : 1;
1898 } s;
1899 struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
1900 struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx;
1901 struct cvmx_gmxx_prtx_cbfc_ctl_s cn61xx;
1902 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xx;
1903 struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xxp1;
1904 struct cvmx_gmxx_prtx_cbfc_ctl_s cn66xx;
1905 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xx;
1906 struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xxp1;
1907 struct cvmx_gmxx_prtx_cbfc_ctl_s cn70xx;
1908 struct cvmx_gmxx_prtx_cbfc_ctl_s cn70xxp1;
1909 struct cvmx_gmxx_prtx_cbfc_ctl_s cnf71xx;
1910};
1911
1912typedef union cvmx_gmxx_prtx_cbfc_ctl cvmx_gmxx_prtx_cbfc_ctl_t;
1913
1914
1915
1916
1917
1918
1919
1920union cvmx_gmxx_prtx_cfg {
1921 u64 u64;
1922 struct cvmx_gmxx_prtx_cfg_s {
1923 u64 reserved_22_63 : 42;
1924 u64 pknd : 6;
1925 u64 reserved_14_15 : 2;
1926 u64 tx_idle : 1;
1927 u64 rx_idle : 1;
1928 u64 reserved_9_11 : 3;
1929 u64 speed_msb : 1;
1930 u64 reserved_4_7 : 4;
1931 u64 slottime : 1;
1932 u64 duplex : 1;
1933 u64 speed : 1;
1934 u64 en : 1;
1935 } s;
1936 struct cvmx_gmxx_prtx_cfg_cn30xx {
1937 u64 reserved_4_63 : 60;
1938 u64 slottime : 1;
1939 u64 duplex : 1;
1940 u64 speed : 1;
1941 u64 en : 1;
1942 } cn30xx;
1943 struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
1944 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
1945 struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
1946 struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
1947 struct cvmx_gmxx_prtx_cfg_cn52xx {
1948 u64 reserved_14_63 : 50;
1949 u64 tx_idle : 1;
1950 u64 rx_idle : 1;
1951 u64 reserved_9_11 : 3;
1952 u64 speed_msb : 1;
1953 u64 reserved_4_7 : 4;
1954 u64 slottime : 1;
1955 u64 duplex : 1;
1956 u64 speed : 1;
1957 u64 en : 1;
1958 } cn52xx;
1959 struct cvmx_gmxx_prtx_cfg_cn52xx cn52xxp1;
1960 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xx;
1961 struct cvmx_gmxx_prtx_cfg_cn52xx cn56xxp1;
1962 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
1963 struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1;
1964 struct cvmx_gmxx_prtx_cfg_cn52xx cn61xx;
1965 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xx;
1966 struct cvmx_gmxx_prtx_cfg_cn52xx cn63xxp1;
1967 struct cvmx_gmxx_prtx_cfg_cn52xx cn66xx;
1968 struct cvmx_gmxx_prtx_cfg_s cn68xx;
1969 struct cvmx_gmxx_prtx_cfg_s cn68xxp1;
1970 struct cvmx_gmxx_prtx_cfg_cn52xx cn70xx;
1971 struct cvmx_gmxx_prtx_cfg_cn52xx cn70xxp1;
1972 struct cvmx_gmxx_prtx_cfg_cn52xx cnf71xx;
1973};
1974
1975typedef union cvmx_gmxx_prtx_cfg cvmx_gmxx_prtx_cfg_t;
1976
1977
1978
1979
1980union cvmx_gmxx_qsgmii_ctl {
1981 u64 u64;
1982 struct cvmx_gmxx_qsgmii_ctl_s {
1983 u64 reserved_1_63 : 63;
1984 u64 disparity : 1;
1985 } s;
1986 struct cvmx_gmxx_qsgmii_ctl_s cn70xx;
1987 struct cvmx_gmxx_qsgmii_ctl_s cn70xxp1;
1988};
1989
1990typedef union cvmx_gmxx_qsgmii_ctl cvmx_gmxx_qsgmii_ctl_t;
1991
1992
1993
1994
1995
1996
1997
1998union cvmx_gmxx_rxx_adr_cam0 {
1999 u64 u64;
2000 struct cvmx_gmxx_rxx_adr_cam0_s {
2001 u64 adr : 64;
2002 } s;
2003 struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
2004 struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
2005 struct cvmx_gmxx_rxx_adr_cam0_s cn38xx;
2006 struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2;
2007 struct cvmx_gmxx_rxx_adr_cam0_s cn50xx;
2008 struct cvmx_gmxx_rxx_adr_cam0_s cn52xx;
2009 struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1;
2010 struct cvmx_gmxx_rxx_adr_cam0_s cn56xx;
2011 struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
2012 struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
2013 struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1;
2014 struct cvmx_gmxx_rxx_adr_cam0_s cn61xx;
2015 struct cvmx_gmxx_rxx_adr_cam0_s cn63xx;
2016 struct cvmx_gmxx_rxx_adr_cam0_s cn63xxp1;
2017 struct cvmx_gmxx_rxx_adr_cam0_s cn66xx;
2018 struct cvmx_gmxx_rxx_adr_cam0_s cn68xx;
2019 struct cvmx_gmxx_rxx_adr_cam0_s cn68xxp1;
2020 struct cvmx_gmxx_rxx_adr_cam0_s cn70xx;
2021 struct cvmx_gmxx_rxx_adr_cam0_s cn70xxp1;
2022 struct cvmx_gmxx_rxx_adr_cam0_s cnf71xx;
2023};
2024
2025typedef union cvmx_gmxx_rxx_adr_cam0 cvmx_gmxx_rxx_adr_cam0_t;
2026
2027
2028
2029
2030
2031
2032
2033union cvmx_gmxx_rxx_adr_cam1 {
2034 u64 u64;
2035 struct cvmx_gmxx_rxx_adr_cam1_s {
2036 u64 adr : 64;
2037 } s;
2038 struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
2039 struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
2040 struct cvmx_gmxx_rxx_adr_cam1_s cn38xx;
2041 struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2;
2042 struct cvmx_gmxx_rxx_adr_cam1_s cn50xx;
2043 struct cvmx_gmxx_rxx_adr_cam1_s cn52xx;
2044 struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1;
2045 struct cvmx_gmxx_rxx_adr_cam1_s cn56xx;
2046 struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
2047 struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
2048 struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1;
2049 struct cvmx_gmxx_rxx_adr_cam1_s cn61xx;
2050 struct cvmx_gmxx_rxx_adr_cam1_s cn63xx;
2051 struct cvmx_gmxx_rxx_adr_cam1_s cn63xxp1;
2052 struct cvmx_gmxx_rxx_adr_cam1_s cn66xx;
2053 struct cvmx_gmxx_rxx_adr_cam1_s cn68xx;
2054 struct cvmx_gmxx_rxx_adr_cam1_s cn68xxp1;
2055 struct cvmx_gmxx_rxx_adr_cam1_s cn70xx;
2056 struct cvmx_gmxx_rxx_adr_cam1_s cn70xxp1;
2057 struct cvmx_gmxx_rxx_adr_cam1_s cnf71xx;
2058};
2059
2060typedef union cvmx_gmxx_rxx_adr_cam1 cvmx_gmxx_rxx_adr_cam1_t;
2061
2062
2063
2064
2065
2066
2067
2068union cvmx_gmxx_rxx_adr_cam2 {
2069 u64 u64;
2070 struct cvmx_gmxx_rxx_adr_cam2_s {
2071 u64 adr : 64;
2072 } s;
2073 struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
2074 struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
2075 struct cvmx_gmxx_rxx_adr_cam2_s cn38xx;
2076 struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2;
2077 struct cvmx_gmxx_rxx_adr_cam2_s cn50xx;
2078 struct cvmx_gmxx_rxx_adr_cam2_s cn52xx;
2079 struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1;
2080 struct cvmx_gmxx_rxx_adr_cam2_s cn56xx;
2081 struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
2082 struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
2083 struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1;
2084 struct cvmx_gmxx_rxx_adr_cam2_s cn61xx;
2085 struct cvmx_gmxx_rxx_adr_cam2_s cn63xx;
2086 struct cvmx_gmxx_rxx_adr_cam2_s cn63xxp1;
2087 struct cvmx_gmxx_rxx_adr_cam2_s cn66xx;
2088 struct cvmx_gmxx_rxx_adr_cam2_s cn68xx;
2089 struct cvmx_gmxx_rxx_adr_cam2_s cn68xxp1;
2090 struct cvmx_gmxx_rxx_adr_cam2_s cn70xx;
2091 struct cvmx_gmxx_rxx_adr_cam2_s cn70xxp1;
2092 struct cvmx_gmxx_rxx_adr_cam2_s cnf71xx;
2093};
2094
2095typedef union cvmx_gmxx_rxx_adr_cam2 cvmx_gmxx_rxx_adr_cam2_t;
2096
2097
2098
2099
2100
2101
2102
2103union cvmx_gmxx_rxx_adr_cam3 {
2104 u64 u64;
2105 struct cvmx_gmxx_rxx_adr_cam3_s {
2106 u64 adr : 64;
2107 } s;
2108 struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
2109 struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
2110 struct cvmx_gmxx_rxx_adr_cam3_s cn38xx;
2111 struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2;
2112 struct cvmx_gmxx_rxx_adr_cam3_s cn50xx;
2113 struct cvmx_gmxx_rxx_adr_cam3_s cn52xx;
2114 struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1;
2115 struct cvmx_gmxx_rxx_adr_cam3_s cn56xx;
2116 struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
2117 struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
2118 struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1;
2119 struct cvmx_gmxx_rxx_adr_cam3_s cn61xx;
2120 struct cvmx_gmxx_rxx_adr_cam3_s cn63xx;
2121 struct cvmx_gmxx_rxx_adr_cam3_s cn63xxp1;
2122 struct cvmx_gmxx_rxx_adr_cam3_s cn66xx;
2123 struct cvmx_gmxx_rxx_adr_cam3_s cn68xx;
2124 struct cvmx_gmxx_rxx_adr_cam3_s cn68xxp1;
2125 struct cvmx_gmxx_rxx_adr_cam3_s cn70xx;
2126 struct cvmx_gmxx_rxx_adr_cam3_s cn70xxp1;
2127 struct cvmx_gmxx_rxx_adr_cam3_s cnf71xx;
2128};
2129
2130typedef union cvmx_gmxx_rxx_adr_cam3 cvmx_gmxx_rxx_adr_cam3_t;
2131
2132
2133
2134
2135
2136
2137
2138union cvmx_gmxx_rxx_adr_cam4 {
2139 u64 u64;
2140 struct cvmx_gmxx_rxx_adr_cam4_s {
2141 u64 adr : 64;
2142 } s;
2143 struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
2144 struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
2145 struct cvmx_gmxx_rxx_adr_cam4_s cn38xx;
2146 struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2;
2147 struct cvmx_gmxx_rxx_adr_cam4_s cn50xx;
2148 struct cvmx_gmxx_rxx_adr_cam4_s cn52xx;
2149 struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1;
2150 struct cvmx_gmxx_rxx_adr_cam4_s cn56xx;
2151 struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
2152 struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
2153 struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1;
2154 struct cvmx_gmxx_rxx_adr_cam4_s cn61xx;
2155 struct cvmx_gmxx_rxx_adr_cam4_s cn63xx;
2156 struct cvmx_gmxx_rxx_adr_cam4_s cn63xxp1;
2157 struct cvmx_gmxx_rxx_adr_cam4_s cn66xx;
2158 struct cvmx_gmxx_rxx_adr_cam4_s cn68xx;
2159 struct cvmx_gmxx_rxx_adr_cam4_s cn68xxp1;
2160 struct cvmx_gmxx_rxx_adr_cam4_s cn70xx;
2161 struct cvmx_gmxx_rxx_adr_cam4_s cn70xxp1;
2162 struct cvmx_gmxx_rxx_adr_cam4_s cnf71xx;
2163};
2164
2165typedef union cvmx_gmxx_rxx_adr_cam4 cvmx_gmxx_rxx_adr_cam4_t;
2166
2167
2168
2169
2170
2171
2172
2173union cvmx_gmxx_rxx_adr_cam5 {
2174 u64 u64;
2175 struct cvmx_gmxx_rxx_adr_cam5_s {
2176 u64 adr : 64;
2177 } s;
2178 struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
2179 struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
2180 struct cvmx_gmxx_rxx_adr_cam5_s cn38xx;
2181 struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2;
2182 struct cvmx_gmxx_rxx_adr_cam5_s cn50xx;
2183 struct cvmx_gmxx_rxx_adr_cam5_s cn52xx;
2184 struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1;
2185 struct cvmx_gmxx_rxx_adr_cam5_s cn56xx;
2186 struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
2187 struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
2188 struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1;
2189 struct cvmx_gmxx_rxx_adr_cam5_s cn61xx;
2190 struct cvmx_gmxx_rxx_adr_cam5_s cn63xx;
2191 struct cvmx_gmxx_rxx_adr_cam5_s cn63xxp1;
2192 struct cvmx_gmxx_rxx_adr_cam5_s cn66xx;
2193 struct cvmx_gmxx_rxx_adr_cam5_s cn68xx;
2194 struct cvmx_gmxx_rxx_adr_cam5_s cn68xxp1;
2195 struct cvmx_gmxx_rxx_adr_cam5_s cn70xx;
2196 struct cvmx_gmxx_rxx_adr_cam5_s cn70xxp1;
2197 struct cvmx_gmxx_rxx_adr_cam5_s cnf71xx;
2198};
2199
2200typedef union cvmx_gmxx_rxx_adr_cam5 cvmx_gmxx_rxx_adr_cam5_t;
2201
2202
2203
2204
2205
2206
2207
2208union cvmx_gmxx_rxx_adr_cam_all_en {
2209 u64 u64;
2210 struct cvmx_gmxx_rxx_adr_cam_all_en_s {
2211 u64 reserved_32_63 : 32;
2212 u64 en : 32;
2213 } s;
2214 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn61xx;
2215 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn66xx;
2216 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn68xx;
2217 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn70xx;
2218 struct cvmx_gmxx_rxx_adr_cam_all_en_s cn70xxp1;
2219 struct cvmx_gmxx_rxx_adr_cam_all_en_s cnf71xx;
2220};
2221
2222typedef union cvmx_gmxx_rxx_adr_cam_all_en cvmx_gmxx_rxx_adr_cam_all_en_t;
2223
2224
2225
2226
2227
2228
2229
2230union cvmx_gmxx_rxx_adr_cam_en {
2231 u64 u64;
2232 struct cvmx_gmxx_rxx_adr_cam_en_s {
2233 u64 reserved_8_63 : 56;
2234 u64 en : 8;
2235 } s;
2236 struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
2237 struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
2238 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx;
2239 struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2;
2240 struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx;
2241 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx;
2242 struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1;
2243 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx;
2244 struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
2245 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
2246 struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1;
2247 struct cvmx_gmxx_rxx_adr_cam_en_s cn61xx;
2248 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xx;
2249 struct cvmx_gmxx_rxx_adr_cam_en_s cn63xxp1;
2250 struct cvmx_gmxx_rxx_adr_cam_en_s cn66xx;
2251 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xx;
2252 struct cvmx_gmxx_rxx_adr_cam_en_s cn68xxp1;
2253 struct cvmx_gmxx_rxx_adr_cam_en_s cn70xx;
2254 struct cvmx_gmxx_rxx_adr_cam_en_s cn70xxp1;
2255 struct cvmx_gmxx_rxx_adr_cam_en_s cnf71xx;
2256};
2257
2258typedef union cvmx_gmxx_rxx_adr_cam_en cvmx_gmxx_rxx_adr_cam_en_t;
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306union cvmx_gmxx_rxx_adr_ctl {
2307 u64 u64;
2308 struct cvmx_gmxx_rxx_adr_ctl_s {
2309 u64 reserved_4_63 : 60;
2310 u64 cam_mode : 1;
2311 u64 mcst : 2;
2312 u64 bcst : 1;
2313 } s;
2314 struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
2315 struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
2316 struct cvmx_gmxx_rxx_adr_ctl_s cn38xx;
2317 struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2;
2318 struct cvmx_gmxx_rxx_adr_ctl_s cn50xx;
2319 struct cvmx_gmxx_rxx_adr_ctl_s cn52xx;
2320 struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1;
2321 struct cvmx_gmxx_rxx_adr_ctl_s cn56xx;
2322 struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
2323 struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
2324 struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1;
2325 struct cvmx_gmxx_rxx_adr_ctl_s cn61xx;
2326 struct cvmx_gmxx_rxx_adr_ctl_s cn63xx;
2327 struct cvmx_gmxx_rxx_adr_ctl_s cn63xxp1;
2328 struct cvmx_gmxx_rxx_adr_ctl_s cn66xx;
2329 struct cvmx_gmxx_rxx_adr_ctl_s cn68xx;
2330 struct cvmx_gmxx_rxx_adr_ctl_s cn68xxp1;
2331 struct cvmx_gmxx_rxx_adr_ctl_s cn70xx;
2332 struct cvmx_gmxx_rxx_adr_ctl_s cn70xxp1;
2333 struct cvmx_gmxx_rxx_adr_ctl_s cnf71xx;
2334};
2335
2336typedef union cvmx_gmxx_rxx_adr_ctl cvmx_gmxx_rxx_adr_ctl_t;
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365union cvmx_gmxx_rxx_decision {
2366 u64 u64;
2367 struct cvmx_gmxx_rxx_decision_s {
2368 u64 reserved_5_63 : 59;
2369 u64 cnt : 5;
2370 } s;
2371 struct cvmx_gmxx_rxx_decision_s cn30xx;
2372 struct cvmx_gmxx_rxx_decision_s cn31xx;
2373 struct cvmx_gmxx_rxx_decision_s cn38xx;
2374 struct cvmx_gmxx_rxx_decision_s cn38xxp2;
2375 struct cvmx_gmxx_rxx_decision_s cn50xx;
2376 struct cvmx_gmxx_rxx_decision_s cn52xx;
2377 struct cvmx_gmxx_rxx_decision_s cn52xxp1;
2378 struct cvmx_gmxx_rxx_decision_s cn56xx;
2379 struct cvmx_gmxx_rxx_decision_s cn56xxp1;
2380 struct cvmx_gmxx_rxx_decision_s cn58xx;
2381 struct cvmx_gmxx_rxx_decision_s cn58xxp1;
2382 struct cvmx_gmxx_rxx_decision_s cn61xx;
2383 struct cvmx_gmxx_rxx_decision_s cn63xx;
2384 struct cvmx_gmxx_rxx_decision_s cn63xxp1;
2385 struct cvmx_gmxx_rxx_decision_s cn66xx;
2386 struct cvmx_gmxx_rxx_decision_s cn68xx;
2387 struct cvmx_gmxx_rxx_decision_s cn68xxp1;
2388 struct cvmx_gmxx_rxx_decision_s cn70xx;
2389 struct cvmx_gmxx_rxx_decision_s cn70xxp1;
2390 struct cvmx_gmxx_rxx_decision_s cnf71xx;
2391};
2392
2393typedef union cvmx_gmxx_rxx_decision cvmx_gmxx_rxx_decision_t;
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406union cvmx_gmxx_rxx_frm_chk {
2407 u64 u64;
2408 struct cvmx_gmxx_rxx_frm_chk_s {
2409 u64 reserved_10_63 : 54;
2410 u64 niberr : 1;
2411 u64 skperr : 1;
2412 u64 rcverr : 1;
2413 u64 lenerr : 1;
2414 u64 alnerr : 1;
2415 u64 fcserr : 1;
2416 u64 jabber : 1;
2417 u64 maxerr : 1;
2418 u64 carext : 1;
2419 u64 minerr : 1;
2420 } s;
2421 struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
2422 struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
2423 struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
2424 struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
2425 struct cvmx_gmxx_rxx_frm_chk_cn50xx {
2426 u64 reserved_10_63 : 54;
2427 u64 niberr : 1;
2428 u64 skperr : 1;
2429 u64 rcverr : 1;
2430 u64 reserved_6_6 : 1;
2431 u64 alnerr : 1;
2432 u64 fcserr : 1;
2433 u64 jabber : 1;
2434 u64 reserved_2_2 : 1;
2435 u64 carext : 1;
2436 u64 reserved_0_0 : 1;
2437 } cn50xx;
2438 struct cvmx_gmxx_rxx_frm_chk_cn52xx {
2439 u64 reserved_9_63 : 55;
2440 u64 skperr : 1;
2441 u64 rcverr : 1;
2442 u64 reserved_5_6 : 2;
2443 u64 fcserr : 1;
2444 u64 jabber : 1;
2445 u64 reserved_2_2 : 1;
2446 u64 carext : 1;
2447 u64 reserved_0_0 : 1;
2448 } cn52xx;
2449 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
2450 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
2451 struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
2452 struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
2453 struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1;
2454 struct cvmx_gmxx_rxx_frm_chk_cn61xx {
2455 u64 reserved_9_63 : 55;
2456 u64 skperr : 1;
2457 u64 rcverr : 1;
2458 u64 reserved_5_6 : 2;
2459 u64 fcserr : 1;
2460 u64 jabber : 1;
2461 u64 reserved_2_2 : 1;
2462 u64 carext : 1;
2463 u64 minerr : 1;
2464 } cn61xx;
2465 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xx;
2466 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xxp1;
2467 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn66xx;
2468 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xx;
2469 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xxp1;
2470 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn70xx;
2471 struct cvmx_gmxx_rxx_frm_chk_cn61xx cn70xxp1;
2472 struct cvmx_gmxx_rxx_frm_chk_cn61xx cnf71xx;
2473};
2474
2475typedef union cvmx_gmxx_rxx_frm_chk cvmx_gmxx_rxx_frm_chk_t;
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506union cvmx_gmxx_rxx_frm_ctl {
2507 u64 u64;
2508 struct cvmx_gmxx_rxx_frm_ctl_s {
2509 u64 reserved_13_63 : 51;
2510 u64 ptp_mode : 1;
2511 u64 reserved_11_11 : 1;
2512 u64 null_dis : 1;
2513 u64 pre_align : 1;
2514 u64 pad_len : 1;
2515 u64 vlan_len : 1;
2516 u64 pre_free : 1;
2517 u64 ctl_smac : 1;
2518 u64 ctl_mcst : 1;
2519 u64 ctl_bck : 1;
2520 u64 ctl_drp : 1;
2521 u64 pre_strp : 1;
2522 u64 pre_chk : 1;
2523 } s;
2524 struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
2525 u64 reserved_9_63 : 55;
2526 u64 pad_len : 1;
2527 u64 vlan_len : 1;
2528 u64 pre_free : 1;
2529 u64 ctl_smac : 1;
2530 u64 ctl_mcst : 1;
2531 u64 ctl_bck : 1;
2532 u64 ctl_drp : 1;
2533 u64 pre_strp : 1;
2534 u64 pre_chk : 1;
2535 } cn30xx;
2536 struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
2537 u64 reserved_8_63 : 56;
2538 u64 vlan_len : 1;
2539 u64 pre_free : 1;
2540 u64 ctl_smac : 1;
2541 u64 ctl_mcst : 1;
2542 u64 ctl_bck : 1;
2543 u64 ctl_drp : 1;
2544 u64 pre_strp : 1;
2545 u64 pre_chk : 1;
2546 } cn31xx;
2547 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
2548 struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
2549 struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
2550 u64 reserved_11_63 : 53;
2551 u64 null_dis : 1;
2552 u64 pre_align : 1;
2553 u64 reserved_7_8 : 2;
2554 u64 pre_free : 1;
2555 u64 ctl_smac : 1;
2556 u64 ctl_mcst : 1;
2557 u64 ctl_bck : 1;
2558 u64 ctl_drp : 1;
2559 u64 pre_strp : 1;
2560 u64 pre_chk : 1;
2561 } cn50xx;
2562 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
2563 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
2564 struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
2565 struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
2566 u64 reserved_10_63 : 54;
2567 u64 pre_align : 1;
2568 u64 reserved_7_8 : 2;
2569 u64 pre_free : 1;
2570 u64 ctl_smac : 1;
2571 u64 ctl_mcst : 1;
2572 u64 ctl_bck : 1;
2573 u64 ctl_drp : 1;
2574 u64 pre_strp : 1;
2575 u64 pre_chk : 1;
2576 } cn56xxp1;
2577 struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
2578 u64 reserved_11_63 : 53;
2579 u64 null_dis : 1;
2580 u64 pre_align : 1;
2581 u64 pad_len : 1;
2582 u64 vlan_len : 1;
2583 u64 pre_free : 1;
2584 u64 ctl_smac : 1;
2585 u64 ctl_mcst : 1;
2586 u64 ctl_bck : 1;
2587 u64 ctl_drp : 1;
2588 u64 pre_strp : 1;
2589 u64 pre_chk : 1;
2590 } cn58xx;
2591 struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1;
2592 struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
2593 u64 reserved_13_63 : 51;
2594 u64 ptp_mode : 1;
2595 u64 reserved_11_11 : 1;
2596 u64 null_dis : 1;
2597 u64 pre_align : 1;
2598 u64 reserved_7_8 : 2;
2599 u64 pre_free : 1;
2600 u64 ctl_smac : 1;
2601 u64 ctl_mcst : 1;
2602 u64 ctl_bck : 1;
2603 u64 ctl_drp : 1;
2604 u64 pre_strp : 1;
2605 u64 pre_chk : 1;
2606 } cn61xx;
2607 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xx;
2608 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xxp1;
2609 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn66xx;
2610 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xx;
2611 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xxp1;
2612 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn70xx;
2613 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn70xxp1;
2614 struct cvmx_gmxx_rxx_frm_ctl_cn61xx cnf71xx;
2615};
2616
2617typedef union cvmx_gmxx_rxx_frm_ctl cvmx_gmxx_rxx_frm_ctl_t;
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633union cvmx_gmxx_rxx_frm_max {
2634 u64 u64;
2635 struct cvmx_gmxx_rxx_frm_max_s {
2636 u64 reserved_16_63 : 48;
2637 u64 len : 16;
2638 } s;
2639 struct cvmx_gmxx_rxx_frm_max_s cn30xx;
2640 struct cvmx_gmxx_rxx_frm_max_s cn31xx;
2641 struct cvmx_gmxx_rxx_frm_max_s cn38xx;
2642 struct cvmx_gmxx_rxx_frm_max_s cn38xxp2;
2643 struct cvmx_gmxx_rxx_frm_max_s cn58xx;
2644 struct cvmx_gmxx_rxx_frm_max_s cn58xxp1;
2645};
2646
2647typedef union cvmx_gmxx_rxx_frm_max cvmx_gmxx_rxx_frm_max_t;
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659union cvmx_gmxx_rxx_frm_min {
2660 u64 u64;
2661 struct cvmx_gmxx_rxx_frm_min_s {
2662 u64 reserved_16_63 : 48;
2663 u64 len : 16;
2664 } s;
2665 struct cvmx_gmxx_rxx_frm_min_s cn30xx;
2666 struct cvmx_gmxx_rxx_frm_min_s cn31xx;
2667 struct cvmx_gmxx_rxx_frm_min_s cn38xx;
2668 struct cvmx_gmxx_rxx_frm_min_s cn38xxp2;
2669 struct cvmx_gmxx_rxx_frm_min_s cn58xx;
2670 struct cvmx_gmxx_rxx_frm_min_s cn58xxp1;
2671};
2672
2673typedef union cvmx_gmxx_rxx_frm_min cvmx_gmxx_rxx_frm_min_t;
2674
2675
2676
2677
2678
2679
2680
2681union cvmx_gmxx_rxx_ifg {
2682 u64 u64;
2683 struct cvmx_gmxx_rxx_ifg_s {
2684 u64 reserved_4_63 : 60;
2685 u64 ifg : 4;
2686 } s;
2687 struct cvmx_gmxx_rxx_ifg_s cn30xx;
2688 struct cvmx_gmxx_rxx_ifg_s cn31xx;
2689 struct cvmx_gmxx_rxx_ifg_s cn38xx;
2690 struct cvmx_gmxx_rxx_ifg_s cn38xxp2;
2691 struct cvmx_gmxx_rxx_ifg_s cn50xx;
2692 struct cvmx_gmxx_rxx_ifg_s cn52xx;
2693 struct cvmx_gmxx_rxx_ifg_s cn52xxp1;
2694 struct cvmx_gmxx_rxx_ifg_s cn56xx;
2695 struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
2696 struct cvmx_gmxx_rxx_ifg_s cn58xx;
2697 struct cvmx_gmxx_rxx_ifg_s cn58xxp1;
2698 struct cvmx_gmxx_rxx_ifg_s cn61xx;
2699 struct cvmx_gmxx_rxx_ifg_s cn63xx;
2700 struct cvmx_gmxx_rxx_ifg_s cn63xxp1;
2701 struct cvmx_gmxx_rxx_ifg_s cn66xx;
2702 struct cvmx_gmxx_rxx_ifg_s cn68xx;
2703 struct cvmx_gmxx_rxx_ifg_s cn68xxp1;
2704 struct cvmx_gmxx_rxx_ifg_s cn70xx;
2705 struct cvmx_gmxx_rxx_ifg_s cn70xxp1;
2706 struct cvmx_gmxx_rxx_ifg_s cnf71xx;
2707};
2708
2709typedef union cvmx_gmxx_rxx_ifg cvmx_gmxx_rxx_ifg_t;
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721union cvmx_gmxx_rxx_int_en {
2722 u64 u64;
2723 struct cvmx_gmxx_rxx_int_en_s {
2724 u64 reserved_30_63 : 34;
2725 u64 wol : 1;
2726 u64 hg2cc : 1;
2727 u64 hg2fld : 1;
2728 u64 undat : 1;
2729 u64 uneop : 1;
2730 u64 unsop : 1;
2731 u64 bad_term : 1;
2732 u64 bad_seq : 1;
2733 u64 rem_fault : 1;
2734 u64 loc_fault : 1;
2735 u64 pause_drp : 1;
2736 u64 phy_dupx : 1;
2737 u64 phy_spd : 1;
2738 u64 phy_link : 1;
2739 u64 ifgerr : 1;
2740 u64 coldet : 1;
2741 u64 falerr : 1;
2742 u64 rsverr : 1;
2743 u64 pcterr : 1;
2744 u64 ovrerr : 1;
2745 u64 niberr : 1;
2746 u64 skperr : 1;
2747 u64 rcverr : 1;
2748 u64 lenerr : 1;
2749 u64 alnerr : 1;
2750 u64 fcserr : 1;
2751 u64 jabber : 1;
2752 u64 maxerr : 1;
2753 u64 carext : 1;
2754 u64 minerr : 1;
2755 } s;
2756 struct cvmx_gmxx_rxx_int_en_cn30xx {
2757 u64 reserved_19_63 : 45;
2758 u64 phy_dupx : 1;
2759 u64 phy_spd : 1;
2760 u64 phy_link : 1;
2761 u64 ifgerr : 1;
2762 u64 coldet : 1;
2763 u64 falerr : 1;
2764 u64 rsverr : 1;
2765 u64 pcterr : 1;
2766 u64 ovrerr : 1;
2767 u64 niberr : 1;
2768 u64 skperr : 1;
2769 u64 rcverr : 1;
2770 u64 lenerr : 1;
2771 u64 alnerr : 1;
2772 u64 fcserr : 1;
2773 u64 jabber : 1;
2774 u64 maxerr : 1;
2775 u64 carext : 1;
2776 u64 minerr : 1;
2777 } cn30xx;
2778 struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
2779 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
2780 struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
2781 struct cvmx_gmxx_rxx_int_en_cn50xx {
2782 u64 reserved_20_63 : 44;
2783 u64 pause_drp : 1;
2784 u64 phy_dupx : 1;
2785 u64 phy_spd : 1;
2786 u64 phy_link : 1;
2787 u64 ifgerr : 1;
2788 u64 coldet : 1;
2789 u64 falerr : 1;
2790 u64 rsverr : 1;
2791 u64 pcterr : 1;
2792 u64 ovrerr : 1;
2793 u64 niberr : 1;
2794 u64 skperr : 1;
2795 u64 rcverr : 1;
2796 u64 reserved_6_6 : 1;
2797 u64 alnerr : 1;
2798 u64 fcserr : 1;
2799 u64 jabber : 1;
2800 u64 reserved_2_2 : 1;
2801 u64 carext : 1;
2802 u64 reserved_0_0 : 1;
2803 } cn50xx;
2804 struct cvmx_gmxx_rxx_int_en_cn52xx {
2805 u64 reserved_29_63 : 35;
2806 u64 hg2cc : 1;
2807 u64 hg2fld : 1;
2808 u64 undat : 1;
2809 u64 uneop : 1;
2810 u64 unsop : 1;
2811 u64 bad_term : 1;
2812 u64 bad_seq : 1;
2813 u64 rem_fault : 1;
2814 u64 loc_fault : 1;
2815 u64 pause_drp : 1;
2816 u64 reserved_16_18 : 3;
2817 u64 ifgerr : 1;
2818 u64 coldet : 1;
2819 u64 falerr : 1;
2820 u64 rsverr : 1;
2821 u64 pcterr : 1;
2822 u64 ovrerr : 1;
2823 u64 reserved_9_9 : 1;
2824 u64 skperr : 1;
2825 u64 rcverr : 1;
2826 u64 reserved_5_6 : 2;
2827 u64 fcserr : 1;
2828 u64 jabber : 1;
2829 u64 reserved_2_2 : 1;
2830 u64 carext : 1;
2831 u64 reserved_0_0 : 1;
2832 } cn52xx;
2833 struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
2834 struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
2835 struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
2836 u64 reserved_27_63 : 37;
2837 u64 undat : 1;
2838 u64 uneop : 1;
2839 u64 unsop : 1;
2840 u64 bad_term : 1;
2841 u64 bad_seq : 1;
2842 u64 rem_fault : 1;
2843 u64 loc_fault : 1;
2844 u64 pause_drp : 1;
2845 u64 reserved_16_18 : 3;
2846 u64 ifgerr : 1;
2847 u64 coldet : 1;
2848 u64 falerr : 1;
2849 u64 rsverr : 1;
2850 u64 pcterr : 1;
2851 u64 ovrerr : 1;
2852 u64 reserved_9_9 : 1;
2853 u64 skperr : 1;
2854 u64 rcverr : 1;
2855 u64 reserved_5_6 : 2;
2856 u64 fcserr : 1;
2857 u64 jabber : 1;
2858 u64 reserved_2_2 : 1;
2859 u64 carext : 1;
2860 u64 reserved_0_0 : 1;
2861 } cn56xxp1;
2862 struct cvmx_gmxx_rxx_int_en_cn58xx {
2863 u64 reserved_20_63 : 44;
2864 u64 pause_drp : 1;
2865 u64 phy_dupx : 1;
2866 u64 phy_spd : 1;
2867 u64 phy_link : 1;
2868 u64 ifgerr : 1;
2869 u64 coldet : 1;
2870 u64 falerr : 1;
2871 u64 rsverr : 1;
2872 u64 pcterr : 1;
2873 u64 ovrerr : 1;
2874 u64 niberr : 1;
2875 u64 skperr : 1;
2876 u64 rcverr : 1;
2877 u64 lenerr : 1;
2878 u64 alnerr : 1;
2879 u64 fcserr : 1;
2880 u64 jabber : 1;
2881 u64 maxerr : 1;
2882 u64 carext : 1;
2883 u64 minerr : 1;
2884 } cn58xx;
2885 struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1;
2886 struct cvmx_gmxx_rxx_int_en_cn61xx {
2887 u64 reserved_29_63 : 35;
2888 u64 hg2cc : 1;
2889 u64 hg2fld : 1;
2890 u64 undat : 1;
2891 u64 uneop : 1;
2892 u64 unsop : 1;
2893 u64 bad_term : 1;
2894 u64 bad_seq : 1;
2895 u64 rem_fault : 1;
2896 u64 loc_fault : 1;
2897 u64 pause_drp : 1;
2898 u64 reserved_16_18 : 3;
2899 u64 ifgerr : 1;
2900 u64 coldet : 1;
2901 u64 falerr : 1;
2902 u64 rsverr : 1;
2903 u64 pcterr : 1;
2904 u64 ovrerr : 1;
2905 u64 reserved_9_9 : 1;
2906 u64 skperr : 1;
2907 u64 rcverr : 1;
2908 u64 reserved_5_6 : 2;
2909 u64 fcserr : 1;
2910 u64 jabber : 1;
2911 u64 reserved_2_2 : 1;
2912 u64 carext : 1;
2913 u64 minerr : 1;
2914 } cn61xx;
2915 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xx;
2916 struct cvmx_gmxx_rxx_int_en_cn61xx cn63xxp1;
2917 struct cvmx_gmxx_rxx_int_en_cn61xx cn66xx;
2918 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xx;
2919 struct cvmx_gmxx_rxx_int_en_cn61xx cn68xxp1;
2920 struct cvmx_gmxx_rxx_int_en_cn70xx {
2921 u64 reserved_30_63 : 34;
2922 u64 wol : 1;
2923 u64 hg2cc : 1;
2924 u64 hg2fld : 1;
2925 u64 undat : 1;
2926 u64 uneop : 1;
2927 u64 unsop : 1;
2928 u64 bad_term : 1;
2929 u64 bad_seq : 1;
2930 u64 rem_fault : 1;
2931 u64 loc_fault : 1;
2932 u64 pause_drp : 1;
2933 u64 reserved_16_18 : 3;
2934 u64 ifgerr : 1;
2935 u64 coldet : 1;
2936 u64 falerr : 1;
2937 u64 rsverr : 1;
2938 u64 pcterr : 1;
2939 u64 ovrerr : 1;
2940 u64 reserved_9_9 : 1;
2941 u64 skperr : 1;
2942 u64 rcverr : 1;
2943 u64 reserved_5_6 : 2;
2944 u64 fcserr : 1;
2945 u64 jabber : 1;
2946 u64 reserved_2_2 : 1;
2947 u64 carext : 1;
2948 u64 minerr : 1;
2949 } cn70xx;
2950 struct cvmx_gmxx_rxx_int_en_cn70xx cn70xxp1;
2951 struct cvmx_gmxx_rxx_int_en_cn61xx cnf71xx;
2952};
2953
2954typedef union cvmx_gmxx_rxx_int_en cvmx_gmxx_rxx_int_en_t;
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027union cvmx_gmxx_rxx_int_reg {
3028 u64 u64;
3029 struct cvmx_gmxx_rxx_int_reg_s {
3030 u64 reserved_30_63 : 34;
3031 u64 wol : 1;
3032 u64 hg2cc : 1;
3033 u64 hg2fld : 1;
3034 u64 undat : 1;
3035 u64 uneop : 1;
3036 u64 unsop : 1;
3037 u64 bad_term : 1;
3038 u64 bad_seq : 1;
3039 u64 rem_fault : 1;
3040 u64 loc_fault : 1;
3041 u64 pause_drp : 1;
3042 u64 phy_dupx : 1;
3043 u64 phy_spd : 1;
3044 u64 phy_link : 1;
3045 u64 ifgerr : 1;
3046 u64 coldet : 1;
3047 u64 falerr : 1;
3048 u64 rsverr : 1;
3049 u64 pcterr : 1;
3050 u64 ovrerr : 1;
3051 u64 niberr : 1;
3052 u64 skperr : 1;
3053 u64 rcverr : 1;
3054 u64 lenerr : 1;
3055 u64 alnerr : 1;
3056 u64 fcserr : 1;
3057 u64 jabber : 1;
3058 u64 maxerr : 1;
3059 u64 carext : 1;
3060 u64 minerr : 1;
3061 } s;
3062 struct cvmx_gmxx_rxx_int_reg_cn30xx {
3063 u64 reserved_19_63 : 45;
3064 u64 phy_dupx : 1;
3065 u64 phy_spd : 1;
3066 u64 phy_link : 1;
3067 u64 ifgerr : 1;
3068 u64 coldet : 1;
3069 u64 falerr : 1;
3070 u64 rsverr : 1;
3071 u64 pcterr : 1;
3072 u64 ovrerr : 1;
3073 u64 niberr : 1;
3074 u64 skperr : 1;
3075 u64 rcverr : 1;
3076 u64 lenerr : 1;
3077 u64 alnerr : 1;
3078 u64 fcserr : 1;
3079 u64 jabber : 1;
3080 u64 maxerr : 1;
3081 u64 carext : 1;
3082 u64 minerr : 1;
3083 } cn30xx;
3084 struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
3085 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
3086 struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
3087 struct cvmx_gmxx_rxx_int_reg_cn50xx {
3088 u64 reserved_20_63 : 44;
3089 u64 pause_drp : 1;
3090 u64 phy_dupx : 1;
3091 u64 phy_spd : 1;
3092 u64 phy_link : 1;
3093 u64 ifgerr : 1;
3094 u64 coldet : 1;
3095 u64 falerr : 1;
3096 u64 rsverr : 1;
3097 u64 pcterr : 1;
3098 u64 ovrerr : 1;
3099 u64 niberr : 1;
3100 u64 skperr : 1;
3101 u64 rcverr : 1;
3102 u64 reserved_6_6 : 1;
3103 u64 alnerr : 1;
3104 u64 fcserr : 1;
3105 u64 jabber : 1;
3106 u64 reserved_2_2 : 1;
3107 u64 carext : 1;
3108 u64 reserved_0_0 : 1;
3109 } cn50xx;
3110 struct cvmx_gmxx_rxx_int_reg_cn52xx {
3111 u64 reserved_29_63 : 35;
3112 u64 hg2cc : 1;
3113 u64 hg2fld : 1;
3114 u64 undat : 1;
3115 u64 uneop : 1;
3116 u64 unsop : 1;
3117 u64 bad_term : 1;
3118 u64 bad_seq : 1;
3119 u64 rem_fault : 1;
3120 u64 loc_fault : 1;
3121 u64 pause_drp : 1;
3122 u64 reserved_16_18 : 3;
3123 u64 ifgerr : 1;
3124 u64 coldet : 1;
3125 u64 falerr : 1;
3126 u64 rsverr : 1;
3127 u64 pcterr : 1;
3128 u64 ovrerr : 1;
3129 u64 reserved_9_9 : 1;
3130 u64 skperr : 1;
3131 u64 rcverr : 1;
3132 u64 reserved_5_6 : 2;
3133 u64 fcserr : 1;
3134 u64 jabber : 1;
3135 u64 reserved_2_2 : 1;
3136 u64 carext : 1;
3137 u64 reserved_0_0 : 1;
3138 } cn52xx;
3139 struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
3140 struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
3141 struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
3142 u64 reserved_27_63 : 37;
3143 u64 undat : 1;
3144 u64 uneop : 1;
3145 u64 unsop : 1;
3146 u64 bad_term : 1;
3147 u64 bad_seq : 1;
3148 u64 rem_fault : 1;
3149 u64 loc_fault : 1;
3150 u64 pause_drp : 1;
3151 u64 reserved_16_18 : 3;
3152 u64 ifgerr : 1;
3153 u64 coldet : 1;
3154 u64 falerr : 1;
3155 u64 rsverr : 1;
3156 u64 pcterr : 1;
3157 u64 ovrerr : 1;
3158 u64 reserved_9_9 : 1;
3159 u64 skperr : 1;
3160 u64 rcverr : 1;
3161 u64 reserved_5_6 : 2;
3162 u64 fcserr : 1;
3163 u64 jabber : 1;
3164 u64 reserved_2_2 : 1;
3165 u64 carext : 1;
3166 u64 reserved_0_0 : 1;
3167 } cn56xxp1;
3168 struct cvmx_gmxx_rxx_int_reg_cn58xx {
3169 u64 reserved_20_63 : 44;
3170 u64 pause_drp : 1;
3171 u64 phy_dupx : 1;
3172 u64 phy_spd : 1;
3173 u64 phy_link : 1;
3174 u64 ifgerr : 1;
3175 u64 coldet : 1;
3176 u64 falerr : 1;
3177 u64 rsverr : 1;
3178 u64 pcterr : 1;
3179 u64 ovrerr : 1;
3180 u64 niberr : 1;
3181 u64 skperr : 1;
3182 u64 rcverr : 1;
3183 u64 lenerr : 1;
3184 u64 alnerr : 1;
3185 u64 fcserr : 1;
3186 u64 jabber : 1;
3187 u64 maxerr : 1;
3188 u64 carext : 1;
3189 u64 minerr : 1;
3190 } cn58xx;
3191 struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1;
3192 struct cvmx_gmxx_rxx_int_reg_cn61xx {
3193 u64 reserved_29_63 : 35;
3194 u64 hg2cc : 1;
3195 u64 hg2fld : 1;
3196 u64 undat : 1;
3197 u64 uneop : 1;
3198 u64 unsop : 1;
3199 u64 bad_term : 1;
3200 u64 bad_seq : 1;
3201 u64 rem_fault : 1;
3202 u64 loc_fault : 1;
3203 u64 pause_drp : 1;
3204 u64 reserved_16_18 : 3;
3205 u64 ifgerr : 1;
3206 u64 coldet : 1;
3207 u64 falerr : 1;
3208 u64 rsverr : 1;
3209 u64 pcterr : 1;
3210 u64 ovrerr : 1;
3211 u64 reserved_9_9 : 1;
3212 u64 skperr : 1;
3213 u64 rcverr : 1;
3214 u64 reserved_5_6 : 2;
3215 u64 fcserr : 1;
3216 u64 jabber : 1;
3217 u64 reserved_2_2 : 1;
3218 u64 carext : 1;
3219 u64 minerr : 1;
3220 } cn61xx;
3221 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xx;
3222 struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xxp1;
3223 struct cvmx_gmxx_rxx_int_reg_cn61xx cn66xx;
3224 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xx;
3225 struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xxp1;
3226 struct cvmx_gmxx_rxx_int_reg_cn70xx {
3227 u64 reserved_30_63 : 34;
3228 u64 wol : 1;
3229 u64 hg2cc : 1;
3230 u64 hg2fld : 1;
3231 u64 undat : 1;
3232 u64 uneop : 1;
3233 u64 unsop : 1;
3234 u64 bad_term : 1;
3235 u64 bad_seq : 1;
3236 u64 rem_fault : 1;
3237 u64 loc_fault : 1;
3238 u64 pause_drp : 1;
3239 u64 reserved_16_18 : 3;
3240 u64 ifgerr : 1;
3241 u64 coldet : 1;
3242 u64 falerr : 1;
3243 u64 rsverr : 1;
3244 u64 pcterr : 1;
3245 u64 ovrerr : 1;
3246 u64 reserved_9_9 : 1;
3247 u64 skperr : 1;
3248 u64 rcverr : 1;
3249 u64 reserved_5_6 : 2;
3250 u64 fcserr : 1;
3251 u64 jabber : 1;
3252 u64 reserved_2_2 : 1;
3253 u64 carext : 1;
3254 u64 minerr : 1;
3255 } cn70xx;
3256 struct cvmx_gmxx_rxx_int_reg_cn70xx cn70xxp1;
3257 struct cvmx_gmxx_rxx_int_reg_cn61xx cnf71xx;
3258};
3259
3260typedef union cvmx_gmxx_rxx_int_reg cvmx_gmxx_rxx_int_reg_t;
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280union cvmx_gmxx_rxx_jabber {
3281 u64 u64;
3282 struct cvmx_gmxx_rxx_jabber_s {
3283 u64 reserved_16_63 : 48;
3284 u64 cnt : 16;
3285 } s;
3286 struct cvmx_gmxx_rxx_jabber_s cn30xx;
3287 struct cvmx_gmxx_rxx_jabber_s cn31xx;
3288 struct cvmx_gmxx_rxx_jabber_s cn38xx;
3289 struct cvmx_gmxx_rxx_jabber_s cn38xxp2;
3290 struct cvmx_gmxx_rxx_jabber_s cn50xx;
3291 struct cvmx_gmxx_rxx_jabber_s cn52xx;
3292 struct cvmx_gmxx_rxx_jabber_s cn52xxp1;
3293 struct cvmx_gmxx_rxx_jabber_s cn56xx;
3294 struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
3295 struct cvmx_gmxx_rxx_jabber_s cn58xx;
3296 struct cvmx_gmxx_rxx_jabber_s cn58xxp1;
3297 struct cvmx_gmxx_rxx_jabber_s cn61xx;
3298 struct cvmx_gmxx_rxx_jabber_s cn63xx;
3299 struct cvmx_gmxx_rxx_jabber_s cn63xxp1;
3300 struct cvmx_gmxx_rxx_jabber_s cn66xx;
3301 struct cvmx_gmxx_rxx_jabber_s cn68xx;
3302 struct cvmx_gmxx_rxx_jabber_s cn68xxp1;
3303 struct cvmx_gmxx_rxx_jabber_s cn70xx;
3304 struct cvmx_gmxx_rxx_jabber_s cn70xxp1;
3305 struct cvmx_gmxx_rxx_jabber_s cnf71xx;
3306};
3307
3308typedef union cvmx_gmxx_rxx_jabber cvmx_gmxx_rxx_jabber_t;
3309
3310
3311
3312
3313
3314
3315
3316union cvmx_gmxx_rxx_pause_drop_time {
3317 u64 u64;
3318 struct cvmx_gmxx_rxx_pause_drop_time_s {
3319 u64 reserved_16_63 : 48;
3320 u64 status : 16;
3321 } s;
3322 struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
3323 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
3324 struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1;
3325 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx;
3326 struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
3327 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
3328 struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1;
3329 struct cvmx_gmxx_rxx_pause_drop_time_s cn61xx;
3330 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xx;
3331 struct cvmx_gmxx_rxx_pause_drop_time_s cn63xxp1;
3332 struct cvmx_gmxx_rxx_pause_drop_time_s cn66xx;
3333 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xx;
3334 struct cvmx_gmxx_rxx_pause_drop_time_s cn68xxp1;
3335 struct cvmx_gmxx_rxx_pause_drop_time_s cn70xx;
3336 struct cvmx_gmxx_rxx_pause_drop_time_s cn70xxp1;
3337 struct cvmx_gmxx_rxx_pause_drop_time_s cnf71xx;
3338};
3339
3340typedef union cvmx_gmxx_rxx_pause_drop_time cvmx_gmxx_rxx_pause_drop_time_t;
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353union cvmx_gmxx_rxx_rx_inbnd {
3354 u64 u64;
3355 struct cvmx_gmxx_rxx_rx_inbnd_s {
3356 u64 reserved_4_63 : 60;
3357 u64 duplex : 1;
3358 u64 speed : 2;
3359 u64 status : 1;
3360 } s;
3361 struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
3362 struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
3363 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx;
3364 struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2;
3365 struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx;
3366 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx;
3367 struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1;
3368};
3369
3370typedef union cvmx_gmxx_rxx_rx_inbnd cvmx_gmxx_rxx_rx_inbnd_t;
3371
3372
3373
3374
3375
3376
3377
3378union cvmx_gmxx_rxx_stats_ctl {
3379 u64 u64;
3380 struct cvmx_gmxx_rxx_stats_ctl_s {
3381 u64 reserved_1_63 : 63;
3382 u64 rd_clr : 1;
3383 } s;
3384 struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
3385 struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
3386 struct cvmx_gmxx_rxx_stats_ctl_s cn38xx;
3387 struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2;
3388 struct cvmx_gmxx_rxx_stats_ctl_s cn50xx;
3389 struct cvmx_gmxx_rxx_stats_ctl_s cn52xx;
3390 struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1;
3391 struct cvmx_gmxx_rxx_stats_ctl_s cn56xx;
3392 struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
3393 struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
3394 struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1;
3395 struct cvmx_gmxx_rxx_stats_ctl_s cn61xx;
3396 struct cvmx_gmxx_rxx_stats_ctl_s cn63xx;
3397 struct cvmx_gmxx_rxx_stats_ctl_s cn63xxp1;
3398 struct cvmx_gmxx_rxx_stats_ctl_s cn66xx;
3399 struct cvmx_gmxx_rxx_stats_ctl_s cn68xx;
3400 struct cvmx_gmxx_rxx_stats_ctl_s cn68xxp1;
3401 struct cvmx_gmxx_rxx_stats_ctl_s cn70xx;
3402 struct cvmx_gmxx_rxx_stats_ctl_s cn70xxp1;
3403 struct cvmx_gmxx_rxx_stats_ctl_s cnf71xx;
3404};
3405
3406typedef union cvmx_gmxx_rxx_stats_ctl cvmx_gmxx_rxx_stats_ctl_t;
3407
3408
3409
3410
3411
3412
3413
3414
3415union cvmx_gmxx_rxx_stats_octs {
3416 u64 u64;
3417 struct cvmx_gmxx_rxx_stats_octs_s {
3418 u64 reserved_48_63 : 16;
3419 u64 cnt : 48;
3420 } s;
3421 struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
3422 struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
3423 struct cvmx_gmxx_rxx_stats_octs_s cn38xx;
3424 struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2;
3425 struct cvmx_gmxx_rxx_stats_octs_s cn50xx;
3426 struct cvmx_gmxx_rxx_stats_octs_s cn52xx;
3427 struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1;
3428 struct cvmx_gmxx_rxx_stats_octs_s cn56xx;
3429 struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
3430 struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
3431 struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1;
3432 struct cvmx_gmxx_rxx_stats_octs_s cn61xx;
3433 struct cvmx_gmxx_rxx_stats_octs_s cn63xx;
3434 struct cvmx_gmxx_rxx_stats_octs_s cn63xxp1;
3435 struct cvmx_gmxx_rxx_stats_octs_s cn66xx;
3436 struct cvmx_gmxx_rxx_stats_octs_s cn68xx;
3437 struct cvmx_gmxx_rxx_stats_octs_s cn68xxp1;
3438 struct cvmx_gmxx_rxx_stats_octs_s cn70xx;
3439 struct cvmx_gmxx_rxx_stats_octs_s cn70xxp1;
3440 struct cvmx_gmxx_rxx_stats_octs_s cnf71xx;
3441};
3442
3443typedef union cvmx_gmxx_rxx_stats_octs cvmx_gmxx_rxx_stats_octs_t;
3444
3445
3446
3447
3448
3449
3450
3451
3452union cvmx_gmxx_rxx_stats_octs_ctl {
3453 u64 u64;
3454 struct cvmx_gmxx_rxx_stats_octs_ctl_s {
3455 u64 reserved_48_63 : 16;
3456 u64 cnt : 48;
3457 } s;
3458 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
3459 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
3460 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx;
3461 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2;
3462 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx;
3463 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx;
3464 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1;
3465 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx;
3466 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
3467 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
3468 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1;
3469 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn61xx;
3470 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xx;
3471 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xxp1;
3472 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn66xx;
3473 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xx;
3474 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xxp1;
3475 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn70xx;
3476 struct cvmx_gmxx_rxx_stats_octs_ctl_s cn70xxp1;
3477 struct cvmx_gmxx_rxx_stats_octs_ctl_s cnf71xx;
3478};
3479
3480typedef union cvmx_gmxx_rxx_stats_octs_ctl cvmx_gmxx_rxx_stats_octs_ctl_t;
3481
3482
3483
3484
3485
3486
3487
3488
3489union cvmx_gmxx_rxx_stats_octs_dmac {
3490 u64 u64;
3491 struct cvmx_gmxx_rxx_stats_octs_dmac_s {
3492 u64 reserved_48_63 : 16;
3493 u64 cnt : 48;
3494 } s;
3495 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
3496 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
3497 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx;
3498 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2;
3499 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx;
3500 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx;
3501 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1;
3502 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx;
3503 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
3504 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
3505 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1;
3506 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn61xx;
3507 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xx;
3508 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xxp1;
3509 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn66xx;
3510 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xx;
3511 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xxp1;
3512 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn70xx;
3513 struct cvmx_gmxx_rxx_stats_octs_dmac_s cn70xxp1;
3514 struct cvmx_gmxx_rxx_stats_octs_dmac_s cnf71xx;
3515};
3516
3517typedef union cvmx_gmxx_rxx_stats_octs_dmac cvmx_gmxx_rxx_stats_octs_dmac_t;
3518
3519
3520
3521
3522
3523
3524
3525
3526union cvmx_gmxx_rxx_stats_octs_drp {
3527 u64 u64;
3528 struct cvmx_gmxx_rxx_stats_octs_drp_s {
3529 u64 reserved_48_63 : 16;
3530 u64 cnt : 48;
3531 } s;
3532 struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
3533 struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
3534 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx;
3535 struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2;
3536 struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx;
3537 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx;
3538 struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1;
3539 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx;
3540 struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
3541 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
3542 struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1;
3543 struct cvmx_gmxx_rxx_stats_octs_drp_s cn61xx;
3544 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xx;
3545 struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xxp1;
3546 struct cvmx_gmxx_rxx_stats_octs_drp_s cn66xx;
3547 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xx;
3548 struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xxp1;
3549 struct cvmx_gmxx_rxx_stats_octs_drp_s cn70xx;
3550 struct cvmx_gmxx_rxx_stats_octs_drp_s cn70xxp1;
3551 struct cvmx_gmxx_rxx_stats_octs_drp_s cnf71xx;
3552};
3553
3554typedef union cvmx_gmxx_rxx_stats_octs_drp cvmx_gmxx_rxx_stats_octs_drp_t;
3555
3556
3557
3558
3559
3560
3561
3562
3563union cvmx_gmxx_rxx_stats_pkts {
3564 u64 u64;
3565 struct cvmx_gmxx_rxx_stats_pkts_s {
3566 u64 reserved_32_63 : 32;
3567 u64 cnt : 32;
3568 } s;
3569 struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
3570 struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
3571 struct cvmx_gmxx_rxx_stats_pkts_s cn38xx;
3572 struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2;
3573 struct cvmx_gmxx_rxx_stats_pkts_s cn50xx;
3574 struct cvmx_gmxx_rxx_stats_pkts_s cn52xx;
3575 struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1;
3576 struct cvmx_gmxx_rxx_stats_pkts_s cn56xx;
3577 struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
3578 struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
3579 struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1;
3580 struct cvmx_gmxx_rxx_stats_pkts_s cn61xx;
3581 struct cvmx_gmxx_rxx_stats_pkts_s cn63xx;
3582 struct cvmx_gmxx_rxx_stats_pkts_s cn63xxp1;
3583 struct cvmx_gmxx_rxx_stats_pkts_s cn66xx;
3584 struct cvmx_gmxx_rxx_stats_pkts_s cn68xx;
3585 struct cvmx_gmxx_rxx_stats_pkts_s cn68xxp1;
3586 struct cvmx_gmxx_rxx_stats_pkts_s cn70xx;
3587 struct cvmx_gmxx_rxx_stats_pkts_s cn70xxp1;
3588 struct cvmx_gmxx_rxx_stats_pkts_s cnf71xx;
3589};
3590
3591typedef union cvmx_gmxx_rxx_stats_pkts cvmx_gmxx_rxx_stats_pkts_t;
3592
3593
3594
3595
3596
3597
3598
3599union cvmx_gmxx_rxx_stats_pkts_bad {
3600 u64 u64;
3601 struct cvmx_gmxx_rxx_stats_pkts_bad_s {
3602 u64 reserved_32_63 : 32;
3603 u64 cnt : 32;
3604 } s;
3605 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
3606 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
3607 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx;
3608 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2;
3609 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx;
3610 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx;
3611 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1;
3612 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx;
3613 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
3614 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
3615 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1;
3616 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn61xx;
3617 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xx;
3618 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xxp1;
3619 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn66xx;
3620 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xx;
3621 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xxp1;
3622 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn70xx;
3623 struct cvmx_gmxx_rxx_stats_pkts_bad_s cn70xxp1;
3624 struct cvmx_gmxx_rxx_stats_pkts_bad_s cnf71xx;
3625};
3626
3627typedef union cvmx_gmxx_rxx_stats_pkts_bad cvmx_gmxx_rxx_stats_pkts_bad_t;
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640union cvmx_gmxx_rxx_stats_pkts_ctl {
3641 u64 u64;
3642 struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
3643 u64 reserved_32_63 : 32;
3644 u64 cnt : 32;
3645 } s;
3646 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
3647 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
3648 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx;
3649 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2;
3650 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx;
3651 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx;
3652 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1;
3653 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx;
3654 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
3655 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
3656 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1;
3657 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn61xx;
3658 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xx;
3659 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xxp1;
3660 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn66xx;
3661 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xx;
3662 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xxp1;
3663 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn70xx;
3664 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn70xxp1;
3665 struct cvmx_gmxx_rxx_stats_pkts_ctl_s cnf71xx;
3666};
3667
3668typedef union cvmx_gmxx_rxx_stats_pkts_ctl cvmx_gmxx_rxx_stats_pkts_ctl_t;
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681union cvmx_gmxx_rxx_stats_pkts_dmac {
3682 u64 u64;
3683 struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
3684 u64 reserved_32_63 : 32;
3685 u64 cnt : 32;
3686 } s;
3687 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
3688 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
3689 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx;
3690 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2;
3691 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx;
3692 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx;
3693 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1;
3694 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx;
3695 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
3696 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
3697 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1;
3698 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn61xx;
3699 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xx;
3700 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xxp1;
3701 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn66xx;
3702 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xx;
3703 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xxp1;
3704 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn70xx;
3705 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn70xxp1;
3706 struct cvmx_gmxx_rxx_stats_pkts_dmac_s cnf71xx;
3707};
3708
3709typedef union cvmx_gmxx_rxx_stats_pkts_dmac cvmx_gmxx_rxx_stats_pkts_dmac_t;
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721union cvmx_gmxx_rxx_stats_pkts_drp {
3722 u64 u64;
3723 struct cvmx_gmxx_rxx_stats_pkts_drp_s {
3724 u64 reserved_32_63 : 32;
3725 u64 cnt : 32;
3726 } s;
3727 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
3728 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
3729 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx;
3730 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2;
3731 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx;
3732 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx;
3733 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1;
3734 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx;
3735 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
3736 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
3737 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1;
3738 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn61xx;
3739 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xx;
3740 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xxp1;
3741 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn66xx;
3742 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xx;
3743 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xxp1;
3744 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn70xx;
3745 struct cvmx_gmxx_rxx_stats_pkts_drp_s cn70xxp1;
3746 struct cvmx_gmxx_rxx_stats_pkts_drp_s cnf71xx;
3747};
3748
3749typedef union cvmx_gmxx_rxx_stats_pkts_drp cvmx_gmxx_rxx_stats_pkts_drp_t;
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782union cvmx_gmxx_rxx_udd_skp {
3783 u64 u64;
3784 struct cvmx_gmxx_rxx_udd_skp_s {
3785 u64 reserved_9_63 : 55;
3786 u64 fcssel : 1;
3787 u64 reserved_7_7 : 1;
3788 u64 len : 7;
3789 } s;
3790 struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
3791 struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
3792 struct cvmx_gmxx_rxx_udd_skp_s cn38xx;
3793 struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2;
3794 struct cvmx_gmxx_rxx_udd_skp_s cn50xx;
3795 struct cvmx_gmxx_rxx_udd_skp_s cn52xx;
3796 struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1;
3797 struct cvmx_gmxx_rxx_udd_skp_s cn56xx;
3798 struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
3799 struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
3800 struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1;
3801 struct cvmx_gmxx_rxx_udd_skp_s cn61xx;
3802 struct cvmx_gmxx_rxx_udd_skp_s cn63xx;
3803 struct cvmx_gmxx_rxx_udd_skp_s cn63xxp1;
3804 struct cvmx_gmxx_rxx_udd_skp_s cn66xx;
3805 struct cvmx_gmxx_rxx_udd_skp_s cn68xx;
3806 struct cvmx_gmxx_rxx_udd_skp_s cn68xxp1;
3807 struct cvmx_gmxx_rxx_udd_skp_s cn70xx;
3808 struct cvmx_gmxx_rxx_udd_skp_s cn70xxp1;
3809 struct cvmx_gmxx_rxx_udd_skp_s cnf71xx;
3810};
3811
3812typedef union cvmx_gmxx_rxx_udd_skp cvmx_gmxx_rxx_udd_skp_t;
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827union cvmx_gmxx_rx_bp_dropx {
3828 u64 u64;
3829 struct cvmx_gmxx_rx_bp_dropx_s {
3830 u64 reserved_6_63 : 58;
3831 u64 mark : 6;
3832 } s;
3833 struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
3834 struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
3835 struct cvmx_gmxx_rx_bp_dropx_s cn38xx;
3836 struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2;
3837 struct cvmx_gmxx_rx_bp_dropx_s cn50xx;
3838 struct cvmx_gmxx_rx_bp_dropx_s cn52xx;
3839 struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1;
3840 struct cvmx_gmxx_rx_bp_dropx_s cn56xx;
3841 struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
3842 struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
3843 struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1;
3844 struct cvmx_gmxx_rx_bp_dropx_s cn61xx;
3845 struct cvmx_gmxx_rx_bp_dropx_s cn63xx;
3846 struct cvmx_gmxx_rx_bp_dropx_s cn63xxp1;
3847 struct cvmx_gmxx_rx_bp_dropx_s cn66xx;
3848 struct cvmx_gmxx_rx_bp_dropx_s cn68xx;
3849 struct cvmx_gmxx_rx_bp_dropx_s cn68xxp1;
3850 struct cvmx_gmxx_rx_bp_dropx_s cn70xx;
3851 struct cvmx_gmxx_rx_bp_dropx_s cn70xxp1;
3852 struct cvmx_gmxx_rx_bp_dropx_s cnf71xx;
3853};
3854
3855typedef union cvmx_gmxx_rx_bp_dropx cvmx_gmxx_rx_bp_dropx_t;
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867union cvmx_gmxx_rx_bp_offx {
3868 u64 u64;
3869 struct cvmx_gmxx_rx_bp_offx_s {
3870 u64 reserved_6_63 : 58;
3871 u64 mark : 6;
3872 } s;
3873 struct cvmx_gmxx_rx_bp_offx_s cn30xx;
3874 struct cvmx_gmxx_rx_bp_offx_s cn31xx;
3875 struct cvmx_gmxx_rx_bp_offx_s cn38xx;
3876 struct cvmx_gmxx_rx_bp_offx_s cn38xxp2;
3877 struct cvmx_gmxx_rx_bp_offx_s cn50xx;
3878 struct cvmx_gmxx_rx_bp_offx_s cn52xx;
3879 struct cvmx_gmxx_rx_bp_offx_s cn52xxp1;
3880 struct cvmx_gmxx_rx_bp_offx_s cn56xx;
3881 struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
3882 struct cvmx_gmxx_rx_bp_offx_s cn58xx;
3883 struct cvmx_gmxx_rx_bp_offx_s cn58xxp1;
3884 struct cvmx_gmxx_rx_bp_offx_s cn61xx;
3885 struct cvmx_gmxx_rx_bp_offx_s cn63xx;
3886 struct cvmx_gmxx_rx_bp_offx_s cn63xxp1;
3887 struct cvmx_gmxx_rx_bp_offx_s cn66xx;
3888 struct cvmx_gmxx_rx_bp_offx_s cn68xx;
3889 struct cvmx_gmxx_rx_bp_offx_s cn68xxp1;
3890 struct cvmx_gmxx_rx_bp_offx_s cn70xx;
3891 struct cvmx_gmxx_rx_bp_offx_s cn70xxp1;
3892 struct cvmx_gmxx_rx_bp_offx_s cnf71xx;
3893};
3894
3895typedef union cvmx_gmxx_rx_bp_offx cvmx_gmxx_rx_bp_offx_t;
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907union cvmx_gmxx_rx_bp_onx {
3908 u64 u64;
3909 struct cvmx_gmxx_rx_bp_onx_s {
3910 u64 reserved_11_63 : 53;
3911 u64 mark : 11;
3912 } s;
3913 struct cvmx_gmxx_rx_bp_onx_cn30xx {
3914 u64 reserved_9_63 : 55;
3915 u64 mark : 9;
3916 } cn30xx;
3917 struct cvmx_gmxx_rx_bp_onx_cn30xx cn31xx;
3918 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xx;
3919 struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xxp2;
3920 struct cvmx_gmxx_rx_bp_onx_cn30xx cn50xx;
3921 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xx;
3922 struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xxp1;
3923 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xx;
3924 struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xxp1;
3925 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xx;
3926 struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xxp1;
3927 struct cvmx_gmxx_rx_bp_onx_cn30xx cn61xx;
3928 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xx;
3929 struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xxp1;
3930 struct cvmx_gmxx_rx_bp_onx_cn30xx cn66xx;
3931 struct cvmx_gmxx_rx_bp_onx_s cn68xx;
3932 struct cvmx_gmxx_rx_bp_onx_s cn68xxp1;
3933 struct cvmx_gmxx_rx_bp_onx_cn30xx cn70xx;
3934 struct cvmx_gmxx_rx_bp_onx_cn30xx cn70xxp1;
3935 struct cvmx_gmxx_rx_bp_onx_cn30xx cnf71xx;
3936};
3937
3938typedef union cvmx_gmxx_rx_bp_onx cvmx_gmxx_rx_bp_onx_t;
3939
3940
3941
3942
3943
3944
3945
3946union cvmx_gmxx_rx_hg2_status {
3947 u64 u64;
3948 struct cvmx_gmxx_rx_hg2_status_s {
3949 u64 reserved_48_63 : 16;
3950 u64 phtim2go : 16;
3951 u64 xof : 16;
3952 u64 lgtim2go : 16;
3953 } s;
3954 struct cvmx_gmxx_rx_hg2_status_s cn52xx;
3955 struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
3956 struct cvmx_gmxx_rx_hg2_status_s cn56xx;
3957 struct cvmx_gmxx_rx_hg2_status_s cn61xx;
3958 struct cvmx_gmxx_rx_hg2_status_s cn63xx;
3959 struct cvmx_gmxx_rx_hg2_status_s cn63xxp1;
3960 struct cvmx_gmxx_rx_hg2_status_s cn66xx;
3961 struct cvmx_gmxx_rx_hg2_status_s cn68xx;
3962 struct cvmx_gmxx_rx_hg2_status_s cn68xxp1;
3963 struct cvmx_gmxx_rx_hg2_status_s cn70xx;
3964 struct cvmx_gmxx_rx_hg2_status_s cn70xxp1;
3965 struct cvmx_gmxx_rx_hg2_status_s cnf71xx;
3966};
3967
3968typedef union cvmx_gmxx_rx_hg2_status cvmx_gmxx_rx_hg2_status_t;
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986union cvmx_gmxx_rx_pass_en {
3987 u64 u64;
3988 struct cvmx_gmxx_rx_pass_en_s {
3989 u64 reserved_16_63 : 48;
3990 u64 en : 16;
3991 } s;
3992 struct cvmx_gmxx_rx_pass_en_s cn38xx;
3993 struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
3994 struct cvmx_gmxx_rx_pass_en_s cn58xx;
3995 struct cvmx_gmxx_rx_pass_en_s cn58xxp1;
3996};
3997
3998typedef union cvmx_gmxx_rx_pass_en cvmx_gmxx_rx_pass_en_t;
3999
4000
4001
4002
4003
4004
4005
4006union cvmx_gmxx_rx_pass_mapx {
4007 u64 u64;
4008 struct cvmx_gmxx_rx_pass_mapx_s {
4009 u64 reserved_4_63 : 60;
4010 u64 dprt : 4;
4011 } s;
4012 struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
4013 struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
4014 struct cvmx_gmxx_rx_pass_mapx_s cn58xx;
4015 struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1;
4016};
4017
4018typedef union cvmx_gmxx_rx_pass_mapx cvmx_gmxx_rx_pass_mapx_t;
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030union cvmx_gmxx_rx_prt_info {
4031 u64 u64;
4032 struct cvmx_gmxx_rx_prt_info_s {
4033 u64 reserved_32_63 : 32;
4034 u64 drop : 16;
4035 u64 commit : 16;
4036 } s;
4037 struct cvmx_gmxx_rx_prt_info_cn30xx {
4038 u64 reserved_19_63 : 45;
4039 u64 drop : 3;
4040 u64 reserved_3_15 : 13;
4041 u64 commit : 3;
4042 } cn30xx;
4043 struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
4044 struct cvmx_gmxx_rx_prt_info_s cn38xx;
4045 struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
4046 struct cvmx_gmxx_rx_prt_info_cn52xx {
4047 u64 reserved_20_63 : 44;
4048 u64 drop : 4;
4049 u64 reserved_4_15 : 12;
4050 u64 commit : 4;
4051 } cn52xx;
4052 struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
4053 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
4054 struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
4055 struct cvmx_gmxx_rx_prt_info_s cn58xx;
4056 struct cvmx_gmxx_rx_prt_info_s cn58xxp1;
4057 struct cvmx_gmxx_rx_prt_info_cn52xx cn61xx;
4058 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xx;
4059 struct cvmx_gmxx_rx_prt_info_cn52xx cn63xxp1;
4060 struct cvmx_gmxx_rx_prt_info_cn52xx cn66xx;
4061 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xx;
4062 struct cvmx_gmxx_rx_prt_info_cn52xx cn68xxp1;
4063 struct cvmx_gmxx_rx_prt_info_cn52xx cn70xx;
4064 struct cvmx_gmxx_rx_prt_info_cn52xx cn70xxp1;
4065 struct cvmx_gmxx_rx_prt_info_cnf71xx {
4066 u64 reserved_18_63 : 46;
4067 u64 drop : 2;
4068 u64 reserved_2_15 : 14;
4069 u64 commit : 2;
4070 } cnf71xx;
4071};
4072
4073typedef union cvmx_gmxx_rx_prt_info cvmx_gmxx_rx_prt_info_t;
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085union cvmx_gmxx_rx_prts {
4086 u64 u64;
4087 struct cvmx_gmxx_rx_prts_s {
4088 u64 reserved_3_63 : 61;
4089 u64 prts : 3;
4090 } s;
4091 struct cvmx_gmxx_rx_prts_s cn30xx;
4092 struct cvmx_gmxx_rx_prts_s cn31xx;
4093 struct cvmx_gmxx_rx_prts_s cn38xx;
4094 struct cvmx_gmxx_rx_prts_s cn38xxp2;
4095 struct cvmx_gmxx_rx_prts_s cn50xx;
4096 struct cvmx_gmxx_rx_prts_s cn52xx;
4097 struct cvmx_gmxx_rx_prts_s cn52xxp1;
4098 struct cvmx_gmxx_rx_prts_s cn56xx;
4099 struct cvmx_gmxx_rx_prts_s cn56xxp1;
4100 struct cvmx_gmxx_rx_prts_s cn58xx;
4101 struct cvmx_gmxx_rx_prts_s cn58xxp1;
4102 struct cvmx_gmxx_rx_prts_s cn61xx;
4103 struct cvmx_gmxx_rx_prts_s cn63xx;
4104 struct cvmx_gmxx_rx_prts_s cn63xxp1;
4105 struct cvmx_gmxx_rx_prts_s cn66xx;
4106 struct cvmx_gmxx_rx_prts_s cn68xx;
4107 struct cvmx_gmxx_rx_prts_s cn68xxp1;
4108 struct cvmx_gmxx_rx_prts_s cn70xx;
4109 struct cvmx_gmxx_rx_prts_s cn70xxp1;
4110 struct cvmx_gmxx_rx_prts_s cnf71xx;
4111};
4112
4113typedef union cvmx_gmxx_rx_prts cvmx_gmxx_rx_prts_t;
4114
4115
4116
4117
4118
4119
4120
4121union cvmx_gmxx_rx_tx_status {
4122 u64 u64;
4123 struct cvmx_gmxx_rx_tx_status_s {
4124 u64 reserved_7_63 : 57;
4125 u64 tx : 3;
4126 u64 reserved_3_3 : 1;
4127 u64 rx : 3;
4128 } s;
4129 struct cvmx_gmxx_rx_tx_status_s cn30xx;
4130 struct cvmx_gmxx_rx_tx_status_s cn31xx;
4131 struct cvmx_gmxx_rx_tx_status_s cn50xx;
4132};
4133
4134typedef union cvmx_gmxx_rx_tx_status cvmx_gmxx_rx_tx_status_t;
4135
4136
4137
4138
4139union cvmx_gmxx_rx_xaui_bad_col {
4140 u64 u64;
4141 struct cvmx_gmxx_rx_xaui_bad_col_s {
4142 u64 reserved_40_63 : 24;
4143 u64 val : 1;
4144 u64 state : 3;
4145 u64 lane_rxc : 4;
4146 u64 lane_rxd : 32;
4147 } s;
4148 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
4149 struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
4150 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
4151 struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1;
4152 struct cvmx_gmxx_rx_xaui_bad_col_s cn61xx;
4153 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xx;
4154 struct cvmx_gmxx_rx_xaui_bad_col_s cn63xxp1;
4155 struct cvmx_gmxx_rx_xaui_bad_col_s cn66xx;
4156 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xx;
4157 struct cvmx_gmxx_rx_xaui_bad_col_s cn68xxp1;
4158 struct cvmx_gmxx_rx_xaui_bad_col_s cn70xx;
4159 struct cvmx_gmxx_rx_xaui_bad_col_s cn70xxp1;
4160 struct cvmx_gmxx_rx_xaui_bad_col_s cnf71xx;
4161};
4162
4163typedef union cvmx_gmxx_rx_xaui_bad_col cvmx_gmxx_rx_xaui_bad_col_t;
4164
4165
4166
4167
4168union cvmx_gmxx_rx_xaui_ctl {
4169 u64 u64;
4170 struct cvmx_gmxx_rx_xaui_ctl_s {
4171 u64 reserved_2_63 : 62;
4172 u64 status : 2;
4173 } s;
4174 struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
4175 struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
4176 struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
4177 struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1;
4178 struct cvmx_gmxx_rx_xaui_ctl_s cn61xx;
4179 struct cvmx_gmxx_rx_xaui_ctl_s cn63xx;
4180 struct cvmx_gmxx_rx_xaui_ctl_s cn63xxp1;
4181 struct cvmx_gmxx_rx_xaui_ctl_s cn66xx;
4182 struct cvmx_gmxx_rx_xaui_ctl_s cn68xx;
4183 struct cvmx_gmxx_rx_xaui_ctl_s cn68xxp1;
4184 struct cvmx_gmxx_rx_xaui_ctl_s cn70xx;
4185 struct cvmx_gmxx_rx_xaui_ctl_s cn70xxp1;
4186 struct cvmx_gmxx_rx_xaui_ctl_s cnf71xx;
4187};
4188
4189typedef union cvmx_gmxx_rx_xaui_ctl cvmx_gmxx_rx_xaui_ctl_t;
4190
4191
4192
4193
4194union cvmx_gmxx_rxaui_ctl {
4195 u64 u64;
4196 struct cvmx_gmxx_rxaui_ctl_s {
4197 u64 reserved_1_63 : 63;
4198 u64 disparity : 1;
4199 } s;
4200 struct cvmx_gmxx_rxaui_ctl_s cn68xx;
4201 struct cvmx_gmxx_rxaui_ctl_s cn68xxp1;
4202 struct cvmx_gmxx_rxaui_ctl_s cn70xx;
4203 struct cvmx_gmxx_rxaui_ctl_s cn70xxp1;
4204};
4205
4206typedef union cvmx_gmxx_rxaui_ctl cvmx_gmxx_rxaui_ctl_t;
4207
4208
4209
4210
4211
4212
4213
4214union cvmx_gmxx_smacx {
4215 u64 u64;
4216 struct cvmx_gmxx_smacx_s {
4217 u64 reserved_48_63 : 16;
4218 u64 smac : 48;
4219 } s;
4220 struct cvmx_gmxx_smacx_s cn30xx;
4221 struct cvmx_gmxx_smacx_s cn31xx;
4222 struct cvmx_gmxx_smacx_s cn38xx;
4223 struct cvmx_gmxx_smacx_s cn38xxp2;
4224 struct cvmx_gmxx_smacx_s cn50xx;
4225 struct cvmx_gmxx_smacx_s cn52xx;
4226 struct cvmx_gmxx_smacx_s cn52xxp1;
4227 struct cvmx_gmxx_smacx_s cn56xx;
4228 struct cvmx_gmxx_smacx_s cn56xxp1;
4229 struct cvmx_gmxx_smacx_s cn58xx;
4230 struct cvmx_gmxx_smacx_s cn58xxp1;
4231 struct cvmx_gmxx_smacx_s cn61xx;
4232 struct cvmx_gmxx_smacx_s cn63xx;
4233 struct cvmx_gmxx_smacx_s cn63xxp1;
4234 struct cvmx_gmxx_smacx_s cn66xx;
4235 struct cvmx_gmxx_smacx_s cn68xx;
4236 struct cvmx_gmxx_smacx_s cn68xxp1;
4237 struct cvmx_gmxx_smacx_s cn70xx;
4238 struct cvmx_gmxx_smacx_s cn70xxp1;
4239 struct cvmx_gmxx_smacx_s cnf71xx;
4240};
4241
4242typedef union cvmx_gmxx_smacx cvmx_gmxx_smacx_t;
4243
4244
4245
4246
4247
4248
4249
4250union cvmx_gmxx_soft_bist {
4251 u64 u64;
4252 struct cvmx_gmxx_soft_bist_s {
4253 u64 reserved_2_63 : 62;
4254 u64 start_bist : 1;
4255 u64 clear_bist : 1;
4256 } s;
4257 struct cvmx_gmxx_soft_bist_s cn63xx;
4258 struct cvmx_gmxx_soft_bist_s cn63xxp1;
4259 struct cvmx_gmxx_soft_bist_s cn66xx;
4260 struct cvmx_gmxx_soft_bist_s cn68xx;
4261 struct cvmx_gmxx_soft_bist_s cn68xxp1;
4262};
4263
4264typedef union cvmx_gmxx_soft_bist cvmx_gmxx_soft_bist_t;
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286union cvmx_gmxx_stat_bp {
4287 u64 u64;
4288 struct cvmx_gmxx_stat_bp_s {
4289 u64 reserved_17_63 : 47;
4290 u64 bp : 1;
4291 u64 cnt : 16;
4292 } s;
4293 struct cvmx_gmxx_stat_bp_s cn30xx;
4294 struct cvmx_gmxx_stat_bp_s cn31xx;
4295 struct cvmx_gmxx_stat_bp_s cn38xx;
4296 struct cvmx_gmxx_stat_bp_s cn38xxp2;
4297 struct cvmx_gmxx_stat_bp_s cn50xx;
4298 struct cvmx_gmxx_stat_bp_s cn52xx;
4299 struct cvmx_gmxx_stat_bp_s cn52xxp1;
4300 struct cvmx_gmxx_stat_bp_s cn56xx;
4301 struct cvmx_gmxx_stat_bp_s cn56xxp1;
4302 struct cvmx_gmxx_stat_bp_s cn58xx;
4303 struct cvmx_gmxx_stat_bp_s cn58xxp1;
4304 struct cvmx_gmxx_stat_bp_s cn61xx;
4305 struct cvmx_gmxx_stat_bp_s cn63xx;
4306 struct cvmx_gmxx_stat_bp_s cn63xxp1;
4307 struct cvmx_gmxx_stat_bp_s cn66xx;
4308 struct cvmx_gmxx_stat_bp_s cn68xx;
4309 struct cvmx_gmxx_stat_bp_s cn68xxp1;
4310 struct cvmx_gmxx_stat_bp_s cn70xx;
4311 struct cvmx_gmxx_stat_bp_s cn70xxp1;
4312 struct cvmx_gmxx_stat_bp_s cnf71xx;
4313};
4314
4315typedef union cvmx_gmxx_stat_bp cvmx_gmxx_stat_bp_t;
4316
4317
4318
4319
4320
4321
4322
4323union cvmx_gmxx_tb_reg {
4324 u64 u64;
4325 struct cvmx_gmxx_tb_reg_s {
4326 u64 reserved_1_63 : 63;
4327 u64 wr_magic : 1;
4328 } s;
4329 struct cvmx_gmxx_tb_reg_s cn61xx;
4330 struct cvmx_gmxx_tb_reg_s cn66xx;
4331 struct cvmx_gmxx_tb_reg_s cn68xx;
4332 struct cvmx_gmxx_tb_reg_s cn70xx;
4333 struct cvmx_gmxx_tb_reg_s cn70xxp1;
4334 struct cvmx_gmxx_tb_reg_s cnf71xx;
4335};
4336
4337typedef union cvmx_gmxx_tb_reg cvmx_gmxx_tb_reg_t;
4338
4339
4340
4341
4342
4343
4344
4345union cvmx_gmxx_txx_append {
4346 u64 u64;
4347 struct cvmx_gmxx_txx_append_s {
4348 u64 reserved_4_63 : 60;
4349 u64 force_fcs : 1;
4350 u64 fcs : 1;
4351 u64 pad : 1;
4352 u64 preamble : 1;
4353 } s;
4354 struct cvmx_gmxx_txx_append_s cn30xx;
4355 struct cvmx_gmxx_txx_append_s cn31xx;
4356 struct cvmx_gmxx_txx_append_s cn38xx;
4357 struct cvmx_gmxx_txx_append_s cn38xxp2;
4358 struct cvmx_gmxx_txx_append_s cn50xx;
4359 struct cvmx_gmxx_txx_append_s cn52xx;
4360 struct cvmx_gmxx_txx_append_s cn52xxp1;
4361 struct cvmx_gmxx_txx_append_s cn56xx;
4362 struct cvmx_gmxx_txx_append_s cn56xxp1;
4363 struct cvmx_gmxx_txx_append_s cn58xx;
4364 struct cvmx_gmxx_txx_append_s cn58xxp1;
4365 struct cvmx_gmxx_txx_append_s cn61xx;
4366 struct cvmx_gmxx_txx_append_s cn63xx;
4367 struct cvmx_gmxx_txx_append_s cn63xxp1;
4368 struct cvmx_gmxx_txx_append_s cn66xx;
4369 struct cvmx_gmxx_txx_append_s cn68xx;
4370 struct cvmx_gmxx_txx_append_s cn68xxp1;
4371 struct cvmx_gmxx_txx_append_s cn70xx;
4372 struct cvmx_gmxx_txx_append_s cn70xxp1;
4373 struct cvmx_gmxx_txx_append_s cnf71xx;
4374};
4375
4376typedef union cvmx_gmxx_txx_append cvmx_gmxx_txx_append_t;
4377
4378
4379
4380
4381
4382
4383
4384union cvmx_gmxx_txx_bck_crdt {
4385 u64 u64;
4386 struct cvmx_gmxx_txx_bck_crdt_s {
4387 u64 reserved_4_63 : 60;
4388 u64 cnt : 4;
4389 } s;
4390 struct cvmx_gmxx_txx_bck_crdt_s cn70xx;
4391 struct cvmx_gmxx_txx_bck_crdt_s cn70xxp1;
4392};
4393
4394typedef union cvmx_gmxx_txx_bck_crdt cvmx_gmxx_txx_bck_crdt_t;
4395
4396
4397
4398
4399
4400
4401
4402union cvmx_gmxx_txx_burst {
4403 u64 u64;
4404 struct cvmx_gmxx_txx_burst_s {
4405 u64 reserved_16_63 : 48;
4406 u64 burst : 16;
4407 } s;
4408 struct cvmx_gmxx_txx_burst_s cn30xx;
4409 struct cvmx_gmxx_txx_burst_s cn31xx;
4410 struct cvmx_gmxx_txx_burst_s cn38xx;
4411 struct cvmx_gmxx_txx_burst_s cn38xxp2;
4412 struct cvmx_gmxx_txx_burst_s cn50xx;
4413 struct cvmx_gmxx_txx_burst_s cn52xx;
4414 struct cvmx_gmxx_txx_burst_s cn52xxp1;
4415 struct cvmx_gmxx_txx_burst_s cn56xx;
4416 struct cvmx_gmxx_txx_burst_s cn56xxp1;
4417 struct cvmx_gmxx_txx_burst_s cn58xx;
4418 struct cvmx_gmxx_txx_burst_s cn58xxp1;
4419 struct cvmx_gmxx_txx_burst_s cn61xx;
4420 struct cvmx_gmxx_txx_burst_s cn63xx;
4421 struct cvmx_gmxx_txx_burst_s cn63xxp1;
4422 struct cvmx_gmxx_txx_burst_s cn66xx;
4423 struct cvmx_gmxx_txx_burst_s cn68xx;
4424 struct cvmx_gmxx_txx_burst_s cn68xxp1;
4425 struct cvmx_gmxx_txx_burst_s cn70xx;
4426 struct cvmx_gmxx_txx_burst_s cn70xxp1;
4427 struct cvmx_gmxx_txx_burst_s cnf71xx;
4428};
4429
4430typedef union cvmx_gmxx_txx_burst cvmx_gmxx_txx_burst_t;
4431
4432
4433
4434
4435union cvmx_gmxx_txx_cbfc_xoff {
4436 u64 u64;
4437 struct cvmx_gmxx_txx_cbfc_xoff_s {
4438 u64 reserved_16_63 : 48;
4439 u64 xoff : 16;
4440 } s;
4441 struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
4442 struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx;
4443 struct cvmx_gmxx_txx_cbfc_xoff_s cn61xx;
4444 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xx;
4445 struct cvmx_gmxx_txx_cbfc_xoff_s cn63xxp1;
4446 struct cvmx_gmxx_txx_cbfc_xoff_s cn66xx;
4447 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xx;
4448 struct cvmx_gmxx_txx_cbfc_xoff_s cn68xxp1;
4449 struct cvmx_gmxx_txx_cbfc_xoff_s cn70xx;
4450 struct cvmx_gmxx_txx_cbfc_xoff_s cn70xxp1;
4451 struct cvmx_gmxx_txx_cbfc_xoff_s cnf71xx;
4452};
4453
4454typedef union cvmx_gmxx_txx_cbfc_xoff cvmx_gmxx_txx_cbfc_xoff_t;
4455
4456
4457
4458
4459union cvmx_gmxx_txx_cbfc_xon {
4460 u64 u64;
4461 struct cvmx_gmxx_txx_cbfc_xon_s {
4462 u64 reserved_16_63 : 48;
4463 u64 xon : 16;
4464 } s;
4465 struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
4466 struct cvmx_gmxx_txx_cbfc_xon_s cn56xx;
4467 struct cvmx_gmxx_txx_cbfc_xon_s cn61xx;
4468 struct cvmx_gmxx_txx_cbfc_xon_s cn63xx;
4469 struct cvmx_gmxx_txx_cbfc_xon_s cn63xxp1;
4470 struct cvmx_gmxx_txx_cbfc_xon_s cn66xx;
4471 struct cvmx_gmxx_txx_cbfc_xon_s cn68xx;
4472 struct cvmx_gmxx_txx_cbfc_xon_s cn68xxp1;
4473 struct cvmx_gmxx_txx_cbfc_xon_s cn70xx;
4474 struct cvmx_gmxx_txx_cbfc_xon_s cn70xxp1;
4475 struct cvmx_gmxx_txx_cbfc_xon_s cnf71xx;
4476};
4477
4478typedef union cvmx_gmxx_txx_cbfc_xon cvmx_gmxx_txx_cbfc_xon_t;
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500union cvmx_gmxx_txx_clk {
4501 u64 u64;
4502 struct cvmx_gmxx_txx_clk_s {
4503 u64 reserved_6_63 : 58;
4504 u64 clk_cnt : 6;
4505 } s;
4506 struct cvmx_gmxx_txx_clk_s cn30xx;
4507 struct cvmx_gmxx_txx_clk_s cn31xx;
4508 struct cvmx_gmxx_txx_clk_s cn38xx;
4509 struct cvmx_gmxx_txx_clk_s cn38xxp2;
4510 struct cvmx_gmxx_txx_clk_s cn50xx;
4511 struct cvmx_gmxx_txx_clk_s cn58xx;
4512 struct cvmx_gmxx_txx_clk_s cn58xxp1;
4513};
4514
4515typedef union cvmx_gmxx_txx_clk cvmx_gmxx_txx_clk_t;
4516
4517
4518
4519
4520
4521
4522
4523union cvmx_gmxx_txx_ctl {
4524 u64 u64;
4525 struct cvmx_gmxx_txx_ctl_s {
4526 u64 reserved_2_63 : 62;
4527 u64 xsdef_en : 1;
4528 u64 xscol_en : 1;
4529 } s;
4530 struct cvmx_gmxx_txx_ctl_s cn30xx;
4531 struct cvmx_gmxx_txx_ctl_s cn31xx;
4532 struct cvmx_gmxx_txx_ctl_s cn38xx;
4533 struct cvmx_gmxx_txx_ctl_s cn38xxp2;
4534 struct cvmx_gmxx_txx_ctl_s cn50xx;
4535 struct cvmx_gmxx_txx_ctl_s cn52xx;
4536 struct cvmx_gmxx_txx_ctl_s cn52xxp1;
4537 struct cvmx_gmxx_txx_ctl_s cn56xx;
4538 struct cvmx_gmxx_txx_ctl_s cn56xxp1;
4539 struct cvmx_gmxx_txx_ctl_s cn58xx;
4540 struct cvmx_gmxx_txx_ctl_s cn58xxp1;
4541 struct cvmx_gmxx_txx_ctl_s cn61xx;
4542 struct cvmx_gmxx_txx_ctl_s cn63xx;
4543 struct cvmx_gmxx_txx_ctl_s cn63xxp1;
4544 struct cvmx_gmxx_txx_ctl_s cn66xx;
4545 struct cvmx_gmxx_txx_ctl_s cn68xx;
4546 struct cvmx_gmxx_txx_ctl_s cn68xxp1;
4547 struct cvmx_gmxx_txx_ctl_s cn70xx;
4548 struct cvmx_gmxx_txx_ctl_s cn70xxp1;
4549 struct cvmx_gmxx_txx_ctl_s cnf71xx;
4550};
4551
4552typedef union cvmx_gmxx_txx_ctl cvmx_gmxx_txx_ctl_t;
4553
4554
4555
4556
4557union cvmx_gmxx_txx_jam_mode {
4558 u64 u64;
4559 struct cvmx_gmxx_txx_jam_mode_s {
4560 u64 reserved_1_63 : 63;
4561 u64 mode : 1;
4562 } s;
4563 struct cvmx_gmxx_txx_jam_mode_s cn70xx;
4564 struct cvmx_gmxx_txx_jam_mode_s cn70xxp1;
4565};
4566
4567typedef union cvmx_gmxx_txx_jam_mode cvmx_gmxx_txx_jam_mode_t;
4568
4569
4570
4571
4572
4573
4574
4575union cvmx_gmxx_txx_min_pkt {
4576 u64 u64;
4577 struct cvmx_gmxx_txx_min_pkt_s {
4578 u64 reserved_8_63 : 56;
4579 u64 min_size : 8;
4580 } s;
4581 struct cvmx_gmxx_txx_min_pkt_s cn30xx;
4582 struct cvmx_gmxx_txx_min_pkt_s cn31xx;
4583 struct cvmx_gmxx_txx_min_pkt_s cn38xx;
4584 struct cvmx_gmxx_txx_min_pkt_s cn38xxp2;
4585 struct cvmx_gmxx_txx_min_pkt_s cn50xx;
4586 struct cvmx_gmxx_txx_min_pkt_s cn52xx;
4587 struct cvmx_gmxx_txx_min_pkt_s cn52xxp1;
4588 struct cvmx_gmxx_txx_min_pkt_s cn56xx;
4589 struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
4590 struct cvmx_gmxx_txx_min_pkt_s cn58xx;
4591 struct cvmx_gmxx_txx_min_pkt_s cn58xxp1;
4592 struct cvmx_gmxx_txx_min_pkt_s cn61xx;
4593 struct cvmx_gmxx_txx_min_pkt_s cn63xx;
4594 struct cvmx_gmxx_txx_min_pkt_s cn63xxp1;
4595 struct cvmx_gmxx_txx_min_pkt_s cn66xx;
4596 struct cvmx_gmxx_txx_min_pkt_s cn68xx;
4597 struct cvmx_gmxx_txx_min_pkt_s cn68xxp1;
4598 struct cvmx_gmxx_txx_min_pkt_s cn70xx;
4599 struct cvmx_gmxx_txx_min_pkt_s cn70xxp1;
4600 struct cvmx_gmxx_txx_min_pkt_s cnf71xx;
4601};
4602
4603typedef union cvmx_gmxx_txx_min_pkt cvmx_gmxx_txx_min_pkt_t;
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630union cvmx_gmxx_txx_pause_pkt_interval {
4631 u64 u64;
4632 struct cvmx_gmxx_txx_pause_pkt_interval_s {
4633 u64 reserved_16_63 : 48;
4634 u64 interval : 16;
4635 } s;
4636 struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
4637 struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
4638 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx;
4639 struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2;
4640 struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx;
4641 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx;
4642 struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1;
4643 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx;
4644 struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
4645 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
4646 struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1;
4647 struct cvmx_gmxx_txx_pause_pkt_interval_s cn61xx;
4648 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xx;
4649 struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xxp1;
4650 struct cvmx_gmxx_txx_pause_pkt_interval_s cn66xx;
4651 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xx;
4652 struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xxp1;
4653 struct cvmx_gmxx_txx_pause_pkt_interval_s cn70xx;
4654 struct cvmx_gmxx_txx_pause_pkt_interval_s cn70xxp1;
4655 struct cvmx_gmxx_txx_pause_pkt_interval_s cnf71xx;
4656};
4657
4658typedef union cvmx_gmxx_txx_pause_pkt_interval cvmx_gmxx_txx_pause_pkt_interval_t;
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685union cvmx_gmxx_txx_pause_pkt_time {
4686 u64 u64;
4687 struct cvmx_gmxx_txx_pause_pkt_time_s {
4688 u64 reserved_16_63 : 48;
4689 u64 time : 16;
4690 } s;
4691 struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
4692 struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
4693 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx;
4694 struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2;
4695 struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx;
4696 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx;
4697 struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1;
4698 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx;
4699 struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
4700 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
4701 struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1;
4702 struct cvmx_gmxx_txx_pause_pkt_time_s cn61xx;
4703 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xx;
4704 struct cvmx_gmxx_txx_pause_pkt_time_s cn63xxp1;
4705 struct cvmx_gmxx_txx_pause_pkt_time_s cn66xx;
4706 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xx;
4707 struct cvmx_gmxx_txx_pause_pkt_time_s cn68xxp1;
4708 struct cvmx_gmxx_txx_pause_pkt_time_s cn70xx;
4709 struct cvmx_gmxx_txx_pause_pkt_time_s cn70xxp1;
4710 struct cvmx_gmxx_txx_pause_pkt_time_s cnf71xx;
4711};
4712
4713typedef union cvmx_gmxx_txx_pause_pkt_time cvmx_gmxx_txx_pause_pkt_time_t;
4714
4715
4716
4717
4718
4719
4720
4721union cvmx_gmxx_txx_pause_togo {
4722 u64 u64;
4723 struct cvmx_gmxx_txx_pause_togo_s {
4724 u64 reserved_32_63 : 32;
4725 u64 msg_time : 16;
4726 u64 time : 16;
4727 } s;
4728 struct cvmx_gmxx_txx_pause_togo_cn30xx {
4729 u64 reserved_16_63 : 48;
4730 u64 time : 16;
4731 } cn30xx;
4732 struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
4733 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
4734 struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2;
4735 struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx;
4736 struct cvmx_gmxx_txx_pause_togo_s cn52xx;
4737 struct cvmx_gmxx_txx_pause_togo_s cn52xxp1;
4738 struct cvmx_gmxx_txx_pause_togo_s cn56xx;
4739 struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
4740 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
4741 struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1;
4742 struct cvmx_gmxx_txx_pause_togo_s cn61xx;
4743 struct cvmx_gmxx_txx_pause_togo_s cn63xx;
4744 struct cvmx_gmxx_txx_pause_togo_s cn63xxp1;
4745 struct cvmx_gmxx_txx_pause_togo_s cn66xx;
4746 struct cvmx_gmxx_txx_pause_togo_s cn68xx;
4747 struct cvmx_gmxx_txx_pause_togo_s cn68xxp1;
4748 struct cvmx_gmxx_txx_pause_togo_s cn70xx;
4749 struct cvmx_gmxx_txx_pause_togo_s cn70xxp1;
4750 struct cvmx_gmxx_txx_pause_togo_s cnf71xx;
4751};
4752
4753typedef union cvmx_gmxx_txx_pause_togo cvmx_gmxx_txx_pause_togo_t;
4754
4755
4756
4757
4758
4759
4760
4761union cvmx_gmxx_txx_pause_zero {
4762 u64 u64;
4763 struct cvmx_gmxx_txx_pause_zero_s {
4764 u64 reserved_1_63 : 63;
4765 u64 send : 1;
4766 } s;
4767 struct cvmx_gmxx_txx_pause_zero_s cn30xx;
4768 struct cvmx_gmxx_txx_pause_zero_s cn31xx;
4769 struct cvmx_gmxx_txx_pause_zero_s cn38xx;
4770 struct cvmx_gmxx_txx_pause_zero_s cn38xxp2;
4771 struct cvmx_gmxx_txx_pause_zero_s cn50xx;
4772 struct cvmx_gmxx_txx_pause_zero_s cn52xx;
4773 struct cvmx_gmxx_txx_pause_zero_s cn52xxp1;
4774 struct cvmx_gmxx_txx_pause_zero_s cn56xx;
4775 struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
4776 struct cvmx_gmxx_txx_pause_zero_s cn58xx;
4777 struct cvmx_gmxx_txx_pause_zero_s cn58xxp1;
4778 struct cvmx_gmxx_txx_pause_zero_s cn61xx;
4779 struct cvmx_gmxx_txx_pause_zero_s cn63xx;
4780 struct cvmx_gmxx_txx_pause_zero_s cn63xxp1;
4781 struct cvmx_gmxx_txx_pause_zero_s cn66xx;
4782 struct cvmx_gmxx_txx_pause_zero_s cn68xx;
4783 struct cvmx_gmxx_txx_pause_zero_s cn68xxp1;
4784 struct cvmx_gmxx_txx_pause_zero_s cn70xx;
4785 struct cvmx_gmxx_txx_pause_zero_s cn70xxp1;
4786 struct cvmx_gmxx_txx_pause_zero_s cnf71xx;
4787};
4788
4789typedef union cvmx_gmxx_txx_pause_zero cvmx_gmxx_txx_pause_zero_t;
4790
4791
4792
4793
4794union cvmx_gmxx_txx_pipe {
4795 u64 u64;
4796 struct cvmx_gmxx_txx_pipe_s {
4797 u64 reserved_33_63 : 31;
4798 u64 ign_bp : 1;
4799 u64 reserved_21_31 : 11;
4800 u64 nump : 5;
4801 u64 reserved_7_15 : 9;
4802 u64 base : 7;
4803 } s;
4804 struct cvmx_gmxx_txx_pipe_s cn68xx;
4805 struct cvmx_gmxx_txx_pipe_s cn68xxp1;
4806};
4807
4808typedef union cvmx_gmxx_txx_pipe cvmx_gmxx_txx_pipe_t;
4809
4810
4811
4812
4813union cvmx_gmxx_txx_sgmii_ctl {
4814 u64 u64;
4815 struct cvmx_gmxx_txx_sgmii_ctl_s {
4816 u64 reserved_1_63 : 63;
4817 u64 align : 1;
4818 } s;
4819 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
4820 struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
4821 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
4822 struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1;
4823 struct cvmx_gmxx_txx_sgmii_ctl_s cn61xx;
4824 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xx;
4825 struct cvmx_gmxx_txx_sgmii_ctl_s cn63xxp1;
4826 struct cvmx_gmxx_txx_sgmii_ctl_s cn66xx;
4827 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xx;
4828 struct cvmx_gmxx_txx_sgmii_ctl_s cn68xxp1;
4829 struct cvmx_gmxx_txx_sgmii_ctl_s cn70xx;
4830 struct cvmx_gmxx_txx_sgmii_ctl_s cn70xxp1;
4831 struct cvmx_gmxx_txx_sgmii_ctl_s cnf71xx;
4832};
4833
4834typedef union cvmx_gmxx_txx_sgmii_ctl cvmx_gmxx_txx_sgmii_ctl_t;
4835
4836
4837
4838
4839
4840
4841
4842union cvmx_gmxx_txx_slot {
4843 u64 u64;
4844 struct cvmx_gmxx_txx_slot_s {
4845 u64 reserved_10_63 : 54;
4846 u64 slot : 10;
4847 } s;
4848 struct cvmx_gmxx_txx_slot_s cn30xx;
4849 struct cvmx_gmxx_txx_slot_s cn31xx;
4850 struct cvmx_gmxx_txx_slot_s cn38xx;
4851 struct cvmx_gmxx_txx_slot_s cn38xxp2;
4852 struct cvmx_gmxx_txx_slot_s cn50xx;
4853 struct cvmx_gmxx_txx_slot_s cn52xx;
4854 struct cvmx_gmxx_txx_slot_s cn52xxp1;
4855 struct cvmx_gmxx_txx_slot_s cn56xx;
4856 struct cvmx_gmxx_txx_slot_s cn56xxp1;
4857 struct cvmx_gmxx_txx_slot_s cn58xx;
4858 struct cvmx_gmxx_txx_slot_s cn58xxp1;
4859 struct cvmx_gmxx_txx_slot_s cn61xx;
4860 struct cvmx_gmxx_txx_slot_s cn63xx;
4861 struct cvmx_gmxx_txx_slot_s cn63xxp1;
4862 struct cvmx_gmxx_txx_slot_s cn66xx;
4863 struct cvmx_gmxx_txx_slot_s cn68xx;
4864 struct cvmx_gmxx_txx_slot_s cn68xxp1;
4865 struct cvmx_gmxx_txx_slot_s cn70xx;
4866 struct cvmx_gmxx_txx_slot_s cn70xxp1;
4867 struct cvmx_gmxx_txx_slot_s cnf71xx;
4868};
4869
4870typedef union cvmx_gmxx_txx_slot cvmx_gmxx_txx_slot_t;
4871
4872
4873
4874
4875
4876
4877
4878union cvmx_gmxx_txx_soft_pause {
4879 u64 u64;
4880 struct cvmx_gmxx_txx_soft_pause_s {
4881 u64 reserved_16_63 : 48;
4882 u64 time : 16;
4883 } s;
4884 struct cvmx_gmxx_txx_soft_pause_s cn30xx;
4885 struct cvmx_gmxx_txx_soft_pause_s cn31xx;
4886 struct cvmx_gmxx_txx_soft_pause_s cn38xx;
4887 struct cvmx_gmxx_txx_soft_pause_s cn38xxp2;
4888 struct cvmx_gmxx_txx_soft_pause_s cn50xx;
4889 struct cvmx_gmxx_txx_soft_pause_s cn52xx;
4890 struct cvmx_gmxx_txx_soft_pause_s cn52xxp1;
4891 struct cvmx_gmxx_txx_soft_pause_s cn56xx;
4892 struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
4893 struct cvmx_gmxx_txx_soft_pause_s cn58xx;
4894 struct cvmx_gmxx_txx_soft_pause_s cn58xxp1;
4895 struct cvmx_gmxx_txx_soft_pause_s cn61xx;
4896 struct cvmx_gmxx_txx_soft_pause_s cn63xx;
4897 struct cvmx_gmxx_txx_soft_pause_s cn63xxp1;
4898 struct cvmx_gmxx_txx_soft_pause_s cn66xx;
4899 struct cvmx_gmxx_txx_soft_pause_s cn68xx;
4900 struct cvmx_gmxx_txx_soft_pause_s cn68xxp1;
4901 struct cvmx_gmxx_txx_soft_pause_s cn70xx;
4902 struct cvmx_gmxx_txx_soft_pause_s cn70xxp1;
4903 struct cvmx_gmxx_txx_soft_pause_s cnf71xx;
4904};
4905
4906typedef union cvmx_gmxx_txx_soft_pause cvmx_gmxx_txx_soft_pause_t;
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918union cvmx_gmxx_txx_stat0 {
4919 u64 u64;
4920 struct cvmx_gmxx_txx_stat0_s {
4921 u64 xsdef : 32;
4922 u64 xscol : 32;
4923 } s;
4924 struct cvmx_gmxx_txx_stat0_s cn30xx;
4925 struct cvmx_gmxx_txx_stat0_s cn31xx;
4926 struct cvmx_gmxx_txx_stat0_s cn38xx;
4927 struct cvmx_gmxx_txx_stat0_s cn38xxp2;
4928 struct cvmx_gmxx_txx_stat0_s cn50xx;
4929 struct cvmx_gmxx_txx_stat0_s cn52xx;
4930 struct cvmx_gmxx_txx_stat0_s cn52xxp1;
4931 struct cvmx_gmxx_txx_stat0_s cn56xx;
4932 struct cvmx_gmxx_txx_stat0_s cn56xxp1;
4933 struct cvmx_gmxx_txx_stat0_s cn58xx;
4934 struct cvmx_gmxx_txx_stat0_s cn58xxp1;
4935 struct cvmx_gmxx_txx_stat0_s cn61xx;
4936 struct cvmx_gmxx_txx_stat0_s cn63xx;
4937 struct cvmx_gmxx_txx_stat0_s cn63xxp1;
4938 struct cvmx_gmxx_txx_stat0_s cn66xx;
4939 struct cvmx_gmxx_txx_stat0_s cn68xx;
4940 struct cvmx_gmxx_txx_stat0_s cn68xxp1;
4941 struct cvmx_gmxx_txx_stat0_s cn70xx;
4942 struct cvmx_gmxx_txx_stat0_s cn70xxp1;
4943 struct cvmx_gmxx_txx_stat0_s cnf71xx;
4944};
4945
4946typedef union cvmx_gmxx_txx_stat0 cvmx_gmxx_txx_stat0_t;
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958union cvmx_gmxx_txx_stat1 {
4959 u64 u64;
4960 struct cvmx_gmxx_txx_stat1_s {
4961 u64 scol : 32;
4962 u64 mcol : 32;
4963 } s;
4964 struct cvmx_gmxx_txx_stat1_s cn30xx;
4965 struct cvmx_gmxx_txx_stat1_s cn31xx;
4966 struct cvmx_gmxx_txx_stat1_s cn38xx;
4967 struct cvmx_gmxx_txx_stat1_s cn38xxp2;
4968 struct cvmx_gmxx_txx_stat1_s cn50xx;
4969 struct cvmx_gmxx_txx_stat1_s cn52xx;
4970 struct cvmx_gmxx_txx_stat1_s cn52xxp1;
4971 struct cvmx_gmxx_txx_stat1_s cn56xx;
4972 struct cvmx_gmxx_txx_stat1_s cn56xxp1;
4973 struct cvmx_gmxx_txx_stat1_s cn58xx;
4974 struct cvmx_gmxx_txx_stat1_s cn58xxp1;
4975 struct cvmx_gmxx_txx_stat1_s cn61xx;
4976 struct cvmx_gmxx_txx_stat1_s cn63xx;
4977 struct cvmx_gmxx_txx_stat1_s cn63xxp1;
4978 struct cvmx_gmxx_txx_stat1_s cn66xx;
4979 struct cvmx_gmxx_txx_stat1_s cn68xx;
4980 struct cvmx_gmxx_txx_stat1_s cn68xxp1;
4981 struct cvmx_gmxx_txx_stat1_s cn70xx;
4982 struct cvmx_gmxx_txx_stat1_s cn70xxp1;
4983 struct cvmx_gmxx_txx_stat1_s cnf71xx;
4984};
4985
4986typedef union cvmx_gmxx_txx_stat1 cvmx_gmxx_txx_stat1_t;
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001union cvmx_gmxx_txx_stat2 {
5002 u64 u64;
5003 struct cvmx_gmxx_txx_stat2_s {
5004 u64 reserved_48_63 : 16;
5005 u64 octs : 48;
5006 } s;
5007 struct cvmx_gmxx_txx_stat2_s cn30xx;
5008 struct cvmx_gmxx_txx_stat2_s cn31xx;
5009 struct cvmx_gmxx_txx_stat2_s cn38xx;
5010 struct cvmx_gmxx_txx_stat2_s cn38xxp2;
5011 struct cvmx_gmxx_txx_stat2_s cn50xx;
5012 struct cvmx_gmxx_txx_stat2_s cn52xx;
5013 struct cvmx_gmxx_txx_stat2_s cn52xxp1;
5014 struct cvmx_gmxx_txx_stat2_s cn56xx;
5015 struct cvmx_gmxx_txx_stat2_s cn56xxp1;
5016 struct cvmx_gmxx_txx_stat2_s cn58xx;
5017 struct cvmx_gmxx_txx_stat2_s cn58xxp1;
5018 struct cvmx_gmxx_txx_stat2_s cn61xx;
5019 struct cvmx_gmxx_txx_stat2_s cn63xx;
5020 struct cvmx_gmxx_txx_stat2_s cn63xxp1;
5021 struct cvmx_gmxx_txx_stat2_s cn66xx;
5022 struct cvmx_gmxx_txx_stat2_s cn68xx;
5023 struct cvmx_gmxx_txx_stat2_s cn68xxp1;
5024 struct cvmx_gmxx_txx_stat2_s cn70xx;
5025 struct cvmx_gmxx_txx_stat2_s cn70xxp1;
5026 struct cvmx_gmxx_txx_stat2_s cnf71xx;
5027};
5028
5029typedef union cvmx_gmxx_txx_stat2 cvmx_gmxx_txx_stat2_t;
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041union cvmx_gmxx_txx_stat3 {
5042 u64 u64;
5043 struct cvmx_gmxx_txx_stat3_s {
5044 u64 reserved_32_63 : 32;
5045 u64 pkts : 32;
5046 } s;
5047 struct cvmx_gmxx_txx_stat3_s cn30xx;
5048 struct cvmx_gmxx_txx_stat3_s cn31xx;
5049 struct cvmx_gmxx_txx_stat3_s cn38xx;
5050 struct cvmx_gmxx_txx_stat3_s cn38xxp2;
5051 struct cvmx_gmxx_txx_stat3_s cn50xx;
5052 struct cvmx_gmxx_txx_stat3_s cn52xx;
5053 struct cvmx_gmxx_txx_stat3_s cn52xxp1;
5054 struct cvmx_gmxx_txx_stat3_s cn56xx;
5055 struct cvmx_gmxx_txx_stat3_s cn56xxp1;
5056 struct cvmx_gmxx_txx_stat3_s cn58xx;
5057 struct cvmx_gmxx_txx_stat3_s cn58xxp1;
5058 struct cvmx_gmxx_txx_stat3_s cn61xx;
5059 struct cvmx_gmxx_txx_stat3_s cn63xx;
5060 struct cvmx_gmxx_txx_stat3_s cn63xxp1;
5061 struct cvmx_gmxx_txx_stat3_s cn66xx;
5062 struct cvmx_gmxx_txx_stat3_s cn68xx;
5063 struct cvmx_gmxx_txx_stat3_s cn68xxp1;
5064 struct cvmx_gmxx_txx_stat3_s cn70xx;
5065 struct cvmx_gmxx_txx_stat3_s cn70xxp1;
5066 struct cvmx_gmxx_txx_stat3_s cnf71xx;
5067};
5068
5069typedef union cvmx_gmxx_txx_stat3 cvmx_gmxx_txx_stat3_t;
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084union cvmx_gmxx_txx_stat4 {
5085 u64 u64;
5086 struct cvmx_gmxx_txx_stat4_s {
5087 u64 hist1 : 32;
5088 u64 hist0 : 32;
5089 } s;
5090 struct cvmx_gmxx_txx_stat4_s cn30xx;
5091 struct cvmx_gmxx_txx_stat4_s cn31xx;
5092 struct cvmx_gmxx_txx_stat4_s cn38xx;
5093 struct cvmx_gmxx_txx_stat4_s cn38xxp2;
5094 struct cvmx_gmxx_txx_stat4_s cn50xx;
5095 struct cvmx_gmxx_txx_stat4_s cn52xx;
5096 struct cvmx_gmxx_txx_stat4_s cn52xxp1;
5097 struct cvmx_gmxx_txx_stat4_s cn56xx;
5098 struct cvmx_gmxx_txx_stat4_s cn56xxp1;
5099 struct cvmx_gmxx_txx_stat4_s cn58xx;
5100 struct cvmx_gmxx_txx_stat4_s cn58xxp1;
5101 struct cvmx_gmxx_txx_stat4_s cn61xx;
5102 struct cvmx_gmxx_txx_stat4_s cn63xx;
5103 struct cvmx_gmxx_txx_stat4_s cn63xxp1;
5104 struct cvmx_gmxx_txx_stat4_s cn66xx;
5105 struct cvmx_gmxx_txx_stat4_s cn68xx;
5106 struct cvmx_gmxx_txx_stat4_s cn68xxp1;
5107 struct cvmx_gmxx_txx_stat4_s cn70xx;
5108 struct cvmx_gmxx_txx_stat4_s cn70xxp1;
5109 struct cvmx_gmxx_txx_stat4_s cnf71xx;
5110};
5111
5112typedef union cvmx_gmxx_txx_stat4 cvmx_gmxx_txx_stat4_t;
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127union cvmx_gmxx_txx_stat5 {
5128 u64 u64;
5129 struct cvmx_gmxx_txx_stat5_s {
5130 u64 hist3 : 32;
5131 u64 hist2 : 32;
5132 } s;
5133 struct cvmx_gmxx_txx_stat5_s cn30xx;
5134 struct cvmx_gmxx_txx_stat5_s cn31xx;
5135 struct cvmx_gmxx_txx_stat5_s cn38xx;
5136 struct cvmx_gmxx_txx_stat5_s cn38xxp2;
5137 struct cvmx_gmxx_txx_stat5_s cn50xx;
5138 struct cvmx_gmxx_txx_stat5_s cn52xx;
5139 struct cvmx_gmxx_txx_stat5_s cn52xxp1;
5140 struct cvmx_gmxx_txx_stat5_s cn56xx;
5141 struct cvmx_gmxx_txx_stat5_s cn56xxp1;
5142 struct cvmx_gmxx_txx_stat5_s cn58xx;
5143 struct cvmx_gmxx_txx_stat5_s cn58xxp1;
5144 struct cvmx_gmxx_txx_stat5_s cn61xx;
5145 struct cvmx_gmxx_txx_stat5_s cn63xx;
5146 struct cvmx_gmxx_txx_stat5_s cn63xxp1;
5147 struct cvmx_gmxx_txx_stat5_s cn66xx;
5148 struct cvmx_gmxx_txx_stat5_s cn68xx;
5149 struct cvmx_gmxx_txx_stat5_s cn68xxp1;
5150 struct cvmx_gmxx_txx_stat5_s cn70xx;
5151 struct cvmx_gmxx_txx_stat5_s cn70xxp1;
5152 struct cvmx_gmxx_txx_stat5_s cnf71xx;
5153};
5154
5155typedef union cvmx_gmxx_txx_stat5 cvmx_gmxx_txx_stat5_t;
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170union cvmx_gmxx_txx_stat6 {
5171 u64 u64;
5172 struct cvmx_gmxx_txx_stat6_s {
5173 u64 hist5 : 32;
5174 u64 hist4 : 32;
5175 } s;
5176 struct cvmx_gmxx_txx_stat6_s cn30xx;
5177 struct cvmx_gmxx_txx_stat6_s cn31xx;
5178 struct cvmx_gmxx_txx_stat6_s cn38xx;
5179 struct cvmx_gmxx_txx_stat6_s cn38xxp2;
5180 struct cvmx_gmxx_txx_stat6_s cn50xx;
5181 struct cvmx_gmxx_txx_stat6_s cn52xx;
5182 struct cvmx_gmxx_txx_stat6_s cn52xxp1;
5183 struct cvmx_gmxx_txx_stat6_s cn56xx;
5184 struct cvmx_gmxx_txx_stat6_s cn56xxp1;
5185 struct cvmx_gmxx_txx_stat6_s cn58xx;
5186 struct cvmx_gmxx_txx_stat6_s cn58xxp1;
5187 struct cvmx_gmxx_txx_stat6_s cn61xx;
5188 struct cvmx_gmxx_txx_stat6_s cn63xx;
5189 struct cvmx_gmxx_txx_stat6_s cn63xxp1;
5190 struct cvmx_gmxx_txx_stat6_s cn66xx;
5191 struct cvmx_gmxx_txx_stat6_s cn68xx;
5192 struct cvmx_gmxx_txx_stat6_s cn68xxp1;
5193 struct cvmx_gmxx_txx_stat6_s cn70xx;
5194 struct cvmx_gmxx_txx_stat6_s cn70xxp1;
5195 struct cvmx_gmxx_txx_stat6_s cnf71xx;
5196};
5197
5198typedef union cvmx_gmxx_txx_stat6 cvmx_gmxx_txx_stat6_t;
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213union cvmx_gmxx_txx_stat7 {
5214 u64 u64;
5215 struct cvmx_gmxx_txx_stat7_s {
5216 u64 hist7 : 32;
5217 u64 hist6 : 32;
5218 } s;
5219 struct cvmx_gmxx_txx_stat7_s cn30xx;
5220 struct cvmx_gmxx_txx_stat7_s cn31xx;
5221 struct cvmx_gmxx_txx_stat7_s cn38xx;
5222 struct cvmx_gmxx_txx_stat7_s cn38xxp2;
5223 struct cvmx_gmxx_txx_stat7_s cn50xx;
5224 struct cvmx_gmxx_txx_stat7_s cn52xx;
5225 struct cvmx_gmxx_txx_stat7_s cn52xxp1;
5226 struct cvmx_gmxx_txx_stat7_s cn56xx;
5227 struct cvmx_gmxx_txx_stat7_s cn56xxp1;
5228 struct cvmx_gmxx_txx_stat7_s cn58xx;
5229 struct cvmx_gmxx_txx_stat7_s cn58xxp1;
5230 struct cvmx_gmxx_txx_stat7_s cn61xx;
5231 struct cvmx_gmxx_txx_stat7_s cn63xx;
5232 struct cvmx_gmxx_txx_stat7_s cn63xxp1;
5233 struct cvmx_gmxx_txx_stat7_s cn66xx;
5234 struct cvmx_gmxx_txx_stat7_s cn68xx;
5235 struct cvmx_gmxx_txx_stat7_s cn68xxp1;
5236 struct cvmx_gmxx_txx_stat7_s cn70xx;
5237 struct cvmx_gmxx_txx_stat7_s cn70xxp1;
5238 struct cvmx_gmxx_txx_stat7_s cnf71xx;
5239};
5240
5241typedef union cvmx_gmxx_txx_stat7 cvmx_gmxx_txx_stat7_t;
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258union cvmx_gmxx_txx_stat8 {
5259 u64 u64;
5260 struct cvmx_gmxx_txx_stat8_s {
5261 u64 mcst : 32;
5262 u64 bcst : 32;
5263 } s;
5264 struct cvmx_gmxx_txx_stat8_s cn30xx;
5265 struct cvmx_gmxx_txx_stat8_s cn31xx;
5266 struct cvmx_gmxx_txx_stat8_s cn38xx;
5267 struct cvmx_gmxx_txx_stat8_s cn38xxp2;
5268 struct cvmx_gmxx_txx_stat8_s cn50xx;
5269 struct cvmx_gmxx_txx_stat8_s cn52xx;
5270 struct cvmx_gmxx_txx_stat8_s cn52xxp1;
5271 struct cvmx_gmxx_txx_stat8_s cn56xx;
5272 struct cvmx_gmxx_txx_stat8_s cn56xxp1;
5273 struct cvmx_gmxx_txx_stat8_s cn58xx;
5274 struct cvmx_gmxx_txx_stat8_s cn58xxp1;
5275 struct cvmx_gmxx_txx_stat8_s cn61xx;
5276 struct cvmx_gmxx_txx_stat8_s cn63xx;
5277 struct cvmx_gmxx_txx_stat8_s cn63xxp1;
5278 struct cvmx_gmxx_txx_stat8_s cn66xx;
5279 struct cvmx_gmxx_txx_stat8_s cn68xx;
5280 struct cvmx_gmxx_txx_stat8_s cn68xxp1;
5281 struct cvmx_gmxx_txx_stat8_s cn70xx;
5282 struct cvmx_gmxx_txx_stat8_s cn70xxp1;
5283 struct cvmx_gmxx_txx_stat8_s cnf71xx;
5284};
5285
5286typedef union cvmx_gmxx_txx_stat8 cvmx_gmxx_txx_stat8_t;
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298union cvmx_gmxx_txx_stat9 {
5299 u64 u64;
5300 struct cvmx_gmxx_txx_stat9_s {
5301 u64 undflw : 32;
5302 u64 ctl : 32;
5303 } s;
5304 struct cvmx_gmxx_txx_stat9_s cn30xx;
5305 struct cvmx_gmxx_txx_stat9_s cn31xx;
5306 struct cvmx_gmxx_txx_stat9_s cn38xx;
5307 struct cvmx_gmxx_txx_stat9_s cn38xxp2;
5308 struct cvmx_gmxx_txx_stat9_s cn50xx;
5309 struct cvmx_gmxx_txx_stat9_s cn52xx;
5310 struct cvmx_gmxx_txx_stat9_s cn52xxp1;
5311 struct cvmx_gmxx_txx_stat9_s cn56xx;
5312 struct cvmx_gmxx_txx_stat9_s cn56xxp1;
5313 struct cvmx_gmxx_txx_stat9_s cn58xx;
5314 struct cvmx_gmxx_txx_stat9_s cn58xxp1;
5315 struct cvmx_gmxx_txx_stat9_s cn61xx;
5316 struct cvmx_gmxx_txx_stat9_s cn63xx;
5317 struct cvmx_gmxx_txx_stat9_s cn63xxp1;
5318 struct cvmx_gmxx_txx_stat9_s cn66xx;
5319 struct cvmx_gmxx_txx_stat9_s cn68xx;
5320 struct cvmx_gmxx_txx_stat9_s cn68xxp1;
5321 struct cvmx_gmxx_txx_stat9_s cn70xx;
5322 struct cvmx_gmxx_txx_stat9_s cn70xxp1;
5323 struct cvmx_gmxx_txx_stat9_s cnf71xx;
5324};
5325
5326typedef union cvmx_gmxx_txx_stat9 cvmx_gmxx_txx_stat9_t;
5327
5328
5329
5330
5331
5332
5333
5334union cvmx_gmxx_txx_stats_ctl {
5335 u64 u64;
5336 struct cvmx_gmxx_txx_stats_ctl_s {
5337 u64 reserved_1_63 : 63;
5338 u64 rd_clr : 1;
5339 } s;
5340 struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
5341 struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
5342 struct cvmx_gmxx_txx_stats_ctl_s cn38xx;
5343 struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2;
5344 struct cvmx_gmxx_txx_stats_ctl_s cn50xx;
5345 struct cvmx_gmxx_txx_stats_ctl_s cn52xx;
5346 struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1;
5347 struct cvmx_gmxx_txx_stats_ctl_s cn56xx;
5348 struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
5349 struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
5350 struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1;
5351 struct cvmx_gmxx_txx_stats_ctl_s cn61xx;
5352 struct cvmx_gmxx_txx_stats_ctl_s cn63xx;
5353 struct cvmx_gmxx_txx_stats_ctl_s cn63xxp1;
5354 struct cvmx_gmxx_txx_stats_ctl_s cn66xx;
5355 struct cvmx_gmxx_txx_stats_ctl_s cn68xx;
5356 struct cvmx_gmxx_txx_stats_ctl_s cn68xxp1;
5357 struct cvmx_gmxx_txx_stats_ctl_s cn70xx;
5358 struct cvmx_gmxx_txx_stats_ctl_s cn70xxp1;
5359 struct cvmx_gmxx_txx_stats_ctl_s cnf71xx;
5360};
5361
5362typedef union cvmx_gmxx_txx_stats_ctl cvmx_gmxx_txx_stats_ctl_t;
5363
5364
5365
5366
5367
5368
5369
5370union cvmx_gmxx_txx_thresh {
5371 u64 u64;
5372 struct cvmx_gmxx_txx_thresh_s {
5373 u64 reserved_10_63 : 54;
5374 u64 cnt : 10;
5375 } s;
5376 struct cvmx_gmxx_txx_thresh_cn30xx {
5377 u64 reserved_7_63 : 57;
5378 u64 cnt : 7;
5379 } cn30xx;
5380 struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
5381 struct cvmx_gmxx_txx_thresh_cn38xx {
5382 u64 reserved_9_63 : 55;
5383 u64 cnt : 9;
5384 } cn38xx;
5385 struct cvmx_gmxx_txx_thresh_cn38xx cn38xxp2;
5386 struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
5387 struct cvmx_gmxx_txx_thresh_cn38xx cn52xx;
5388 struct cvmx_gmxx_txx_thresh_cn38xx cn52xxp1;
5389 struct cvmx_gmxx_txx_thresh_cn38xx cn56xx;
5390 struct cvmx_gmxx_txx_thresh_cn38xx cn56xxp1;
5391 struct cvmx_gmxx_txx_thresh_cn38xx cn58xx;
5392 struct cvmx_gmxx_txx_thresh_cn38xx cn58xxp1;
5393 struct cvmx_gmxx_txx_thresh_cn38xx cn61xx;
5394 struct cvmx_gmxx_txx_thresh_cn38xx cn63xx;
5395 struct cvmx_gmxx_txx_thresh_cn38xx cn63xxp1;
5396 struct cvmx_gmxx_txx_thresh_cn38xx cn66xx;
5397 struct cvmx_gmxx_txx_thresh_s cn68xx;
5398 struct cvmx_gmxx_txx_thresh_s cn68xxp1;
5399 struct cvmx_gmxx_txx_thresh_cn38xx cn70xx;
5400 struct cvmx_gmxx_txx_thresh_cn38xx cn70xxp1;
5401 struct cvmx_gmxx_txx_thresh_cn38xx cnf71xx;
5402};
5403
5404typedef union cvmx_gmxx_txx_thresh cvmx_gmxx_txx_thresh_t;
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416union cvmx_gmxx_tx_bp {
5417 u64 u64;
5418 struct cvmx_gmxx_tx_bp_s {
5419 u64 reserved_4_63 : 60;
5420 u64 bp : 4;
5421 } s;
5422 struct cvmx_gmxx_tx_bp_cn30xx {
5423 u64 reserved_3_63 : 61;
5424 u64 bp : 3;
5425 } cn30xx;
5426 struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
5427 struct cvmx_gmxx_tx_bp_s cn38xx;
5428 struct cvmx_gmxx_tx_bp_s cn38xxp2;
5429 struct cvmx_gmxx_tx_bp_cn30xx cn50xx;
5430 struct cvmx_gmxx_tx_bp_s cn52xx;
5431 struct cvmx_gmxx_tx_bp_s cn52xxp1;
5432 struct cvmx_gmxx_tx_bp_s cn56xx;
5433 struct cvmx_gmxx_tx_bp_s cn56xxp1;
5434 struct cvmx_gmxx_tx_bp_s cn58xx;
5435 struct cvmx_gmxx_tx_bp_s cn58xxp1;
5436 struct cvmx_gmxx_tx_bp_s cn61xx;
5437 struct cvmx_gmxx_tx_bp_s cn63xx;
5438 struct cvmx_gmxx_tx_bp_s cn63xxp1;
5439 struct cvmx_gmxx_tx_bp_s cn66xx;
5440 struct cvmx_gmxx_tx_bp_s cn68xx;
5441 struct cvmx_gmxx_tx_bp_s cn68xxp1;
5442 struct cvmx_gmxx_tx_bp_s cn70xx;
5443 struct cvmx_gmxx_tx_bp_s cn70xxp1;
5444 struct cvmx_gmxx_tx_bp_cnf71xx {
5445 u64 reserved_2_63 : 62;
5446 u64 bp : 2;
5447 } cnf71xx;
5448};
5449
5450typedef union cvmx_gmxx_tx_bp cvmx_gmxx_tx_bp_t;
5451
5452
5453
5454
5455
5456
5457
5458union cvmx_gmxx_tx_clk_mskx {
5459 u64 u64;
5460 struct cvmx_gmxx_tx_clk_mskx_s {
5461 u64 reserved_1_63 : 63;
5462 u64 msk : 1;
5463 } s;
5464 struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
5465 struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
5466};
5467
5468typedef union cvmx_gmxx_tx_clk_mskx cvmx_gmxx_tx_clk_mskx_t;
5469
5470
5471
5472
5473
5474
5475
5476union cvmx_gmxx_tx_col_attempt {
5477 u64 u64;
5478 struct cvmx_gmxx_tx_col_attempt_s {
5479 u64 reserved_5_63 : 59;
5480 u64 limit : 5;
5481 } s;
5482 struct cvmx_gmxx_tx_col_attempt_s cn30xx;
5483 struct cvmx_gmxx_tx_col_attempt_s cn31xx;
5484 struct cvmx_gmxx_tx_col_attempt_s cn38xx;
5485 struct cvmx_gmxx_tx_col_attempt_s cn38xxp2;
5486 struct cvmx_gmxx_tx_col_attempt_s cn50xx;
5487 struct cvmx_gmxx_tx_col_attempt_s cn52xx;
5488 struct cvmx_gmxx_tx_col_attempt_s cn52xxp1;
5489 struct cvmx_gmxx_tx_col_attempt_s cn56xx;
5490 struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
5491 struct cvmx_gmxx_tx_col_attempt_s cn58xx;
5492 struct cvmx_gmxx_tx_col_attempt_s cn58xxp1;
5493 struct cvmx_gmxx_tx_col_attempt_s cn61xx;
5494 struct cvmx_gmxx_tx_col_attempt_s cn63xx;
5495 struct cvmx_gmxx_tx_col_attempt_s cn63xxp1;
5496 struct cvmx_gmxx_tx_col_attempt_s cn66xx;
5497 struct cvmx_gmxx_tx_col_attempt_s cn68xx;
5498 struct cvmx_gmxx_tx_col_attempt_s cn68xxp1;
5499 struct cvmx_gmxx_tx_col_attempt_s cn70xx;
5500 struct cvmx_gmxx_tx_col_attempt_s cn70xxp1;
5501 struct cvmx_gmxx_tx_col_attempt_s cnf71xx;
5502};
5503
5504typedef union cvmx_gmxx_tx_col_attempt cvmx_gmxx_tx_col_attempt_t;
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521union cvmx_gmxx_tx_corrupt {
5522 u64 u64;
5523 struct cvmx_gmxx_tx_corrupt_s {
5524 u64 reserved_4_63 : 60;
5525 u64 corrupt : 4;
5526 } s;
5527 struct cvmx_gmxx_tx_corrupt_cn30xx {
5528 u64 reserved_3_63 : 61;
5529 u64 corrupt : 3;
5530 } cn30xx;
5531 struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
5532 struct cvmx_gmxx_tx_corrupt_s cn38xx;
5533 struct cvmx_gmxx_tx_corrupt_s cn38xxp2;
5534 struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx;
5535 struct cvmx_gmxx_tx_corrupt_s cn52xx;
5536 struct cvmx_gmxx_tx_corrupt_s cn52xxp1;
5537 struct cvmx_gmxx_tx_corrupt_s cn56xx;
5538 struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
5539 struct cvmx_gmxx_tx_corrupt_s cn58xx;
5540 struct cvmx_gmxx_tx_corrupt_s cn58xxp1;
5541 struct cvmx_gmxx_tx_corrupt_s cn61xx;
5542 struct cvmx_gmxx_tx_corrupt_s cn63xx;
5543 struct cvmx_gmxx_tx_corrupt_s cn63xxp1;
5544 struct cvmx_gmxx_tx_corrupt_s cn66xx;
5545 struct cvmx_gmxx_tx_corrupt_s cn68xx;
5546 struct cvmx_gmxx_tx_corrupt_s cn68xxp1;
5547 struct cvmx_gmxx_tx_corrupt_s cn70xx;
5548 struct cvmx_gmxx_tx_corrupt_s cn70xxp1;
5549 struct cvmx_gmxx_tx_corrupt_cnf71xx {
5550 u64 reserved_2_63 : 62;
5551 u64 corrupt : 2;
5552 } cnf71xx;
5553};
5554
5555typedef union cvmx_gmxx_tx_corrupt cvmx_gmxx_tx_corrupt_t;
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567union cvmx_gmxx_tx_hg2_reg1 {
5568 u64 u64;
5569 struct cvmx_gmxx_tx_hg2_reg1_s {
5570 u64 reserved_16_63 : 48;
5571 u64 tx_xof : 16;
5572 } s;
5573 struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
5574 struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
5575 struct cvmx_gmxx_tx_hg2_reg1_s cn56xx;
5576 struct cvmx_gmxx_tx_hg2_reg1_s cn61xx;
5577 struct cvmx_gmxx_tx_hg2_reg1_s cn63xx;
5578 struct cvmx_gmxx_tx_hg2_reg1_s cn63xxp1;
5579 struct cvmx_gmxx_tx_hg2_reg1_s cn66xx;
5580 struct cvmx_gmxx_tx_hg2_reg1_s cn68xx;
5581 struct cvmx_gmxx_tx_hg2_reg1_s cn68xxp1;
5582 struct cvmx_gmxx_tx_hg2_reg1_s cn70xx;
5583 struct cvmx_gmxx_tx_hg2_reg1_s cn70xxp1;
5584 struct cvmx_gmxx_tx_hg2_reg1_s cnf71xx;
5585};
5586
5587typedef union cvmx_gmxx_tx_hg2_reg1 cvmx_gmxx_tx_hg2_reg1_t;
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599union cvmx_gmxx_tx_hg2_reg2 {
5600 u64 u64;
5601 struct cvmx_gmxx_tx_hg2_reg2_s {
5602 u64 reserved_16_63 : 48;
5603 u64 tx_xon : 16;
5604 } s;
5605 struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
5606 struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
5607 struct cvmx_gmxx_tx_hg2_reg2_s cn56xx;
5608 struct cvmx_gmxx_tx_hg2_reg2_s cn61xx;
5609 struct cvmx_gmxx_tx_hg2_reg2_s cn63xx;
5610 struct cvmx_gmxx_tx_hg2_reg2_s cn63xxp1;
5611 struct cvmx_gmxx_tx_hg2_reg2_s cn66xx;
5612 struct cvmx_gmxx_tx_hg2_reg2_s cn68xx;
5613 struct cvmx_gmxx_tx_hg2_reg2_s cn68xxp1;
5614 struct cvmx_gmxx_tx_hg2_reg2_s cn70xx;
5615 struct cvmx_gmxx_tx_hg2_reg2_s cn70xxp1;
5616 struct cvmx_gmxx_tx_hg2_reg2_s cnf71xx;
5617};
5618
5619typedef union cvmx_gmxx_tx_hg2_reg2 cvmx_gmxx_tx_hg2_reg2_t;
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644union cvmx_gmxx_tx_ifg {
5645 u64 u64;
5646 struct cvmx_gmxx_tx_ifg_s {
5647 u64 reserved_8_63 : 56;
5648 u64 ifg2 : 4;
5649 u64 ifg1 : 4;
5650 } s;
5651 struct cvmx_gmxx_tx_ifg_s cn30xx;
5652 struct cvmx_gmxx_tx_ifg_s cn31xx;
5653 struct cvmx_gmxx_tx_ifg_s cn38xx;
5654 struct cvmx_gmxx_tx_ifg_s cn38xxp2;
5655 struct cvmx_gmxx_tx_ifg_s cn50xx;
5656 struct cvmx_gmxx_tx_ifg_s cn52xx;
5657 struct cvmx_gmxx_tx_ifg_s cn52xxp1;
5658 struct cvmx_gmxx_tx_ifg_s cn56xx;
5659 struct cvmx_gmxx_tx_ifg_s cn56xxp1;
5660 struct cvmx_gmxx_tx_ifg_s cn58xx;
5661 struct cvmx_gmxx_tx_ifg_s cn58xxp1;
5662 struct cvmx_gmxx_tx_ifg_s cn61xx;
5663 struct cvmx_gmxx_tx_ifg_s cn63xx;
5664 struct cvmx_gmxx_tx_ifg_s cn63xxp1;
5665 struct cvmx_gmxx_tx_ifg_s cn66xx;
5666 struct cvmx_gmxx_tx_ifg_s cn68xx;
5667 struct cvmx_gmxx_tx_ifg_s cn68xxp1;
5668 struct cvmx_gmxx_tx_ifg_s cn70xx;
5669 struct cvmx_gmxx_tx_ifg_s cn70xxp1;
5670 struct cvmx_gmxx_tx_ifg_s cnf71xx;
5671};
5672
5673typedef union cvmx_gmxx_tx_ifg cvmx_gmxx_tx_ifg_t;
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685union cvmx_gmxx_tx_int_en {
5686 u64 u64;
5687 struct cvmx_gmxx_tx_int_en_s {
5688 u64 reserved_25_63 : 39;
5689 u64 xchange : 1;
5690 u64 ptp_lost : 4;
5691 u64 late_col : 4;
5692 u64 xsdef : 4;
5693 u64 xscol : 4;
5694 u64 reserved_6_7 : 2;
5695 u64 undflw : 4;
5696 u64 reserved_1_1 : 1;
5697 u64 pko_nxa : 1;
5698 } s;
5699 struct cvmx_gmxx_tx_int_en_cn30xx {
5700 u64 reserved_19_63 : 45;
5701 u64 late_col : 3;
5702 u64 reserved_15_15 : 1;
5703 u64 xsdef : 3;
5704 u64 reserved_11_11 : 1;
5705 u64 xscol : 3;
5706 u64 reserved_5_7 : 3;
5707 u64 undflw : 3;
5708 u64 reserved_1_1 : 1;
5709 u64 pko_nxa : 1;
5710 } cn30xx;
5711 struct cvmx_gmxx_tx_int_en_cn31xx {
5712 u64 reserved_15_63 : 49;
5713 u64 xsdef : 3;
5714 u64 reserved_11_11 : 1;
5715 u64 xscol : 3;
5716 u64 reserved_5_7 : 3;
5717 u64 undflw : 3;
5718 u64 reserved_1_1 : 1;
5719 u64 pko_nxa : 1;
5720 } cn31xx;
5721 struct cvmx_gmxx_tx_int_en_cn38xx {
5722 u64 reserved_20_63 : 44;
5723 u64 late_col : 4;
5724 u64 xsdef : 4;
5725 u64 xscol : 4;
5726 u64 reserved_6_7 : 2;
5727 u64 undflw : 4;
5728 u64 ncb_nxa : 1;
5729 u64 pko_nxa : 1;
5730 } cn38xx;
5731 struct cvmx_gmxx_tx_int_en_cn38xxp2 {
5732 u64 reserved_16_63 : 48;
5733 u64 xsdef : 4;
5734 u64 xscol : 4;
5735 u64 reserved_6_7 : 2;
5736 u64 undflw : 4;
5737 u64 ncb_nxa : 1;
5738 u64 pko_nxa : 1;
5739 } cn38xxp2;
5740 struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
5741 struct cvmx_gmxx_tx_int_en_cn52xx {
5742 u64 reserved_20_63 : 44;
5743 u64 late_col : 4;
5744 u64 xsdef : 4;
5745 u64 xscol : 4;
5746 u64 reserved_6_7 : 2;
5747 u64 undflw : 4;
5748 u64 reserved_1_1 : 1;
5749 u64 pko_nxa : 1;
5750 } cn52xx;
5751 struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
5752 struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
5753 struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
5754 struct cvmx_gmxx_tx_int_en_cn38xx cn58xx;
5755 struct cvmx_gmxx_tx_int_en_cn38xx cn58xxp1;
5756 struct cvmx_gmxx_tx_int_en_s cn61xx;
5757 struct cvmx_gmxx_tx_int_en_cn63xx {
5758 u64 reserved_24_63 : 40;
5759 u64 ptp_lost : 4;
5760 u64 late_col : 4;
5761 u64 xsdef : 4;
5762 u64 xscol : 4;
5763 u64 reserved_6_7 : 2;
5764 u64 undflw : 4;
5765 u64 reserved_1_1 : 1;
5766 u64 pko_nxa : 1;
5767 } cn63xx;
5768 struct cvmx_gmxx_tx_int_en_cn63xx cn63xxp1;
5769 struct cvmx_gmxx_tx_int_en_s cn66xx;
5770 struct cvmx_gmxx_tx_int_en_cn68xx {
5771 u64 reserved_25_63 : 39;
5772 u64 xchange : 1;
5773 u64 ptp_lost : 4;
5774 u64 late_col : 4;
5775 u64 xsdef : 4;
5776 u64 xscol : 4;
5777 u64 reserved_6_7 : 2;
5778 u64 undflw : 4;
5779 u64 pko_nxp : 1;
5780 u64 pko_nxa : 1;
5781 } cn68xx;
5782 struct cvmx_gmxx_tx_int_en_cn68xx cn68xxp1;
5783 struct cvmx_gmxx_tx_int_en_s cn70xx;
5784 struct cvmx_gmxx_tx_int_en_s cn70xxp1;
5785 struct cvmx_gmxx_tx_int_en_cnf71xx {
5786 u64 reserved_25_63 : 39;
5787 u64 xchange : 1;
5788 u64 reserved_22_23 : 2;
5789 u64 ptp_lost : 2;
5790 u64 reserved_18_19 : 2;
5791 u64 late_col : 2;
5792 u64 reserved_14_15 : 2;
5793 u64 xsdef : 2;
5794 u64 reserved_10_11 : 2;
5795 u64 xscol : 2;
5796 u64 reserved_4_7 : 4;
5797 u64 undflw : 2;
5798 u64 reserved_1_1 : 1;
5799 u64 pko_nxa : 1;
5800 } cnf71xx;
5801};
5802
5803typedef union cvmx_gmxx_tx_int_en cvmx_gmxx_tx_int_en_t;
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815union cvmx_gmxx_tx_int_reg {
5816 u64 u64;
5817 struct cvmx_gmxx_tx_int_reg_s {
5818 u64 reserved_25_63 : 39;
5819 u64 xchange : 1;
5820 u64 ptp_lost : 4;
5821 u64 late_col : 4;
5822 u64 xsdef : 4;
5823 u64 xscol : 4;
5824 u64 reserved_6_7 : 2;
5825 u64 undflw : 4;
5826 u64 reserved_1_1 : 1;
5827 u64 pko_nxa : 1;
5828 } s;
5829 struct cvmx_gmxx_tx_int_reg_cn30xx {
5830 u64 reserved_19_63 : 45;
5831 u64 late_col : 3;
5832 u64 reserved_15_15 : 1;
5833 u64 xsdef : 3;
5834 u64 reserved_11_11 : 1;
5835 u64 xscol : 3;
5836 u64 reserved_5_7 : 3;
5837 u64 undflw : 3;
5838 u64 reserved_1_1 : 1;
5839 u64 pko_nxa : 1;
5840 } cn30xx;
5841 struct cvmx_gmxx_tx_int_reg_cn31xx {
5842 u64 reserved_15_63 : 49;
5843 u64 xsdef : 3;
5844 u64 reserved_11_11 : 1;
5845 u64 xscol : 3;
5846 u64 reserved_5_7 : 3;
5847 u64 undflw : 3;
5848 u64 reserved_1_1 : 1;
5849 u64 pko_nxa : 1;
5850 } cn31xx;
5851 struct cvmx_gmxx_tx_int_reg_cn38xx {
5852 u64 reserved_20_63 : 44;
5853 u64 late_col : 4;
5854 u64 xsdef : 4;
5855 u64 xscol : 4;
5856 u64 reserved_6_7 : 2;
5857 u64 undflw : 4;
5858 u64 ncb_nxa : 1;
5859 u64 pko_nxa : 1;
5860 } cn38xx;
5861 struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
5862 u64 reserved_16_63 : 48;
5863 u64 xsdef : 4;
5864 u64 xscol : 4;
5865 u64 reserved_6_7 : 2;
5866 u64 undflw : 4;
5867 u64 ncb_nxa : 1;
5868 u64 pko_nxa : 1;
5869 } cn38xxp2;
5870 struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
5871 struct cvmx_gmxx_tx_int_reg_cn52xx {
5872 u64 reserved_20_63 : 44;
5873 u64 late_col : 4;
5874 u64 xsdef : 4;
5875 u64 xscol : 4;
5876 u64 reserved_6_7 : 2;
5877 u64 undflw : 4;
5878 u64 reserved_1_1 : 1;
5879 u64 pko_nxa : 1;
5880 } cn52xx;
5881 struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
5882 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
5883 struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
5884 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xx;
5885 struct cvmx_gmxx_tx_int_reg_cn38xx cn58xxp1;
5886 struct cvmx_gmxx_tx_int_reg_s cn61xx;
5887 struct cvmx_gmxx_tx_int_reg_cn63xx {
5888 u64 reserved_24_63 : 40;
5889 u64 ptp_lost : 4;
5890 u64 late_col : 4;
5891 u64 xsdef : 4;
5892 u64 xscol : 4;
5893 u64 reserved_6_7 : 2;
5894 u64 undflw : 4;
5895 u64 reserved_1_1 : 1;
5896 u64 pko_nxa : 1;
5897 } cn63xx;
5898 struct cvmx_gmxx_tx_int_reg_cn63xx cn63xxp1;
5899 struct cvmx_gmxx_tx_int_reg_s cn66xx;
5900 struct cvmx_gmxx_tx_int_reg_cn68xx {
5901 u64 reserved_25_63 : 39;
5902 u64 xchange : 1;
5903 u64 ptp_lost : 4;
5904 u64 late_col : 4;
5905 u64 xsdef : 4;
5906 u64 xscol : 4;
5907 u64 reserved_6_7 : 2;
5908 u64 undflw : 4;
5909 u64 pko_nxp : 1;
5910 u64 pko_nxa : 1;
5911 } cn68xx;
5912 struct cvmx_gmxx_tx_int_reg_cn68xx cn68xxp1;
5913 struct cvmx_gmxx_tx_int_reg_s cn70xx;
5914 struct cvmx_gmxx_tx_int_reg_s cn70xxp1;
5915 struct cvmx_gmxx_tx_int_reg_cnf71xx {
5916 u64 reserved_25_63 : 39;
5917 u64 xchange : 1;
5918 u64 reserved_22_23 : 2;
5919 u64 ptp_lost : 2;
5920 u64 reserved_18_19 : 2;
5921 u64 late_col : 2;
5922 u64 reserved_14_15 : 2;
5923 u64 xsdef : 2;
5924 u64 reserved_10_11 : 2;
5925 u64 xscol : 2;
5926 u64 reserved_4_7 : 4;
5927 u64 undflw : 2;
5928 u64 reserved_1_1 : 1;
5929 u64 pko_nxa : 1;
5930 } cnf71xx;
5931};
5932
5933typedef union cvmx_gmxx_tx_int_reg cvmx_gmxx_tx_int_reg_t;
5934
5935
5936
5937
5938
5939
5940
5941union cvmx_gmxx_tx_jam {
5942 u64 u64;
5943 struct cvmx_gmxx_tx_jam_s {
5944 u64 reserved_8_63 : 56;
5945 u64 jam : 8;
5946 } s;
5947 struct cvmx_gmxx_tx_jam_s cn30xx;
5948 struct cvmx_gmxx_tx_jam_s cn31xx;
5949 struct cvmx_gmxx_tx_jam_s cn38xx;
5950 struct cvmx_gmxx_tx_jam_s cn38xxp2;
5951 struct cvmx_gmxx_tx_jam_s cn50xx;
5952 struct cvmx_gmxx_tx_jam_s cn52xx;
5953 struct cvmx_gmxx_tx_jam_s cn52xxp1;
5954 struct cvmx_gmxx_tx_jam_s cn56xx;
5955 struct cvmx_gmxx_tx_jam_s cn56xxp1;
5956 struct cvmx_gmxx_tx_jam_s cn58xx;
5957 struct cvmx_gmxx_tx_jam_s cn58xxp1;
5958 struct cvmx_gmxx_tx_jam_s cn61xx;
5959 struct cvmx_gmxx_tx_jam_s cn63xx;
5960 struct cvmx_gmxx_tx_jam_s cn63xxp1;
5961 struct cvmx_gmxx_tx_jam_s cn66xx;
5962 struct cvmx_gmxx_tx_jam_s cn68xx;
5963 struct cvmx_gmxx_tx_jam_s cn68xxp1;
5964 struct cvmx_gmxx_tx_jam_s cn70xx;
5965 struct cvmx_gmxx_tx_jam_s cn70xxp1;
5966 struct cvmx_gmxx_tx_jam_s cnf71xx;
5967};
5968
5969typedef union cvmx_gmxx_tx_jam cvmx_gmxx_tx_jam_t;
5970
5971
5972
5973
5974
5975
5976
5977union cvmx_gmxx_tx_lfsr {
5978 u64 u64;
5979 struct cvmx_gmxx_tx_lfsr_s {
5980 u64 reserved_16_63 : 48;
5981 u64 lfsr : 16;
5982 } s;
5983 struct cvmx_gmxx_tx_lfsr_s cn30xx;
5984 struct cvmx_gmxx_tx_lfsr_s cn31xx;
5985 struct cvmx_gmxx_tx_lfsr_s cn38xx;
5986 struct cvmx_gmxx_tx_lfsr_s cn38xxp2;
5987 struct cvmx_gmxx_tx_lfsr_s cn50xx;
5988 struct cvmx_gmxx_tx_lfsr_s cn52xx;
5989 struct cvmx_gmxx_tx_lfsr_s cn52xxp1;
5990 struct cvmx_gmxx_tx_lfsr_s cn56xx;
5991 struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
5992 struct cvmx_gmxx_tx_lfsr_s cn58xx;
5993 struct cvmx_gmxx_tx_lfsr_s cn58xxp1;
5994 struct cvmx_gmxx_tx_lfsr_s cn61xx;
5995 struct cvmx_gmxx_tx_lfsr_s cn63xx;
5996 struct cvmx_gmxx_tx_lfsr_s cn63xxp1;
5997 struct cvmx_gmxx_tx_lfsr_s cn66xx;
5998 struct cvmx_gmxx_tx_lfsr_s cn68xx;
5999 struct cvmx_gmxx_tx_lfsr_s cn68xxp1;
6000 struct cvmx_gmxx_tx_lfsr_s cn70xx;
6001 struct cvmx_gmxx_tx_lfsr_s cn70xxp1;
6002 struct cvmx_gmxx_tx_lfsr_s cnf71xx;
6003};
6004
6005typedef union cvmx_gmxx_tx_lfsr cvmx_gmxx_tx_lfsr_t;
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023union cvmx_gmxx_tx_ovr_bp {
6024 u64 u64;
6025 struct cvmx_gmxx_tx_ovr_bp_s {
6026 u64 reserved_48_63 : 16;
6027 u64 tx_prt_bp : 16;
6028 u64 reserved_12_31 : 20;
6029 u64 en : 4;
6030 u64 bp : 4;
6031 u64 ign_full : 4;
6032 } s;
6033 struct cvmx_gmxx_tx_ovr_bp_cn30xx {
6034 u64 reserved_11_63 : 53;
6035 u64 en : 3;
6036 u64 reserved_7_7 : 1;
6037 u64 bp : 3;
6038 u64 reserved_3_3 : 1;
6039 u64 ign_full : 3;
6040 } cn30xx;
6041 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
6042 struct cvmx_gmxx_tx_ovr_bp_cn38xx {
6043 u64 reserved_12_63 : 52;
6044 u64 en : 4;
6045 u64 bp : 4;
6046 u64 ign_full : 4;
6047 } cn38xx;
6048 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
6049 struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
6050 struct cvmx_gmxx_tx_ovr_bp_s cn52xx;
6051 struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1;
6052 struct cvmx_gmxx_tx_ovr_bp_s cn56xx;
6053 struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
6054 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
6055 struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1;
6056 struct cvmx_gmxx_tx_ovr_bp_s cn61xx;
6057 struct cvmx_gmxx_tx_ovr_bp_s cn63xx;
6058 struct cvmx_gmxx_tx_ovr_bp_s cn63xxp1;
6059 struct cvmx_gmxx_tx_ovr_bp_s cn66xx;
6060 struct cvmx_gmxx_tx_ovr_bp_s cn68xx;
6061 struct cvmx_gmxx_tx_ovr_bp_s cn68xxp1;
6062 struct cvmx_gmxx_tx_ovr_bp_s cn70xx;
6063 struct cvmx_gmxx_tx_ovr_bp_s cn70xxp1;
6064 struct cvmx_gmxx_tx_ovr_bp_cnf71xx {
6065 u64 reserved_48_63 : 16;
6066 u64 tx_prt_bp : 16;
6067 u64 reserved_10_31 : 22;
6068 u64 en : 2;
6069 u64 reserved_6_7 : 2;
6070 u64 bp : 2;
6071 u64 reserved_2_3 : 2;
6072 u64 ign_full : 2;
6073 } cnf71xx;
6074};
6075
6076typedef union cvmx_gmxx_tx_ovr_bp cvmx_gmxx_tx_ovr_bp_t;
6077
6078
6079
6080
6081
6082
6083
6084union cvmx_gmxx_tx_pause_pkt_dmac {
6085 u64 u64;
6086 struct cvmx_gmxx_tx_pause_pkt_dmac_s {
6087 u64 reserved_48_63 : 16;
6088 u64 dmac : 48;
6089 } s;
6090 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
6091 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
6092 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx;
6093 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2;
6094 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx;
6095 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx;
6096 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1;
6097 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx;
6098 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
6099 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
6100 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1;
6101 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn61xx;
6102 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xx;
6103 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xxp1;
6104 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn66xx;
6105 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xx;
6106 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xxp1;
6107 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn70xx;
6108 struct cvmx_gmxx_tx_pause_pkt_dmac_s cn70xxp1;
6109 struct cvmx_gmxx_tx_pause_pkt_dmac_s cnf71xx;
6110};
6111
6112typedef union cvmx_gmxx_tx_pause_pkt_dmac cvmx_gmxx_tx_pause_pkt_dmac_t;
6113
6114
6115
6116
6117
6118
6119
6120union cvmx_gmxx_tx_pause_pkt_type {
6121 u64 u64;
6122 struct cvmx_gmxx_tx_pause_pkt_type_s {
6123 u64 reserved_16_63 : 48;
6124 u64 type : 16;
6125 } s;
6126 struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
6127 struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
6128 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx;
6129 struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2;
6130 struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx;
6131 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx;
6132 struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1;
6133 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx;
6134 struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
6135 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
6136 struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1;
6137 struct cvmx_gmxx_tx_pause_pkt_type_s cn61xx;
6138 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xx;
6139 struct cvmx_gmxx_tx_pause_pkt_type_s cn63xxp1;
6140 struct cvmx_gmxx_tx_pause_pkt_type_s cn66xx;
6141 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xx;
6142 struct cvmx_gmxx_tx_pause_pkt_type_s cn68xxp1;
6143 struct cvmx_gmxx_tx_pause_pkt_type_s cn70xx;
6144 struct cvmx_gmxx_tx_pause_pkt_type_s cn70xxp1;
6145 struct cvmx_gmxx_tx_pause_pkt_type_s cnf71xx;
6146};
6147
6148typedef union cvmx_gmxx_tx_pause_pkt_type cvmx_gmxx_tx_pause_pkt_type_t;
6149
6150
6151
6152
6153
6154
6155
6156union cvmx_gmxx_tx_prts {
6157 u64 u64;
6158 struct cvmx_gmxx_tx_prts_s {
6159 u64 reserved_5_63 : 59;
6160 u64 prts : 5;
6161 } s;
6162 struct cvmx_gmxx_tx_prts_s cn30xx;
6163 struct cvmx_gmxx_tx_prts_s cn31xx;
6164 struct cvmx_gmxx_tx_prts_s cn38xx;
6165 struct cvmx_gmxx_tx_prts_s cn38xxp2;
6166 struct cvmx_gmxx_tx_prts_s cn50xx;
6167 struct cvmx_gmxx_tx_prts_s cn52xx;
6168 struct cvmx_gmxx_tx_prts_s cn52xxp1;
6169 struct cvmx_gmxx_tx_prts_s cn56xx;
6170 struct cvmx_gmxx_tx_prts_s cn56xxp1;
6171 struct cvmx_gmxx_tx_prts_s cn58xx;
6172 struct cvmx_gmxx_tx_prts_s cn58xxp1;
6173 struct cvmx_gmxx_tx_prts_s cn61xx;
6174 struct cvmx_gmxx_tx_prts_s cn63xx;
6175 struct cvmx_gmxx_tx_prts_s cn63xxp1;
6176 struct cvmx_gmxx_tx_prts_s cn66xx;
6177 struct cvmx_gmxx_tx_prts_s cn68xx;
6178 struct cvmx_gmxx_tx_prts_s cn68xxp1;
6179 struct cvmx_gmxx_tx_prts_s cn70xx;
6180 struct cvmx_gmxx_tx_prts_s cn70xxp1;
6181 struct cvmx_gmxx_tx_prts_s cnf71xx;
6182};
6183
6184typedef union cvmx_gmxx_tx_prts cvmx_gmxx_tx_prts_t;
6185
6186
6187
6188
6189
6190
6191
6192union cvmx_gmxx_tx_spi_ctl {
6193 u64 u64;
6194 struct cvmx_gmxx_tx_spi_ctl_s {
6195 u64 reserved_2_63 : 62;
6196 u64 tpa_clr : 1;
6197 u64 cont_pkt : 1;
6198 } s;
6199 struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
6200 struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
6201 struct cvmx_gmxx_tx_spi_ctl_s cn58xx;
6202 struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1;
6203};
6204
6205typedef union cvmx_gmxx_tx_spi_ctl cvmx_gmxx_tx_spi_ctl_t;
6206
6207
6208
6209
6210
6211
6212
6213union cvmx_gmxx_tx_spi_drain {
6214 u64 u64;
6215 struct cvmx_gmxx_tx_spi_drain_s {
6216 u64 reserved_16_63 : 48;
6217 u64 drain : 16;
6218 } s;
6219 struct cvmx_gmxx_tx_spi_drain_s cn38xx;
6220 struct cvmx_gmxx_tx_spi_drain_s cn58xx;
6221 struct cvmx_gmxx_tx_spi_drain_s cn58xxp1;
6222};
6223
6224typedef union cvmx_gmxx_tx_spi_drain cvmx_gmxx_tx_spi_drain_t;
6225
6226
6227
6228
6229
6230
6231
6232union cvmx_gmxx_tx_spi_max {
6233 u64 u64;
6234 struct cvmx_gmxx_tx_spi_max_s {
6235 u64 reserved_23_63 : 41;
6236 u64 slice : 7;
6237 u64 max2 : 8;
6238 u64 max1 : 8;
6239 } s;
6240 struct cvmx_gmxx_tx_spi_max_cn38xx {
6241 u64 reserved_16_63 : 48;
6242 u64 max2 : 8;
6243 u64 max1 : 8;
6244 } cn38xx;
6245 struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
6246 struct cvmx_gmxx_tx_spi_max_s cn58xx;
6247 struct cvmx_gmxx_tx_spi_max_s cn58xxp1;
6248};
6249
6250typedef union cvmx_gmxx_tx_spi_max cvmx_gmxx_tx_spi_max_t;
6251
6252
6253
6254
6255
6256
6257
6258union cvmx_gmxx_tx_spi_roundx {
6259 u64 u64;
6260 struct cvmx_gmxx_tx_spi_roundx_s {
6261 u64 reserved_16_63 : 48;
6262 u64 round : 16;
6263 } s;
6264 struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
6265 struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
6266};
6267
6268typedef union cvmx_gmxx_tx_spi_roundx cvmx_gmxx_tx_spi_roundx_t;
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285union cvmx_gmxx_tx_spi_thresh {
6286 u64 u64;
6287 struct cvmx_gmxx_tx_spi_thresh_s {
6288 u64 reserved_6_63 : 58;
6289 u64 thresh : 6;
6290 } s;
6291 struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
6292 struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
6293 struct cvmx_gmxx_tx_spi_thresh_s cn58xx;
6294 struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1;
6295};
6296
6297typedef union cvmx_gmxx_tx_spi_thresh cvmx_gmxx_tx_spi_thresh_t;
6298
6299
6300
6301
6302union cvmx_gmxx_tx_xaui_ctl {
6303 u64 u64;
6304 struct cvmx_gmxx_tx_xaui_ctl_s {
6305 u64 reserved_11_63 : 53;
6306 u64 hg_pause_hgi : 2;
6307 u64 hg_en : 1;
6308 u64 reserved_7_7 : 1;
6309 u64 ls_byp : 1;
6310 u64 ls : 2;
6311 u64 reserved_2_3 : 2;
6312 u64 uni_en : 1;
6313 u64 dic_en : 1;
6314 } s;
6315 struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
6316 struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
6317 struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
6318 struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1;
6319 struct cvmx_gmxx_tx_xaui_ctl_s cn61xx;
6320 struct cvmx_gmxx_tx_xaui_ctl_s cn63xx;
6321 struct cvmx_gmxx_tx_xaui_ctl_s cn63xxp1;
6322 struct cvmx_gmxx_tx_xaui_ctl_s cn66xx;
6323 struct cvmx_gmxx_tx_xaui_ctl_s cn68xx;
6324 struct cvmx_gmxx_tx_xaui_ctl_s cn68xxp1;
6325 struct cvmx_gmxx_tx_xaui_ctl_s cn70xx;
6326 struct cvmx_gmxx_tx_xaui_ctl_s cn70xxp1;
6327 struct cvmx_gmxx_tx_xaui_ctl_s cnf71xx;
6328};
6329
6330typedef union cvmx_gmxx_tx_xaui_ctl cvmx_gmxx_tx_xaui_ctl_t;
6331
6332
6333
6334
6335union cvmx_gmxx_wol_ctl {
6336 u64 u64;
6337 struct cvmx_gmxx_wol_ctl_s {
6338 u64 reserved_36_63 : 28;
6339 u64 magic_en : 4;
6340 u64 reserved_20_31 : 12;
6341 u64 direct_en : 4;
6342 u64 reserved_1_15 : 15;
6343 u64 en : 1;
6344 } s;
6345 struct cvmx_gmxx_wol_ctl_s cn70xx;
6346 struct cvmx_gmxx_wol_ctl_s cn70xxp1;
6347};
6348
6349typedef union cvmx_gmxx_wol_ctl cvmx_gmxx_wol_ctl_t;
6350
6351
6352
6353
6354union cvmx_gmxx_xaui_ext_loopback {
6355 u64 u64;
6356 struct cvmx_gmxx_xaui_ext_loopback_s {
6357 u64 reserved_5_63 : 59;
6358 u64 en : 1;
6359 u64 thresh : 4;
6360 } s;
6361 struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
6362 struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
6363 struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
6364 struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1;
6365 struct cvmx_gmxx_xaui_ext_loopback_s cn61xx;
6366 struct cvmx_gmxx_xaui_ext_loopback_s cn63xx;
6367 struct cvmx_gmxx_xaui_ext_loopback_s cn63xxp1;
6368 struct cvmx_gmxx_xaui_ext_loopback_s cn66xx;
6369 struct cvmx_gmxx_xaui_ext_loopback_s cn68xx;
6370 struct cvmx_gmxx_xaui_ext_loopback_s cn68xxp1;
6371 struct cvmx_gmxx_xaui_ext_loopback_s cn70xx;
6372 struct cvmx_gmxx_xaui_ext_loopback_s cn70xxp1;
6373 struct cvmx_gmxx_xaui_ext_loopback_s cnf71xx;
6374};
6375
6376typedef union cvmx_gmxx_xaui_ext_loopback cvmx_gmxx_xaui_ext_loopback_t;
6377
6378#endif
6379