blob: 1e3e045cbe6ed4085aee6495aa70d50f9377bd87 [file] [log] [blame]
Aaron Williamsa1fd81b2020-12-11 17:05:40 +01001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2020 Marvell International Ltd.
4 *
5 * Configuration and status register (CSR) type definitions for
6 * Octeon pciercx.
7 */
8
9#ifndef __CVMX_PCIERCX_DEFS_H__
10#define __CVMX_PCIERCX_DEFS_H__
11
12static inline u64 CVMX_PCIERCX_CFG000(unsigned long offset)
13{
14 switch (cvmx_get_octeon_family()) {
15 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
16 return 0x0000020000000000ull + (offset) * 0x100000000ull;
17 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
18 return 0x0000020000000000ull + (offset) * 0x100000000ull;
19 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
20 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
21 return 0x0000020000000000ull + (offset) * 0x100000000ull;
22 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
23 return 0x0000020000000000ull + (offset) * 0x100000000ull;
24 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
25 return 0x0000020000000000ull + (offset) * 0x100000000ull;
26 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
27 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
28 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
29 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
30 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
31 return 0x0000000000000000ull;
32 }
33 return 0x0000020000000000ull + (offset) * 0x100000000ull;
34}
35
36static inline u64 CVMX_PCIERCX_CFG001(unsigned long offset)
37{
38 switch (cvmx_get_octeon_family()) {
39 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
40 return 0x0000020000000004ull + (offset) * 0x100000000ull;
41 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
42 return 0x0000020000000004ull + (offset) * 0x100000000ull;
43 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
44 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
45 return 0x0000020000000004ull + (offset) * 0x100000000ull;
46 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
47 return 0x0000020000000004ull + (offset) * 0x100000000ull;
48 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
49 return 0x0000020000000004ull + (offset) * 0x100000000ull;
50 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
51 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
52 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
53 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
54 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
55 return 0x0000000000000004ull;
56 }
57 return 0x0000020000000004ull + (offset) * 0x100000000ull;
58}
59
60static inline u64 CVMX_PCIERCX_CFG002(unsigned long offset)
61{
62 switch (cvmx_get_octeon_family()) {
63 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
64 return 0x0000020000000008ull + (offset) * 0x100000000ull;
65 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
66 return 0x0000020000000008ull + (offset) * 0x100000000ull;
67 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
68 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
69 return 0x0000020000000008ull + (offset) * 0x100000000ull;
70 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
71 return 0x0000020000000008ull + (offset) * 0x100000000ull;
72 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
73 return 0x0000020000000008ull + (offset) * 0x100000000ull;
74 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
75 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
76 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
77 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
78 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
79 return 0x0000000000000008ull;
80 }
81 return 0x0000020000000008ull + (offset) * 0x100000000ull;
82}
83
84static inline u64 CVMX_PCIERCX_CFG003(unsigned long offset)
85{
86 switch (cvmx_get_octeon_family()) {
87 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
88 return 0x000002000000000Cull + (offset) * 0x100000000ull;
89 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
90 return 0x000002000000000Cull + (offset) * 0x100000000ull;
91 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
92 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
93 return 0x000002000000000Cull + (offset) * 0x100000000ull;
94 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
95 return 0x000002000000000Cull + (offset) * 0x100000000ull;
96 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
97 return 0x000002000000000Cull + (offset) * 0x100000000ull;
98 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
99 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
100 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
101 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
102 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
103 return 0x000000000000000Cull;
104 }
105 return 0x000002000000000Cull + (offset) * 0x100000000ull;
106}
107
108static inline u64 CVMX_PCIERCX_CFG004(unsigned long offset)
109{
110 switch (cvmx_get_octeon_family()) {
111 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
112 return 0x0000020000000010ull + (offset) * 0x100000000ull;
113 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
114 return 0x0000020000000010ull + (offset) * 0x100000000ull;
115 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
116 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
117 return 0x0000020000000010ull + (offset) * 0x100000000ull;
118 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
119 return 0x0000020000000010ull + (offset) * 0x100000000ull;
120 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
121 return 0x0000020000000010ull + (offset) * 0x100000000ull;
122 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
123 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
124 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
125 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
126 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
127 return 0x0000000000000010ull;
128 }
129 return 0x0000020000000010ull + (offset) * 0x100000000ull;
130}
131
132static inline u64 CVMX_PCIERCX_CFG005(unsigned long offset)
133{
134 switch (cvmx_get_octeon_family()) {
135 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
136 return 0x0000020000000014ull + (offset) * 0x100000000ull;
137 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
138 return 0x0000020000000014ull + (offset) * 0x100000000ull;
139 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
140 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
141 return 0x0000020000000014ull + (offset) * 0x100000000ull;
142 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
143 return 0x0000020000000014ull + (offset) * 0x100000000ull;
144 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
145 return 0x0000020000000014ull + (offset) * 0x100000000ull;
146 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
147 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
148 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
149 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
150 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
151 return 0x0000000000000014ull;
152 }
153 return 0x0000020000000014ull + (offset) * 0x100000000ull;
154}
155
156static inline u64 CVMX_PCIERCX_CFG006(unsigned long offset)
157{
158 switch (cvmx_get_octeon_family()) {
159 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
160 return 0x0000020000000018ull + (offset) * 0x100000000ull;
161 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
162 return 0x0000020000000018ull + (offset) * 0x100000000ull;
163 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
164 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
165 return 0x0000020000000018ull + (offset) * 0x100000000ull;
166 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
167 return 0x0000020000000018ull + (offset) * 0x100000000ull;
168 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
169 return 0x0000020000000018ull + (offset) * 0x100000000ull;
170 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
171 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
172 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
173 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
174 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
175 return 0x0000000000000018ull;
176 }
177 return 0x0000020000000018ull + (offset) * 0x100000000ull;
178}
179
180static inline u64 CVMX_PCIERCX_CFG007(unsigned long offset)
181{
182 switch (cvmx_get_octeon_family()) {
183 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
184 return 0x000002000000001Cull + (offset) * 0x100000000ull;
185 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
186 return 0x000002000000001Cull + (offset) * 0x100000000ull;
187 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
188 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
189 return 0x000002000000001Cull + (offset) * 0x100000000ull;
190 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
191 return 0x000002000000001Cull + (offset) * 0x100000000ull;
192 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
193 return 0x000002000000001Cull + (offset) * 0x100000000ull;
194 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
195 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
196 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
197 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
198 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
199 return 0x000000000000001Cull;
200 }
201 return 0x000002000000001Cull + (offset) * 0x100000000ull;
202}
203
204static inline u64 CVMX_PCIERCX_CFG008(unsigned long offset)
205{
206 switch (cvmx_get_octeon_family()) {
207 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
208 return 0x0000020000000020ull + (offset) * 0x100000000ull;
209 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
210 return 0x0000020000000020ull + (offset) * 0x100000000ull;
211 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
212 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
213 return 0x0000020000000020ull + (offset) * 0x100000000ull;
214 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
215 return 0x0000020000000020ull + (offset) * 0x100000000ull;
216 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
217 return 0x0000020000000020ull + (offset) * 0x100000000ull;
218 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
219 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
220 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
221 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
222 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
223 return 0x0000000000000020ull;
224 }
225 return 0x0000020000000020ull + (offset) * 0x100000000ull;
226}
227
228static inline u64 CVMX_PCIERCX_CFG009(unsigned long offset)
229{
230 switch (cvmx_get_octeon_family()) {
231 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
232 return 0x0000020000000024ull + (offset) * 0x100000000ull;
233 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
234 return 0x0000020000000024ull + (offset) * 0x100000000ull;
235 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
236 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
237 return 0x0000020000000024ull + (offset) * 0x100000000ull;
238 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
239 return 0x0000020000000024ull + (offset) * 0x100000000ull;
240 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
241 return 0x0000020000000024ull + (offset) * 0x100000000ull;
242 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
243 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
244 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
245 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
246 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
247 return 0x0000000000000024ull;
248 }
249 return 0x0000020000000024ull + (offset) * 0x100000000ull;
250}
251
252static inline u64 CVMX_PCIERCX_CFG010(unsigned long offset)
253{
254 switch (cvmx_get_octeon_family()) {
255 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
256 return 0x0000020000000028ull + (offset) * 0x100000000ull;
257 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
258 return 0x0000020000000028ull + (offset) * 0x100000000ull;
259 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
260 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
261 return 0x0000020000000028ull + (offset) * 0x100000000ull;
262 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
263 return 0x0000020000000028ull + (offset) * 0x100000000ull;
264 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
265 return 0x0000020000000028ull + (offset) * 0x100000000ull;
266 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
267 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
268 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
269 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
270 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
271 return 0x0000000000000028ull;
272 }
273 return 0x0000020000000028ull + (offset) * 0x100000000ull;
274}
275
276static inline u64 CVMX_PCIERCX_CFG011(unsigned long offset)
277{
278 switch (cvmx_get_octeon_family()) {
279 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
280 return 0x000002000000002Cull + (offset) * 0x100000000ull;
281 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
282 return 0x000002000000002Cull + (offset) * 0x100000000ull;
283 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
284 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
285 return 0x000002000000002Cull + (offset) * 0x100000000ull;
286 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
287 return 0x000002000000002Cull + (offset) * 0x100000000ull;
288 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
289 return 0x000002000000002Cull + (offset) * 0x100000000ull;
290 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
291 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
292 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
293 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
294 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
295 return 0x000000000000002Cull;
296 }
297 return 0x000002000000002Cull + (offset) * 0x100000000ull;
298}
299
300static inline u64 CVMX_PCIERCX_CFG012(unsigned long offset)
301{
302 switch (cvmx_get_octeon_family()) {
303 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
304 return 0x0000020000000030ull + (offset) * 0x100000000ull;
305 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
306 return 0x0000020000000030ull + (offset) * 0x100000000ull;
307 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
308 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
309 return 0x0000020000000030ull + (offset) * 0x100000000ull;
310 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
311 return 0x0000020000000030ull + (offset) * 0x100000000ull;
312 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
313 return 0x0000020000000030ull + (offset) * 0x100000000ull;
314 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
315 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
316 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
317 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
318 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
319 return 0x0000000000000030ull;
320 }
321 return 0x0000020000000030ull + (offset) * 0x100000000ull;
322}
323
324static inline u64 CVMX_PCIERCX_CFG013(unsigned long offset)
325{
326 switch (cvmx_get_octeon_family()) {
327 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
328 return 0x0000020000000034ull + (offset) * 0x100000000ull;
329 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
330 return 0x0000020000000034ull + (offset) * 0x100000000ull;
331 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
332 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
333 return 0x0000020000000034ull + (offset) * 0x100000000ull;
334 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
335 return 0x0000020000000034ull + (offset) * 0x100000000ull;
336 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
337 return 0x0000020000000034ull + (offset) * 0x100000000ull;
338 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
339 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
340 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
341 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
342 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
343 return 0x0000000000000034ull;
344 }
345 return 0x0000020000000034ull + (offset) * 0x100000000ull;
346}
347
348static inline u64 CVMX_PCIERCX_CFG014(unsigned long offset)
349{
350 switch (cvmx_get_octeon_family()) {
351 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
352 return 0x0000020000000038ull + (offset) * 0x100000000ull;
353 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
354 return 0x0000020000000038ull + (offset) * 0x100000000ull;
355 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
356 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
357 return 0x0000020000000038ull + (offset) * 0x100000000ull;
358 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
359 return 0x0000020000000038ull + (offset) * 0x100000000ull;
360 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
361 return 0x0000020000000038ull + (offset) * 0x100000000ull;
362 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
363 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
364 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
365 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
366 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
367 return 0x0000000000000038ull;
368 }
369 return 0x0000020000000038ull + (offset) * 0x100000000ull;
370}
371
372static inline u64 CVMX_PCIERCX_CFG015(unsigned long offset)
373{
374 switch (cvmx_get_octeon_family()) {
375 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
376 return 0x000002000000003Cull + (offset) * 0x100000000ull;
377 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
378 return 0x000002000000003Cull + (offset) * 0x100000000ull;
379 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
380 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
381 return 0x000002000000003Cull + (offset) * 0x100000000ull;
382 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
383 return 0x000002000000003Cull + (offset) * 0x100000000ull;
384 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
385 return 0x000002000000003Cull + (offset) * 0x100000000ull;
386 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
387 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
388 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
389 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
390 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
391 return 0x000000000000003Cull;
392 }
393 return 0x000002000000003Cull + (offset) * 0x100000000ull;
394}
395
396static inline u64 CVMX_PCIERCX_CFG016(unsigned long offset)
397{
398 switch (cvmx_get_octeon_family()) {
399 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
400 return 0x0000020000000040ull + (offset) * 0x100000000ull;
401 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
402 return 0x0000020000000040ull + (offset) * 0x100000000ull;
403 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
404 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
405 return 0x0000020000000040ull + (offset) * 0x100000000ull;
406 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
407 return 0x0000020000000040ull + (offset) * 0x100000000ull;
408 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
409 return 0x0000020000000040ull + (offset) * 0x100000000ull;
410 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
411 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
412 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
413 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
414 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
415 return 0x0000000000000040ull;
416 }
417 return 0x0000020000000040ull + (offset) * 0x100000000ull;
418}
419
420static inline u64 CVMX_PCIERCX_CFG017(unsigned long offset)
421{
422 switch (cvmx_get_octeon_family()) {
423 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
424 return 0x0000020000000044ull + (offset) * 0x100000000ull;
425 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
426 return 0x0000020000000044ull + (offset) * 0x100000000ull;
427 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
428 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
429 return 0x0000020000000044ull + (offset) * 0x100000000ull;
430 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
431 return 0x0000020000000044ull + (offset) * 0x100000000ull;
432 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
433 return 0x0000020000000044ull + (offset) * 0x100000000ull;
434 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
435 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
436 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
437 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
438 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
439 return 0x0000000000000044ull;
440 }
441 return 0x0000020000000044ull + (offset) * 0x100000000ull;
442}
443
444static inline u64 CVMX_PCIERCX_CFG020(unsigned long offset)
445{
446 switch (cvmx_get_octeon_family()) {
447 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
448 return 0x0000020000000050ull + (offset) * 0x100000000ull;
449 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
450 return 0x0000020000000050ull + (offset) * 0x100000000ull;
451 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
452 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
453 return 0x0000020000000050ull + (offset) * 0x100000000ull;
454 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
455 return 0x0000020000000050ull + (offset) * 0x100000000ull;
456 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
457 return 0x0000020000000050ull + (offset) * 0x100000000ull;
458 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
459 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
460 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
461 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
462 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
463 return 0x0000000000000050ull;
464 }
465 return 0x0000020000000050ull + (offset) * 0x100000000ull;
466}
467
468static inline u64 CVMX_PCIERCX_CFG021(unsigned long offset)
469{
470 switch (cvmx_get_octeon_family()) {
471 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
472 return 0x0000020000000054ull + (offset) * 0x100000000ull;
473 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
474 return 0x0000020000000054ull + (offset) * 0x100000000ull;
475 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
476 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
477 return 0x0000020000000054ull + (offset) * 0x100000000ull;
478 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
479 return 0x0000020000000054ull + (offset) * 0x100000000ull;
480 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
481 return 0x0000020000000054ull + (offset) * 0x100000000ull;
482 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
483 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
484 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
485 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
486 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
487 return 0x0000000000000054ull;
488 }
489 return 0x0000020000000054ull + (offset) * 0x100000000ull;
490}
491
492static inline u64 CVMX_PCIERCX_CFG022(unsigned long offset)
493{
494 switch (cvmx_get_octeon_family()) {
495 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
496 return 0x0000020000000058ull + (offset) * 0x100000000ull;
497 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
498 return 0x0000020000000058ull + (offset) * 0x100000000ull;
499 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
500 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
501 return 0x0000020000000058ull + (offset) * 0x100000000ull;
502 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
503 return 0x0000020000000058ull + (offset) * 0x100000000ull;
504 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
505 return 0x0000020000000058ull + (offset) * 0x100000000ull;
506 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
507 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
508 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
509 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
510 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
511 return 0x0000000000000058ull;
512 }
513 return 0x0000020000000058ull + (offset) * 0x100000000ull;
514}
515
516static inline u64 CVMX_PCIERCX_CFG023(unsigned long offset)
517{
518 switch (cvmx_get_octeon_family()) {
519 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
520 return 0x000002000000005Cull + (offset) * 0x100000000ull;
521 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
522 return 0x000002000000005Cull + (offset) * 0x100000000ull;
523 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
524 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
525 return 0x000002000000005Cull + (offset) * 0x100000000ull;
526 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
527 return 0x000002000000005Cull + (offset) * 0x100000000ull;
528 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
529 return 0x000002000000005Cull + (offset) * 0x100000000ull;
530 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
531 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
532 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
533 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
534 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
535 return 0x000000000000005Cull;
536 }
537 return 0x000002000000005Cull + (offset) * 0x100000000ull;
538}
539
540static inline u64 CVMX_PCIERCX_CFG028(unsigned long offset)
541{
542 switch (cvmx_get_octeon_family()) {
543 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
544 return 0x0000020000000070ull + (offset) * 0x100000000ull;
545 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
546 return 0x0000020000000070ull + (offset) * 0x100000000ull;
547 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
548 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
549 return 0x0000020000000070ull + (offset) * 0x100000000ull;
550 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
551 return 0x0000020000000070ull + (offset) * 0x100000000ull;
552 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
553 return 0x0000020000000070ull + (offset) * 0x100000000ull;
554 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
555 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
556 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
557 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
558 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
559 return 0x0000000000000070ull;
560 }
561 return 0x0000020000000070ull + (offset) * 0x100000000ull;
562}
563
564static inline u64 CVMX_PCIERCX_CFG029(unsigned long offset)
565{
566 switch (cvmx_get_octeon_family()) {
567 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
568 return 0x0000020000000074ull + (offset) * 0x100000000ull;
569 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
570 return 0x0000020000000074ull + (offset) * 0x100000000ull;
571 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
572 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
573 return 0x0000020000000074ull + (offset) * 0x100000000ull;
574 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
575 return 0x0000020000000074ull + (offset) * 0x100000000ull;
576 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
577 return 0x0000020000000074ull + (offset) * 0x100000000ull;
578 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
579 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
580 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
581 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
582 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
583 return 0x0000000000000074ull;
584 }
585 return 0x0000020000000074ull + (offset) * 0x100000000ull;
586}
587
588static inline u64 CVMX_PCIERCX_CFG030(unsigned long offset)
589{
590 switch (cvmx_get_octeon_family()) {
591 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
592 return 0x0000020000000078ull + (offset) * 0x100000000ull;
593 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
594 return 0x0000020000000078ull + (offset) * 0x100000000ull;
595 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
596 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
597 return 0x0000020000000078ull + (offset) * 0x100000000ull;
598 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
599 return 0x0000020000000078ull + (offset) * 0x100000000ull;
600 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
601 return 0x0000020000000078ull + (offset) * 0x100000000ull;
602 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
603 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
604 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
605 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
606 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
607 return 0x0000000000000078ull;
608 }
609 return 0x0000020000000078ull + (offset) * 0x100000000ull;
610}
611
612static inline u64 CVMX_PCIERCX_CFG031(unsigned long offset)
613{
614 switch (cvmx_get_octeon_family()) {
615 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
616 return 0x000002000000007Cull + (offset) * 0x100000000ull;
617 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
618 return 0x000002000000007Cull + (offset) * 0x100000000ull;
619 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
620 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
621 return 0x000002000000007Cull + (offset) * 0x100000000ull;
622 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
623 return 0x000002000000007Cull + (offset) * 0x100000000ull;
624 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
625 return 0x000002000000007Cull + (offset) * 0x100000000ull;
626 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
627 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
628 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
629 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
630 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
631 return 0x000000000000007Cull;
632 }
633 return 0x000002000000007Cull + (offset) * 0x100000000ull;
634}
635
636static inline u64 CVMX_PCIERCX_CFG032(unsigned long offset)
637{
638 switch (cvmx_get_octeon_family()) {
639 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
640 return 0x0000020000000080ull + (offset) * 0x100000000ull;
641 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
642 return 0x0000020000000080ull + (offset) * 0x100000000ull;
643 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
644 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
645 return 0x0000020000000080ull + (offset) * 0x100000000ull;
646 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
647 return 0x0000020000000080ull + (offset) * 0x100000000ull;
648 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
649 return 0x0000020000000080ull + (offset) * 0x100000000ull;
650 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
651 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
652 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
653 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
654 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
655 return 0x0000000000000080ull;
656 }
657 return 0x0000020000000080ull + (offset) * 0x100000000ull;
658}
659
660static inline u64 CVMX_PCIERCX_CFG033(unsigned long offset)
661{
662 switch (cvmx_get_octeon_family()) {
663 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
664 return 0x0000020000000084ull + (offset) * 0x100000000ull;
665 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
666 return 0x0000020000000084ull + (offset) * 0x100000000ull;
667 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
668 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
669 return 0x0000020000000084ull + (offset) * 0x100000000ull;
670 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
671 return 0x0000020000000084ull + (offset) * 0x100000000ull;
672 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
673 return 0x0000020000000084ull + (offset) * 0x100000000ull;
674 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
675 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
676 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
677 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
678 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
679 return 0x0000000000000084ull;
680 }
681 return 0x0000020000000084ull + (offset) * 0x100000000ull;
682}
683
684static inline u64 CVMX_PCIERCX_CFG034(unsigned long offset)
685{
686 switch (cvmx_get_octeon_family()) {
687 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
688 return 0x0000020000000088ull + (offset) * 0x100000000ull;
689 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
690 return 0x0000020000000088ull + (offset) * 0x100000000ull;
691 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
692 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
693 return 0x0000020000000088ull + (offset) * 0x100000000ull;
694 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
695 return 0x0000020000000088ull + (offset) * 0x100000000ull;
696 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
697 return 0x0000020000000088ull + (offset) * 0x100000000ull;
698 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
699 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
700 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
701 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
702 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
703 return 0x0000000000000088ull;
704 }
705 return 0x0000020000000088ull + (offset) * 0x100000000ull;
706}
707
708static inline u64 CVMX_PCIERCX_CFG035(unsigned long offset)
709{
710 switch (cvmx_get_octeon_family()) {
711 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
712 return 0x000002000000008Cull + (offset) * 0x100000000ull;
713 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
714 return 0x000002000000008Cull + (offset) * 0x100000000ull;
715 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
716 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
717 return 0x000002000000008Cull + (offset) * 0x100000000ull;
718 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
719 return 0x000002000000008Cull + (offset) * 0x100000000ull;
720 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
721 return 0x000002000000008Cull + (offset) * 0x100000000ull;
722 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
723 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
724 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
725 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
726 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
727 return 0x000000000000008Cull;
728 }
729 return 0x000002000000008Cull + (offset) * 0x100000000ull;
730}
731
732static inline u64 CVMX_PCIERCX_CFG036(unsigned long offset)
733{
734 switch (cvmx_get_octeon_family()) {
735 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
736 return 0x0000020000000090ull + (offset) * 0x100000000ull;
737 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
738 return 0x0000020000000090ull + (offset) * 0x100000000ull;
739 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
740 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
741 return 0x0000020000000090ull + (offset) * 0x100000000ull;
742 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
743 return 0x0000020000000090ull + (offset) * 0x100000000ull;
744 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
745 return 0x0000020000000090ull + (offset) * 0x100000000ull;
746 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
747 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
748 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
749 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
750 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
751 return 0x0000000000000090ull;
752 }
753 return 0x0000020000000090ull + (offset) * 0x100000000ull;
754}
755
756static inline u64 CVMX_PCIERCX_CFG037(unsigned long offset)
757{
758 switch (cvmx_get_octeon_family()) {
759 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
760 return 0x0000020000000094ull + (offset) * 0x100000000ull;
761 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
762 return 0x0000020000000094ull + (offset) * 0x100000000ull;
763 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
764 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
765 return 0x0000020000000094ull + (offset) * 0x100000000ull;
766 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
767 return 0x0000020000000094ull + (offset) * 0x100000000ull;
768 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
769 return 0x0000020000000094ull + (offset) * 0x100000000ull;
770 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
771 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
772 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
773 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
774 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
775 return 0x0000000000000094ull;
776 }
777 return 0x0000020000000094ull + (offset) * 0x100000000ull;
778}
779
780static inline u64 CVMX_PCIERCX_CFG038(unsigned long offset)
781{
782 switch (cvmx_get_octeon_family()) {
783 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
784 return 0x0000020000000098ull + (offset) * 0x100000000ull;
785 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
786 return 0x0000020000000098ull + (offset) * 0x100000000ull;
787 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
788 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
789 return 0x0000020000000098ull + (offset) * 0x100000000ull;
790 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
791 return 0x0000020000000098ull + (offset) * 0x100000000ull;
792 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
793 return 0x0000020000000098ull + (offset) * 0x100000000ull;
794 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
795 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
796 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
797 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
798 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
799 return 0x0000000000000098ull;
800 }
801 return 0x0000020000000098ull + (offset) * 0x100000000ull;
802}
803
804static inline u64 CVMX_PCIERCX_CFG039(unsigned long offset)
805{
806 switch (cvmx_get_octeon_family()) {
807 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
808 return 0x000002000000009Cull + (offset) * 0x100000000ull;
809 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
810 return 0x000002000000009Cull + (offset) * 0x100000000ull;
811 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
812 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
813 return 0x000002000000009Cull + (offset) * 0x100000000ull;
814 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
815 return 0x000002000000009Cull + (offset) * 0x100000000ull;
816 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
817 return 0x000002000000009Cull + (offset) * 0x100000000ull;
818 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
819 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
820 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
821 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
822 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
823 return 0x000000000000009Cull;
824 }
825 return 0x000002000000009Cull + (offset) * 0x100000000ull;
826}
827
828static inline u64 CVMX_PCIERCX_CFG040(unsigned long offset)
829{
830 switch (cvmx_get_octeon_family()) {
831 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
832 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
833 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
834 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
835 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
836 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
837 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
838 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
839 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
840 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
841 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
842 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
843 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
844 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
845 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
846 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
847 return 0x00000000000000A0ull;
848 }
849 return 0x00000200000000A0ull + (offset) * 0x100000000ull;
850}
851
852static inline u64 CVMX_PCIERCX_CFG041(unsigned long offset)
853{
854 switch (cvmx_get_octeon_family()) {
855 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
856 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
857 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
858 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
859 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
860 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
861 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
862 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
863 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
864 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
865 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
866 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
867 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
868 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
869 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
870 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
871 return 0x00000000000000A4ull;
872 }
873 return 0x00000200000000A4ull + (offset) * 0x100000000ull;
874}
875
876static inline u64 CVMX_PCIERCX_CFG042(unsigned long offset)
877{
878 switch (cvmx_get_octeon_family()) {
879 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
880 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
881 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
882 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
883 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
884 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
885 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
886 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
887 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
888 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
889 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
890 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
891 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
892 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
893 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
894 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
895 return 0x00000000000000A8ull;
896 }
897 return 0x00000200000000A8ull + (offset) * 0x100000000ull;
898}
899
900#define CVMX_PCIERCX_CFG044(offset) (0x00000200000000B0ull + ((offset) & 3) * 0x100000000ull)
901#define CVMX_PCIERCX_CFG045(offset) (0x00000200000000B4ull + ((offset) & 3) * 0x100000000ull)
902#define CVMX_PCIERCX_CFG046(offset) (0x00000200000000B8ull + ((offset) & 3) * 0x100000000ull)
903static inline u64 CVMX_PCIERCX_CFG064(unsigned long offset)
904{
905 switch (cvmx_get_octeon_family()) {
906 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
907 return 0x0000020000000100ull + (offset) * 0x100000000ull;
908 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
909 return 0x0000020000000100ull + (offset) * 0x100000000ull;
910 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
911 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
912 return 0x0000020000000100ull + (offset) * 0x100000000ull;
913 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
914 return 0x0000020000000100ull + (offset) * 0x100000000ull;
915 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
916 return 0x0000020000000100ull + (offset) * 0x100000000ull;
917 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
918 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
919 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
920 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
921 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
922 return 0x0000000000000100ull;
923 }
924 return 0x0000020000000100ull + (offset) * 0x100000000ull;
925}
926
927static inline u64 CVMX_PCIERCX_CFG065(unsigned long offset)
928{
929 switch (cvmx_get_octeon_family()) {
930 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
931 return 0x0000020000000104ull + (offset) * 0x100000000ull;
932 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
933 return 0x0000020000000104ull + (offset) * 0x100000000ull;
934 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
935 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
936 return 0x0000020000000104ull + (offset) * 0x100000000ull;
937 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
938 return 0x0000020000000104ull + (offset) * 0x100000000ull;
939 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
940 return 0x0000020000000104ull + (offset) * 0x100000000ull;
941 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
942 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
943 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
944 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
945 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
946 return 0x0000000000000104ull;
947 }
948 return 0x0000020000000104ull + (offset) * 0x100000000ull;
949}
950
951static inline u64 CVMX_PCIERCX_CFG066(unsigned long offset)
952{
953 switch (cvmx_get_octeon_family()) {
954 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
955 return 0x0000020000000108ull + (offset) * 0x100000000ull;
956 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
957 return 0x0000020000000108ull + (offset) * 0x100000000ull;
958 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
959 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
960 return 0x0000020000000108ull + (offset) * 0x100000000ull;
961 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
962 return 0x0000020000000108ull + (offset) * 0x100000000ull;
963 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
964 return 0x0000020000000108ull + (offset) * 0x100000000ull;
965 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
966 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
967 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
968 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
969 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
970 return 0x0000000000000108ull;
971 }
972 return 0x0000020000000108ull + (offset) * 0x100000000ull;
973}
974
975static inline u64 CVMX_PCIERCX_CFG067(unsigned long offset)
976{
977 switch (cvmx_get_octeon_family()) {
978 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
979 return 0x000002000000010Cull + (offset) * 0x100000000ull;
980 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
981 return 0x000002000000010Cull + (offset) * 0x100000000ull;
982 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
983 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
984 return 0x000002000000010Cull + (offset) * 0x100000000ull;
985 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
986 return 0x000002000000010Cull + (offset) * 0x100000000ull;
987 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
988 return 0x000002000000010Cull + (offset) * 0x100000000ull;
989 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
990 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
991 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
992 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
993 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
994 return 0x000000000000010Cull;
995 }
996 return 0x000002000000010Cull + (offset) * 0x100000000ull;
997}
998
999static inline u64 CVMX_PCIERCX_CFG068(unsigned long offset)
1000{
1001 switch (cvmx_get_octeon_family()) {
1002 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1003 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1004 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1005 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1006 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1007 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1008 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1009 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1010 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1011 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1012 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1013 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1014 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1015 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1016 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1017 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1018 return 0x0000000000000110ull;
1019 }
1020 return 0x0000020000000110ull + (offset) * 0x100000000ull;
1021}
1022
1023static inline u64 CVMX_PCIERCX_CFG069(unsigned long offset)
1024{
1025 switch (cvmx_get_octeon_family()) {
1026 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1027 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1028 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1029 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1030 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1031 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1032 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1033 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1034 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1035 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1036 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1037 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1038 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1039 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1040 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1041 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1042 return 0x0000000000000114ull;
1043 }
1044 return 0x0000020000000114ull + (offset) * 0x100000000ull;
1045}
1046
1047static inline u64 CVMX_PCIERCX_CFG070(unsigned long offset)
1048{
1049 switch (cvmx_get_octeon_family()) {
1050 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1051 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1052 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1053 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1054 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1055 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1056 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1057 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1058 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1059 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1060 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1061 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1062 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1063 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1064 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1065 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1066 return 0x0000000000000118ull;
1067 }
1068 return 0x0000020000000118ull + (offset) * 0x100000000ull;
1069}
1070
1071static inline u64 CVMX_PCIERCX_CFG071(unsigned long offset)
1072{
1073 switch (cvmx_get_octeon_family()) {
1074 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1075 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1076 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1077 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1078 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1079 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1080 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1081 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1082 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1083 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1084 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1085 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1086 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1087 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1088 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1089 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1090 return 0x000000000000011Cull;
1091 }
1092 return 0x000002000000011Cull + (offset) * 0x100000000ull;
1093}
1094
1095static inline u64 CVMX_PCIERCX_CFG072(unsigned long offset)
1096{
1097 switch (cvmx_get_octeon_family()) {
1098 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1099 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1100 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1101 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1102 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1103 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1104 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1105 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1106 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1107 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1108 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1109 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1110 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1111 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1112 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1113 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1114 return 0x0000000000000120ull;
1115 }
1116 return 0x0000020000000120ull + (offset) * 0x100000000ull;
1117}
1118
1119static inline u64 CVMX_PCIERCX_CFG073(unsigned long offset)
1120{
1121 switch (cvmx_get_octeon_family()) {
1122 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1123 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1124 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1125 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1126 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1127 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1128 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1129 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1130 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1131 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1132 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1133 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1134 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1135 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1136 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1137 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1138 return 0x0000000000000124ull;
1139 }
1140 return 0x0000020000000124ull + (offset) * 0x100000000ull;
1141}
1142
1143static inline u64 CVMX_PCIERCX_CFG074(unsigned long offset)
1144{
1145 switch (cvmx_get_octeon_family()) {
1146 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1147 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1148 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1149 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1150 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1151 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1152 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1153 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1154 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1155 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1156 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1157 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1158 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1159 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1160 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1161 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1162 return 0x0000000000000128ull;
1163 }
1164 return 0x0000020000000128ull + (offset) * 0x100000000ull;
1165}
1166
1167static inline u64 CVMX_PCIERCX_CFG075(unsigned long offset)
1168{
1169 switch (cvmx_get_octeon_family()) {
1170 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1171 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1172 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1173 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1174 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1175 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1176 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1177 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1178 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1179 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1180 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1181 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1182 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1183 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1184 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1185 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1186 return 0x000000000000012Cull;
1187 }
1188 return 0x000002000000012Cull + (offset) * 0x100000000ull;
1189}
1190
1191static inline u64 CVMX_PCIERCX_CFG076(unsigned long offset)
1192{
1193 switch (cvmx_get_octeon_family()) {
1194 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1195 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1196 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1197 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1198 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1199 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1200 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1201 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1202 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1203 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1204 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1205 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1206 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1207 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1208 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1209 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1210 return 0x0000000000000130ull;
1211 }
1212 return 0x0000020000000130ull + (offset) * 0x100000000ull;
1213}
1214
1215static inline u64 CVMX_PCIERCX_CFG077(unsigned long offset)
1216{
1217 switch (cvmx_get_octeon_family()) {
1218 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1219 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1220 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1221 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1222 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1223 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1224 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1225 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1226 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1227 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1228 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1229 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1230 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1231 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1232 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1233 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1234 return 0x0000000000000134ull;
1235 }
1236 return 0x0000020000000134ull + (offset) * 0x100000000ull;
1237}
1238
1239#define CVMX_PCIERCX_CFG086(offset) (0x0000020000000158ull + ((offset) & 3) * 0x100000000ull)
1240#define CVMX_PCIERCX_CFG087(offset) (0x000002000000015Cull + ((offset) & 3) * 0x100000000ull)
1241#define CVMX_PCIERCX_CFG088(offset) (0x0000020000000160ull + ((offset) & 3) * 0x100000000ull)
1242#define CVMX_PCIERCX_CFG089(offset) (0x0000020000000164ull + ((offset) & 3) * 0x100000000ull)
1243#define CVMX_PCIERCX_CFG090(offset) (0x0000020000000168ull + ((offset) & 3) * 0x100000000ull)
1244#define CVMX_PCIERCX_CFG091(offset) (0x000002000000016Cull + ((offset) & 3) * 0x100000000ull)
1245#define CVMX_PCIERCX_CFG092(offset) (0x0000020000000170ull + ((offset) & 3) * 0x100000000ull)
1246static inline u64 CVMX_PCIERCX_CFG448(unsigned long offset)
1247{
1248 switch (cvmx_get_octeon_family()) {
1249 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1250 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1251 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1252 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1253 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1254 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1255 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1256 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1257 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1258 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1259 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1260 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1261 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1262 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1263 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1264 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1265 return 0x0000000000000700ull;
1266 }
1267 return 0x0000020000000700ull + (offset) * 0x100000000ull;
1268}
1269
1270static inline u64 CVMX_PCIERCX_CFG449(unsigned long offset)
1271{
1272 switch (cvmx_get_octeon_family()) {
1273 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1274 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1275 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1276 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1277 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1278 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1279 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1280 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1281 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1282 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1283 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1284 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1285 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1286 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1287 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1288 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1289 return 0x0000000000000704ull;
1290 }
1291 return 0x0000020000000704ull + (offset) * 0x100000000ull;
1292}
1293
1294static inline u64 CVMX_PCIERCX_CFG450(unsigned long offset)
1295{
1296 switch (cvmx_get_octeon_family()) {
1297 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1298 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1299 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1300 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1301 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1302 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1303 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1304 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1305 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1306 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1307 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1308 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1309 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1310 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1311 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1312 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1313 return 0x0000000000000708ull;
1314 }
1315 return 0x0000020000000708ull + (offset) * 0x100000000ull;
1316}
1317
1318static inline u64 CVMX_PCIERCX_CFG451(unsigned long offset)
1319{
1320 switch (cvmx_get_octeon_family()) {
1321 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1322 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1323 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1324 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1325 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1326 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1327 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1328 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1329 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1330 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1331 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1332 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1333 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1334 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1335 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1336 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1337 return 0x000000000000070Cull;
1338 }
1339 return 0x000002000000070Cull + (offset) * 0x100000000ull;
1340}
1341
1342static inline u64 CVMX_PCIERCX_CFG452(unsigned long offset)
1343{
1344 switch (cvmx_get_octeon_family()) {
1345 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1346 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1347 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1348 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1349 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1350 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1351 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1352 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1353 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1354 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1355 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1356 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1357 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1358 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1359 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1360 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1361 return 0x0000000000000710ull;
1362 }
1363 return 0x0000020000000710ull + (offset) * 0x100000000ull;
1364}
1365
1366static inline u64 CVMX_PCIERCX_CFG453(unsigned long offset)
1367{
1368 switch (cvmx_get_octeon_family()) {
1369 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1370 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1371 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1372 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1373 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1374 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1375 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1376 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1377 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1378 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1379 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1380 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1381 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1382 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1383 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1384 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1385 return 0x0000000000000714ull;
1386 }
1387 return 0x0000020000000714ull + (offset) * 0x100000000ull;
1388}
1389
1390static inline u64 CVMX_PCIERCX_CFG454(unsigned long offset)
1391{
1392 switch (cvmx_get_octeon_family()) {
1393 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1394 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1395 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1396 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1397 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1398 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1399 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1400 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1401 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1402 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1403 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1404 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1405 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1406 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1407 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1408 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1409 return 0x0000000000000718ull;
1410 }
1411 return 0x0000020000000718ull + (offset) * 0x100000000ull;
1412}
1413
1414static inline u64 CVMX_PCIERCX_CFG455(unsigned long offset)
1415{
1416 switch (cvmx_get_octeon_family()) {
1417 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1418 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1419 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1420 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1421 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1422 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1423 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1424 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1425 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1426 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1427 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1428 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1429 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1430 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1431 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1432 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1433 return 0x000000000000071Cull;
1434 }
1435 return 0x000002000000071Cull + (offset) * 0x100000000ull;
1436}
1437
1438static inline u64 CVMX_PCIERCX_CFG456(unsigned long offset)
1439{
1440 switch (cvmx_get_octeon_family()) {
1441 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1442 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1443 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1444 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1445 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1446 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1447 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1448 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1449 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1450 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1451 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1452 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1453 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1454 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1455 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1456 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1457 return 0x0000000000000720ull;
1458 }
1459 return 0x0000020000000720ull + (offset) * 0x100000000ull;
1460}
1461
1462static inline u64 CVMX_PCIERCX_CFG458(unsigned long offset)
1463{
1464 switch (cvmx_get_octeon_family()) {
1465 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1466 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1467 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1468 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1469 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1470 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1471 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1472 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1473 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1474 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1475 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1476 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1477 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1478 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1479 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1480 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1481 return 0x0000000000000728ull;
1482 }
1483 return 0x0000020000000728ull + (offset) * 0x100000000ull;
1484}
1485
1486static inline u64 CVMX_PCIERCX_CFG459(unsigned long offset)
1487{
1488 switch (cvmx_get_octeon_family()) {
1489 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1490 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1491 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1492 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1493 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1494 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1495 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1496 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1497 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1498 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1499 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1500 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1501 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1502 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1503 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1504 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1505 return 0x000000000000072Cull;
1506 }
1507 return 0x000002000000072Cull + (offset) * 0x100000000ull;
1508}
1509
1510static inline u64 CVMX_PCIERCX_CFG460(unsigned long offset)
1511{
1512 switch (cvmx_get_octeon_family()) {
1513 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1514 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1515 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1516 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1517 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1518 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1519 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1520 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1521 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1522 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1523 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1524 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1525 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1526 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1527 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1528 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1529 return 0x0000000000000730ull;
1530 }
1531 return 0x0000020000000730ull + (offset) * 0x100000000ull;
1532}
1533
1534static inline u64 CVMX_PCIERCX_CFG461(unsigned long offset)
1535{
1536 switch (cvmx_get_octeon_family()) {
1537 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1538 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1539 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1540 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1541 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1542 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1543 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1544 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1545 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1546 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1547 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1548 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1549 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1550 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1551 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1552 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1553 return 0x0000000000000734ull;
1554 }
1555 return 0x0000020000000734ull + (offset) * 0x100000000ull;
1556}
1557
1558static inline u64 CVMX_PCIERCX_CFG462(unsigned long offset)
1559{
1560 switch (cvmx_get_octeon_family()) {
1561 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1562 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1563 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1564 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1565 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1566 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1567 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1568 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1569 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1570 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1571 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1572 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1573 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1574 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1575 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1576 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1577 return 0x0000000000000738ull;
1578 }
1579 return 0x0000020000000738ull + (offset) * 0x100000000ull;
1580}
1581
1582static inline u64 CVMX_PCIERCX_CFG463(unsigned long offset)
1583{
1584 switch (cvmx_get_octeon_family()) {
1585 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1586 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1587 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1588 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1589 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1590 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1591 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1592 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1593 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1594 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1595 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1596 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1597 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1598 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1599 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1600 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1601 return 0x000000000000073Cull;
1602 }
1603 return 0x000002000000073Cull + (offset) * 0x100000000ull;
1604}
1605
1606static inline u64 CVMX_PCIERCX_CFG464(unsigned long offset)
1607{
1608 switch (cvmx_get_octeon_family()) {
1609 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1610 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1611 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1612 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1613 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1614 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1615 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1616 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1617 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1618 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1619 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1620 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1621 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1622 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1623 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1624 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1625 return 0x0000000000000740ull;
1626 }
1627 return 0x0000020000000740ull + (offset) * 0x100000000ull;
1628}
1629
1630static inline u64 CVMX_PCIERCX_CFG465(unsigned long offset)
1631{
1632 switch (cvmx_get_octeon_family()) {
1633 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1634 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1635 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1636 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1637 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1638 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1639 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1640 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1641 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1642 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1643 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1644 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1645 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1646 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1647 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1648 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1649 return 0x0000000000000744ull;
1650 }
1651 return 0x0000020000000744ull + (offset) * 0x100000000ull;
1652}
1653
1654static inline u64 CVMX_PCIERCX_CFG466(unsigned long offset)
1655{
1656 switch (cvmx_get_octeon_family()) {
1657 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1658 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1659 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1660 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1661 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1662 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1663 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1664 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1665 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1666 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1667 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1668 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1669 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1670 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1671 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1672 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1673 return 0x0000000000000748ull;
1674 }
1675 return 0x0000020000000748ull + (offset) * 0x100000000ull;
1676}
1677
1678static inline u64 CVMX_PCIERCX_CFG467(unsigned long offset)
1679{
1680 switch (cvmx_get_octeon_family()) {
1681 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1682 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1683 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1684 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1685 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1686 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1687 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1688 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1689 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1690 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1691 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1692 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1693 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1694 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1695 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1696 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1697 return 0x000000000000074Cull;
1698 }
1699 return 0x000002000000074Cull + (offset) * 0x100000000ull;
1700}
1701
1702static inline u64 CVMX_PCIERCX_CFG468(unsigned long offset)
1703{
1704 switch (cvmx_get_octeon_family()) {
1705 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1706 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1707 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1708 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1709 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1710 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1711 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1712 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1713 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1714 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1715 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1716 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1717 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1718 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1719 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1720 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1721 return 0x0000000000000750ull;
1722 }
1723 return 0x0000020000000750ull + (offset) * 0x100000000ull;
1724}
1725
1726static inline u64 CVMX_PCIERCX_CFG490(unsigned long offset)
1727{
1728 switch (cvmx_get_octeon_family()) {
1729 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1730 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1731 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1732 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1733 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1734 return 0x00000000000007A8ull;
1735 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1736 return 0x00000200000007A8ull + (offset) * 0x100000000ull;
1737 }
1738 return 0x00000000000007A8ull;
1739}
1740
1741static inline u64 CVMX_PCIERCX_CFG491(unsigned long offset)
1742{
1743 switch (cvmx_get_octeon_family()) {
1744 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1745 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1746 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1747 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1748 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1749 return 0x00000000000007ACull;
1750 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1751 return 0x00000200000007ACull + (offset) * 0x100000000ull;
1752 }
1753 return 0x00000000000007ACull;
1754}
1755
1756static inline u64 CVMX_PCIERCX_CFG492(unsigned long offset)
1757{
1758 switch (cvmx_get_octeon_family()) {
1759 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1760 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1761 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1762 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1763 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1764 return 0x00000000000007B0ull;
1765 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1766 return 0x00000200000007B0ull + (offset) * 0x100000000ull;
1767 }
1768 return 0x00000000000007B0ull;
1769}
1770
1771static inline u64 CVMX_PCIERCX_CFG515(unsigned long offset)
1772{
1773 switch (cvmx_get_octeon_family()) {
1774 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1775 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1776 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1777 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1778 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1779 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1780 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1781 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1782 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1783 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1784 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1785 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1786 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1787 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1788 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1789 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1790 return 0x000000000000080Cull;
1791 }
1792 return 0x000002000000080Cull + (offset) * 0x100000000ull;
1793}
1794
1795static inline u64 CVMX_PCIERCX_CFG516(unsigned long offset)
1796{
1797 switch (cvmx_get_octeon_family()) {
1798 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1799 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1800 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1801 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1802 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1803 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1804 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1805 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1806 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1807 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1808 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1809 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1810 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1811 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1812 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1813 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1814 return 0x0000000000000810ull;
1815 }
1816 return 0x0000020000000810ull + (offset) * 0x100000000ull;
1817}
1818
1819static inline u64 CVMX_PCIERCX_CFG517(unsigned long offset)
1820{
1821 switch (cvmx_get_octeon_family()) {
1822 case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1823 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1824 case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
1825 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1826 case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1827 if (OCTEON_IS_MODEL(OCTEON_CN78XX_PASS1_X))
1828 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1829 if (OCTEON_IS_MODEL(OCTEON_CN78XX))
1830 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1831 case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1832 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1833 case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1834 case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1835 case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1836 case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1837 case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1838 return 0x0000000000000814ull;
1839 }
1840 return 0x0000020000000814ull + (offset) * 0x100000000ull;
1841}
1842
1843#define CVMX_PCIERCX_CFG548(offset) (0x0000020000000890ull + ((offset) & 3) * 0x100000000ull)
1844#define CVMX_PCIERCX_CFG554(offset) (0x00000200000008A8ull + ((offset) & 3) * 0x100000000ull)
1845#define CVMX_PCIERCX_CFG558(offset) (0x00000200000008B8ull + ((offset) & 3) * 0x100000000ull)
1846#define CVMX_PCIERCX_CFG559(offset) (0x00000200000008BCull + ((offset) & 3) * 0x100000000ull)
1847
1848/**
1849 * cvmx_pcierc#_cfg000
1850 *
1851 * This register contains the first 32-bits of PCIe type 1 configuration space.
1852 *
1853 */
1854union cvmx_pciercx_cfg000 {
1855 u32 u32;
1856 struct cvmx_pciercx_cfg000_s {
1857 u32 devid : 16;
1858 u32 vendid : 16;
1859 } s;
1860 struct cvmx_pciercx_cfg000_s cn52xx;
1861 struct cvmx_pciercx_cfg000_s cn52xxp1;
1862 struct cvmx_pciercx_cfg000_s cn56xx;
1863 struct cvmx_pciercx_cfg000_s cn56xxp1;
1864 struct cvmx_pciercx_cfg000_s cn61xx;
1865 struct cvmx_pciercx_cfg000_s cn63xx;
1866 struct cvmx_pciercx_cfg000_s cn63xxp1;
1867 struct cvmx_pciercx_cfg000_s cn66xx;
1868 struct cvmx_pciercx_cfg000_s cn68xx;
1869 struct cvmx_pciercx_cfg000_s cn68xxp1;
1870 struct cvmx_pciercx_cfg000_s cn70xx;
1871 struct cvmx_pciercx_cfg000_s cn70xxp1;
1872 struct cvmx_pciercx_cfg000_s cn73xx;
1873 struct cvmx_pciercx_cfg000_s cn78xx;
1874 struct cvmx_pciercx_cfg000_s cn78xxp1;
1875 struct cvmx_pciercx_cfg000_s cnf71xx;
1876 struct cvmx_pciercx_cfg000_s cnf75xx;
1877};
1878
1879typedef union cvmx_pciercx_cfg000 cvmx_pciercx_cfg000_t;
1880
1881/**
1882 * cvmx_pcierc#_cfg001
1883 *
1884 * This register contains the second 32-bits of PCIe type 1 configuration space.
1885 *
1886 */
1887union cvmx_pciercx_cfg001 {
1888 u32 u32;
1889 struct cvmx_pciercx_cfg001_s {
1890 u32 dpe : 1;
1891 u32 sse : 1;
1892 u32 rma : 1;
1893 u32 rta : 1;
1894 u32 sta : 1;
1895 u32 devt : 2;
1896 u32 mdpe : 1;
1897 u32 fbb : 1;
1898 u32 reserved_22_22 : 1;
1899 u32 m66 : 1;
1900 u32 cl : 1;
1901 u32 i_stat : 1;
1902 u32 reserved_11_18 : 8;
1903 u32 i_dis : 1;
1904 u32 fbbe : 1;
1905 u32 see : 1;
1906 u32 ids_wcc : 1;
1907 u32 per : 1;
1908 u32 vps : 1;
1909 u32 mwice : 1;
1910 u32 scse : 1;
1911 u32 me : 1;
1912 u32 msae : 1;
1913 u32 isae : 1;
1914 } s;
1915 struct cvmx_pciercx_cfg001_s cn52xx;
1916 struct cvmx_pciercx_cfg001_s cn52xxp1;
1917 struct cvmx_pciercx_cfg001_s cn56xx;
1918 struct cvmx_pciercx_cfg001_s cn56xxp1;
1919 struct cvmx_pciercx_cfg001_s cn61xx;
1920 struct cvmx_pciercx_cfg001_s cn63xx;
1921 struct cvmx_pciercx_cfg001_s cn63xxp1;
1922 struct cvmx_pciercx_cfg001_s cn66xx;
1923 struct cvmx_pciercx_cfg001_s cn68xx;
1924 struct cvmx_pciercx_cfg001_s cn68xxp1;
1925 struct cvmx_pciercx_cfg001_s cn70xx;
1926 struct cvmx_pciercx_cfg001_s cn70xxp1;
1927 struct cvmx_pciercx_cfg001_s cn73xx;
1928 struct cvmx_pciercx_cfg001_s cn78xx;
1929 struct cvmx_pciercx_cfg001_s cn78xxp1;
1930 struct cvmx_pciercx_cfg001_s cnf71xx;
1931 struct cvmx_pciercx_cfg001_s cnf75xx;
1932};
1933
1934typedef union cvmx_pciercx_cfg001 cvmx_pciercx_cfg001_t;
1935
1936/**
1937 * cvmx_pcierc#_cfg002
1938 *
1939 * This register contains the third 32-bits of PCIe type 1 configuration space.
1940 *
1941 */
1942union cvmx_pciercx_cfg002 {
1943 u32 u32;
1944 struct cvmx_pciercx_cfg002_s {
1945 u32 bcc : 8;
1946 u32 sc : 8;
1947 u32 pi : 8;
1948 u32 rid : 8;
1949 } s;
1950 struct cvmx_pciercx_cfg002_s cn52xx;
1951 struct cvmx_pciercx_cfg002_s cn52xxp1;
1952 struct cvmx_pciercx_cfg002_s cn56xx;
1953 struct cvmx_pciercx_cfg002_s cn56xxp1;
1954 struct cvmx_pciercx_cfg002_s cn61xx;
1955 struct cvmx_pciercx_cfg002_s cn63xx;
1956 struct cvmx_pciercx_cfg002_s cn63xxp1;
1957 struct cvmx_pciercx_cfg002_s cn66xx;
1958 struct cvmx_pciercx_cfg002_s cn68xx;
1959 struct cvmx_pciercx_cfg002_s cn68xxp1;
1960 struct cvmx_pciercx_cfg002_s cn70xx;
1961 struct cvmx_pciercx_cfg002_s cn70xxp1;
1962 struct cvmx_pciercx_cfg002_s cn73xx;
1963 struct cvmx_pciercx_cfg002_s cn78xx;
1964 struct cvmx_pciercx_cfg002_s cn78xxp1;
1965 struct cvmx_pciercx_cfg002_s cnf71xx;
1966 struct cvmx_pciercx_cfg002_s cnf75xx;
1967};
1968
1969typedef union cvmx_pciercx_cfg002 cvmx_pciercx_cfg002_t;
1970
1971/**
1972 * cvmx_pcierc#_cfg003
1973 *
1974 * This register contains the fourth 32-bits of PCIe type 1 configuration space.
1975 *
1976 */
1977union cvmx_pciercx_cfg003 {
1978 u32 u32;
1979 struct cvmx_pciercx_cfg003_s {
1980 u32 bist : 8;
1981 u32 mfd : 1;
1982 u32 chf : 7;
1983 u32 lt : 8;
1984 u32 cls : 8;
1985 } s;
1986 struct cvmx_pciercx_cfg003_s cn52xx;
1987 struct cvmx_pciercx_cfg003_s cn52xxp1;
1988 struct cvmx_pciercx_cfg003_s cn56xx;
1989 struct cvmx_pciercx_cfg003_s cn56xxp1;
1990 struct cvmx_pciercx_cfg003_s cn61xx;
1991 struct cvmx_pciercx_cfg003_s cn63xx;
1992 struct cvmx_pciercx_cfg003_s cn63xxp1;
1993 struct cvmx_pciercx_cfg003_s cn66xx;
1994 struct cvmx_pciercx_cfg003_s cn68xx;
1995 struct cvmx_pciercx_cfg003_s cn68xxp1;
1996 struct cvmx_pciercx_cfg003_s cn70xx;
1997 struct cvmx_pciercx_cfg003_s cn70xxp1;
1998 struct cvmx_pciercx_cfg003_s cn73xx;
1999 struct cvmx_pciercx_cfg003_s cn78xx;
2000 struct cvmx_pciercx_cfg003_s cn78xxp1;
2001 struct cvmx_pciercx_cfg003_s cnf71xx;
2002 struct cvmx_pciercx_cfg003_s cnf75xx;
2003};
2004
2005typedef union cvmx_pciercx_cfg003 cvmx_pciercx_cfg003_t;
2006
2007/**
2008 * cvmx_pcierc#_cfg004
2009 *
2010 * This register contains the fifth 32-bits of PCIe type 1 configuration space.
2011 *
2012 */
2013union cvmx_pciercx_cfg004 {
2014 u32 u32;
2015 struct cvmx_pciercx_cfg004_s {
2016 u32 reserved_0_31 : 32;
2017 } s;
2018 struct cvmx_pciercx_cfg004_s cn52xx;
2019 struct cvmx_pciercx_cfg004_s cn52xxp1;
2020 struct cvmx_pciercx_cfg004_s cn56xx;
2021 struct cvmx_pciercx_cfg004_s cn56xxp1;
2022 struct cvmx_pciercx_cfg004_s cn61xx;
2023 struct cvmx_pciercx_cfg004_s cn63xx;
2024 struct cvmx_pciercx_cfg004_s cn63xxp1;
2025 struct cvmx_pciercx_cfg004_s cn66xx;
2026 struct cvmx_pciercx_cfg004_s cn68xx;
2027 struct cvmx_pciercx_cfg004_s cn68xxp1;
2028 struct cvmx_pciercx_cfg004_cn70xx {
2029 u32 reserved_31_0 : 32;
2030 } cn70xx;
2031 struct cvmx_pciercx_cfg004_cn70xx cn70xxp1;
2032 struct cvmx_pciercx_cfg004_cn70xx cn73xx;
2033 struct cvmx_pciercx_cfg004_cn70xx cn78xx;
2034 struct cvmx_pciercx_cfg004_cn70xx cn78xxp1;
2035 struct cvmx_pciercx_cfg004_s cnf71xx;
2036 struct cvmx_pciercx_cfg004_cn70xx cnf75xx;
2037};
2038
2039typedef union cvmx_pciercx_cfg004 cvmx_pciercx_cfg004_t;
2040
2041/**
2042 * cvmx_pcierc#_cfg005
2043 *
2044 * This register contains the sixth 32-bits of PCIe type 1 configuration space.
2045 *
2046 */
2047union cvmx_pciercx_cfg005 {
2048 u32 u32;
2049 struct cvmx_pciercx_cfg005_s {
2050 u32 reserved_0_31 : 32;
2051 } s;
2052 struct cvmx_pciercx_cfg005_s cn52xx;
2053 struct cvmx_pciercx_cfg005_s cn52xxp1;
2054 struct cvmx_pciercx_cfg005_s cn56xx;
2055 struct cvmx_pciercx_cfg005_s cn56xxp1;
2056 struct cvmx_pciercx_cfg005_s cn61xx;
2057 struct cvmx_pciercx_cfg005_s cn63xx;
2058 struct cvmx_pciercx_cfg005_s cn63xxp1;
2059 struct cvmx_pciercx_cfg005_s cn66xx;
2060 struct cvmx_pciercx_cfg005_s cn68xx;
2061 struct cvmx_pciercx_cfg005_s cn68xxp1;
2062 struct cvmx_pciercx_cfg005_cn70xx {
2063 u32 reserved_31_0 : 32;
2064 } cn70xx;
2065 struct cvmx_pciercx_cfg005_cn70xx cn70xxp1;
2066 struct cvmx_pciercx_cfg005_cn70xx cn73xx;
2067 struct cvmx_pciercx_cfg005_cn70xx cn78xx;
2068 struct cvmx_pciercx_cfg005_cn70xx cn78xxp1;
2069 struct cvmx_pciercx_cfg005_s cnf71xx;
2070 struct cvmx_pciercx_cfg005_cn70xx cnf75xx;
2071};
2072
2073typedef union cvmx_pciercx_cfg005 cvmx_pciercx_cfg005_t;
2074
2075/**
2076 * cvmx_pcierc#_cfg006
2077 *
2078 * This register contains the seventh 32-bits of PCIe type 1 configuration space.
2079 *
2080 */
2081union cvmx_pciercx_cfg006 {
2082 u32 u32;
2083 struct cvmx_pciercx_cfg006_s {
2084 u32 slt : 8;
2085 u32 subbnum : 8;
2086 u32 sbnum : 8;
2087 u32 pbnum : 8;
2088 } s;
2089 struct cvmx_pciercx_cfg006_s cn52xx;
2090 struct cvmx_pciercx_cfg006_s cn52xxp1;
2091 struct cvmx_pciercx_cfg006_s cn56xx;
2092 struct cvmx_pciercx_cfg006_s cn56xxp1;
2093 struct cvmx_pciercx_cfg006_s cn61xx;
2094 struct cvmx_pciercx_cfg006_s cn63xx;
2095 struct cvmx_pciercx_cfg006_s cn63xxp1;
2096 struct cvmx_pciercx_cfg006_s cn66xx;
2097 struct cvmx_pciercx_cfg006_s cn68xx;
2098 struct cvmx_pciercx_cfg006_s cn68xxp1;
2099 struct cvmx_pciercx_cfg006_s cn70xx;
2100 struct cvmx_pciercx_cfg006_s cn70xxp1;
2101 struct cvmx_pciercx_cfg006_s cn73xx;
2102 struct cvmx_pciercx_cfg006_s cn78xx;
2103 struct cvmx_pciercx_cfg006_s cn78xxp1;
2104 struct cvmx_pciercx_cfg006_s cnf71xx;
2105 struct cvmx_pciercx_cfg006_s cnf75xx;
2106};
2107
2108typedef union cvmx_pciercx_cfg006 cvmx_pciercx_cfg006_t;
2109
2110/**
2111 * cvmx_pcierc#_cfg007
2112 *
2113 * This register contains the eighth 32-bits of PCIe type 1 configuration space.
2114 *
2115 */
2116union cvmx_pciercx_cfg007 {
2117 u32 u32;
2118 struct cvmx_pciercx_cfg007_s {
2119 u32 dpe : 1;
2120 u32 sse : 1;
2121 u32 rma : 1;
2122 u32 rta : 1;
2123 u32 sta : 1;
2124 u32 devt : 2;
2125 u32 mdpe : 1;
2126 u32 fbb : 1;
2127 u32 reserved_22_22 : 1;
2128 u32 m66 : 1;
2129 u32 reserved_16_20 : 5;
2130 u32 lio_limi : 4;
2131 u32 reserved_9_11 : 3;
2132 u32 io32b : 1;
2133 u32 lio_base : 4;
2134 u32 reserved_1_3 : 3;
2135 u32 io32a : 1;
2136 } s;
2137 struct cvmx_pciercx_cfg007_s cn52xx;
2138 struct cvmx_pciercx_cfg007_s cn52xxp1;
2139 struct cvmx_pciercx_cfg007_s cn56xx;
2140 struct cvmx_pciercx_cfg007_s cn56xxp1;
2141 struct cvmx_pciercx_cfg007_s cn61xx;
2142 struct cvmx_pciercx_cfg007_s cn63xx;
2143 struct cvmx_pciercx_cfg007_s cn63xxp1;
2144 struct cvmx_pciercx_cfg007_s cn66xx;
2145 struct cvmx_pciercx_cfg007_s cn68xx;
2146 struct cvmx_pciercx_cfg007_s cn68xxp1;
2147 struct cvmx_pciercx_cfg007_s cn70xx;
2148 struct cvmx_pciercx_cfg007_s cn70xxp1;
2149 struct cvmx_pciercx_cfg007_s cn73xx;
2150 struct cvmx_pciercx_cfg007_s cn78xx;
2151 struct cvmx_pciercx_cfg007_s cn78xxp1;
2152 struct cvmx_pciercx_cfg007_s cnf71xx;
2153 struct cvmx_pciercx_cfg007_s cnf75xx;
2154};
2155
2156typedef union cvmx_pciercx_cfg007 cvmx_pciercx_cfg007_t;
2157
2158/**
2159 * cvmx_pcierc#_cfg008
2160 *
2161 * This register contains the ninth 32-bits of PCIe type 1 configuration space.
2162 *
2163 */
2164union cvmx_pciercx_cfg008 {
2165 u32 u32;
2166 struct cvmx_pciercx_cfg008_s {
2167 u32 ml_addr : 12;
2168 u32 reserved_16_19 : 4;
2169 u32 mb_addr : 12;
2170 u32 reserved_0_3 : 4;
2171 } s;
2172 struct cvmx_pciercx_cfg008_s cn52xx;
2173 struct cvmx_pciercx_cfg008_s cn52xxp1;
2174 struct cvmx_pciercx_cfg008_s cn56xx;
2175 struct cvmx_pciercx_cfg008_s cn56xxp1;
2176 struct cvmx_pciercx_cfg008_s cn61xx;
2177 struct cvmx_pciercx_cfg008_s cn63xx;
2178 struct cvmx_pciercx_cfg008_s cn63xxp1;
2179 struct cvmx_pciercx_cfg008_s cn66xx;
2180 struct cvmx_pciercx_cfg008_s cn68xx;
2181 struct cvmx_pciercx_cfg008_s cn68xxp1;
2182 struct cvmx_pciercx_cfg008_cn70xx {
2183 u32 ml_addr : 12;
2184 u32 reserved_19_16 : 4;
2185 u32 mb_addr : 12;
2186 u32 reserved_3_0 : 4;
2187 } cn70xx;
2188 struct cvmx_pciercx_cfg008_cn70xx cn70xxp1;
2189 struct cvmx_pciercx_cfg008_cn70xx cn73xx;
2190 struct cvmx_pciercx_cfg008_cn70xx cn78xx;
2191 struct cvmx_pciercx_cfg008_cn70xx cn78xxp1;
2192 struct cvmx_pciercx_cfg008_s cnf71xx;
2193 struct cvmx_pciercx_cfg008_cn70xx cnf75xx;
2194};
2195
2196typedef union cvmx_pciercx_cfg008 cvmx_pciercx_cfg008_t;
2197
2198/**
2199 * cvmx_pcierc#_cfg009
2200 *
2201 * This register contains the tenth 32-bits of PCIe type 1 configuration space.
2202 *
2203 */
2204union cvmx_pciercx_cfg009 {
2205 u32 u32;
2206 struct cvmx_pciercx_cfg009_s {
2207 u32 lmem_limit : 12;
2208 u32 reserved_17_19 : 3;
2209 u32 mem64b : 1;
2210 u32 lmem_base : 12;
2211 u32 reserved_1_3 : 3;
2212 u32 mem64a : 1;
2213 } s;
2214 struct cvmx_pciercx_cfg009_s cn52xx;
2215 struct cvmx_pciercx_cfg009_s cn52xxp1;
2216 struct cvmx_pciercx_cfg009_s cn56xx;
2217 struct cvmx_pciercx_cfg009_s cn56xxp1;
2218 struct cvmx_pciercx_cfg009_s cn61xx;
2219 struct cvmx_pciercx_cfg009_s cn63xx;
2220 struct cvmx_pciercx_cfg009_s cn63xxp1;
2221 struct cvmx_pciercx_cfg009_s cn66xx;
2222 struct cvmx_pciercx_cfg009_s cn68xx;
2223 struct cvmx_pciercx_cfg009_s cn68xxp1;
2224 struct cvmx_pciercx_cfg009_cn70xx {
2225 u32 lmem_limit : 12;
2226 u32 reserved_19_17 : 3;
2227 u32 mem64b : 1;
2228 u32 lmem_base : 12;
2229 u32 reserved_3_1 : 3;
2230 u32 mem64a : 1;
2231 } cn70xx;
2232 struct cvmx_pciercx_cfg009_cn70xx cn70xxp1;
2233 struct cvmx_pciercx_cfg009_cn70xx cn73xx;
2234 struct cvmx_pciercx_cfg009_cn70xx cn78xx;
2235 struct cvmx_pciercx_cfg009_cn70xx cn78xxp1;
2236 struct cvmx_pciercx_cfg009_s cnf71xx;
2237 struct cvmx_pciercx_cfg009_cn70xx cnf75xx;
2238};
2239
2240typedef union cvmx_pciercx_cfg009 cvmx_pciercx_cfg009_t;
2241
2242/**
2243 * cvmx_pcierc#_cfg010
2244 *
2245 * This register contains the eleventh 32-bits of PCIe type 1 configuration space.
2246 *
2247 */
2248union cvmx_pciercx_cfg010 {
2249 u32 u32;
2250 struct cvmx_pciercx_cfg010_s {
2251 u32 umem_base : 32;
2252 } s;
2253 struct cvmx_pciercx_cfg010_s cn52xx;
2254 struct cvmx_pciercx_cfg010_s cn52xxp1;
2255 struct cvmx_pciercx_cfg010_s cn56xx;
2256 struct cvmx_pciercx_cfg010_s cn56xxp1;
2257 struct cvmx_pciercx_cfg010_s cn61xx;
2258 struct cvmx_pciercx_cfg010_s cn63xx;
2259 struct cvmx_pciercx_cfg010_s cn63xxp1;
2260 struct cvmx_pciercx_cfg010_s cn66xx;
2261 struct cvmx_pciercx_cfg010_s cn68xx;
2262 struct cvmx_pciercx_cfg010_s cn68xxp1;
2263 struct cvmx_pciercx_cfg010_s cn70xx;
2264 struct cvmx_pciercx_cfg010_s cn70xxp1;
2265 struct cvmx_pciercx_cfg010_s cn73xx;
2266 struct cvmx_pciercx_cfg010_s cn78xx;
2267 struct cvmx_pciercx_cfg010_s cn78xxp1;
2268 struct cvmx_pciercx_cfg010_s cnf71xx;
2269 struct cvmx_pciercx_cfg010_s cnf75xx;
2270};
2271
2272typedef union cvmx_pciercx_cfg010 cvmx_pciercx_cfg010_t;
2273
2274/**
2275 * cvmx_pcierc#_cfg011
2276 *
2277 * This register contains the twelfth 32-bits of PCIe type 1 configuration space.
2278 *
2279 */
2280union cvmx_pciercx_cfg011 {
2281 u32 u32;
2282 struct cvmx_pciercx_cfg011_s {
2283 u32 umem_limit : 32;
2284 } s;
2285 struct cvmx_pciercx_cfg011_s cn52xx;
2286 struct cvmx_pciercx_cfg011_s cn52xxp1;
2287 struct cvmx_pciercx_cfg011_s cn56xx;
2288 struct cvmx_pciercx_cfg011_s cn56xxp1;
2289 struct cvmx_pciercx_cfg011_s cn61xx;
2290 struct cvmx_pciercx_cfg011_s cn63xx;
2291 struct cvmx_pciercx_cfg011_s cn63xxp1;
2292 struct cvmx_pciercx_cfg011_s cn66xx;
2293 struct cvmx_pciercx_cfg011_s cn68xx;
2294 struct cvmx_pciercx_cfg011_s cn68xxp1;
2295 struct cvmx_pciercx_cfg011_s cn70xx;
2296 struct cvmx_pciercx_cfg011_s cn70xxp1;
2297 struct cvmx_pciercx_cfg011_s cn73xx;
2298 struct cvmx_pciercx_cfg011_s cn78xx;
2299 struct cvmx_pciercx_cfg011_s cn78xxp1;
2300 struct cvmx_pciercx_cfg011_s cnf71xx;
2301 struct cvmx_pciercx_cfg011_s cnf75xx;
2302};
2303
2304typedef union cvmx_pciercx_cfg011 cvmx_pciercx_cfg011_t;
2305
2306/**
2307 * cvmx_pcierc#_cfg012
2308 *
2309 * This register contains the thirteenth 32-bits of PCIe type 1 configuration space.
2310 *
2311 */
2312union cvmx_pciercx_cfg012 {
2313 u32 u32;
2314 struct cvmx_pciercx_cfg012_s {
2315 u32 uio_limit : 16;
2316 u32 uio_base : 16;
2317 } s;
2318 struct cvmx_pciercx_cfg012_s cn52xx;
2319 struct cvmx_pciercx_cfg012_s cn52xxp1;
2320 struct cvmx_pciercx_cfg012_s cn56xx;
2321 struct cvmx_pciercx_cfg012_s cn56xxp1;
2322 struct cvmx_pciercx_cfg012_s cn61xx;
2323 struct cvmx_pciercx_cfg012_s cn63xx;
2324 struct cvmx_pciercx_cfg012_s cn63xxp1;
2325 struct cvmx_pciercx_cfg012_s cn66xx;
2326 struct cvmx_pciercx_cfg012_s cn68xx;
2327 struct cvmx_pciercx_cfg012_s cn68xxp1;
2328 struct cvmx_pciercx_cfg012_s cn70xx;
2329 struct cvmx_pciercx_cfg012_s cn70xxp1;
2330 struct cvmx_pciercx_cfg012_s cn73xx;
2331 struct cvmx_pciercx_cfg012_s cn78xx;
2332 struct cvmx_pciercx_cfg012_s cn78xxp1;
2333 struct cvmx_pciercx_cfg012_s cnf71xx;
2334 struct cvmx_pciercx_cfg012_s cnf75xx;
2335};
2336
2337typedef union cvmx_pciercx_cfg012 cvmx_pciercx_cfg012_t;
2338
2339/**
2340 * cvmx_pcierc#_cfg013
2341 *
2342 * This register contains the fourteenth 32-bits of PCIe type 1 configuration space.
2343 *
2344 */
2345union cvmx_pciercx_cfg013 {
2346 u32 u32;
2347 struct cvmx_pciercx_cfg013_s {
2348 u32 reserved_8_31 : 24;
2349 u32 cp : 8;
2350 } s;
2351 struct cvmx_pciercx_cfg013_s cn52xx;
2352 struct cvmx_pciercx_cfg013_s cn52xxp1;
2353 struct cvmx_pciercx_cfg013_s cn56xx;
2354 struct cvmx_pciercx_cfg013_s cn56xxp1;
2355 struct cvmx_pciercx_cfg013_s cn61xx;
2356 struct cvmx_pciercx_cfg013_s cn63xx;
2357 struct cvmx_pciercx_cfg013_s cn63xxp1;
2358 struct cvmx_pciercx_cfg013_s cn66xx;
2359 struct cvmx_pciercx_cfg013_s cn68xx;
2360 struct cvmx_pciercx_cfg013_s cn68xxp1;
2361 struct cvmx_pciercx_cfg013_s cn70xx;
2362 struct cvmx_pciercx_cfg013_s cn70xxp1;
2363 struct cvmx_pciercx_cfg013_s cn73xx;
2364 struct cvmx_pciercx_cfg013_s cn78xx;
2365 struct cvmx_pciercx_cfg013_s cn78xxp1;
2366 struct cvmx_pciercx_cfg013_s cnf71xx;
2367 struct cvmx_pciercx_cfg013_s cnf75xx;
2368};
2369
2370typedef union cvmx_pciercx_cfg013 cvmx_pciercx_cfg013_t;
2371
2372/**
2373 * cvmx_pcierc#_cfg014
2374 *
2375 * This register contains the fifteenth 32-bits of PCIe type 1 configuration space.
2376 *
2377 */
2378union cvmx_pciercx_cfg014 {
2379 u32 u32;
2380 struct cvmx_pciercx_cfg014_s {
2381 u32 reserved_0_31 : 32;
2382 } s;
2383 struct cvmx_pciercx_cfg014_s cn52xx;
2384 struct cvmx_pciercx_cfg014_s cn52xxp1;
2385 struct cvmx_pciercx_cfg014_s cn56xx;
2386 struct cvmx_pciercx_cfg014_s cn56xxp1;
2387 struct cvmx_pciercx_cfg014_s cn61xx;
2388 struct cvmx_pciercx_cfg014_s cn63xx;
2389 struct cvmx_pciercx_cfg014_s cn63xxp1;
2390 struct cvmx_pciercx_cfg014_s cn66xx;
2391 struct cvmx_pciercx_cfg014_s cn68xx;
2392 struct cvmx_pciercx_cfg014_s cn68xxp1;
2393 struct cvmx_pciercx_cfg014_s cn70xx;
2394 struct cvmx_pciercx_cfg014_s cn70xxp1;
2395 struct cvmx_pciercx_cfg014_s cn73xx;
2396 struct cvmx_pciercx_cfg014_s cn78xx;
2397 struct cvmx_pciercx_cfg014_s cn78xxp1;
2398 struct cvmx_pciercx_cfg014_s cnf71xx;
2399 struct cvmx_pciercx_cfg014_s cnf75xx;
2400};
2401
2402typedef union cvmx_pciercx_cfg014 cvmx_pciercx_cfg014_t;
2403
2404/**
2405 * cvmx_pcierc#_cfg015
2406 *
2407 * This register contains the sixteenth 32-bits of PCIe type 1 configuration space.
2408 *
2409 */
2410union cvmx_pciercx_cfg015 {
2411 u32 u32;
2412 struct cvmx_pciercx_cfg015_s {
2413 u32 reserved_28_31 : 4;
2414 u32 dtsees : 1;
2415 u32 dts : 1;
2416 u32 sdt : 1;
2417 u32 pdt : 1;
2418 u32 fbbe : 1;
2419 u32 sbrst : 1;
2420 u32 mam : 1;
2421 u32 vga16d : 1;
2422 u32 vgae : 1;
2423 u32 isae : 1;
2424 u32 see : 1;
2425 u32 pere : 1;
2426 u32 inta : 8;
2427 u32 il : 8;
2428 } s;
2429 struct cvmx_pciercx_cfg015_s cn52xx;
2430 struct cvmx_pciercx_cfg015_s cn52xxp1;
2431 struct cvmx_pciercx_cfg015_s cn56xx;
2432 struct cvmx_pciercx_cfg015_s cn56xxp1;
2433 struct cvmx_pciercx_cfg015_s cn61xx;
2434 struct cvmx_pciercx_cfg015_s cn63xx;
2435 struct cvmx_pciercx_cfg015_s cn63xxp1;
2436 struct cvmx_pciercx_cfg015_s cn66xx;
2437 struct cvmx_pciercx_cfg015_s cn68xx;
2438 struct cvmx_pciercx_cfg015_s cn68xxp1;
2439 struct cvmx_pciercx_cfg015_cn70xx {
2440 u32 reserved_31_28 : 4;
2441 u32 dtsees : 1;
2442 u32 dts : 1;
2443 u32 sdt : 1;
2444 u32 pdt : 1;
2445 u32 fbbe : 1;
2446 u32 sbrst : 1;
2447 u32 mam : 1;
2448 u32 vga16d : 1;
2449 u32 vgae : 1;
2450 u32 isae : 1;
2451 u32 see : 1;
2452 u32 pere : 1;
2453 u32 inta : 8;
2454 u32 il : 8;
2455 } cn70xx;
2456 struct cvmx_pciercx_cfg015_cn70xx cn70xxp1;
2457 struct cvmx_pciercx_cfg015_cn70xx cn73xx;
2458 struct cvmx_pciercx_cfg015_cn70xx cn78xx;
2459 struct cvmx_pciercx_cfg015_cn70xx cn78xxp1;
2460 struct cvmx_pciercx_cfg015_s cnf71xx;
2461 struct cvmx_pciercx_cfg015_cn70xx cnf75xx;
2462};
2463
2464typedef union cvmx_pciercx_cfg015 cvmx_pciercx_cfg015_t;
2465
2466/**
2467 * cvmx_pcierc#_cfg016
2468 *
2469 * This register contains the seventeenth 32-bits of PCIe type 1 configuration space.
2470 *
2471 */
2472union cvmx_pciercx_cfg016 {
2473 u32 u32;
2474 struct cvmx_pciercx_cfg016_s {
2475 u32 pmes : 5;
2476 u32 d2s : 1;
2477 u32 d1s : 1;
2478 u32 auxc : 3;
2479 u32 dsi : 1;
2480 u32 reserved_20_20 : 1;
2481 u32 pme_clock : 1;
2482 u32 pmsv : 3;
2483 u32 ncp : 8;
2484 u32 pmcid : 8;
2485 } s;
2486 struct cvmx_pciercx_cfg016_s cn52xx;
2487 struct cvmx_pciercx_cfg016_s cn52xxp1;
2488 struct cvmx_pciercx_cfg016_s cn56xx;
2489 struct cvmx_pciercx_cfg016_s cn56xxp1;
2490 struct cvmx_pciercx_cfg016_s cn61xx;
2491 struct cvmx_pciercx_cfg016_s cn63xx;
2492 struct cvmx_pciercx_cfg016_s cn63xxp1;
2493 struct cvmx_pciercx_cfg016_s cn66xx;
2494 struct cvmx_pciercx_cfg016_s cn68xx;
2495 struct cvmx_pciercx_cfg016_s cn68xxp1;
2496 struct cvmx_pciercx_cfg016_s cn70xx;
2497 struct cvmx_pciercx_cfg016_s cn70xxp1;
2498 struct cvmx_pciercx_cfg016_s cn73xx;
2499 struct cvmx_pciercx_cfg016_s cn78xx;
2500 struct cvmx_pciercx_cfg016_s cn78xxp1;
2501 struct cvmx_pciercx_cfg016_s cnf71xx;
2502 struct cvmx_pciercx_cfg016_s cnf75xx;
2503};
2504
2505typedef union cvmx_pciercx_cfg016 cvmx_pciercx_cfg016_t;
2506
2507/**
2508 * cvmx_pcierc#_cfg017
2509 *
2510 * This register contains the eighteenth 32-bits of PCIe type 1 configuration space.
2511 *
2512 */
2513union cvmx_pciercx_cfg017 {
2514 u32 u32;
2515 struct cvmx_pciercx_cfg017_s {
2516 u32 pmdia : 8;
2517 u32 bpccee : 1;
2518 u32 bd3h : 1;
2519 u32 reserved_16_21 : 6;
2520 u32 pmess : 1;
2521 u32 pmedsia : 2;
2522 u32 pmds : 4;
2523 u32 pmeens : 1;
2524 u32 reserved_4_7 : 4;
2525 u32 nsr : 1;
2526 u32 reserved_2_2 : 1;
2527 u32 ps : 2;
2528 } s;
2529 struct cvmx_pciercx_cfg017_s cn52xx;
2530 struct cvmx_pciercx_cfg017_s cn52xxp1;
2531 struct cvmx_pciercx_cfg017_s cn56xx;
2532 struct cvmx_pciercx_cfg017_s cn56xxp1;
2533 struct cvmx_pciercx_cfg017_s cn61xx;
2534 struct cvmx_pciercx_cfg017_s cn63xx;
2535 struct cvmx_pciercx_cfg017_s cn63xxp1;
2536 struct cvmx_pciercx_cfg017_s cn66xx;
2537 struct cvmx_pciercx_cfg017_s cn68xx;
2538 struct cvmx_pciercx_cfg017_s cn68xxp1;
2539 struct cvmx_pciercx_cfg017_s cn70xx;
2540 struct cvmx_pciercx_cfg017_s cn70xxp1;
2541 struct cvmx_pciercx_cfg017_s cn73xx;
2542 struct cvmx_pciercx_cfg017_s cn78xx;
2543 struct cvmx_pciercx_cfg017_s cn78xxp1;
2544 struct cvmx_pciercx_cfg017_s cnf71xx;
2545 struct cvmx_pciercx_cfg017_s cnf75xx;
2546};
2547
2548typedef union cvmx_pciercx_cfg017 cvmx_pciercx_cfg017_t;
2549
2550/**
2551 * cvmx_pcierc#_cfg020
2552 *
2553 * This register contains the twenty-first 32-bits of PCIe type 1 configuration space.
2554 *
2555 */
2556union cvmx_pciercx_cfg020 {
2557 u32 u32;
2558 struct cvmx_pciercx_cfg020_s {
2559 u32 reserved_24_31 : 8;
2560 u32 m64 : 1;
2561 u32 mme : 3;
2562 u32 mmc : 3;
2563 u32 msien : 1;
2564 u32 ncp : 8;
2565 u32 msicid : 8;
2566 } s;
2567 struct cvmx_pciercx_cfg020_s cn52xx;
2568 struct cvmx_pciercx_cfg020_s cn52xxp1;
2569 struct cvmx_pciercx_cfg020_s cn56xx;
2570 struct cvmx_pciercx_cfg020_s cn56xxp1;
2571 struct cvmx_pciercx_cfg020_cn61xx {
2572 u32 reserved_25_31 : 7;
2573 u32 pvm : 1;
2574 u32 m64 : 1;
2575 u32 mme : 3;
2576 u32 mmc : 3;
2577 u32 msien : 1;
2578 u32 ncp : 8;
2579 u32 msicid : 8;
2580 } cn61xx;
2581 struct cvmx_pciercx_cfg020_s cn63xx;
2582 struct cvmx_pciercx_cfg020_s cn63xxp1;
2583 struct cvmx_pciercx_cfg020_s cn66xx;
2584 struct cvmx_pciercx_cfg020_s cn68xx;
2585 struct cvmx_pciercx_cfg020_s cn68xxp1;
2586 struct cvmx_pciercx_cfg020_cn61xx cn70xx;
2587 struct cvmx_pciercx_cfg020_cn61xx cn70xxp1;
2588 struct cvmx_pciercx_cfg020_cn73xx {
2589 u32 reserved_25_31 : 7;
2590 u32 pvms : 1;
2591 u32 m64 : 1;
2592 u32 mme : 3;
2593 u32 mmc : 3;
2594 u32 msien : 1;
2595 u32 ncp : 8;
2596 u32 msicid : 8;
2597 } cn73xx;
2598 struct cvmx_pciercx_cfg020_cn73xx cn78xx;
2599 struct cvmx_pciercx_cfg020_cn73xx cn78xxp1;
2600 struct cvmx_pciercx_cfg020_cn61xx cnf71xx;
2601 struct cvmx_pciercx_cfg020_cn73xx cnf75xx;
2602};
2603
2604typedef union cvmx_pciercx_cfg020 cvmx_pciercx_cfg020_t;
2605
2606/**
2607 * cvmx_pcierc#_cfg021
2608 *
2609 * This register contains the twenty-second 32-bits of PCIe type 1 configuration space.
2610 *
2611 */
2612union cvmx_pciercx_cfg021 {
2613 u32 u32;
2614 struct cvmx_pciercx_cfg021_s {
2615 u32 lmsi : 30;
2616 u32 reserved_0_1 : 2;
2617 } s;
2618 struct cvmx_pciercx_cfg021_s cn52xx;
2619 struct cvmx_pciercx_cfg021_s cn52xxp1;
2620 struct cvmx_pciercx_cfg021_s cn56xx;
2621 struct cvmx_pciercx_cfg021_s cn56xxp1;
2622 struct cvmx_pciercx_cfg021_s cn61xx;
2623 struct cvmx_pciercx_cfg021_s cn63xx;
2624 struct cvmx_pciercx_cfg021_s cn63xxp1;
2625 struct cvmx_pciercx_cfg021_s cn66xx;
2626 struct cvmx_pciercx_cfg021_s cn68xx;
2627 struct cvmx_pciercx_cfg021_s cn68xxp1;
2628 struct cvmx_pciercx_cfg021_s cn70xx;
2629 struct cvmx_pciercx_cfg021_s cn70xxp1;
2630 struct cvmx_pciercx_cfg021_s cn73xx;
2631 struct cvmx_pciercx_cfg021_s cn78xx;
2632 struct cvmx_pciercx_cfg021_s cn78xxp1;
2633 struct cvmx_pciercx_cfg021_s cnf71xx;
2634 struct cvmx_pciercx_cfg021_s cnf75xx;
2635};
2636
2637typedef union cvmx_pciercx_cfg021 cvmx_pciercx_cfg021_t;
2638
2639/**
2640 * cvmx_pcierc#_cfg022
2641 *
2642 * This register contains the twenty-third 32-bits of PCIe type 1 configuration space.
2643 *
2644 */
2645union cvmx_pciercx_cfg022 {
2646 u32 u32;
2647 struct cvmx_pciercx_cfg022_s {
2648 u32 umsi : 32;
2649 } s;
2650 struct cvmx_pciercx_cfg022_s cn52xx;
2651 struct cvmx_pciercx_cfg022_s cn52xxp1;
2652 struct cvmx_pciercx_cfg022_s cn56xx;
2653 struct cvmx_pciercx_cfg022_s cn56xxp1;
2654 struct cvmx_pciercx_cfg022_s cn61xx;
2655 struct cvmx_pciercx_cfg022_s cn63xx;
2656 struct cvmx_pciercx_cfg022_s cn63xxp1;
2657 struct cvmx_pciercx_cfg022_s cn66xx;
2658 struct cvmx_pciercx_cfg022_s cn68xx;
2659 struct cvmx_pciercx_cfg022_s cn68xxp1;
2660 struct cvmx_pciercx_cfg022_s cn70xx;
2661 struct cvmx_pciercx_cfg022_s cn70xxp1;
2662 struct cvmx_pciercx_cfg022_s cn73xx;
2663 struct cvmx_pciercx_cfg022_s cn78xx;
2664 struct cvmx_pciercx_cfg022_s cn78xxp1;
2665 struct cvmx_pciercx_cfg022_s cnf71xx;
2666 struct cvmx_pciercx_cfg022_s cnf75xx;
2667};
2668
2669typedef union cvmx_pciercx_cfg022 cvmx_pciercx_cfg022_t;
2670
2671/**
2672 * cvmx_pcierc#_cfg023
2673 *
2674 * This register contains the twenty-fourth 32-bits of PCIe type 1 configuration space.
2675 *
2676 */
2677union cvmx_pciercx_cfg023 {
2678 u32 u32;
2679 struct cvmx_pciercx_cfg023_s {
2680 u32 reserved_16_31 : 16;
2681 u32 msimd : 16;
2682 } s;
2683 struct cvmx_pciercx_cfg023_s cn52xx;
2684 struct cvmx_pciercx_cfg023_s cn52xxp1;
2685 struct cvmx_pciercx_cfg023_s cn56xx;
2686 struct cvmx_pciercx_cfg023_s cn56xxp1;
2687 struct cvmx_pciercx_cfg023_s cn61xx;
2688 struct cvmx_pciercx_cfg023_s cn63xx;
2689 struct cvmx_pciercx_cfg023_s cn63xxp1;
2690 struct cvmx_pciercx_cfg023_s cn66xx;
2691 struct cvmx_pciercx_cfg023_s cn68xx;
2692 struct cvmx_pciercx_cfg023_s cn68xxp1;
2693 struct cvmx_pciercx_cfg023_s cn70xx;
2694 struct cvmx_pciercx_cfg023_s cn70xxp1;
2695 struct cvmx_pciercx_cfg023_s cn73xx;
2696 struct cvmx_pciercx_cfg023_s cn78xx;
2697 struct cvmx_pciercx_cfg023_s cn78xxp1;
2698 struct cvmx_pciercx_cfg023_s cnf71xx;
2699 struct cvmx_pciercx_cfg023_s cnf75xx;
2700};
2701
2702typedef union cvmx_pciercx_cfg023 cvmx_pciercx_cfg023_t;
2703
2704/**
2705 * cvmx_pcierc#_cfg028
2706 *
2707 * This register contains the twenty-ninth 32-bits of PCIe type 1 configuration space.
2708 *
2709 */
2710union cvmx_pciercx_cfg028 {
2711 u32 u32;
2712 struct cvmx_pciercx_cfg028_s {
2713 u32 reserved_30_31 : 2;
2714 u32 imn : 5;
2715 u32 si : 1;
2716 u32 dpt : 4;
2717 u32 pciecv : 4;
2718 u32 ncp : 8;
2719 u32 pcieid : 8;
2720 } s;
2721 struct cvmx_pciercx_cfg028_s cn52xx;
2722 struct cvmx_pciercx_cfg028_s cn52xxp1;
2723 struct cvmx_pciercx_cfg028_s cn56xx;
2724 struct cvmx_pciercx_cfg028_s cn56xxp1;
2725 struct cvmx_pciercx_cfg028_s cn61xx;
2726 struct cvmx_pciercx_cfg028_s cn63xx;
2727 struct cvmx_pciercx_cfg028_s cn63xxp1;
2728 struct cvmx_pciercx_cfg028_s cn66xx;
2729 struct cvmx_pciercx_cfg028_s cn68xx;
2730 struct cvmx_pciercx_cfg028_s cn68xxp1;
2731 struct cvmx_pciercx_cfg028_s cn70xx;
2732 struct cvmx_pciercx_cfg028_s cn70xxp1;
2733 struct cvmx_pciercx_cfg028_s cn73xx;
2734 struct cvmx_pciercx_cfg028_s cn78xx;
2735 struct cvmx_pciercx_cfg028_s cn78xxp1;
2736 struct cvmx_pciercx_cfg028_s cnf71xx;
2737 struct cvmx_pciercx_cfg028_s cnf75xx;
2738};
2739
2740typedef union cvmx_pciercx_cfg028 cvmx_pciercx_cfg028_t;
2741
2742/**
2743 * cvmx_pcierc#_cfg029
2744 *
2745 * This register contains the thirtieth 32-bits of PCIe type 1 configuration space.
2746 *
2747 */
2748union cvmx_pciercx_cfg029 {
2749 u32 u32;
2750 struct cvmx_pciercx_cfg029_s {
2751 u32 reserved_29_31 : 3;
2752 u32 flr_cap : 1;
2753 u32 cspls : 2;
2754 u32 csplv : 8;
2755 u32 reserved_16_17 : 2;
2756 u32 rber : 1;
2757 u32 reserved_12_14 : 3;
2758 u32 el1al : 3;
2759 u32 el0al : 3;
2760 u32 etfs : 1;
2761 u32 pfs : 2;
2762 u32 mpss : 3;
2763 } s;
2764 struct cvmx_pciercx_cfg029_cn52xx {
2765 u32 reserved_28_31 : 4;
2766 u32 cspls : 2;
2767 u32 csplv : 8;
2768 u32 reserved_16_17 : 2;
2769 u32 rber : 1;
2770 u32 reserved_12_14 : 3;
2771 u32 el1al : 3;
2772 u32 el0al : 3;
2773 u32 etfs : 1;
2774 u32 pfs : 2;
2775 u32 mpss : 3;
2776 } cn52xx;
2777 struct cvmx_pciercx_cfg029_cn52xx cn52xxp1;
2778 struct cvmx_pciercx_cfg029_cn52xx cn56xx;
2779 struct cvmx_pciercx_cfg029_cn52xx cn56xxp1;
2780 struct cvmx_pciercx_cfg029_cn52xx cn61xx;
2781 struct cvmx_pciercx_cfg029_cn52xx cn63xx;
2782 struct cvmx_pciercx_cfg029_cn52xx cn63xxp1;
2783 struct cvmx_pciercx_cfg029_cn52xx cn66xx;
2784 struct cvmx_pciercx_cfg029_cn52xx cn68xx;
2785 struct cvmx_pciercx_cfg029_cn52xx cn68xxp1;
2786 struct cvmx_pciercx_cfg029_cn52xx cn70xx;
2787 struct cvmx_pciercx_cfg029_cn52xx cn70xxp1;
2788 struct cvmx_pciercx_cfg029_s cn73xx;
2789 struct cvmx_pciercx_cfg029_s cn78xx;
2790 struct cvmx_pciercx_cfg029_s cn78xxp1;
2791 struct cvmx_pciercx_cfg029_cn52xx cnf71xx;
2792 struct cvmx_pciercx_cfg029_s cnf75xx;
2793};
2794
2795typedef union cvmx_pciercx_cfg029 cvmx_pciercx_cfg029_t;
2796
2797/**
2798 * cvmx_pcierc#_cfg030
2799 *
2800 * This register contains the thirty-first 32-bits of PCIe type 1 configuration space.
2801 *
2802 */
2803union cvmx_pciercx_cfg030 {
2804 u32 u32;
2805 struct cvmx_pciercx_cfg030_s {
2806 u32 reserved_22_31 : 10;
2807 u32 tp : 1;
2808 u32 ap_d : 1;
2809 u32 ur_d : 1;
2810 u32 fe_d : 1;
2811 u32 nfe_d : 1;
2812 u32 ce_d : 1;
2813 u32 reserved_15_15 : 1;
2814 u32 mrrs : 3;
2815 u32 ns_en : 1;
2816 u32 ap_en : 1;
2817 u32 pf_en : 1;
2818 u32 etf_en : 1;
2819 u32 mps : 3;
2820 u32 ro_en : 1;
2821 u32 ur_en : 1;
2822 u32 fe_en : 1;
2823 u32 nfe_en : 1;
2824 u32 ce_en : 1;
2825 } s;
2826 struct cvmx_pciercx_cfg030_s cn52xx;
2827 struct cvmx_pciercx_cfg030_s cn52xxp1;
2828 struct cvmx_pciercx_cfg030_s cn56xx;
2829 struct cvmx_pciercx_cfg030_s cn56xxp1;
2830 struct cvmx_pciercx_cfg030_s cn61xx;
2831 struct cvmx_pciercx_cfg030_s cn63xx;
2832 struct cvmx_pciercx_cfg030_s cn63xxp1;
2833 struct cvmx_pciercx_cfg030_s cn66xx;
2834 struct cvmx_pciercx_cfg030_s cn68xx;
2835 struct cvmx_pciercx_cfg030_s cn68xxp1;
2836 struct cvmx_pciercx_cfg030_s cn70xx;
2837 struct cvmx_pciercx_cfg030_s cn70xxp1;
2838 struct cvmx_pciercx_cfg030_s cn73xx;
2839 struct cvmx_pciercx_cfg030_s cn78xx;
2840 struct cvmx_pciercx_cfg030_s cn78xxp1;
2841 struct cvmx_pciercx_cfg030_s cnf71xx;
2842 struct cvmx_pciercx_cfg030_s cnf75xx;
2843};
2844
2845typedef union cvmx_pciercx_cfg030 cvmx_pciercx_cfg030_t;
2846
2847/**
2848 * cvmx_pcierc#_cfg031
2849 *
2850 * This register contains the thirty-second 32-bits of PCIe type 1 configuration space.
2851 *
2852 */
2853union cvmx_pciercx_cfg031 {
2854 u32 u32;
2855 struct cvmx_pciercx_cfg031_s {
2856 u32 pnum : 8;
2857 u32 reserved_23_23 : 1;
2858 u32 aspm : 1;
2859 u32 lbnc : 1;
2860 u32 dllarc : 1;
2861 u32 sderc : 1;
2862 u32 cpm : 1;
2863 u32 l1el : 3;
2864 u32 l0el : 3;
2865 u32 aslpms : 2;
2866 u32 mlw : 6;
2867 u32 mls : 4;
2868 } s;
2869 struct cvmx_pciercx_cfg031_cn52xx {
2870 u32 pnum : 8;
2871 u32 reserved_22_23 : 2;
2872 u32 lbnc : 1;
2873 u32 dllarc : 1;
2874 u32 sderc : 1;
2875 u32 cpm : 1;
2876 u32 l1el : 3;
2877 u32 l0el : 3;
2878 u32 aslpms : 2;
2879 u32 mlw : 6;
2880 u32 mls : 4;
2881 } cn52xx;
2882 struct cvmx_pciercx_cfg031_cn52xx cn52xxp1;
2883 struct cvmx_pciercx_cfg031_cn52xx cn56xx;
2884 struct cvmx_pciercx_cfg031_cn52xx cn56xxp1;
2885 struct cvmx_pciercx_cfg031_s cn61xx;
2886 struct cvmx_pciercx_cfg031_cn52xx cn63xx;
2887 struct cvmx_pciercx_cfg031_cn52xx cn63xxp1;
2888 struct cvmx_pciercx_cfg031_s cn66xx;
2889 struct cvmx_pciercx_cfg031_s cn68xx;
2890 struct cvmx_pciercx_cfg031_cn52xx cn68xxp1;
2891 struct cvmx_pciercx_cfg031_s cn70xx;
2892 struct cvmx_pciercx_cfg031_s cn70xxp1;
2893 struct cvmx_pciercx_cfg031_s cn73xx;
2894 struct cvmx_pciercx_cfg031_s cn78xx;
2895 struct cvmx_pciercx_cfg031_s cn78xxp1;
2896 struct cvmx_pciercx_cfg031_s cnf71xx;
2897 struct cvmx_pciercx_cfg031_s cnf75xx;
2898};
2899
2900typedef union cvmx_pciercx_cfg031 cvmx_pciercx_cfg031_t;
2901
2902/**
2903 * cvmx_pcierc#_cfg032
2904 *
2905 * This register contains the thirty-third 32-bits of PCIe type 1 configuration space.
2906 *
2907 */
2908union cvmx_pciercx_cfg032 {
2909 u32 u32;
2910 struct cvmx_pciercx_cfg032_s {
2911 u32 lab : 1;
2912 u32 lbm : 1;
2913 u32 dlla : 1;
2914 u32 scc : 1;
2915 u32 lt : 1;
2916 u32 reserved_26_26 : 1;
2917 u32 nlw : 6;
2918 u32 ls : 4;
2919 u32 reserved_12_15 : 4;
2920 u32 lab_int_enb : 1;
2921 u32 lbm_int_enb : 1;
2922 u32 hawd : 1;
2923 u32 ecpm : 1;
2924 u32 es : 1;
2925 u32 ccc : 1;
2926 u32 rl : 1;
2927 u32 ld : 1;
2928 u32 rcb : 1;
2929 u32 reserved_2_2 : 1;
2930 u32 aslpc : 2;
2931 } s;
2932 struct cvmx_pciercx_cfg032_s cn52xx;
2933 struct cvmx_pciercx_cfg032_s cn52xxp1;
2934 struct cvmx_pciercx_cfg032_s cn56xx;
2935 struct cvmx_pciercx_cfg032_s cn56xxp1;
2936 struct cvmx_pciercx_cfg032_s cn61xx;
2937 struct cvmx_pciercx_cfg032_s cn63xx;
2938 struct cvmx_pciercx_cfg032_s cn63xxp1;
2939 struct cvmx_pciercx_cfg032_s cn66xx;
2940 struct cvmx_pciercx_cfg032_s cn68xx;
2941 struct cvmx_pciercx_cfg032_s cn68xxp1;
2942 struct cvmx_pciercx_cfg032_s cn70xx;
2943 struct cvmx_pciercx_cfg032_s cn70xxp1;
2944 struct cvmx_pciercx_cfg032_s cn73xx;
2945 struct cvmx_pciercx_cfg032_s cn78xx;
2946 struct cvmx_pciercx_cfg032_s cn78xxp1;
2947 struct cvmx_pciercx_cfg032_s cnf71xx;
2948 struct cvmx_pciercx_cfg032_s cnf75xx;
2949};
2950
2951typedef union cvmx_pciercx_cfg032 cvmx_pciercx_cfg032_t;
2952
2953/**
2954 * cvmx_pcierc#_cfg033
2955 *
2956 * This register contains the thirty-fourth 32-bits of PCIe type 1 configuration space.
2957 *
2958 */
2959union cvmx_pciercx_cfg033 {
2960 u32 u32;
2961 struct cvmx_pciercx_cfg033_s {
2962 u32 ps_num : 13;
2963 u32 nccs : 1;
2964 u32 emip : 1;
2965 u32 sp_ls : 2;
2966 u32 sp_lv : 8;
2967 u32 hp_c : 1;
2968 u32 hp_s : 1;
2969 u32 pip : 1;
2970 u32 aip : 1;
2971 u32 mrlsp : 1;
2972 u32 pcp : 1;
2973 u32 abp : 1;
2974 } s;
2975 struct cvmx_pciercx_cfg033_s cn52xx;
2976 struct cvmx_pciercx_cfg033_s cn52xxp1;
2977 struct cvmx_pciercx_cfg033_s cn56xx;
2978 struct cvmx_pciercx_cfg033_s cn56xxp1;
2979 struct cvmx_pciercx_cfg033_s cn61xx;
2980 struct cvmx_pciercx_cfg033_s cn63xx;
2981 struct cvmx_pciercx_cfg033_s cn63xxp1;
2982 struct cvmx_pciercx_cfg033_s cn66xx;
2983 struct cvmx_pciercx_cfg033_s cn68xx;
2984 struct cvmx_pciercx_cfg033_s cn68xxp1;
2985 struct cvmx_pciercx_cfg033_s cn70xx;
2986 struct cvmx_pciercx_cfg033_s cn70xxp1;
2987 struct cvmx_pciercx_cfg033_s cn73xx;
2988 struct cvmx_pciercx_cfg033_s cn78xx;
2989 struct cvmx_pciercx_cfg033_s cn78xxp1;
2990 struct cvmx_pciercx_cfg033_s cnf71xx;
2991 struct cvmx_pciercx_cfg033_s cnf75xx;
2992};
2993
2994typedef union cvmx_pciercx_cfg033 cvmx_pciercx_cfg033_t;
2995
2996/**
2997 * cvmx_pcierc#_cfg034
2998 *
2999 * This register contains the thirty-fifth 32-bits of PCIe type 1 configuration space.
3000 *
3001 */
3002union cvmx_pciercx_cfg034 {
3003 u32 u32;
3004 struct cvmx_pciercx_cfg034_s {
3005 u32 reserved_25_31 : 7;
3006 u32 dlls_c : 1;
3007 u32 emis : 1;
3008 u32 pds : 1;
3009 u32 mrlss : 1;
3010 u32 ccint_d : 1;
3011 u32 pd_c : 1;
3012 u32 mrls_c : 1;
3013 u32 pf_d : 1;
3014 u32 abp_d : 1;
3015 u32 reserved_13_15 : 3;
3016 u32 dlls_en : 1;
3017 u32 emic : 1;
3018 u32 pcc : 1;
3019 u32 pic : 2;
3020 u32 aic : 2;
3021 u32 hpint_en : 1;
3022 u32 ccint_en : 1;
3023 u32 pd_en : 1;
3024 u32 mrls_en : 1;
3025 u32 pf_en : 1;
3026 u32 abp_en : 1;
3027 } s;
3028 struct cvmx_pciercx_cfg034_s cn52xx;
3029 struct cvmx_pciercx_cfg034_s cn52xxp1;
3030 struct cvmx_pciercx_cfg034_s cn56xx;
3031 struct cvmx_pciercx_cfg034_s cn56xxp1;
3032 struct cvmx_pciercx_cfg034_s cn61xx;
3033 struct cvmx_pciercx_cfg034_s cn63xx;
3034 struct cvmx_pciercx_cfg034_s cn63xxp1;
3035 struct cvmx_pciercx_cfg034_s cn66xx;
3036 struct cvmx_pciercx_cfg034_s cn68xx;
3037 struct cvmx_pciercx_cfg034_s cn68xxp1;
3038 struct cvmx_pciercx_cfg034_s cn70xx;
3039 struct cvmx_pciercx_cfg034_s cn70xxp1;
3040 struct cvmx_pciercx_cfg034_s cn73xx;
3041 struct cvmx_pciercx_cfg034_s cn78xx;
3042 struct cvmx_pciercx_cfg034_s cn78xxp1;
3043 struct cvmx_pciercx_cfg034_s cnf71xx;
3044 struct cvmx_pciercx_cfg034_s cnf75xx;
3045};
3046
3047typedef union cvmx_pciercx_cfg034 cvmx_pciercx_cfg034_t;
3048
3049/**
3050 * cvmx_pcierc#_cfg035
3051 *
3052 * This register contains the thirty-sixth 32-bits of PCIe type 1 configuration space.
3053 *
3054 */
3055union cvmx_pciercx_cfg035 {
3056 u32 u32;
3057 struct cvmx_pciercx_cfg035_s {
3058 u32 reserved_17_31 : 15;
3059 u32 crssv : 1;
3060 u32 reserved_5_15 : 11;
3061 u32 crssve : 1;
3062 u32 pmeie : 1;
3063 u32 sefee : 1;
3064 u32 senfee : 1;
3065 u32 secee : 1;
3066 } s;
3067 struct cvmx_pciercx_cfg035_s cn52xx;
3068 struct cvmx_pciercx_cfg035_s cn52xxp1;
3069 struct cvmx_pciercx_cfg035_s cn56xx;
3070 struct cvmx_pciercx_cfg035_s cn56xxp1;
3071 struct cvmx_pciercx_cfg035_s cn61xx;
3072 struct cvmx_pciercx_cfg035_s cn63xx;
3073 struct cvmx_pciercx_cfg035_s cn63xxp1;
3074 struct cvmx_pciercx_cfg035_s cn66xx;
3075 struct cvmx_pciercx_cfg035_s cn68xx;
3076 struct cvmx_pciercx_cfg035_s cn68xxp1;
3077 struct cvmx_pciercx_cfg035_s cn70xx;
3078 struct cvmx_pciercx_cfg035_s cn70xxp1;
3079 struct cvmx_pciercx_cfg035_s cn73xx;
3080 struct cvmx_pciercx_cfg035_s cn78xx;
3081 struct cvmx_pciercx_cfg035_s cn78xxp1;
3082 struct cvmx_pciercx_cfg035_s cnf71xx;
3083 struct cvmx_pciercx_cfg035_s cnf75xx;
3084};
3085
3086typedef union cvmx_pciercx_cfg035 cvmx_pciercx_cfg035_t;
3087
3088/**
3089 * cvmx_pcierc#_cfg036
3090 *
3091 * This register contains the thirty-seventh 32-bits of PCIe type 1 configuration space.
3092 *
3093 */
3094union cvmx_pciercx_cfg036 {
3095 u32 u32;
3096 struct cvmx_pciercx_cfg036_s {
3097 u32 reserved_18_31 : 14;
3098 u32 pme_pend : 1;
3099 u32 pme_stat : 1;
3100 u32 pme_rid : 16;
3101 } s;
3102 struct cvmx_pciercx_cfg036_s cn52xx;
3103 struct cvmx_pciercx_cfg036_s cn52xxp1;
3104 struct cvmx_pciercx_cfg036_s cn56xx;
3105 struct cvmx_pciercx_cfg036_s cn56xxp1;
3106 struct cvmx_pciercx_cfg036_s cn61xx;
3107 struct cvmx_pciercx_cfg036_s cn63xx;
3108 struct cvmx_pciercx_cfg036_s cn63xxp1;
3109 struct cvmx_pciercx_cfg036_s cn66xx;
3110 struct cvmx_pciercx_cfg036_s cn68xx;
3111 struct cvmx_pciercx_cfg036_s cn68xxp1;
3112 struct cvmx_pciercx_cfg036_s cn70xx;
3113 struct cvmx_pciercx_cfg036_s cn70xxp1;
3114 struct cvmx_pciercx_cfg036_s cn73xx;
3115 struct cvmx_pciercx_cfg036_s cn78xx;
3116 struct cvmx_pciercx_cfg036_s cn78xxp1;
3117 struct cvmx_pciercx_cfg036_s cnf71xx;
3118 struct cvmx_pciercx_cfg036_s cnf75xx;
3119};
3120
3121typedef union cvmx_pciercx_cfg036 cvmx_pciercx_cfg036_t;
3122
3123/**
3124 * cvmx_pcierc#_cfg037
3125 *
3126 * This register contains the thirty-eighth 32-bits of PCIe type 1 configuration space.
3127 *
3128 */
3129union cvmx_pciercx_cfg037 {
3130 u32 u32;
3131 struct cvmx_pciercx_cfg037_s {
3132 u32 reserved_24_31 : 8;
3133 u32 meetp : 2;
3134 u32 eetps : 1;
3135 u32 effs : 1;
3136 u32 obffs : 2;
3137 u32 reserved_12_17 : 6;
3138 u32 ltrs : 1;
3139 u32 noroprpr : 1;
3140 u32 atom128s : 1;
3141 u32 atom64s : 1;
3142 u32 atom32s : 1;
3143 u32 atom_ops : 1;
3144 u32 reserved_5_5 : 1;
3145 u32 ctds : 1;
3146 u32 ctrs : 4;
3147 } s;
3148 struct cvmx_pciercx_cfg037_cn52xx {
3149 u32 reserved_5_31 : 27;
3150 u32 ctds : 1;
3151 u32 ctrs : 4;
3152 } cn52xx;
3153 struct cvmx_pciercx_cfg037_cn52xx cn52xxp1;
3154 struct cvmx_pciercx_cfg037_cn52xx cn56xx;
3155 struct cvmx_pciercx_cfg037_cn52xx cn56xxp1;
3156 struct cvmx_pciercx_cfg037_cn61xx {
3157 u32 reserved_14_31 : 18;
3158 u32 tph : 2;
3159 u32 reserved_11_11 : 1;
3160 u32 noroprpr : 1;
3161 u32 atom128s : 1;
3162 u32 atom64s : 1;
3163 u32 atom32s : 1;
3164 u32 atom_ops : 1;
3165 u32 ari_fw : 1;
3166 u32 ctds : 1;
3167 u32 ctrs : 4;
3168 } cn61xx;
3169 struct cvmx_pciercx_cfg037_cn52xx cn63xx;
3170 struct cvmx_pciercx_cfg037_cn52xx cn63xxp1;
3171 struct cvmx_pciercx_cfg037_cn66xx {
3172 u32 reserved_14_31 : 18;
3173 u32 tph : 2;
3174 u32 reserved_11_11 : 1;
3175 u32 noroprpr : 1;
3176 u32 atom128s : 1;
3177 u32 atom64s : 1;
3178 u32 atom32s : 1;
3179 u32 atom_ops : 1;
3180 u32 ari : 1;
3181 u32 ctds : 1;
3182 u32 ctrs : 4;
3183 } cn66xx;
3184 struct cvmx_pciercx_cfg037_cn66xx cn68xx;
3185 struct cvmx_pciercx_cfg037_cn66xx cn68xxp1;
3186 struct cvmx_pciercx_cfg037_cn61xx cn70xx;
3187 struct cvmx_pciercx_cfg037_cn61xx cn70xxp1;
3188 struct cvmx_pciercx_cfg037_cn73xx {
3189 u32 reserved_24_31 : 8;
3190 u32 meetp : 2;
3191 u32 eetps : 1;
3192 u32 effs : 1;
3193 u32 obffs : 2;
3194 u32 reserved_14_17 : 4;
3195 u32 tph : 2;
3196 u32 ltrs : 1;
3197 u32 noroprpr : 1;
3198 u32 atom128s : 1;
3199 u32 atom64s : 1;
3200 u32 atom32s : 1;
3201 u32 atom_ops : 1;
3202 u32 ari_fw : 1;
3203 u32 ctds : 1;
3204 u32 ctrs : 4;
3205 } cn73xx;
3206 struct cvmx_pciercx_cfg037_cn73xx cn78xx;
3207 struct cvmx_pciercx_cfg037_cn73xx cn78xxp1;
3208 struct cvmx_pciercx_cfg037_cnf71xx {
3209 u32 reserved_20_31 : 12;
3210 u32 obffs : 2;
3211 u32 reserved_14_17 : 4;
3212 u32 tphs : 2;
3213 u32 ltrs : 1;
3214 u32 noroprpr : 1;
3215 u32 atom128s : 1;
3216 u32 atom64s : 1;
3217 u32 atom32s : 1;
3218 u32 atom_ops : 1;
3219 u32 ari_fw : 1;
3220 u32 ctds : 1;
3221 u32 ctrs : 4;
3222 } cnf71xx;
3223 struct cvmx_pciercx_cfg037_cn73xx cnf75xx;
3224};
3225
3226typedef union cvmx_pciercx_cfg037 cvmx_pciercx_cfg037_t;
3227
3228/**
3229 * cvmx_pcierc#_cfg038
3230 *
3231 * This register contains the thirty-ninth 32-bits of PCIe type 1 configuration space.
3232 *
3233 */
3234union cvmx_pciercx_cfg038 {
3235 u32 u32;
3236 struct cvmx_pciercx_cfg038_s {
3237 u32 reserved_16_31 : 16;
3238 u32 eetpb : 1;
3239 u32 obffe : 2;
3240 u32 reserved_11_12 : 2;
3241 u32 ltre : 1;
3242 u32 id0_cp : 1;
3243 u32 id0_rq : 1;
3244 u32 atom_op_eb : 1;
3245 u32 atom_op : 1;
3246 u32 ari : 1;
3247 u32 ctd : 1;
3248 u32 ctv : 4;
3249 } s;
3250 struct cvmx_pciercx_cfg038_cn52xx {
3251 u32 reserved_5_31 : 27;
3252 u32 ctd : 1;
3253 u32 ctv : 4;
3254 } cn52xx;
3255 struct cvmx_pciercx_cfg038_cn52xx cn52xxp1;
3256 struct cvmx_pciercx_cfg038_cn52xx cn56xx;
3257 struct cvmx_pciercx_cfg038_cn52xx cn56xxp1;
3258 struct cvmx_pciercx_cfg038_cn61xx {
3259 u32 reserved_10_31 : 22;
3260 u32 id0_cp : 1;
3261 u32 id0_rq : 1;
3262 u32 atom_op_eb : 1;
3263 u32 atom_op : 1;
3264 u32 ari : 1;
3265 u32 ctd : 1;
3266 u32 ctv : 4;
3267 } cn61xx;
3268 struct cvmx_pciercx_cfg038_cn52xx cn63xx;
3269 struct cvmx_pciercx_cfg038_cn52xx cn63xxp1;
3270 struct cvmx_pciercx_cfg038_cn61xx cn66xx;
3271 struct cvmx_pciercx_cfg038_cn61xx cn68xx;
3272 struct cvmx_pciercx_cfg038_cn61xx cn68xxp1;
3273 struct cvmx_pciercx_cfg038_cn61xx cn70xx;
3274 struct cvmx_pciercx_cfg038_cn61xx cn70xxp1;
3275 struct cvmx_pciercx_cfg038_s cn73xx;
3276 struct cvmx_pciercx_cfg038_s cn78xx;
3277 struct cvmx_pciercx_cfg038_s cn78xxp1;
3278 struct cvmx_pciercx_cfg038_cnf71xx {
3279 u32 reserved_15_31 : 17;
3280 u32 obffe : 2;
3281 u32 reserved_11_12 : 2;
3282 u32 ltre : 1;
3283 u32 id0_cp : 1;
3284 u32 id0_rq : 1;
3285 u32 atom_op_eb : 1;
3286 u32 atom_op : 1;
3287 u32 ari : 1;
3288 u32 ctd : 1;
3289 u32 ctv : 4;
3290 } cnf71xx;
3291 struct cvmx_pciercx_cfg038_s cnf75xx;
3292};
3293
3294typedef union cvmx_pciercx_cfg038 cvmx_pciercx_cfg038_t;
3295
3296/**
3297 * cvmx_pcierc#_cfg039
3298 *
3299 * This register contains the fortieth 32-bits of PCIe type 1 configuration space.
3300 *
3301 */
3302union cvmx_pciercx_cfg039 {
3303 u32 u32;
3304 struct cvmx_pciercx_cfg039_s {
3305 u32 reserved_9_31 : 23;
3306 u32 cls : 1;
3307 u32 slsv : 7;
3308 u32 reserved_0_0 : 1;
3309 } s;
3310 struct cvmx_pciercx_cfg039_cn52xx {
3311 u32 reserved_0_31 : 32;
3312 } cn52xx;
3313 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1;
3314 struct cvmx_pciercx_cfg039_cn52xx cn56xx;
3315 struct cvmx_pciercx_cfg039_cn52xx cn56xxp1;
3316 struct cvmx_pciercx_cfg039_s cn61xx;
3317 struct cvmx_pciercx_cfg039_s cn63xx;
3318 struct cvmx_pciercx_cfg039_cn52xx cn63xxp1;
3319 struct cvmx_pciercx_cfg039_s cn66xx;
3320 struct cvmx_pciercx_cfg039_s cn68xx;
3321 struct cvmx_pciercx_cfg039_s cn68xxp1;
3322 struct cvmx_pciercx_cfg039_s cn70xx;
3323 struct cvmx_pciercx_cfg039_s cn70xxp1;
3324 struct cvmx_pciercx_cfg039_s cn73xx;
3325 struct cvmx_pciercx_cfg039_s cn78xx;
3326 struct cvmx_pciercx_cfg039_s cn78xxp1;
3327 struct cvmx_pciercx_cfg039_s cnf71xx;
3328 struct cvmx_pciercx_cfg039_s cnf75xx;
3329};
3330
3331typedef union cvmx_pciercx_cfg039 cvmx_pciercx_cfg039_t;
3332
3333/**
3334 * cvmx_pcierc#_cfg040
3335 *
3336 * This register contains the forty-first 32-bits of PCIe type 1 configuration space.
3337 *
3338 */
3339union cvmx_pciercx_cfg040 {
3340 u32 u32;
3341 struct cvmx_pciercx_cfg040_s {
3342 u32 reserved_22_31 : 10;
3343 u32 ler : 1;
3344 u32 ep3s : 1;
3345 u32 ep2s : 1;
3346 u32 ep1s : 1;
3347 u32 eqc : 1;
3348 u32 cdl : 1;
3349 u32 cde : 4;
3350 u32 csos : 1;
3351 u32 emc : 1;
3352 u32 tm : 3;
3353 u32 sde : 1;
3354 u32 hasd : 1;
3355 u32 ec : 1;
3356 u32 tls : 4;
3357 } s;
3358 struct cvmx_pciercx_cfg040_cn52xx {
3359 u32 reserved_0_31 : 32;
3360 } cn52xx;
3361 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1;
3362 struct cvmx_pciercx_cfg040_cn52xx cn56xx;
3363 struct cvmx_pciercx_cfg040_cn52xx cn56xxp1;
3364 struct cvmx_pciercx_cfg040_cn61xx {
3365 u32 reserved_17_31 : 15;
3366 u32 cdl : 1;
3367 u32 reserved_13_15 : 3;
3368 u32 cde : 1;
3369 u32 csos : 1;
3370 u32 emc : 1;
3371 u32 tm : 3;
3372 u32 sde : 1;
3373 u32 hasd : 1;
3374 u32 ec : 1;
3375 u32 tls : 4;
3376 } cn61xx;
3377 struct cvmx_pciercx_cfg040_cn61xx cn63xx;
3378 struct cvmx_pciercx_cfg040_cn61xx cn63xxp1;
3379 struct cvmx_pciercx_cfg040_cn61xx cn66xx;
3380 struct cvmx_pciercx_cfg040_cn61xx cn68xx;
3381 struct cvmx_pciercx_cfg040_cn61xx cn68xxp1;
3382 struct cvmx_pciercx_cfg040_cn61xx cn70xx;
3383 struct cvmx_pciercx_cfg040_cn61xx cn70xxp1;
3384 struct cvmx_pciercx_cfg040_s cn73xx;
3385 struct cvmx_pciercx_cfg040_s cn78xx;
3386 struct cvmx_pciercx_cfg040_s cn78xxp1;
3387 struct cvmx_pciercx_cfg040_cn61xx cnf71xx;
3388 struct cvmx_pciercx_cfg040_s cnf75xx;
3389};
3390
3391typedef union cvmx_pciercx_cfg040 cvmx_pciercx_cfg040_t;
3392
3393/**
3394 * cvmx_pcierc#_cfg041
3395 *
3396 * This register contains the forty-second 32-bits of PCIe type 1 configuration space.
3397 *
3398 */
3399union cvmx_pciercx_cfg041 {
3400 u32 u32;
3401 struct cvmx_pciercx_cfg041_s {
3402 u32 reserved_0_31 : 32;
3403 } s;
3404 struct cvmx_pciercx_cfg041_s cn52xx;
3405 struct cvmx_pciercx_cfg041_s cn52xxp1;
3406 struct cvmx_pciercx_cfg041_s cn56xx;
3407 struct cvmx_pciercx_cfg041_s cn56xxp1;
3408 struct cvmx_pciercx_cfg041_s cn61xx;
3409 struct cvmx_pciercx_cfg041_s cn63xx;
3410 struct cvmx_pciercx_cfg041_s cn63xxp1;
3411 struct cvmx_pciercx_cfg041_s cn66xx;
3412 struct cvmx_pciercx_cfg041_s cn68xx;
3413 struct cvmx_pciercx_cfg041_s cn68xxp1;
3414 struct cvmx_pciercx_cfg041_s cn70xx;
3415 struct cvmx_pciercx_cfg041_s cn70xxp1;
3416 struct cvmx_pciercx_cfg041_s cn73xx;
3417 struct cvmx_pciercx_cfg041_s cn78xx;
3418 struct cvmx_pciercx_cfg041_s cn78xxp1;
3419 struct cvmx_pciercx_cfg041_s cnf71xx;
3420 struct cvmx_pciercx_cfg041_s cnf75xx;
3421};
3422
3423typedef union cvmx_pciercx_cfg041 cvmx_pciercx_cfg041_t;
3424
3425/**
3426 * cvmx_pcierc#_cfg042
3427 *
3428 * This register contains the forty-third 32-bits of PCIe type 1 configuration space.
3429 *
3430 */
3431union cvmx_pciercx_cfg042 {
3432 u32 u32;
3433 struct cvmx_pciercx_cfg042_s {
3434 u32 reserved_0_31 : 32;
3435 } s;
3436 struct cvmx_pciercx_cfg042_s cn52xx;
3437 struct cvmx_pciercx_cfg042_s cn52xxp1;
3438 struct cvmx_pciercx_cfg042_s cn56xx;
3439 struct cvmx_pciercx_cfg042_s cn56xxp1;
3440 struct cvmx_pciercx_cfg042_s cn61xx;
3441 struct cvmx_pciercx_cfg042_s cn63xx;
3442 struct cvmx_pciercx_cfg042_s cn63xxp1;
3443 struct cvmx_pciercx_cfg042_s cn66xx;
3444 struct cvmx_pciercx_cfg042_s cn68xx;
3445 struct cvmx_pciercx_cfg042_s cn68xxp1;
3446 struct cvmx_pciercx_cfg042_s cn70xx;
3447 struct cvmx_pciercx_cfg042_s cn70xxp1;
3448 struct cvmx_pciercx_cfg042_s cn73xx;
3449 struct cvmx_pciercx_cfg042_s cn78xx;
3450 struct cvmx_pciercx_cfg042_s cn78xxp1;
3451 struct cvmx_pciercx_cfg042_s cnf71xx;
3452 struct cvmx_pciercx_cfg042_s cnf75xx;
3453};
3454
3455typedef union cvmx_pciercx_cfg042 cvmx_pciercx_cfg042_t;
3456
3457/**
3458 * cvmx_pcierc#_cfg044
3459 *
3460 * This register contains the forty-fifth 32-bits of PCIe type 1 configuration space.
3461 *
3462 */
3463union cvmx_pciercx_cfg044 {
3464 u32 u32;
3465 struct cvmx_pciercx_cfg044_s {
3466 u32 msixen : 1;
3467 u32 funm : 1;
3468 u32 reserved_27_29 : 3;
3469 u32 msixts : 11;
3470 u32 ncp : 8;
3471 u32 msixcid : 8;
3472 } s;
3473 struct cvmx_pciercx_cfg044_s cn73xx;
3474 struct cvmx_pciercx_cfg044_s cn78xx;
3475 struct cvmx_pciercx_cfg044_s cn78xxp1;
3476 struct cvmx_pciercx_cfg044_s cnf75xx;
3477};
3478
3479typedef union cvmx_pciercx_cfg044 cvmx_pciercx_cfg044_t;
3480
3481/**
3482 * cvmx_pcierc#_cfg045
3483 *
3484 * This register contains the forty-sixth 32-bits of PCIe type 1 configuration space.
3485 *
3486 */
3487union cvmx_pciercx_cfg045 {
3488 u32 u32;
3489 struct cvmx_pciercx_cfg045_s {
3490 u32 msixtoffs : 29;
3491 u32 msixtbir : 3;
3492 } s;
3493 struct cvmx_pciercx_cfg045_s cn73xx;
3494 struct cvmx_pciercx_cfg045_s cn78xx;
3495 struct cvmx_pciercx_cfg045_s cn78xxp1;
3496 struct cvmx_pciercx_cfg045_s cnf75xx;
3497};
3498
3499typedef union cvmx_pciercx_cfg045 cvmx_pciercx_cfg045_t;
3500
3501/**
3502 * cvmx_pcierc#_cfg046
3503 *
3504 * This register contains the forty-seventh 32-bits of PCIe type 1 configuration space.
3505 *
3506 */
3507union cvmx_pciercx_cfg046 {
3508 u32 u32;
3509 struct cvmx_pciercx_cfg046_s {
3510 u32 msixpoffs : 29;
3511 u32 msixpbir : 3;
3512 } s;
3513 struct cvmx_pciercx_cfg046_s cn73xx;
3514 struct cvmx_pciercx_cfg046_s cn78xx;
3515 struct cvmx_pciercx_cfg046_s cn78xxp1;
3516 struct cvmx_pciercx_cfg046_s cnf75xx;
3517};
3518
3519typedef union cvmx_pciercx_cfg046 cvmx_pciercx_cfg046_t;
3520
3521/**
3522 * cvmx_pcierc#_cfg064
3523 *
3524 * This register contains the sixty-fifth 32-bits of PCIe type 1 configuration space.
3525 *
3526 */
3527union cvmx_pciercx_cfg064 {
3528 u32 u32;
3529 struct cvmx_pciercx_cfg064_s {
3530 u32 nco : 12;
3531 u32 cv : 4;
3532 u32 pcieec : 16;
3533 } s;
3534 struct cvmx_pciercx_cfg064_s cn52xx;
3535 struct cvmx_pciercx_cfg064_s cn52xxp1;
3536 struct cvmx_pciercx_cfg064_s cn56xx;
3537 struct cvmx_pciercx_cfg064_s cn56xxp1;
3538 struct cvmx_pciercx_cfg064_s cn61xx;
3539 struct cvmx_pciercx_cfg064_s cn63xx;
3540 struct cvmx_pciercx_cfg064_s cn63xxp1;
3541 struct cvmx_pciercx_cfg064_s cn66xx;
3542 struct cvmx_pciercx_cfg064_s cn68xx;
3543 struct cvmx_pciercx_cfg064_s cn68xxp1;
3544 struct cvmx_pciercx_cfg064_s cn70xx;
3545 struct cvmx_pciercx_cfg064_s cn70xxp1;
3546 struct cvmx_pciercx_cfg064_s cn73xx;
3547 struct cvmx_pciercx_cfg064_s cn78xx;
3548 struct cvmx_pciercx_cfg064_s cn78xxp1;
3549 struct cvmx_pciercx_cfg064_s cnf71xx;
3550 struct cvmx_pciercx_cfg064_s cnf75xx;
3551};
3552
3553typedef union cvmx_pciercx_cfg064 cvmx_pciercx_cfg064_t;
3554
3555/**
3556 * cvmx_pcierc#_cfg065
3557 *
3558 * This register contains the sixty-sixth 32-bits of PCIe type 1 configuration space.
3559 *
3560 */
3561union cvmx_pciercx_cfg065 {
3562 u32 u32;
3563 struct cvmx_pciercx_cfg065_s {
3564 u32 reserved_26_31 : 6;
3565 u32 tpbes : 1;
3566 u32 uatombs : 1;
3567 u32 reserved_23_23 : 1;
3568 u32 ucies : 1;
3569 u32 reserved_21_21 : 1;
3570 u32 ures : 1;
3571 u32 ecrces : 1;
3572 u32 mtlps : 1;
3573 u32 ros : 1;
3574 u32 ucs : 1;
3575 u32 cas : 1;
3576 u32 cts : 1;
3577 u32 fcpes : 1;
3578 u32 ptlps : 1;
3579 u32 reserved_6_11 : 6;
3580 u32 sdes : 1;
3581 u32 dlpes : 1;
3582 u32 reserved_0_3 : 4;
3583 } s;
3584 struct cvmx_pciercx_cfg065_cn52xx {
3585 u32 reserved_21_31 : 11;
3586 u32 ures : 1;
3587 u32 ecrces : 1;
3588 u32 mtlps : 1;
3589 u32 ros : 1;
3590 u32 ucs : 1;
3591 u32 cas : 1;
3592 u32 cts : 1;
3593 u32 fcpes : 1;
3594 u32 ptlps : 1;
3595 u32 reserved_6_11 : 6;
3596 u32 sdes : 1;
3597 u32 dlpes : 1;
3598 u32 reserved_0_3 : 4;
3599 } cn52xx;
3600 struct cvmx_pciercx_cfg065_cn52xx cn52xxp1;
3601 struct cvmx_pciercx_cfg065_cn52xx cn56xx;
3602 struct cvmx_pciercx_cfg065_cn52xx cn56xxp1;
3603 struct cvmx_pciercx_cfg065_cn61xx {
3604 u32 reserved_25_31 : 7;
3605 u32 uatombs : 1;
3606 u32 reserved_21_23 : 3;
3607 u32 ures : 1;
3608 u32 ecrces : 1;
3609 u32 mtlps : 1;
3610 u32 ros : 1;
3611 u32 ucs : 1;
3612 u32 cas : 1;
3613 u32 cts : 1;
3614 u32 fcpes : 1;
3615 u32 ptlps : 1;
3616 u32 reserved_6_11 : 6;
3617 u32 sdes : 1;
3618 u32 dlpes : 1;
3619 u32 reserved_0_3 : 4;
3620 } cn61xx;
3621 struct cvmx_pciercx_cfg065_cn52xx cn63xx;
3622 struct cvmx_pciercx_cfg065_cn52xx cn63xxp1;
3623 struct cvmx_pciercx_cfg065_cn61xx cn66xx;
3624 struct cvmx_pciercx_cfg065_cn61xx cn68xx;
3625 struct cvmx_pciercx_cfg065_cn52xx cn68xxp1;
3626 struct cvmx_pciercx_cfg065_cn70xx {
3627 u32 reserved_25_31 : 7;
3628 u32 uatombs : 1;
3629 u32 reserved_23_23 : 1;
3630 u32 ucies : 1;
3631 u32 reserved_21_21 : 1;
3632 u32 ures : 1;
3633 u32 ecrces : 1;
3634 u32 mtlps : 1;
3635 u32 ros : 1;
3636 u32 ucs : 1;
3637 u32 cas : 1;
3638 u32 cts : 1;
3639 u32 fcpes : 1;
3640 u32 ptlps : 1;
3641 u32 reserved_6_11 : 6;
3642 u32 sdes : 1;
3643 u32 dlpes : 1;
3644 u32 reserved_0_3 : 4;
3645 } cn70xx;
3646 struct cvmx_pciercx_cfg065_cn70xx cn70xxp1;
3647 struct cvmx_pciercx_cfg065_s cn73xx;
3648 struct cvmx_pciercx_cfg065_s cn78xx;
3649 struct cvmx_pciercx_cfg065_s cn78xxp1;
3650 struct cvmx_pciercx_cfg065_cn70xx cnf71xx;
3651 struct cvmx_pciercx_cfg065_s cnf75xx;
3652};
3653
3654typedef union cvmx_pciercx_cfg065 cvmx_pciercx_cfg065_t;
3655
3656/**
3657 * cvmx_pcierc#_cfg066
3658 *
3659 * This register contains the sixty-seventh 32-bits of PCIe type 1 configuration space.
3660 *
3661 */
3662union cvmx_pciercx_cfg066 {
3663 u32 u32;
3664 struct cvmx_pciercx_cfg066_s {
3665 u32 reserved_26_31 : 6;
3666 u32 tpbem : 1;
3667 u32 uatombm : 1;
3668 u32 reserved_23_23 : 1;
3669 u32 uciem : 1;
3670 u32 reserved_21_21 : 1;
3671 u32 urem : 1;
3672 u32 ecrcem : 1;
3673 u32 mtlpm : 1;
3674 u32 rom : 1;
3675 u32 ucm : 1;
3676 u32 cam : 1;
3677 u32 ctm : 1;
3678 u32 fcpem : 1;
3679 u32 ptlpm : 1;
3680 u32 reserved_6_11 : 6;
3681 u32 sdem : 1;
3682 u32 dlpem : 1;
3683 u32 reserved_0_3 : 4;
3684 } s;
3685 struct cvmx_pciercx_cfg066_cn52xx {
3686 u32 reserved_21_31 : 11;
3687 u32 urem : 1;
3688 u32 ecrcem : 1;
3689 u32 mtlpm : 1;
3690 u32 rom : 1;
3691 u32 ucm : 1;
3692 u32 cam : 1;
3693 u32 ctm : 1;
3694 u32 fcpem : 1;
3695 u32 ptlpm : 1;
3696 u32 reserved_6_11 : 6;
3697 u32 sdem : 1;
3698 u32 dlpem : 1;
3699 u32 reserved_0_3 : 4;
3700 } cn52xx;
3701 struct cvmx_pciercx_cfg066_cn52xx cn52xxp1;
3702 struct cvmx_pciercx_cfg066_cn52xx cn56xx;
3703 struct cvmx_pciercx_cfg066_cn52xx cn56xxp1;
3704 struct cvmx_pciercx_cfg066_cn61xx {
3705 u32 reserved_25_31 : 7;
3706 u32 uatombm : 1;
3707 u32 reserved_21_23 : 3;
3708 u32 urem : 1;
3709 u32 ecrcem : 1;
3710 u32 mtlpm : 1;
3711 u32 rom : 1;
3712 u32 ucm : 1;
3713 u32 cam : 1;
3714 u32 ctm : 1;
3715 u32 fcpem : 1;
3716 u32 ptlpm : 1;
3717 u32 reserved_6_11 : 6;
3718 u32 sdem : 1;
3719 u32 dlpem : 1;
3720 u32 reserved_0_3 : 4;
3721 } cn61xx;
3722 struct cvmx_pciercx_cfg066_cn52xx cn63xx;
3723 struct cvmx_pciercx_cfg066_cn52xx cn63xxp1;
3724 struct cvmx_pciercx_cfg066_cn61xx cn66xx;
3725 struct cvmx_pciercx_cfg066_cn61xx cn68xx;
3726 struct cvmx_pciercx_cfg066_cn52xx cn68xxp1;
3727 struct cvmx_pciercx_cfg066_cn70xx {
3728 u32 reserved_25_31 : 7;
3729 u32 uatombm : 1;
3730 u32 reserved_23_23 : 1;
3731 u32 uciem : 1;
3732 u32 reserved_21_21 : 1;
3733 u32 urem : 1;
3734 u32 ecrcem : 1;
3735 u32 mtlpm : 1;
3736 u32 rom : 1;
3737 u32 ucm : 1;
3738 u32 cam : 1;
3739 u32 ctm : 1;
3740 u32 fcpem : 1;
3741 u32 ptlpm : 1;
3742 u32 reserved_6_11 : 6;
3743 u32 sdem : 1;
3744 u32 dlpem : 1;
3745 u32 reserved_0_3 : 4;
3746 } cn70xx;
3747 struct cvmx_pciercx_cfg066_cn70xx cn70xxp1;
3748 struct cvmx_pciercx_cfg066_s cn73xx;
3749 struct cvmx_pciercx_cfg066_s cn78xx;
3750 struct cvmx_pciercx_cfg066_s cn78xxp1;
3751 struct cvmx_pciercx_cfg066_cn70xx cnf71xx;
3752 struct cvmx_pciercx_cfg066_s cnf75xx;
3753};
3754
3755typedef union cvmx_pciercx_cfg066 cvmx_pciercx_cfg066_t;
3756
3757/**
3758 * cvmx_pcierc#_cfg067
3759 *
3760 * This register contains the sixty-eighth 32-bits of PCIe type 1 configuration space.
3761 *
3762 */
3763union cvmx_pciercx_cfg067 {
3764 u32 u32;
3765 struct cvmx_pciercx_cfg067_s {
3766 u32 reserved_26_31 : 6;
3767 u32 tpbes : 1;
3768 u32 uatombs : 1;
3769 u32 reserved_21_23 : 3;
3770 u32 ures : 1;
3771 u32 ecrces : 1;
3772 u32 mtlps : 1;
3773 u32 ros : 1;
3774 u32 ucs : 1;
3775 u32 cas : 1;
3776 u32 cts : 1;
3777 u32 fcpes : 1;
3778 u32 ptlps : 1;
3779 u32 reserved_6_11 : 6;
3780 u32 sdes : 1;
3781 u32 dlpes : 1;
3782 u32 reserved_0_3 : 4;
3783 } s;
3784 struct cvmx_pciercx_cfg067_cn52xx {
3785 u32 reserved_21_31 : 11;
3786 u32 ures : 1;
3787 u32 ecrces : 1;
3788 u32 mtlps : 1;
3789 u32 ros : 1;
3790 u32 ucs : 1;
3791 u32 cas : 1;
3792 u32 cts : 1;
3793 u32 fcpes : 1;
3794 u32 ptlps : 1;
3795 u32 reserved_6_11 : 6;
3796 u32 sdes : 1;
3797 u32 dlpes : 1;
3798 u32 reserved_0_3 : 4;
3799 } cn52xx;
3800 struct cvmx_pciercx_cfg067_cn52xx cn52xxp1;
3801 struct cvmx_pciercx_cfg067_cn52xx cn56xx;
3802 struct cvmx_pciercx_cfg067_cn52xx cn56xxp1;
3803 struct cvmx_pciercx_cfg067_cn61xx {
3804 u32 reserved_25_31 : 7;
3805 u32 uatombs : 1;
3806 u32 reserved_21_23 : 3;
3807 u32 ures : 1;
3808 u32 ecrces : 1;
3809 u32 mtlps : 1;
3810 u32 ros : 1;
3811 u32 ucs : 1;
3812 u32 cas : 1;
3813 u32 cts : 1;
3814 u32 fcpes : 1;
3815 u32 ptlps : 1;
3816 u32 reserved_6_11 : 6;
3817 u32 sdes : 1;
3818 u32 dlpes : 1;
3819 u32 reserved_0_3 : 4;
3820 } cn61xx;
3821 struct cvmx_pciercx_cfg067_cn52xx cn63xx;
3822 struct cvmx_pciercx_cfg067_cn52xx cn63xxp1;
3823 struct cvmx_pciercx_cfg067_cn61xx cn66xx;
3824 struct cvmx_pciercx_cfg067_cn61xx cn68xx;
3825 struct cvmx_pciercx_cfg067_cn52xx cn68xxp1;
3826 struct cvmx_pciercx_cfg067_cn70xx {
3827 u32 reserved_25_31 : 7;
3828 u32 uatombs : 1;
3829 u32 reserved_23_23 : 1;
3830 u32 ucies : 1;
3831 u32 reserved_21_21 : 1;
3832 u32 ures : 1;
3833 u32 ecrces : 1;
3834 u32 mtlps : 1;
3835 u32 ros : 1;
3836 u32 ucs : 1;
3837 u32 cas : 1;
3838 u32 cts : 1;
3839 u32 fcpes : 1;
3840 u32 ptlps : 1;
3841 u32 reserved_6_11 : 6;
3842 u32 sdes : 1;
3843 u32 dlpes : 1;
3844 u32 reserved_0_3 : 4;
3845 } cn70xx;
3846 struct cvmx_pciercx_cfg067_cn70xx cn70xxp1;
3847 struct cvmx_pciercx_cfg067_cn73xx {
3848 u32 reserved_26_31 : 6;
3849 u32 tpbes : 1;
3850 u32 uatombs : 1;
3851 u32 unsuperr : 3;
3852 u32 ures : 1;
3853 u32 ecrces : 1;
3854 u32 mtlps : 1;
3855 u32 ros : 1;
3856 u32 ucs : 1;
3857 u32 cas : 1;
3858 u32 cts : 1;
3859 u32 fcpes : 1;
3860 u32 ptlps : 1;
3861 u32 reserved_6_11 : 6;
3862 u32 sdes : 1;
3863 u32 dlpes : 1;
3864 u32 reserved_0_3 : 4;
3865 } cn73xx;
3866 struct cvmx_pciercx_cfg067_cn73xx cn78xx;
3867 struct cvmx_pciercx_cfg067_cn73xx cn78xxp1;
3868 struct cvmx_pciercx_cfg067_cn70xx cnf71xx;
3869 struct cvmx_pciercx_cfg067_cn73xx cnf75xx;
3870};
3871
3872typedef union cvmx_pciercx_cfg067 cvmx_pciercx_cfg067_t;
3873
3874/**
3875 * cvmx_pcierc#_cfg068
3876 *
3877 * This register contains the sixty-ninth 32-bits of PCIe type 1 configuration space.
3878 *
3879 */
3880union cvmx_pciercx_cfg068 {
3881 u32 u32;
3882 struct cvmx_pciercx_cfg068_s {
3883 u32 reserved_15_31 : 17;
3884 u32 cies : 1;
3885 u32 anfes : 1;
3886 u32 rtts : 1;
3887 u32 reserved_9_11 : 3;
3888 u32 rnrs : 1;
3889 u32 bdllps : 1;
3890 u32 btlps : 1;
3891 u32 reserved_1_5 : 5;
3892 u32 res : 1;
3893 } s;
3894 struct cvmx_pciercx_cfg068_cn52xx {
3895 u32 reserved_14_31 : 18;
3896 u32 anfes : 1;
3897 u32 rtts : 1;
3898 u32 reserved_9_11 : 3;
3899 u32 rnrs : 1;
3900 u32 bdllps : 1;
3901 u32 btlps : 1;
3902 u32 reserved_1_5 : 5;
3903 u32 res : 1;
3904 } cn52xx;
3905 struct cvmx_pciercx_cfg068_cn52xx cn52xxp1;
3906 struct cvmx_pciercx_cfg068_cn52xx cn56xx;
3907 struct cvmx_pciercx_cfg068_cn52xx cn56xxp1;
3908 struct cvmx_pciercx_cfg068_cn52xx cn61xx;
3909 struct cvmx_pciercx_cfg068_cn52xx cn63xx;
3910 struct cvmx_pciercx_cfg068_cn52xx cn63xxp1;
3911 struct cvmx_pciercx_cfg068_cn52xx cn66xx;
3912 struct cvmx_pciercx_cfg068_cn52xx cn68xx;
3913 struct cvmx_pciercx_cfg068_cn52xx cn68xxp1;
3914 struct cvmx_pciercx_cfg068_s cn70xx;
3915 struct cvmx_pciercx_cfg068_s cn70xxp1;
3916 struct cvmx_pciercx_cfg068_s cn73xx;
3917 struct cvmx_pciercx_cfg068_s cn78xx;
3918 struct cvmx_pciercx_cfg068_s cn78xxp1;
3919 struct cvmx_pciercx_cfg068_s cnf71xx;
3920 struct cvmx_pciercx_cfg068_s cnf75xx;
3921};
3922
3923typedef union cvmx_pciercx_cfg068 cvmx_pciercx_cfg068_t;
3924
3925/**
3926 * cvmx_pcierc#_cfg069
3927 *
3928 * This register contains the seventieth 32-bits of PCIe type 1 configuration space.
3929 *
3930 */
3931union cvmx_pciercx_cfg069 {
3932 u32 u32;
3933 struct cvmx_pciercx_cfg069_s {
3934 u32 reserved_15_31 : 17;
3935 u32 ciem : 1;
3936 u32 anfem : 1;
3937 u32 rttm : 1;
3938 u32 reserved_9_11 : 3;
3939 u32 rnrm : 1;
3940 u32 bdllpm : 1;
3941 u32 btlpm : 1;
3942 u32 reserved_1_5 : 5;
3943 u32 rem : 1;
3944 } s;
3945 struct cvmx_pciercx_cfg069_cn52xx {
3946 u32 reserved_14_31 : 18;
3947 u32 anfem : 1;
3948 u32 rttm : 1;
3949 u32 reserved_9_11 : 3;
3950 u32 rnrm : 1;
3951 u32 bdllpm : 1;
3952 u32 btlpm : 1;
3953 u32 reserved_1_5 : 5;
3954 u32 rem : 1;
3955 } cn52xx;
3956 struct cvmx_pciercx_cfg069_cn52xx cn52xxp1;
3957 struct cvmx_pciercx_cfg069_cn52xx cn56xx;
3958 struct cvmx_pciercx_cfg069_cn52xx cn56xxp1;
3959 struct cvmx_pciercx_cfg069_cn52xx cn61xx;
3960 struct cvmx_pciercx_cfg069_cn52xx cn63xx;
3961 struct cvmx_pciercx_cfg069_cn52xx cn63xxp1;
3962 struct cvmx_pciercx_cfg069_cn52xx cn66xx;
3963 struct cvmx_pciercx_cfg069_cn52xx cn68xx;
3964 struct cvmx_pciercx_cfg069_cn52xx cn68xxp1;
3965 struct cvmx_pciercx_cfg069_s cn70xx;
3966 struct cvmx_pciercx_cfg069_s cn70xxp1;
3967 struct cvmx_pciercx_cfg069_s cn73xx;
3968 struct cvmx_pciercx_cfg069_s cn78xx;
3969 struct cvmx_pciercx_cfg069_s cn78xxp1;
3970 struct cvmx_pciercx_cfg069_s cnf71xx;
3971 struct cvmx_pciercx_cfg069_s cnf75xx;
3972};
3973
3974typedef union cvmx_pciercx_cfg069 cvmx_pciercx_cfg069_t;
3975
3976/**
3977 * cvmx_pcierc#_cfg070
3978 *
3979 * This register contains the seventy-first 32-bits of PCIe type 1 configuration space.
3980 *
3981 */
3982union cvmx_pciercx_cfg070 {
3983 u32 u32;
3984 struct cvmx_pciercx_cfg070_s {
3985 u32 reserved_12_31 : 20;
3986 u32 tplp : 1;
3987 u32 reserved_9_10 : 2;
3988 u32 ce : 1;
3989 u32 cc : 1;
3990 u32 ge : 1;
3991 u32 gc : 1;
3992 u32 fep : 5;
3993 } s;
3994 struct cvmx_pciercx_cfg070_cn52xx {
3995 u32 reserved_9_31 : 23;
3996 u32 ce : 1;
3997 u32 cc : 1;
3998 u32 ge : 1;
3999 u32 gc : 1;
4000 u32 fep : 5;
4001 } cn52xx;
4002 struct cvmx_pciercx_cfg070_cn52xx cn52xxp1;
4003 struct cvmx_pciercx_cfg070_cn52xx cn56xx;
4004 struct cvmx_pciercx_cfg070_cn52xx cn56xxp1;
4005 struct cvmx_pciercx_cfg070_cn52xx cn61xx;
4006 struct cvmx_pciercx_cfg070_cn52xx cn63xx;
4007 struct cvmx_pciercx_cfg070_cn52xx cn63xxp1;
4008 struct cvmx_pciercx_cfg070_cn52xx cn66xx;
4009 struct cvmx_pciercx_cfg070_cn52xx cn68xx;
4010 struct cvmx_pciercx_cfg070_cn52xx cn68xxp1;
4011 struct cvmx_pciercx_cfg070_cn52xx cn70xx;
4012 struct cvmx_pciercx_cfg070_cn52xx cn70xxp1;
4013 struct cvmx_pciercx_cfg070_s cn73xx;
4014 struct cvmx_pciercx_cfg070_s cn78xx;
4015 struct cvmx_pciercx_cfg070_s cn78xxp1;
4016 struct cvmx_pciercx_cfg070_cn52xx cnf71xx;
4017 struct cvmx_pciercx_cfg070_s cnf75xx;
4018};
4019
4020typedef union cvmx_pciercx_cfg070 cvmx_pciercx_cfg070_t;
4021
4022/**
4023 * cvmx_pcierc#_cfg071
4024 *
4025 * This register contains the seventy-second 32-bits of PCIe type 1 configuration space. The
4026 * header log registers collect the header for the TLP corresponding to a detected error.
4027 */
4028union cvmx_pciercx_cfg071 {
4029 u32 u32;
4030 struct cvmx_pciercx_cfg071_s {
4031 u32 dword1 : 32;
4032 } s;
4033 struct cvmx_pciercx_cfg071_s cn52xx;
4034 struct cvmx_pciercx_cfg071_s cn52xxp1;
4035 struct cvmx_pciercx_cfg071_s cn56xx;
4036 struct cvmx_pciercx_cfg071_s cn56xxp1;
4037 struct cvmx_pciercx_cfg071_s cn61xx;
4038 struct cvmx_pciercx_cfg071_s cn63xx;
4039 struct cvmx_pciercx_cfg071_s cn63xxp1;
4040 struct cvmx_pciercx_cfg071_s cn66xx;
4041 struct cvmx_pciercx_cfg071_s cn68xx;
4042 struct cvmx_pciercx_cfg071_s cn68xxp1;
4043 struct cvmx_pciercx_cfg071_s cn70xx;
4044 struct cvmx_pciercx_cfg071_s cn70xxp1;
4045 struct cvmx_pciercx_cfg071_s cn73xx;
4046 struct cvmx_pciercx_cfg071_s cn78xx;
4047 struct cvmx_pciercx_cfg071_s cn78xxp1;
4048 struct cvmx_pciercx_cfg071_s cnf71xx;
4049 struct cvmx_pciercx_cfg071_s cnf75xx;
4050};
4051
4052typedef union cvmx_pciercx_cfg071 cvmx_pciercx_cfg071_t;
4053
4054/**
4055 * cvmx_pcierc#_cfg072
4056 *
4057 * This register contains the seventy-third 32-bits of PCIe type 1 configuration space. The
4058 * header log registers collect the header for the TLP corresponding to a detected error.
4059 */
4060union cvmx_pciercx_cfg072 {
4061 u32 u32;
4062 struct cvmx_pciercx_cfg072_s {
4063 u32 dword2 : 32;
4064 } s;
4065 struct cvmx_pciercx_cfg072_s cn52xx;
4066 struct cvmx_pciercx_cfg072_s cn52xxp1;
4067 struct cvmx_pciercx_cfg072_s cn56xx;
4068 struct cvmx_pciercx_cfg072_s cn56xxp1;
4069 struct cvmx_pciercx_cfg072_s cn61xx;
4070 struct cvmx_pciercx_cfg072_s cn63xx;
4071 struct cvmx_pciercx_cfg072_s cn63xxp1;
4072 struct cvmx_pciercx_cfg072_s cn66xx;
4073 struct cvmx_pciercx_cfg072_s cn68xx;
4074 struct cvmx_pciercx_cfg072_s cn68xxp1;
4075 struct cvmx_pciercx_cfg072_s cn70xx;
4076 struct cvmx_pciercx_cfg072_s cn70xxp1;
4077 struct cvmx_pciercx_cfg072_s cn73xx;
4078 struct cvmx_pciercx_cfg072_s cn78xx;
4079 struct cvmx_pciercx_cfg072_s cn78xxp1;
4080 struct cvmx_pciercx_cfg072_s cnf71xx;
4081 struct cvmx_pciercx_cfg072_s cnf75xx;
4082};
4083
4084typedef union cvmx_pciercx_cfg072 cvmx_pciercx_cfg072_t;
4085
4086/**
4087 * cvmx_pcierc#_cfg073
4088 *
4089 * This register contains the seventy-fourth 32-bits of PCIe type 1 configuration space. The
4090 * header log registers collect the header for the TLP corresponding to a detected error.
4091 */
4092union cvmx_pciercx_cfg073 {
4093 u32 u32;
4094 struct cvmx_pciercx_cfg073_s {
4095 u32 dword3 : 32;
4096 } s;
4097 struct cvmx_pciercx_cfg073_s cn52xx;
4098 struct cvmx_pciercx_cfg073_s cn52xxp1;
4099 struct cvmx_pciercx_cfg073_s cn56xx;
4100 struct cvmx_pciercx_cfg073_s cn56xxp1;
4101 struct cvmx_pciercx_cfg073_s cn61xx;
4102 struct cvmx_pciercx_cfg073_s cn63xx;
4103 struct cvmx_pciercx_cfg073_s cn63xxp1;
4104 struct cvmx_pciercx_cfg073_s cn66xx;
4105 struct cvmx_pciercx_cfg073_s cn68xx;
4106 struct cvmx_pciercx_cfg073_s cn68xxp1;
4107 struct cvmx_pciercx_cfg073_s cn70xx;
4108 struct cvmx_pciercx_cfg073_s cn70xxp1;
4109 struct cvmx_pciercx_cfg073_s cn73xx;
4110 struct cvmx_pciercx_cfg073_s cn78xx;
4111 struct cvmx_pciercx_cfg073_s cn78xxp1;
4112 struct cvmx_pciercx_cfg073_s cnf71xx;
4113 struct cvmx_pciercx_cfg073_s cnf75xx;
4114};
4115
4116typedef union cvmx_pciercx_cfg073 cvmx_pciercx_cfg073_t;
4117
4118/**
4119 * cvmx_pcierc#_cfg074
4120 *
4121 * This register contains the seventy-fifth 32-bits of PCIe type 1 configuration space. The
4122 * header log registers collect the header for the TLP corresponding to a detected error.
4123 */
4124union cvmx_pciercx_cfg074 {
4125 u32 u32;
4126 struct cvmx_pciercx_cfg074_s {
4127 u32 dword4 : 32;
4128 } s;
4129 struct cvmx_pciercx_cfg074_s cn52xx;
4130 struct cvmx_pciercx_cfg074_s cn52xxp1;
4131 struct cvmx_pciercx_cfg074_s cn56xx;
4132 struct cvmx_pciercx_cfg074_s cn56xxp1;
4133 struct cvmx_pciercx_cfg074_s cn61xx;
4134 struct cvmx_pciercx_cfg074_s cn63xx;
4135 struct cvmx_pciercx_cfg074_s cn63xxp1;
4136 struct cvmx_pciercx_cfg074_s cn66xx;
4137 struct cvmx_pciercx_cfg074_s cn68xx;
4138 struct cvmx_pciercx_cfg074_s cn68xxp1;
4139 struct cvmx_pciercx_cfg074_s cn70xx;
4140 struct cvmx_pciercx_cfg074_s cn70xxp1;
4141 struct cvmx_pciercx_cfg074_s cn73xx;
4142 struct cvmx_pciercx_cfg074_s cn78xx;
4143 struct cvmx_pciercx_cfg074_s cn78xxp1;
4144 struct cvmx_pciercx_cfg074_s cnf71xx;
4145 struct cvmx_pciercx_cfg074_s cnf75xx;
4146};
4147
4148typedef union cvmx_pciercx_cfg074 cvmx_pciercx_cfg074_t;
4149
4150/**
4151 * cvmx_pcierc#_cfg075
4152 *
4153 * This register contains the seventy-sixth 32-bits of PCIe type 1 configuration space.
4154 *
4155 */
4156union cvmx_pciercx_cfg075 {
4157 u32 u32;
4158 struct cvmx_pciercx_cfg075_s {
4159 u32 reserved_3_31 : 29;
4160 u32 fere : 1;
4161 u32 nfere : 1;
4162 u32 cere : 1;
4163 } s;
4164 struct cvmx_pciercx_cfg075_s cn52xx;
4165 struct cvmx_pciercx_cfg075_s cn52xxp1;
4166 struct cvmx_pciercx_cfg075_s cn56xx;
4167 struct cvmx_pciercx_cfg075_s cn56xxp1;
4168 struct cvmx_pciercx_cfg075_s cn61xx;
4169 struct cvmx_pciercx_cfg075_s cn63xx;
4170 struct cvmx_pciercx_cfg075_s cn63xxp1;
4171 struct cvmx_pciercx_cfg075_s cn66xx;
4172 struct cvmx_pciercx_cfg075_s cn68xx;
4173 struct cvmx_pciercx_cfg075_s cn68xxp1;
4174 struct cvmx_pciercx_cfg075_s cn70xx;
4175 struct cvmx_pciercx_cfg075_s cn70xxp1;
4176 struct cvmx_pciercx_cfg075_s cn73xx;
4177 struct cvmx_pciercx_cfg075_s cn78xx;
4178 struct cvmx_pciercx_cfg075_s cn78xxp1;
4179 struct cvmx_pciercx_cfg075_s cnf71xx;
4180 struct cvmx_pciercx_cfg075_s cnf75xx;
4181};
4182
4183typedef union cvmx_pciercx_cfg075 cvmx_pciercx_cfg075_t;
4184
4185/**
4186 * cvmx_pcierc#_cfg076
4187 *
4188 * This register contains the seventy-seventh 32-bits of PCIe type 1 configuration space.
4189 *
4190 */
4191union cvmx_pciercx_cfg076 {
4192 u32 u32;
4193 struct cvmx_pciercx_cfg076_s {
4194 u32 aeimn : 5;
4195 u32 reserved_7_26 : 20;
4196 u32 femr : 1;
4197 u32 nfemr : 1;
4198 u32 fuf : 1;
4199 u32 multi_efnfr : 1;
4200 u32 efnfr : 1;
4201 u32 multi_ecr : 1;
4202 u32 ecr : 1;
4203 } s;
4204 struct cvmx_pciercx_cfg076_s cn52xx;
4205 struct cvmx_pciercx_cfg076_s cn52xxp1;
4206 struct cvmx_pciercx_cfg076_s cn56xx;
4207 struct cvmx_pciercx_cfg076_s cn56xxp1;
4208 struct cvmx_pciercx_cfg076_s cn61xx;
4209 struct cvmx_pciercx_cfg076_s cn63xx;
4210 struct cvmx_pciercx_cfg076_s cn63xxp1;
4211 struct cvmx_pciercx_cfg076_s cn66xx;
4212 struct cvmx_pciercx_cfg076_s cn68xx;
4213 struct cvmx_pciercx_cfg076_s cn68xxp1;
4214 struct cvmx_pciercx_cfg076_s cn70xx;
4215 struct cvmx_pciercx_cfg076_s cn70xxp1;
4216 struct cvmx_pciercx_cfg076_s cn73xx;
4217 struct cvmx_pciercx_cfg076_s cn78xx;
4218 struct cvmx_pciercx_cfg076_s cn78xxp1;
4219 struct cvmx_pciercx_cfg076_s cnf71xx;
4220 struct cvmx_pciercx_cfg076_s cnf75xx;
4221};
4222
4223typedef union cvmx_pciercx_cfg076 cvmx_pciercx_cfg076_t;
4224
4225/**
4226 * cvmx_pcierc#_cfg077
4227 *
4228 * This register contains the seventy-eighth 32-bits of PCIe type 1 configuration space.
4229 *
4230 */
4231union cvmx_pciercx_cfg077 {
4232 u32 u32;
4233 struct cvmx_pciercx_cfg077_s {
4234 u32 efnfsi : 16;
4235 u32 ecsi : 16;
4236 } s;
4237 struct cvmx_pciercx_cfg077_s cn52xx;
4238 struct cvmx_pciercx_cfg077_s cn52xxp1;
4239 struct cvmx_pciercx_cfg077_s cn56xx;
4240 struct cvmx_pciercx_cfg077_s cn56xxp1;
4241 struct cvmx_pciercx_cfg077_s cn61xx;
4242 struct cvmx_pciercx_cfg077_s cn63xx;
4243 struct cvmx_pciercx_cfg077_s cn63xxp1;
4244 struct cvmx_pciercx_cfg077_s cn66xx;
4245 struct cvmx_pciercx_cfg077_s cn68xx;
4246 struct cvmx_pciercx_cfg077_s cn68xxp1;
4247 struct cvmx_pciercx_cfg077_s cn70xx;
4248 struct cvmx_pciercx_cfg077_s cn70xxp1;
4249 struct cvmx_pciercx_cfg077_s cn73xx;
4250 struct cvmx_pciercx_cfg077_s cn78xx;
4251 struct cvmx_pciercx_cfg077_s cn78xxp1;
4252 struct cvmx_pciercx_cfg077_s cnf71xx;
4253 struct cvmx_pciercx_cfg077_s cnf75xx;
4254};
4255
4256typedef union cvmx_pciercx_cfg077 cvmx_pciercx_cfg077_t;
4257
4258/**
4259 * cvmx_pcierc#_cfg086
4260 *
4261 * This register contains the eighty-ninth 32-bits of type 0 PCIe configuration space.
4262 *
4263 */
4264union cvmx_pciercx_cfg086 {
4265 u32 u32;
4266 struct cvmx_pciercx_cfg086_s {
4267 u32 nco : 12;
4268 u32 cv : 4;
4269 u32 pcieec : 16;
4270 } s;
4271 struct cvmx_pciercx_cfg086_s cn73xx;
4272 struct cvmx_pciercx_cfg086_s cn78xx;
4273 struct cvmx_pciercx_cfg086_s cn78xxp1;
4274 struct cvmx_pciercx_cfg086_s cnf75xx;
4275};
4276
4277typedef union cvmx_pciercx_cfg086 cvmx_pciercx_cfg086_t;
4278
4279/**
4280 * cvmx_pcierc#_cfg087
4281 *
4282 * This register contains the eighty-eighth 32-bits of type 0 PCIe configuration space.
4283 *
4284 */
4285union cvmx_pciercx_cfg087 {
4286 u32 u32;
4287 struct cvmx_pciercx_cfg087_s {
4288 u32 reserved_2_31 : 30;
4289 u32 ler : 1;
4290 u32 pe : 1;
4291 } s;
4292 struct cvmx_pciercx_cfg087_s cn73xx;
4293 struct cvmx_pciercx_cfg087_s cn78xx;
4294 struct cvmx_pciercx_cfg087_s cn78xxp1;
4295 struct cvmx_pciercx_cfg087_s cnf75xx;
4296};
4297
4298typedef union cvmx_pciercx_cfg087 cvmx_pciercx_cfg087_t;
4299
4300/**
4301 * cvmx_pcierc#_cfg088
4302 *
4303 * This register contains the eighty-ninth 32-bits of type 0 PCIe configuration space.
4304 *
4305 */
4306union cvmx_pciercx_cfg088 {
4307 u32 u32;
4308 struct cvmx_pciercx_cfg088_s {
4309 u32 reserved_8_31 : 24;
4310 u32 les : 8;
4311 } s;
4312 struct cvmx_pciercx_cfg088_s cn73xx;
4313 struct cvmx_pciercx_cfg088_s cn78xx;
4314 struct cvmx_pciercx_cfg088_s cn78xxp1;
4315 struct cvmx_pciercx_cfg088_s cnf75xx;
4316};
4317
4318typedef union cvmx_pciercx_cfg088 cvmx_pciercx_cfg088_t;
4319
4320/**
4321 * cvmx_pcierc#_cfg089
4322 *
4323 * This register contains the ninetieth 32-bits of type 0 PCIe configuration space.
4324 *
4325 */
4326union cvmx_pciercx_cfg089 {
4327 u32 u32;
4328 struct cvmx_pciercx_cfg089_s {
4329 u32 reserved_31_31 : 1;
4330 u32 l1urph : 3;
4331 u32 l1utp : 4;
4332 u32 reserved_23_23 : 1;
4333 u32 l1drph : 3;
4334 u32 l1ddtp : 4;
4335 u32 reserved_15_15 : 1;
4336 u32 l0urph : 3;
4337 u32 l0utp : 4;
4338 u32 reserved_7_7 : 1;
4339 u32 l0drph : 3;
4340 u32 l0dtp : 4;
4341 } s;
4342 struct cvmx_pciercx_cfg089_s cn73xx;
4343 struct cvmx_pciercx_cfg089_s cn78xx;
4344 struct cvmx_pciercx_cfg089_s cn78xxp1;
4345 struct cvmx_pciercx_cfg089_s cnf75xx;
4346};
4347
4348typedef union cvmx_pciercx_cfg089 cvmx_pciercx_cfg089_t;
4349
4350/**
4351 * cvmx_pcierc#_cfg090
4352 *
4353 * This register contains the ninety-first 32-bits of type 0 PCIe configuration space.
4354 *
4355 */
4356union cvmx_pciercx_cfg090 {
4357 u32 u32;
4358 struct cvmx_pciercx_cfg090_s {
4359 u32 reserved_31_31 : 1;
4360 u32 l3urph : 3;
4361 u32 l3utp : 4;
4362 u32 reserved_23_23 : 1;
4363 u32 l3drph : 3;
4364 u32 l3dtp : 4;
4365 u32 reserved_15_15 : 1;
4366 u32 l2urph : 3;
4367 u32 l2utp : 4;
4368 u32 reserved_7_7 : 1;
4369 u32 l2drph : 3;
4370 u32 l2dtp : 4;
4371 } s;
4372 struct cvmx_pciercx_cfg090_s cn73xx;
4373 struct cvmx_pciercx_cfg090_s cn78xx;
4374 struct cvmx_pciercx_cfg090_s cn78xxp1;
4375 struct cvmx_pciercx_cfg090_s cnf75xx;
4376};
4377
4378typedef union cvmx_pciercx_cfg090 cvmx_pciercx_cfg090_t;
4379
4380/**
4381 * cvmx_pcierc#_cfg091
4382 *
4383 * This register contains the ninety-second 32-bits of type 0 PCIe configuration space.
4384 *
4385 */
4386union cvmx_pciercx_cfg091 {
4387 u32 u32;
4388 struct cvmx_pciercx_cfg091_s {
4389 u32 reserved_31_31 : 1;
4390 u32 l5urph : 3;
4391 u32 l5utp : 4;
4392 u32 reserved_23_23 : 1;
4393 u32 l5drph : 3;
4394 u32 l5dtp : 4;
4395 u32 reserved_15_15 : 1;
4396 u32 l4urph : 3;
4397 u32 l4utp : 4;
4398 u32 reserved_7_7 : 1;
4399 u32 l4drph : 3;
4400 u32 l4dtp : 4;
4401 } s;
4402 struct cvmx_pciercx_cfg091_s cn73xx;
4403 struct cvmx_pciercx_cfg091_s cn78xx;
4404 struct cvmx_pciercx_cfg091_s cn78xxp1;
4405 struct cvmx_pciercx_cfg091_s cnf75xx;
4406};
4407
4408typedef union cvmx_pciercx_cfg091 cvmx_pciercx_cfg091_t;
4409
4410/**
4411 * cvmx_pcierc#_cfg092
4412 *
4413 * This register contains the ninety-third 32-bits of type 0 PCIe configuration space.
4414 *
4415 */
4416union cvmx_pciercx_cfg092 {
4417 u32 u32;
4418 struct cvmx_pciercx_cfg092_s {
4419 u32 reserved_31_31 : 1;
4420 u32 l7urph : 3;
4421 u32 l7utp : 4;
4422 u32 reserved_23_23 : 1;
4423 u32 l7drph : 3;
4424 u32 l7dtp : 4;
4425 u32 reserved_15_15 : 1;
4426 u32 l6urph : 3;
4427 u32 l6utp : 4;
4428 u32 reserved_7_7 : 1;
4429 u32 l6drph : 3;
4430 u32 l6dtp : 4;
4431 } s;
4432 struct cvmx_pciercx_cfg092_s cn73xx;
4433 struct cvmx_pciercx_cfg092_s cn78xx;
4434 struct cvmx_pciercx_cfg092_s cn78xxp1;
4435 struct cvmx_pciercx_cfg092_s cnf75xx;
4436};
4437
4438typedef union cvmx_pciercx_cfg092 cvmx_pciercx_cfg092_t;
4439
4440/**
4441 * cvmx_pcierc#_cfg448
4442 *
4443 * This register contains the four hundred forty-ninth 32-bits of PCIe type 1 configuration space.
4444 *
4445 */
4446union cvmx_pciercx_cfg448 {
4447 u32 u32;
4448 struct cvmx_pciercx_cfg448_s {
4449 u32 rtl : 16;
4450 u32 rtltl : 16;
4451 } s;
4452 struct cvmx_pciercx_cfg448_s cn52xx;
4453 struct cvmx_pciercx_cfg448_s cn52xxp1;
4454 struct cvmx_pciercx_cfg448_s cn56xx;
4455 struct cvmx_pciercx_cfg448_s cn56xxp1;
4456 struct cvmx_pciercx_cfg448_s cn61xx;
4457 struct cvmx_pciercx_cfg448_s cn63xx;
4458 struct cvmx_pciercx_cfg448_s cn63xxp1;
4459 struct cvmx_pciercx_cfg448_s cn66xx;
4460 struct cvmx_pciercx_cfg448_s cn68xx;
4461 struct cvmx_pciercx_cfg448_s cn68xxp1;
4462 struct cvmx_pciercx_cfg448_s cn70xx;
4463 struct cvmx_pciercx_cfg448_s cn70xxp1;
4464 struct cvmx_pciercx_cfg448_s cn73xx;
4465 struct cvmx_pciercx_cfg448_s cn78xx;
4466 struct cvmx_pciercx_cfg448_s cn78xxp1;
4467 struct cvmx_pciercx_cfg448_s cnf71xx;
4468 struct cvmx_pciercx_cfg448_s cnf75xx;
4469};
4470
4471typedef union cvmx_pciercx_cfg448 cvmx_pciercx_cfg448_t;
4472
4473/**
4474 * cvmx_pcierc#_cfg449
4475 *
4476 * This register contains the four hundred fiftieth 32-bits of PCIe type 1 configuration space.
4477 *
4478 */
4479union cvmx_pciercx_cfg449 {
4480 u32 u32;
4481 struct cvmx_pciercx_cfg449_s {
4482 u32 omr : 32;
4483 } s;
4484 struct cvmx_pciercx_cfg449_s cn52xx;
4485 struct cvmx_pciercx_cfg449_s cn52xxp1;
4486 struct cvmx_pciercx_cfg449_s cn56xx;
4487 struct cvmx_pciercx_cfg449_s cn56xxp1;
4488 struct cvmx_pciercx_cfg449_s cn61xx;
4489 struct cvmx_pciercx_cfg449_s cn63xx;
4490 struct cvmx_pciercx_cfg449_s cn63xxp1;
4491 struct cvmx_pciercx_cfg449_s cn66xx;
4492 struct cvmx_pciercx_cfg449_s cn68xx;
4493 struct cvmx_pciercx_cfg449_s cn68xxp1;
4494 struct cvmx_pciercx_cfg449_s cn70xx;
4495 struct cvmx_pciercx_cfg449_s cn70xxp1;
4496 struct cvmx_pciercx_cfg449_s cn73xx;
4497 struct cvmx_pciercx_cfg449_s cn78xx;
4498 struct cvmx_pciercx_cfg449_s cn78xxp1;
4499 struct cvmx_pciercx_cfg449_s cnf71xx;
4500 struct cvmx_pciercx_cfg449_s cnf75xx;
4501};
4502
4503typedef union cvmx_pciercx_cfg449 cvmx_pciercx_cfg449_t;
4504
4505/**
4506 * cvmx_pcierc#_cfg450
4507 *
4508 * This register contains the four hundred fifty-first 32-bits of PCIe type 1 configuration space.
4509 *
4510 */
4511union cvmx_pciercx_cfg450 {
4512 u32 u32;
4513 struct cvmx_pciercx_cfg450_s {
4514 u32 lpec : 8;
4515 u32 reserved_22_23 : 2;
4516 u32 link_state : 6;
4517 u32 force_link : 1;
4518 u32 reserved_8_14 : 7;
4519 u32 link_num : 8;
4520 } s;
4521 struct cvmx_pciercx_cfg450_s cn52xx;
4522 struct cvmx_pciercx_cfg450_s cn52xxp1;
4523 struct cvmx_pciercx_cfg450_s cn56xx;
4524 struct cvmx_pciercx_cfg450_s cn56xxp1;
4525 struct cvmx_pciercx_cfg450_s cn61xx;
4526 struct cvmx_pciercx_cfg450_s cn63xx;
4527 struct cvmx_pciercx_cfg450_s cn63xxp1;
4528 struct cvmx_pciercx_cfg450_s cn66xx;
4529 struct cvmx_pciercx_cfg450_s cn68xx;
4530 struct cvmx_pciercx_cfg450_s cn68xxp1;
4531 struct cvmx_pciercx_cfg450_cn70xx {
4532 u32 lpec : 8;
4533 u32 reserved_22_23 : 2;
4534 u32 link_state : 6;
4535 u32 force_link : 1;
4536 u32 reserved_12_14 : 3;
4537 u32 link_cmd : 4;
4538 u32 link_num : 8;
4539 } cn70xx;
4540 struct cvmx_pciercx_cfg450_cn70xx cn70xxp1;
4541 struct cvmx_pciercx_cfg450_cn73xx {
4542 u32 lpec : 8;
4543 u32 reserved_22_23 : 2;
4544 u32 link_state : 6;
4545 u32 force_link : 1;
4546 u32 reserved_12_14 : 3;
4547 u32 forced_ltssm : 4;
4548 u32 link_num : 8;
4549 } cn73xx;
4550 struct cvmx_pciercx_cfg450_cn73xx cn78xx;
4551 struct cvmx_pciercx_cfg450_cn73xx cn78xxp1;
4552 struct cvmx_pciercx_cfg450_s cnf71xx;
4553 struct cvmx_pciercx_cfg450_cn73xx cnf75xx;
4554};
4555
4556typedef union cvmx_pciercx_cfg450 cvmx_pciercx_cfg450_t;
4557
4558/**
4559 * cvmx_pcierc#_cfg451
4560 *
4561 * This register contains the four hundred fifty-second 32-bits of PCIe type 1 configuration space.
4562 *
4563 */
4564union cvmx_pciercx_cfg451 {
4565 u32 u32;
4566 struct cvmx_pciercx_cfg451_s {
4567 u32 reserved_31_31 : 1;
4568 u32 easpml1 : 1;
4569 u32 l1el : 3;
4570 u32 l0el : 3;
4571 u32 n_fts_cc : 8;
4572 u32 n_fts : 8;
4573 u32 ack_freq : 8;
4574 } s;
4575 struct cvmx_pciercx_cfg451_cn52xx {
4576 u32 reserved_30_31 : 2;
4577 u32 l1el : 3;
4578 u32 l0el : 3;
4579 u32 n_fts_cc : 8;
4580 u32 n_fts : 8;
4581 u32 ack_freq : 8;
4582 } cn52xx;
4583 struct cvmx_pciercx_cfg451_cn52xx cn52xxp1;
4584 struct cvmx_pciercx_cfg451_cn52xx cn56xx;
4585 struct cvmx_pciercx_cfg451_cn52xx cn56xxp1;
4586 struct cvmx_pciercx_cfg451_s cn61xx;
4587 struct cvmx_pciercx_cfg451_cn52xx cn63xx;
4588 struct cvmx_pciercx_cfg451_cn52xx cn63xxp1;
4589 struct cvmx_pciercx_cfg451_s cn66xx;
4590 struct cvmx_pciercx_cfg451_s cn68xx;
4591 struct cvmx_pciercx_cfg451_s cn68xxp1;
4592 struct cvmx_pciercx_cfg451_s cn70xx;
4593 struct cvmx_pciercx_cfg451_s cn70xxp1;
4594 struct cvmx_pciercx_cfg451_s cn73xx;
4595 struct cvmx_pciercx_cfg451_s cn78xx;
4596 struct cvmx_pciercx_cfg451_s cn78xxp1;
4597 struct cvmx_pciercx_cfg451_s cnf71xx;
4598 struct cvmx_pciercx_cfg451_s cnf75xx;
4599};
4600
4601typedef union cvmx_pciercx_cfg451 cvmx_pciercx_cfg451_t;
4602
4603/**
4604 * cvmx_pcierc#_cfg452
4605 *
4606 * This register contains the four hundred fifty-third 32-bits of PCIe type 1 configuration space.
4607 *
4608 */
4609union cvmx_pciercx_cfg452 {
4610 u32 u32;
4611 struct cvmx_pciercx_cfg452_s {
4612 u32 reserved_26_31 : 6;
4613 u32 eccrc : 1;
4614 u32 reserved_22_24 : 3;
4615 u32 lme : 6;
4616 u32 reserved_12_15 : 4;
4617 u32 link_rate : 4;
4618 u32 flm : 1;
4619 u32 reserved_6_6 : 1;
4620 u32 dllle : 1;
4621 u32 reserved_4_4 : 1;
4622 u32 ra : 1;
4623 u32 le : 1;
4624 u32 sd : 1;
4625 u32 omr : 1;
4626 } s;
4627 struct cvmx_pciercx_cfg452_cn52xx {
4628 u32 reserved_26_31 : 6;
4629 u32 eccrc : 1;
4630 u32 reserved_22_24 : 3;
4631 u32 lme : 6;
4632 u32 reserved_8_15 : 8;
4633 u32 flm : 1;
4634 u32 reserved_6_6 : 1;
4635 u32 dllle : 1;
4636 u32 reserved_4_4 : 1;
4637 u32 ra : 1;
4638 u32 le : 1;
4639 u32 sd : 1;
4640 u32 omr : 1;
4641 } cn52xx;
4642 struct cvmx_pciercx_cfg452_cn52xx cn52xxp1;
4643 struct cvmx_pciercx_cfg452_cn52xx cn56xx;
4644 struct cvmx_pciercx_cfg452_cn52xx cn56xxp1;
4645 struct cvmx_pciercx_cfg452_cn61xx {
4646 u32 reserved_22_31 : 10;
4647 u32 lme : 6;
4648 u32 reserved_8_15 : 8;
4649 u32 flm : 1;
4650 u32 reserved_6_6 : 1;
4651 u32 dllle : 1;
4652 u32 reserved_4_4 : 1;
4653 u32 ra : 1;
4654 u32 le : 1;
4655 u32 sd : 1;
4656 u32 omr : 1;
4657 } cn61xx;
4658 struct cvmx_pciercx_cfg452_cn52xx cn63xx;
4659 struct cvmx_pciercx_cfg452_cn52xx cn63xxp1;
4660 struct cvmx_pciercx_cfg452_cn61xx cn66xx;
4661 struct cvmx_pciercx_cfg452_cn61xx cn68xx;
4662 struct cvmx_pciercx_cfg452_cn61xx cn68xxp1;
4663 struct cvmx_pciercx_cfg452_cn70xx {
4664 u32 reserved_22_31 : 10;
4665 u32 lme : 6;
4666 u32 reserved_12_15 : 4;
4667 u32 link_rate : 4;
4668 u32 flm : 1;
4669 u32 reserved_6_6 : 1;
4670 u32 dllle : 1;
4671 u32 reserved_4_4 : 1;
4672 u32 ra : 1;
4673 u32 le : 1;
4674 u32 sd : 1;
4675 u32 omr : 1;
4676 } cn70xx;
4677 struct cvmx_pciercx_cfg452_cn70xx cn70xxp1;
4678 struct cvmx_pciercx_cfg452_cn70xx cn73xx;
4679 struct cvmx_pciercx_cfg452_cn70xx cn78xx;
4680 struct cvmx_pciercx_cfg452_cn70xx cn78xxp1;
4681 struct cvmx_pciercx_cfg452_cn61xx cnf71xx;
4682 struct cvmx_pciercx_cfg452_cn70xx cnf75xx;
4683};
4684
4685typedef union cvmx_pciercx_cfg452 cvmx_pciercx_cfg452_t;
4686
4687/**
4688 * cvmx_pcierc#_cfg453
4689 *
4690 * This register contains the four hundred fifty-fourth 32-bits of PCIe type 1 configuration space.
4691 *
4692 */
4693union cvmx_pciercx_cfg453 {
4694 u32 u32;
4695 struct cvmx_pciercx_cfg453_s {
4696 u32 dlld : 1;
4697 u32 reserved_26_30 : 5;
4698 u32 ack_nak : 1;
4699 u32 fcd : 1;
4700 u32 ilst : 24;
4701 } s;
4702 struct cvmx_pciercx_cfg453_s cn52xx;
4703 struct cvmx_pciercx_cfg453_s cn52xxp1;
4704 struct cvmx_pciercx_cfg453_s cn56xx;
4705 struct cvmx_pciercx_cfg453_s cn56xxp1;
4706 struct cvmx_pciercx_cfg453_s cn61xx;
4707 struct cvmx_pciercx_cfg453_s cn63xx;
4708 struct cvmx_pciercx_cfg453_s cn63xxp1;
4709 struct cvmx_pciercx_cfg453_s cn66xx;
4710 struct cvmx_pciercx_cfg453_s cn68xx;
4711 struct cvmx_pciercx_cfg453_s cn68xxp1;
4712 struct cvmx_pciercx_cfg453_s cn70xx;
4713 struct cvmx_pciercx_cfg453_s cn70xxp1;
4714 struct cvmx_pciercx_cfg453_s cn73xx;
4715 struct cvmx_pciercx_cfg453_s cn78xx;
4716 struct cvmx_pciercx_cfg453_s cn78xxp1;
4717 struct cvmx_pciercx_cfg453_s cnf71xx;
4718 struct cvmx_pciercx_cfg453_s cnf75xx;
4719};
4720
4721typedef union cvmx_pciercx_cfg453 cvmx_pciercx_cfg453_t;
4722
4723/**
4724 * cvmx_pcierc#_cfg454
4725 *
4726 * This register contains the four hundred fifty-fifth 32-bits of PCIe type 1 configuration space.
4727 *
4728 */
4729union cvmx_pciercx_cfg454 {
4730 u32 u32;
4731 struct cvmx_pciercx_cfg454_s {
4732 u32 cx_nfunc : 3;
4733 u32 tmfcwt : 5;
4734 u32 tmanlt : 5;
4735 u32 tmrt : 5;
4736 u32 reserved_11_13 : 3;
4737 u32 nskps : 3;
4738 u32 reserved_0_7 : 8;
4739 } s;
4740 struct cvmx_pciercx_cfg454_cn52xx {
4741 u32 reserved_29_31 : 3;
4742 u32 tmfcwt : 5;
4743 u32 tmanlt : 5;
4744 u32 tmrt : 5;
4745 u32 reserved_11_13 : 3;
4746 u32 nskps : 3;
4747 u32 reserved_4_7 : 4;
4748 u32 ntss : 4;
4749 } cn52xx;
4750 struct cvmx_pciercx_cfg454_cn52xx cn52xxp1;
4751 struct cvmx_pciercx_cfg454_cn52xx cn56xx;
4752 struct cvmx_pciercx_cfg454_cn52xx cn56xxp1;
4753 struct cvmx_pciercx_cfg454_cn61xx {
4754 u32 cx_nfunc : 3;
4755 u32 tmfcwt : 5;
4756 u32 tmanlt : 5;
4757 u32 tmrt : 5;
4758 u32 reserved_8_13 : 6;
4759 u32 mfuncn : 8;
4760 } cn61xx;
4761 struct cvmx_pciercx_cfg454_cn52xx cn63xx;
4762 struct cvmx_pciercx_cfg454_cn52xx cn63xxp1;
4763 struct cvmx_pciercx_cfg454_cn61xx cn66xx;
4764 struct cvmx_pciercx_cfg454_cn61xx cn68xx;
4765 struct cvmx_pciercx_cfg454_cn52xx cn68xxp1;
4766 struct cvmx_pciercx_cfg454_cn70xx {
4767 u32 reserved_24_31 : 8;
4768 u32 tmanlt : 5;
4769 u32 tmrt : 5;
4770 u32 reserved_8_13 : 6;
4771 u32 mfuncn : 8;
4772 } cn70xx;
4773 struct cvmx_pciercx_cfg454_cn70xx cn70xxp1;
4774 struct cvmx_pciercx_cfg454_cn73xx {
4775 u32 reserved_29_31 : 3;
4776 u32 tmfcwt : 5;
4777 u32 tmanlt : 5;
4778 u32 tmrt : 5;
4779 u32 reserved_8_13 : 6;
4780 u32 mfuncn : 8;
4781 } cn73xx;
4782 struct cvmx_pciercx_cfg454_cn73xx cn78xx;
4783 struct cvmx_pciercx_cfg454_cn73xx cn78xxp1;
4784 struct cvmx_pciercx_cfg454_cn61xx cnf71xx;
4785 struct cvmx_pciercx_cfg454_cn73xx cnf75xx;
4786};
4787
4788typedef union cvmx_pciercx_cfg454 cvmx_pciercx_cfg454_t;
4789
4790/**
4791 * cvmx_pcierc#_cfg455
4792 *
4793 * This register contains the four hundred fifty-sixth 32-bits of PCIe type 1 configuration space.
4794 *
4795 */
4796union cvmx_pciercx_cfg455 {
4797 u32 u32;
4798 struct cvmx_pciercx_cfg455_s {
4799 u32 m_cfg0_filt : 1;
4800 u32 m_io_filt : 1;
4801 u32 msg_ctrl : 1;
4802 u32 m_cpl_ecrc_filt : 1;
4803 u32 m_ecrc_filt : 1;
4804 u32 m_cpl_len_err : 1;
4805 u32 m_cpl_attr_err : 1;
4806 u32 m_cpl_tc_err : 1;
4807 u32 m_cpl_fun_err : 1;
4808 u32 m_cpl_rid_err : 1;
4809 u32 m_cpl_tag_err : 1;
4810 u32 m_lk_filt : 1;
4811 u32 m_cfg1_filt : 1;
4812 u32 m_bar_match : 1;
4813 u32 m_pois_filt : 1;
4814 u32 m_fun : 1;
4815 u32 dfcwt : 1;
4816 u32 reserved_11_14 : 4;
4817 u32 skpiv : 11;
4818 } s;
4819 struct cvmx_pciercx_cfg455_s cn52xx;
4820 struct cvmx_pciercx_cfg455_s cn52xxp1;
4821 struct cvmx_pciercx_cfg455_s cn56xx;
4822 struct cvmx_pciercx_cfg455_s cn56xxp1;
4823 struct cvmx_pciercx_cfg455_s cn61xx;
4824 struct cvmx_pciercx_cfg455_s cn63xx;
4825 struct cvmx_pciercx_cfg455_s cn63xxp1;
4826 struct cvmx_pciercx_cfg455_s cn66xx;
4827 struct cvmx_pciercx_cfg455_s cn68xx;
4828 struct cvmx_pciercx_cfg455_s cn68xxp1;
4829 struct cvmx_pciercx_cfg455_s cn70xx;
4830 struct cvmx_pciercx_cfg455_s cn70xxp1;
4831 struct cvmx_pciercx_cfg455_s cn73xx;
4832 struct cvmx_pciercx_cfg455_s cn78xx;
4833 struct cvmx_pciercx_cfg455_s cn78xxp1;
4834 struct cvmx_pciercx_cfg455_s cnf71xx;
4835 struct cvmx_pciercx_cfg455_s cnf75xx;
4836};
4837
4838typedef union cvmx_pciercx_cfg455 cvmx_pciercx_cfg455_t;
4839
4840/**
4841 * cvmx_pcierc#_cfg456
4842 *
4843 * This register contains the four hundred fifty-seventh 32-bits of PCIe type 1 configuration space.
4844 *
4845 */
4846union cvmx_pciercx_cfg456 {
4847 u32 u32;
4848 struct cvmx_pciercx_cfg456_s {
4849 u32 reserved_4_31 : 28;
4850 u32 m_handle_flush : 1;
4851 u32 m_dabort_4ucpl : 1;
4852 u32 m_vend1_drp : 1;
4853 u32 m_vend0_drp : 1;
4854 } s;
4855 struct cvmx_pciercx_cfg456_cn52xx {
4856 u32 reserved_2_31 : 30;
4857 u32 m_vend1_drp : 1;
4858 u32 m_vend0_drp : 1;
4859 } cn52xx;
4860 struct cvmx_pciercx_cfg456_cn52xx cn52xxp1;
4861 struct cvmx_pciercx_cfg456_cn52xx cn56xx;
4862 struct cvmx_pciercx_cfg456_cn52xx cn56xxp1;
4863 struct cvmx_pciercx_cfg456_s cn61xx;
4864 struct cvmx_pciercx_cfg456_cn52xx cn63xx;
4865 struct cvmx_pciercx_cfg456_cn52xx cn63xxp1;
4866 struct cvmx_pciercx_cfg456_s cn66xx;
4867 struct cvmx_pciercx_cfg456_s cn68xx;
4868 struct cvmx_pciercx_cfg456_cn52xx cn68xxp1;
4869 struct cvmx_pciercx_cfg456_s cn70xx;
4870 struct cvmx_pciercx_cfg456_s cn70xxp1;
4871 struct cvmx_pciercx_cfg456_s cn73xx;
4872 struct cvmx_pciercx_cfg456_s cn78xx;
4873 struct cvmx_pciercx_cfg456_s cn78xxp1;
4874 struct cvmx_pciercx_cfg456_s cnf71xx;
4875 struct cvmx_pciercx_cfg456_s cnf75xx;
4876};
4877
4878typedef union cvmx_pciercx_cfg456 cvmx_pciercx_cfg456_t;
4879
4880/**
4881 * cvmx_pcierc#_cfg458
4882 *
4883 * This register contains the four hundred fifty-ninth 32-bits of PCIe type 1 configuration space.
4884 *
4885 */
4886union cvmx_pciercx_cfg458 {
4887 u32 u32;
4888 struct cvmx_pciercx_cfg458_s {
4889 u32 dbg_info_l32 : 32;
4890 } s;
4891 struct cvmx_pciercx_cfg458_s cn52xx;
4892 struct cvmx_pciercx_cfg458_s cn52xxp1;
4893 struct cvmx_pciercx_cfg458_s cn56xx;
4894 struct cvmx_pciercx_cfg458_s cn56xxp1;
4895 struct cvmx_pciercx_cfg458_s cn61xx;
4896 struct cvmx_pciercx_cfg458_s cn63xx;
4897 struct cvmx_pciercx_cfg458_s cn63xxp1;
4898 struct cvmx_pciercx_cfg458_s cn66xx;
4899 struct cvmx_pciercx_cfg458_s cn68xx;
4900 struct cvmx_pciercx_cfg458_s cn68xxp1;
4901 struct cvmx_pciercx_cfg458_s cn70xx;
4902 struct cvmx_pciercx_cfg458_s cn70xxp1;
4903 struct cvmx_pciercx_cfg458_s cn73xx;
4904 struct cvmx_pciercx_cfg458_s cn78xx;
4905 struct cvmx_pciercx_cfg458_s cn78xxp1;
4906 struct cvmx_pciercx_cfg458_s cnf71xx;
4907 struct cvmx_pciercx_cfg458_s cnf75xx;
4908};
4909
4910typedef union cvmx_pciercx_cfg458 cvmx_pciercx_cfg458_t;
4911
4912/**
4913 * cvmx_pcierc#_cfg459
4914 *
4915 * This register contains the four hundred sixtieth 32-bits of PCIe type 1 configuration space.
4916 *
4917 */
4918union cvmx_pciercx_cfg459 {
4919 u32 u32;
4920 struct cvmx_pciercx_cfg459_s {
4921 u32 dbg_info_u32 : 32;
4922 } s;
4923 struct cvmx_pciercx_cfg459_s cn52xx;
4924 struct cvmx_pciercx_cfg459_s cn52xxp1;
4925 struct cvmx_pciercx_cfg459_s cn56xx;
4926 struct cvmx_pciercx_cfg459_s cn56xxp1;
4927 struct cvmx_pciercx_cfg459_s cn61xx;
4928 struct cvmx_pciercx_cfg459_s cn63xx;
4929 struct cvmx_pciercx_cfg459_s cn63xxp1;
4930 struct cvmx_pciercx_cfg459_s cn66xx;
4931 struct cvmx_pciercx_cfg459_s cn68xx;
4932 struct cvmx_pciercx_cfg459_s cn68xxp1;
4933 struct cvmx_pciercx_cfg459_s cn70xx;
4934 struct cvmx_pciercx_cfg459_s cn70xxp1;
4935 struct cvmx_pciercx_cfg459_s cn73xx;
4936 struct cvmx_pciercx_cfg459_s cn78xx;
4937 struct cvmx_pciercx_cfg459_s cn78xxp1;
4938 struct cvmx_pciercx_cfg459_s cnf71xx;
4939 struct cvmx_pciercx_cfg459_s cnf75xx;
4940};
4941
4942typedef union cvmx_pciercx_cfg459 cvmx_pciercx_cfg459_t;
4943
4944/**
4945 * cvmx_pcierc#_cfg460
4946 *
4947 * This register contains the four hundred sixty-first 32-bits of PCIe type 1 configuration space.
4948 *
4949 */
4950union cvmx_pciercx_cfg460 {
4951 u32 u32;
4952 struct cvmx_pciercx_cfg460_s {
4953 u32 reserved_20_31 : 12;
4954 u32 tphfcc : 8;
4955 u32 tpdfcc : 12;
4956 } s;
4957 struct cvmx_pciercx_cfg460_s cn52xx;
4958 struct cvmx_pciercx_cfg460_s cn52xxp1;
4959 struct cvmx_pciercx_cfg460_s cn56xx;
4960 struct cvmx_pciercx_cfg460_s cn56xxp1;
4961 struct cvmx_pciercx_cfg460_s cn61xx;
4962 struct cvmx_pciercx_cfg460_s cn63xx;
4963 struct cvmx_pciercx_cfg460_s cn63xxp1;
4964 struct cvmx_pciercx_cfg460_s cn66xx;
4965 struct cvmx_pciercx_cfg460_s cn68xx;
4966 struct cvmx_pciercx_cfg460_s cn68xxp1;
4967 struct cvmx_pciercx_cfg460_s cn70xx;
4968 struct cvmx_pciercx_cfg460_s cn70xxp1;
4969 struct cvmx_pciercx_cfg460_s cn73xx;
4970 struct cvmx_pciercx_cfg460_s cn78xx;
4971 struct cvmx_pciercx_cfg460_s cn78xxp1;
4972 struct cvmx_pciercx_cfg460_s cnf71xx;
4973 struct cvmx_pciercx_cfg460_s cnf75xx;
4974};
4975
4976typedef union cvmx_pciercx_cfg460 cvmx_pciercx_cfg460_t;
4977
4978/**
4979 * cvmx_pcierc#_cfg461
4980 *
4981 * This register contains the four hundred sixty-second 32-bits of PCIe type 1 configuration space.
4982 *
4983 */
4984union cvmx_pciercx_cfg461 {
4985 u32 u32;
4986 struct cvmx_pciercx_cfg461_s {
4987 u32 reserved_20_31 : 12;
4988 u32 tchfcc : 8;
4989 u32 tcdfcc : 12;
4990 } s;
4991 struct cvmx_pciercx_cfg461_s cn52xx;
4992 struct cvmx_pciercx_cfg461_s cn52xxp1;
4993 struct cvmx_pciercx_cfg461_s cn56xx;
4994 struct cvmx_pciercx_cfg461_s cn56xxp1;
4995 struct cvmx_pciercx_cfg461_s cn61xx;
4996 struct cvmx_pciercx_cfg461_s cn63xx;
4997 struct cvmx_pciercx_cfg461_s cn63xxp1;
4998 struct cvmx_pciercx_cfg461_s cn66xx;
4999 struct cvmx_pciercx_cfg461_s cn68xx;
5000 struct cvmx_pciercx_cfg461_s cn68xxp1;
5001 struct cvmx_pciercx_cfg461_s cn70xx;
5002 struct cvmx_pciercx_cfg461_s cn70xxp1;
5003 struct cvmx_pciercx_cfg461_s cn73xx;
5004 struct cvmx_pciercx_cfg461_s cn78xx;
5005 struct cvmx_pciercx_cfg461_s cn78xxp1;
5006 struct cvmx_pciercx_cfg461_s cnf71xx;
5007 struct cvmx_pciercx_cfg461_s cnf75xx;
5008};
5009
5010typedef union cvmx_pciercx_cfg461 cvmx_pciercx_cfg461_t;
5011
5012/**
5013 * cvmx_pcierc#_cfg462
5014 *
5015 * This register contains the four hundred sixty-third 32-bits of PCIe type 1 configuration space.
5016 *
5017 */
5018union cvmx_pciercx_cfg462 {
5019 u32 u32;
5020 struct cvmx_pciercx_cfg462_s {
5021 u32 reserved_20_31 : 12;
5022 u32 tchfcc : 8;
5023 u32 tcdfcc : 12;
5024 } s;
5025 struct cvmx_pciercx_cfg462_s cn52xx;
5026 struct cvmx_pciercx_cfg462_s cn52xxp1;
5027 struct cvmx_pciercx_cfg462_s cn56xx;
5028 struct cvmx_pciercx_cfg462_s cn56xxp1;
5029 struct cvmx_pciercx_cfg462_s cn61xx;
5030 struct cvmx_pciercx_cfg462_s cn63xx;
5031 struct cvmx_pciercx_cfg462_s cn63xxp1;
5032 struct cvmx_pciercx_cfg462_s cn66xx;
5033 struct cvmx_pciercx_cfg462_s cn68xx;
5034 struct cvmx_pciercx_cfg462_s cn68xxp1;
5035 struct cvmx_pciercx_cfg462_s cn70xx;
5036 struct cvmx_pciercx_cfg462_s cn70xxp1;
5037 struct cvmx_pciercx_cfg462_s cn73xx;
5038 struct cvmx_pciercx_cfg462_s cn78xx;
5039 struct cvmx_pciercx_cfg462_s cn78xxp1;
5040 struct cvmx_pciercx_cfg462_s cnf71xx;
5041 struct cvmx_pciercx_cfg462_s cnf75xx;
5042};
5043
5044typedef union cvmx_pciercx_cfg462 cvmx_pciercx_cfg462_t;
5045
5046/**
5047 * cvmx_pcierc#_cfg463
5048 *
5049 * This register contains the four hundred sixty-fourth 32-bits of PCIe type 1 configuration space.
5050 *
5051 */
5052union cvmx_pciercx_cfg463 {
5053 u32 u32;
5054 struct cvmx_pciercx_cfg463_s {
5055 u32 fcltoe : 1;
5056 u32 reserved_29_30 : 2;
5057 u32 fcltov : 13;
5058 u32 reserved_3_15 : 13;
5059 u32 rqne : 1;
5060 u32 trbne : 1;
5061 u32 rtlpfccnr : 1;
5062 } s;
5063 struct cvmx_pciercx_cfg463_cn52xx {
5064 u32 reserved_3_31 : 29;
5065 u32 rqne : 1;
5066 u32 trbne : 1;
5067 u32 rtlpfccnr : 1;
5068 } cn52xx;
5069 struct cvmx_pciercx_cfg463_cn52xx cn52xxp1;
5070 struct cvmx_pciercx_cfg463_cn52xx cn56xx;
5071 struct cvmx_pciercx_cfg463_cn52xx cn56xxp1;
5072 struct cvmx_pciercx_cfg463_cn52xx cn61xx;
5073 struct cvmx_pciercx_cfg463_cn52xx cn63xx;
5074 struct cvmx_pciercx_cfg463_cn52xx cn63xxp1;
5075 struct cvmx_pciercx_cfg463_cn52xx cn66xx;
5076 struct cvmx_pciercx_cfg463_cn52xx cn68xx;
5077 struct cvmx_pciercx_cfg463_cn52xx cn68xxp1;
5078 struct cvmx_pciercx_cfg463_cn52xx cn70xx;
5079 struct cvmx_pciercx_cfg463_cn52xx cn70xxp1;
5080 struct cvmx_pciercx_cfg463_s cn73xx;
5081 struct cvmx_pciercx_cfg463_s cn78xx;
5082 struct cvmx_pciercx_cfg463_s cn78xxp1;
5083 struct cvmx_pciercx_cfg463_cn52xx cnf71xx;
5084 struct cvmx_pciercx_cfg463_s cnf75xx;
5085};
5086
5087typedef union cvmx_pciercx_cfg463 cvmx_pciercx_cfg463_t;
5088
5089/**
5090 * cvmx_pcierc#_cfg464
5091 *
5092 * This register contains the four hundred sixty-fifth 32-bits of PCIe type 1 configuration space.
5093 *
5094 */
5095union cvmx_pciercx_cfg464 {
5096 u32 u32;
5097 struct cvmx_pciercx_cfg464_s {
5098 u32 wrr_vc3 : 8;
5099 u32 wrr_vc2 : 8;
5100 u32 wrr_vc1 : 8;
5101 u32 wrr_vc0 : 8;
5102 } s;
5103 struct cvmx_pciercx_cfg464_s cn52xx;
5104 struct cvmx_pciercx_cfg464_s cn52xxp1;
5105 struct cvmx_pciercx_cfg464_s cn56xx;
5106 struct cvmx_pciercx_cfg464_s cn56xxp1;
5107 struct cvmx_pciercx_cfg464_s cn61xx;
5108 struct cvmx_pciercx_cfg464_s cn63xx;
5109 struct cvmx_pciercx_cfg464_s cn63xxp1;
5110 struct cvmx_pciercx_cfg464_s cn66xx;
5111 struct cvmx_pciercx_cfg464_s cn68xx;
5112 struct cvmx_pciercx_cfg464_s cn68xxp1;
5113 struct cvmx_pciercx_cfg464_s cn70xx;
5114 struct cvmx_pciercx_cfg464_s cn70xxp1;
5115 struct cvmx_pciercx_cfg464_s cn73xx;
5116 struct cvmx_pciercx_cfg464_s cn78xx;
5117 struct cvmx_pciercx_cfg464_s cn78xxp1;
5118 struct cvmx_pciercx_cfg464_s cnf71xx;
5119 struct cvmx_pciercx_cfg464_s cnf75xx;
5120};
5121
5122typedef union cvmx_pciercx_cfg464 cvmx_pciercx_cfg464_t;
5123
5124/**
5125 * cvmx_pcierc#_cfg465
5126 *
5127 * This register contains the four hundred sixty-sixth 32-bits of configuration space.
5128 *
5129 */
5130union cvmx_pciercx_cfg465 {
5131 u32 u32;
5132 struct cvmx_pciercx_cfg465_s {
5133 u32 wrr_vc7 : 8;
5134 u32 wrr_vc6 : 8;
5135 u32 wrr_vc5 : 8;
5136 u32 wrr_vc4 : 8;
5137 } s;
5138 struct cvmx_pciercx_cfg465_s cn52xx;
5139 struct cvmx_pciercx_cfg465_s cn52xxp1;
5140 struct cvmx_pciercx_cfg465_s cn56xx;
5141 struct cvmx_pciercx_cfg465_s cn56xxp1;
5142 struct cvmx_pciercx_cfg465_s cn61xx;
5143 struct cvmx_pciercx_cfg465_s cn63xx;
5144 struct cvmx_pciercx_cfg465_s cn63xxp1;
5145 struct cvmx_pciercx_cfg465_s cn66xx;
5146 struct cvmx_pciercx_cfg465_s cn68xx;
5147 struct cvmx_pciercx_cfg465_s cn68xxp1;
5148 struct cvmx_pciercx_cfg465_s cn70xx;
5149 struct cvmx_pciercx_cfg465_s cn70xxp1;
5150 struct cvmx_pciercx_cfg465_s cn73xx;
5151 struct cvmx_pciercx_cfg465_s cn78xx;
5152 struct cvmx_pciercx_cfg465_s cn78xxp1;
5153 struct cvmx_pciercx_cfg465_s cnf71xx;
5154 struct cvmx_pciercx_cfg465_s cnf75xx;
5155};
5156
5157typedef union cvmx_pciercx_cfg465 cvmx_pciercx_cfg465_t;
5158
5159/**
5160 * cvmx_pcierc#_cfg466
5161 *
5162 * This register contains the four hundred sixty-seventh 32-bits of PCIe type 1 configuration space.
5163 *
5164 */
5165union cvmx_pciercx_cfg466 {
5166 u32 u32;
5167 struct cvmx_pciercx_cfg466_s {
5168 u32 rx_queue_order : 1;
5169 u32 type_ordering : 1;
5170 u32 reserved_24_29 : 6;
5171 u32 queue_mode : 3;
5172 u32 reserved_20_20 : 1;
5173 u32 header_credits : 8;
5174 u32 data_credits : 12;
5175 } s;
5176 struct cvmx_pciercx_cfg466_s cn52xx;
5177 struct cvmx_pciercx_cfg466_s cn52xxp1;
5178 struct cvmx_pciercx_cfg466_s cn56xx;
5179 struct cvmx_pciercx_cfg466_s cn56xxp1;
5180 struct cvmx_pciercx_cfg466_s cn61xx;
5181 struct cvmx_pciercx_cfg466_s cn63xx;
5182 struct cvmx_pciercx_cfg466_s cn63xxp1;
5183 struct cvmx_pciercx_cfg466_s cn66xx;
5184 struct cvmx_pciercx_cfg466_s cn68xx;
5185 struct cvmx_pciercx_cfg466_s cn68xxp1;
5186 struct cvmx_pciercx_cfg466_s cn70xx;
5187 struct cvmx_pciercx_cfg466_s cn70xxp1;
5188 struct cvmx_pciercx_cfg466_s cn73xx;
5189 struct cvmx_pciercx_cfg466_s cn78xx;
5190 struct cvmx_pciercx_cfg466_s cn78xxp1;
5191 struct cvmx_pciercx_cfg466_s cnf71xx;
5192 struct cvmx_pciercx_cfg466_s cnf75xx;
5193};
5194
5195typedef union cvmx_pciercx_cfg466 cvmx_pciercx_cfg466_t;
5196
5197/**
5198 * cvmx_pcierc#_cfg467
5199 *
5200 * This register contains the four hundred sixty-eighth 32-bits of PCIe type 1 configuration space.
5201 *
5202 */
5203union cvmx_pciercx_cfg467 {
5204 u32 u32;
5205 struct cvmx_pciercx_cfg467_s {
5206 u32 reserved_24_31 : 8;
5207 u32 queue_mode : 3;
5208 u32 reserved_20_20 : 1;
5209 u32 header_credits : 8;
5210 u32 data_credits : 12;
5211 } s;
5212 struct cvmx_pciercx_cfg467_s cn52xx;
5213 struct cvmx_pciercx_cfg467_s cn52xxp1;
5214 struct cvmx_pciercx_cfg467_s cn56xx;
5215 struct cvmx_pciercx_cfg467_s cn56xxp1;
5216 struct cvmx_pciercx_cfg467_s cn61xx;
5217 struct cvmx_pciercx_cfg467_s cn63xx;
5218 struct cvmx_pciercx_cfg467_s cn63xxp1;
5219 struct cvmx_pciercx_cfg467_s cn66xx;
5220 struct cvmx_pciercx_cfg467_s cn68xx;
5221 struct cvmx_pciercx_cfg467_s cn68xxp1;
5222 struct cvmx_pciercx_cfg467_s cn70xx;
5223 struct cvmx_pciercx_cfg467_s cn70xxp1;
5224 struct cvmx_pciercx_cfg467_s cn73xx;
5225 struct cvmx_pciercx_cfg467_s cn78xx;
5226 struct cvmx_pciercx_cfg467_s cn78xxp1;
5227 struct cvmx_pciercx_cfg467_s cnf71xx;
5228 struct cvmx_pciercx_cfg467_s cnf75xx;
5229};
5230
5231typedef union cvmx_pciercx_cfg467 cvmx_pciercx_cfg467_t;
5232
5233/**
5234 * cvmx_pcierc#_cfg468
5235 *
5236 * This register contains the four hundred sixty-ninth 32-bits of PCIe type 1 configuration space.
5237 *
5238 */
5239union cvmx_pciercx_cfg468 {
5240 u32 u32;
5241 struct cvmx_pciercx_cfg468_s {
5242 u32 reserved_24_31 : 8;
5243 u32 queue_mode : 3;
5244 u32 reserved_20_20 : 1;
5245 u32 header_credits : 8;
5246 u32 data_credits : 12;
5247 } s;
5248 struct cvmx_pciercx_cfg468_s cn52xx;
5249 struct cvmx_pciercx_cfg468_s cn52xxp1;
5250 struct cvmx_pciercx_cfg468_s cn56xx;
5251 struct cvmx_pciercx_cfg468_s cn56xxp1;
5252 struct cvmx_pciercx_cfg468_s cn61xx;
5253 struct cvmx_pciercx_cfg468_s cn63xx;
5254 struct cvmx_pciercx_cfg468_s cn63xxp1;
5255 struct cvmx_pciercx_cfg468_s cn66xx;
5256 struct cvmx_pciercx_cfg468_s cn68xx;
5257 struct cvmx_pciercx_cfg468_s cn68xxp1;
5258 struct cvmx_pciercx_cfg468_s cn70xx;
5259 struct cvmx_pciercx_cfg468_s cn70xxp1;
5260 struct cvmx_pciercx_cfg468_s cn73xx;
5261 struct cvmx_pciercx_cfg468_s cn78xx;
5262 struct cvmx_pciercx_cfg468_s cn78xxp1;
5263 struct cvmx_pciercx_cfg468_s cnf71xx;
5264 struct cvmx_pciercx_cfg468_s cnf75xx;
5265};
5266
5267typedef union cvmx_pciercx_cfg468 cvmx_pciercx_cfg468_t;
5268
5269/**
5270 * cvmx_pcierc#_cfg490
5271 *
5272 * PCIE_CFG490 = Four hundred ninety-first 32-bits of PCIE type 1 config space
5273 * (VC0 Posted Buffer Depth)
5274 */
5275union cvmx_pciercx_cfg490 {
5276 u32 u32;
5277 struct cvmx_pciercx_cfg490_s {
5278 u32 reserved_26_31 : 6;
5279 u32 header_depth : 10;
5280 u32 reserved_14_15 : 2;
5281 u32 data_depth : 14;
5282 } s;
5283 struct cvmx_pciercx_cfg490_s cn52xx;
5284 struct cvmx_pciercx_cfg490_s cn52xxp1;
5285 struct cvmx_pciercx_cfg490_s cn56xx;
5286 struct cvmx_pciercx_cfg490_s cn56xxp1;
5287 struct cvmx_pciercx_cfg490_s cn61xx;
5288 struct cvmx_pciercx_cfg490_s cn63xx;
5289 struct cvmx_pciercx_cfg490_s cn63xxp1;
5290 struct cvmx_pciercx_cfg490_s cn66xx;
5291 struct cvmx_pciercx_cfg490_s cn68xx;
5292 struct cvmx_pciercx_cfg490_s cn68xxp1;
5293 struct cvmx_pciercx_cfg490_s cn70xx;
5294 struct cvmx_pciercx_cfg490_s cn70xxp1;
5295 struct cvmx_pciercx_cfg490_s cnf71xx;
5296};
5297
5298typedef union cvmx_pciercx_cfg490 cvmx_pciercx_cfg490_t;
5299
5300/**
5301 * cvmx_pcierc#_cfg491
5302 *
5303 * PCIE_CFG491 = Four hundred ninety-second 32-bits of PCIE type 1 config space
5304 * (VC0 Non-Posted Buffer Depth)
5305 */
5306union cvmx_pciercx_cfg491 {
5307 u32 u32;
5308 struct cvmx_pciercx_cfg491_s {
5309 u32 reserved_26_31 : 6;
5310 u32 header_depth : 10;
5311 u32 reserved_14_15 : 2;
5312 u32 data_depth : 14;
5313 } s;
5314 struct cvmx_pciercx_cfg491_s cn52xx;
5315 struct cvmx_pciercx_cfg491_s cn52xxp1;
5316 struct cvmx_pciercx_cfg491_s cn56xx;
5317 struct cvmx_pciercx_cfg491_s cn56xxp1;
5318 struct cvmx_pciercx_cfg491_s cn61xx;
5319 struct cvmx_pciercx_cfg491_s cn63xx;
5320 struct cvmx_pciercx_cfg491_s cn63xxp1;
5321 struct cvmx_pciercx_cfg491_s cn66xx;
5322 struct cvmx_pciercx_cfg491_s cn68xx;
5323 struct cvmx_pciercx_cfg491_s cn68xxp1;
5324 struct cvmx_pciercx_cfg491_s cn70xx;
5325 struct cvmx_pciercx_cfg491_s cn70xxp1;
5326 struct cvmx_pciercx_cfg491_s cnf71xx;
5327};
5328
5329typedef union cvmx_pciercx_cfg491 cvmx_pciercx_cfg491_t;
5330
5331/**
5332 * cvmx_pcierc#_cfg492
5333 *
5334 * PCIE_CFG492 = Four hundred ninety-third 32-bits of PCIE type 1 config space
5335 * (VC0 Completion Buffer Depth)
5336 */
5337union cvmx_pciercx_cfg492 {
5338 u32 u32;
5339 struct cvmx_pciercx_cfg492_s {
5340 u32 reserved_26_31 : 6;
5341 u32 header_depth : 10;
5342 u32 reserved_14_15 : 2;
5343 u32 data_depth : 14;
5344 } s;
5345 struct cvmx_pciercx_cfg492_s cn52xx;
5346 struct cvmx_pciercx_cfg492_s cn52xxp1;
5347 struct cvmx_pciercx_cfg492_s cn56xx;
5348 struct cvmx_pciercx_cfg492_s cn56xxp1;
5349 struct cvmx_pciercx_cfg492_s cn61xx;
5350 struct cvmx_pciercx_cfg492_s cn63xx;
5351 struct cvmx_pciercx_cfg492_s cn63xxp1;
5352 struct cvmx_pciercx_cfg492_s cn66xx;
5353 struct cvmx_pciercx_cfg492_s cn68xx;
5354 struct cvmx_pciercx_cfg492_s cn68xxp1;
5355 struct cvmx_pciercx_cfg492_s cn70xx;
5356 struct cvmx_pciercx_cfg492_s cn70xxp1;
5357 struct cvmx_pciercx_cfg492_s cnf71xx;
5358};
5359
5360typedef union cvmx_pciercx_cfg492 cvmx_pciercx_cfg492_t;
5361
5362/**
5363 * cvmx_pcierc#_cfg515
5364 *
5365 * This register contains the five hundred sixteenth 32-bits of PCIe type 1 configuration space.
5366 *
5367 */
5368union cvmx_pciercx_cfg515 {
5369 u32 u32;
5370 struct cvmx_pciercx_cfg515_s {
5371 u32 reserved_21_31 : 11;
5372 u32 s_d_e : 1;
5373 u32 ctcrb : 1;
5374 u32 cpyts : 1;
5375 u32 dsc : 1;
5376 u32 reserved_8_16 : 9;
5377 u32 n_fts : 8;
5378 } s;
5379 struct cvmx_pciercx_cfg515_cn61xx {
5380 u32 reserved_21_31 : 11;
5381 u32 s_d_e : 1;
5382 u32 ctcrb : 1;
5383 u32 cpyts : 1;
5384 u32 dsc : 1;
5385 u32 le : 9;
5386 u32 n_fts : 8;
5387 } cn61xx;
5388 struct cvmx_pciercx_cfg515_cn61xx cn63xx;
5389 struct cvmx_pciercx_cfg515_cn61xx cn63xxp1;
5390 struct cvmx_pciercx_cfg515_cn61xx cn66xx;
5391 struct cvmx_pciercx_cfg515_cn61xx cn68xx;
5392 struct cvmx_pciercx_cfg515_cn61xx cn68xxp1;
5393 struct cvmx_pciercx_cfg515_cn61xx cn70xx;
5394 struct cvmx_pciercx_cfg515_cn61xx cn70xxp1;
5395 struct cvmx_pciercx_cfg515_cn61xx cn73xx;
5396 struct cvmx_pciercx_cfg515_cn78xx {
5397 u32 reserved_21_31 : 11;
5398 u32 s_d_e : 1;
5399 u32 ctcrb : 1;
5400 u32 cpyts : 1;
5401 u32 dsc : 1;
5402 u32 alaneflip : 1;
5403 u32 pdetlane : 3;
5404 u32 nlanes : 5;
5405 u32 n_fts : 8;
5406 } cn78xx;
5407 struct cvmx_pciercx_cfg515_cn61xx cn78xxp1;
5408 struct cvmx_pciercx_cfg515_cn61xx cnf71xx;
5409 struct cvmx_pciercx_cfg515_cn78xx cnf75xx;
5410};
5411
5412typedef union cvmx_pciercx_cfg515 cvmx_pciercx_cfg515_t;
5413
5414/**
5415 * cvmx_pcierc#_cfg516
5416 *
5417 * This register contains the five hundred seventeenth 32-bits of PCIe type 1 configuration space.
5418 *
5419 */
5420union cvmx_pciercx_cfg516 {
5421 u32 u32;
5422 struct cvmx_pciercx_cfg516_s {
5423 u32 phy_stat : 32;
5424 } s;
5425 struct cvmx_pciercx_cfg516_s cn52xx;
5426 struct cvmx_pciercx_cfg516_s cn52xxp1;
5427 struct cvmx_pciercx_cfg516_s cn56xx;
5428 struct cvmx_pciercx_cfg516_s cn56xxp1;
5429 struct cvmx_pciercx_cfg516_s cn61xx;
5430 struct cvmx_pciercx_cfg516_s cn63xx;
5431 struct cvmx_pciercx_cfg516_s cn63xxp1;
5432 struct cvmx_pciercx_cfg516_s cn66xx;
5433 struct cvmx_pciercx_cfg516_s cn68xx;
5434 struct cvmx_pciercx_cfg516_s cn68xxp1;
5435 struct cvmx_pciercx_cfg516_s cn70xx;
5436 struct cvmx_pciercx_cfg516_s cn70xxp1;
5437 struct cvmx_pciercx_cfg516_s cn73xx;
5438 struct cvmx_pciercx_cfg516_s cn78xx;
5439 struct cvmx_pciercx_cfg516_s cn78xxp1;
5440 struct cvmx_pciercx_cfg516_s cnf71xx;
5441 struct cvmx_pciercx_cfg516_s cnf75xx;
5442};
5443
5444typedef union cvmx_pciercx_cfg516 cvmx_pciercx_cfg516_t;
5445
5446/**
5447 * cvmx_pcierc#_cfg517
5448 *
5449 * This register contains the five hundred eighteenth 32-bits of PCIe type 1 configuration space.
5450 *
5451 */
5452union cvmx_pciercx_cfg517 {
5453 u32 u32;
5454 struct cvmx_pciercx_cfg517_s {
5455 u32 phy_ctrl : 32;
5456 } s;
5457 struct cvmx_pciercx_cfg517_s cn52xx;
5458 struct cvmx_pciercx_cfg517_s cn52xxp1;
5459 struct cvmx_pciercx_cfg517_s cn56xx;
5460 struct cvmx_pciercx_cfg517_s cn56xxp1;
5461 struct cvmx_pciercx_cfg517_s cn61xx;
5462 struct cvmx_pciercx_cfg517_s cn63xx;
5463 struct cvmx_pciercx_cfg517_s cn63xxp1;
5464 struct cvmx_pciercx_cfg517_s cn66xx;
5465 struct cvmx_pciercx_cfg517_s cn68xx;
5466 struct cvmx_pciercx_cfg517_s cn68xxp1;
5467 struct cvmx_pciercx_cfg517_s cn70xx;
5468 struct cvmx_pciercx_cfg517_s cn70xxp1;
5469 struct cvmx_pciercx_cfg517_s cn73xx;
5470 struct cvmx_pciercx_cfg517_s cn78xx;
5471 struct cvmx_pciercx_cfg517_s cn78xxp1;
5472 struct cvmx_pciercx_cfg517_s cnf71xx;
5473 struct cvmx_pciercx_cfg517_s cnf75xx;
5474};
5475
5476typedef union cvmx_pciercx_cfg517 cvmx_pciercx_cfg517_t;
5477
5478/**
5479 * cvmx_pcierc#_cfg548
5480 *
5481 * This register contains the five hundred forty-ninth 32-bits of type 0 PCIe configuration space.
5482 *
5483 */
5484union cvmx_pciercx_cfg548 {
5485 u32 u32;
5486 struct cvmx_pciercx_cfg548_s {
5487 u32 reserved_26_31 : 6;
5488 u32 rss : 2;
5489 u32 eiedd : 1;
5490 u32 reserved_19_22 : 4;
5491 u32 dcbd : 1;
5492 u32 dtdd : 1;
5493 u32 ed : 1;
5494 u32 reserved_13_15 : 3;
5495 u32 rxeq_ph01_en : 1;
5496 u32 erd : 1;
5497 u32 ecrd : 1;
5498 u32 ep2p3d : 1;
5499 u32 dsg3 : 1;
5500 u32 reserved_1_7 : 7;
5501 u32 grizdnc : 1;
5502 } s;
5503 struct cvmx_pciercx_cfg548_s cn73xx;
5504 struct cvmx_pciercx_cfg548_s cn78xx;
5505 struct cvmx_pciercx_cfg548_s cn78xxp1;
5506 struct cvmx_pciercx_cfg548_s cnf75xx;
5507};
5508
5509typedef union cvmx_pciercx_cfg548 cvmx_pciercx_cfg548_t;
5510
5511/**
5512 * cvmx_pcierc#_cfg554
5513 *
5514 * This register contains the five hundred fifty-fifth 32-bits of type 0 PCIe configuration space.
5515 *
5516 */
5517union cvmx_pciercx_cfg554 {
5518 u32 u32;
5519 struct cvmx_pciercx_cfg554_s {
5520 u32 reserved_27_31 : 5;
5521 u32 scefpm : 1;
5522 u32 reserved_25_25 : 1;
5523 u32 iif : 1;
5524 u32 prv : 16;
5525 u32 reserved_6_7 : 2;
5526 u32 p23td : 1;
5527 u32 bt : 1;
5528 u32 fm : 4;
5529 } s;
5530 struct cvmx_pciercx_cfg554_cn73xx {
5531 u32 reserved_25_31 : 7;
5532 u32 iif : 1;
5533 u32 prv : 16;
5534 u32 reserved_6_7 : 2;
5535 u32 p23td : 1;
5536 u32 bt : 1;
5537 u32 fm : 4;
5538 } cn73xx;
5539 struct cvmx_pciercx_cfg554_s cn78xx;
5540 struct cvmx_pciercx_cfg554_s cn78xxp1;
5541 struct cvmx_pciercx_cfg554_s cnf75xx;
5542};
5543
5544typedef union cvmx_pciercx_cfg554 cvmx_pciercx_cfg554_t;
5545
5546/**
5547 * cvmx_pcierc#_cfg558
5548 *
5549 * This register contains the five hundred fifty-ninth 32-bits of type 0 PCIe configuration space.
5550 *
5551 */
5552union cvmx_pciercx_cfg558 {
5553 u32 u32;
5554 struct cvmx_pciercx_cfg558_s {
5555 u32 ple : 1;
5556 u32 rxstatus : 31;
5557 } s;
5558 struct cvmx_pciercx_cfg558_s cn73xx;
5559 struct cvmx_pciercx_cfg558_s cn78xx;
5560 struct cvmx_pciercx_cfg558_s cn78xxp1;
5561 struct cvmx_pciercx_cfg558_s cnf75xx;
5562};
5563
5564typedef union cvmx_pciercx_cfg558 cvmx_pciercx_cfg558_t;
5565
5566/**
5567 * cvmx_pcierc#_cfg559
5568 *
5569 * This register contains the five hundred sixtieth 32-bits of PCIe type 0 configuration space.
5570 *
5571 */
5572union cvmx_pciercx_cfg559 {
5573 u32 u32;
5574 struct cvmx_pciercx_cfg559_s {
5575 u32 reserved_1_31 : 31;
5576 u32 dbi_ro_wr_en : 1;
5577 } s;
5578 struct cvmx_pciercx_cfg559_s cn73xx;
5579 struct cvmx_pciercx_cfg559_s cn78xx;
5580 struct cvmx_pciercx_cfg559_s cn78xxp1;
5581 struct cvmx_pciercx_cfg559_s cnf75xx;
5582};
5583
5584typedef union cvmx_pciercx_cfg559 cvmx_pciercx_cfg559_t;
5585
5586#endif