1 /***********************license start***************
2 * Copyright (c) 2003-2012 Cavium Inc. (support@cavium.com). All rights
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
18 * * Neither the name of Cavium Inc. nor the names of
19 * its contributors may be used to endorse or promote products
20 * derived from this software without specific prior written
23 * This Software, including technical data, may be subject to U.S. export control
24 * laws, including the U.S. Export Administration Act and its associated
25 * regulations, and may be subject to export or import regulations in other
28 * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
29 * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR
30 * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
31 * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
32 * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
33 * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
34 * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
35 * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
36 * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR
37 * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
38 ***********************license end**************************************/
44 * Configuration and status register (CSR) type definitions for
47 * This file is auto generated. Do not edit.
52 #ifndef __CVMX_PCIERCX_DEFS_H__
53 #define __CVMX_PCIERCX_DEFS_H__
55 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
56 static inline uint64_t CVMX_PCIERCX_CFG000(unsigned long block_id)
59 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
60 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
61 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
62 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
63 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
64 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
65 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
66 cvmx_warn("CVMX_PCIERCX_CFG000(%lu) is invalid on this chip\n", block_id);
67 return 0x0000000000000000ull;
70 #define CVMX_PCIERCX_CFG000(block_id) (0x0000000000000000ull)
72 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
73 static inline uint64_t CVMX_PCIERCX_CFG001(unsigned long block_id)
76 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
77 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
78 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
79 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
80 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
81 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
82 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
83 cvmx_warn("CVMX_PCIERCX_CFG001(%lu) is invalid on this chip\n", block_id);
84 return 0x0000000000000004ull;
87 #define CVMX_PCIERCX_CFG001(block_id) (0x0000000000000004ull)
89 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
90 static inline uint64_t CVMX_PCIERCX_CFG002(unsigned long block_id)
93 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
94 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
95 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
96 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
97 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
98 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
99 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
100 cvmx_warn("CVMX_PCIERCX_CFG002(%lu) is invalid on this chip\n", block_id);
101 return 0x0000000000000008ull;
104 #define CVMX_PCIERCX_CFG002(block_id) (0x0000000000000008ull)
106 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
107 static inline uint64_t CVMX_PCIERCX_CFG003(unsigned long block_id)
110 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
111 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
112 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
113 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
114 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
115 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
116 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
117 cvmx_warn("CVMX_PCIERCX_CFG003(%lu) is invalid on this chip\n", block_id);
118 return 0x000000000000000Cull;
121 #define CVMX_PCIERCX_CFG003(block_id) (0x000000000000000Cull)
123 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
124 static inline uint64_t CVMX_PCIERCX_CFG004(unsigned long block_id)
127 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
128 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
129 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
130 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
131 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
132 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
133 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
134 cvmx_warn("CVMX_PCIERCX_CFG004(%lu) is invalid on this chip\n", block_id);
135 return 0x0000000000000010ull;
138 #define CVMX_PCIERCX_CFG004(block_id) (0x0000000000000010ull)
140 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
141 static inline uint64_t CVMX_PCIERCX_CFG005(unsigned long block_id)
144 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
145 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
146 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
147 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
148 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
149 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
150 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
151 cvmx_warn("CVMX_PCIERCX_CFG005(%lu) is invalid on this chip\n", block_id);
152 return 0x0000000000000014ull;
155 #define CVMX_PCIERCX_CFG005(block_id) (0x0000000000000014ull)
157 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
158 static inline uint64_t CVMX_PCIERCX_CFG006(unsigned long block_id)
161 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
162 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
163 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
164 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
165 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
166 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
167 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
168 cvmx_warn("CVMX_PCIERCX_CFG006(%lu) is invalid on this chip\n", block_id);
169 return 0x0000000000000018ull;
172 #define CVMX_PCIERCX_CFG006(block_id) (0x0000000000000018ull)
174 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
175 static inline uint64_t CVMX_PCIERCX_CFG007(unsigned long block_id)
178 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
179 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
180 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
181 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
182 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
183 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
184 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
185 cvmx_warn("CVMX_PCIERCX_CFG007(%lu) is invalid on this chip\n", block_id);
186 return 0x000000000000001Cull;
189 #define CVMX_PCIERCX_CFG007(block_id) (0x000000000000001Cull)
191 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
192 static inline uint64_t CVMX_PCIERCX_CFG008(unsigned long block_id)
195 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
196 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
197 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
198 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
199 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
200 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
201 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
202 cvmx_warn("CVMX_PCIERCX_CFG008(%lu) is invalid on this chip\n", block_id);
203 return 0x0000000000000020ull;
206 #define CVMX_PCIERCX_CFG008(block_id) (0x0000000000000020ull)
208 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
209 static inline uint64_t CVMX_PCIERCX_CFG009(unsigned long block_id)
212 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
213 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
214 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
215 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
216 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
217 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
218 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
219 cvmx_warn("CVMX_PCIERCX_CFG009(%lu) is invalid on this chip\n", block_id);
220 return 0x0000000000000024ull;
223 #define CVMX_PCIERCX_CFG009(block_id) (0x0000000000000024ull)
225 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
226 static inline uint64_t CVMX_PCIERCX_CFG010(unsigned long block_id)
229 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
230 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
231 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
232 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
233 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
234 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
235 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
236 cvmx_warn("CVMX_PCIERCX_CFG010(%lu) is invalid on this chip\n", block_id);
237 return 0x0000000000000028ull;
240 #define CVMX_PCIERCX_CFG010(block_id) (0x0000000000000028ull)
242 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
243 static inline uint64_t CVMX_PCIERCX_CFG011(unsigned long block_id)
246 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
247 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
248 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
249 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
250 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
251 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
252 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
253 cvmx_warn("CVMX_PCIERCX_CFG011(%lu) is invalid on this chip\n", block_id);
254 return 0x000000000000002Cull;
257 #define CVMX_PCIERCX_CFG011(block_id) (0x000000000000002Cull)
259 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
260 static inline uint64_t CVMX_PCIERCX_CFG012(unsigned long block_id)
263 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
264 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
265 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
266 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
267 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
268 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
269 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
270 cvmx_warn("CVMX_PCIERCX_CFG012(%lu) is invalid on this chip\n", block_id);
271 return 0x0000000000000030ull;
274 #define CVMX_PCIERCX_CFG012(block_id) (0x0000000000000030ull)
276 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
277 static inline uint64_t CVMX_PCIERCX_CFG013(unsigned long block_id)
280 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
281 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
282 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
283 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
284 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
285 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
286 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
287 cvmx_warn("CVMX_PCIERCX_CFG013(%lu) is invalid on this chip\n", block_id);
288 return 0x0000000000000034ull;
291 #define CVMX_PCIERCX_CFG013(block_id) (0x0000000000000034ull)
293 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
294 static inline uint64_t CVMX_PCIERCX_CFG014(unsigned long block_id)
297 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
298 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
299 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
300 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
301 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
302 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
303 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
304 cvmx_warn("CVMX_PCIERCX_CFG014(%lu) is invalid on this chip\n", block_id);
305 return 0x0000000000000038ull;
308 #define CVMX_PCIERCX_CFG014(block_id) (0x0000000000000038ull)
310 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
311 static inline uint64_t CVMX_PCIERCX_CFG015(unsigned long block_id)
314 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
315 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
316 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
317 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
318 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
319 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
320 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
321 cvmx_warn("CVMX_PCIERCX_CFG015(%lu) is invalid on this chip\n", block_id);
322 return 0x000000000000003Cull;
325 #define CVMX_PCIERCX_CFG015(block_id) (0x000000000000003Cull)
327 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
328 static inline uint64_t CVMX_PCIERCX_CFG016(unsigned long block_id)
331 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
332 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
333 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
334 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
335 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
336 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
337 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
338 cvmx_warn("CVMX_PCIERCX_CFG016(%lu) is invalid on this chip\n", block_id);
339 return 0x0000000000000040ull;
342 #define CVMX_PCIERCX_CFG016(block_id) (0x0000000000000040ull)
344 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
345 static inline uint64_t CVMX_PCIERCX_CFG017(unsigned long block_id)
348 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
349 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
350 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
351 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
352 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
353 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
354 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
355 cvmx_warn("CVMX_PCIERCX_CFG017(%lu) is invalid on this chip\n", block_id);
356 return 0x0000000000000044ull;
359 #define CVMX_PCIERCX_CFG017(block_id) (0x0000000000000044ull)
361 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
362 static inline uint64_t CVMX_PCIERCX_CFG020(unsigned long block_id)
365 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
366 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
367 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
368 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
369 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
370 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
371 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
372 cvmx_warn("CVMX_PCIERCX_CFG020(%lu) is invalid on this chip\n", block_id);
373 return 0x0000000000000050ull;
376 #define CVMX_PCIERCX_CFG020(block_id) (0x0000000000000050ull)
378 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
379 static inline uint64_t CVMX_PCIERCX_CFG021(unsigned long block_id)
382 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
383 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
384 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
385 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
386 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
387 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
388 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
389 cvmx_warn("CVMX_PCIERCX_CFG021(%lu) is invalid on this chip\n", block_id);
390 return 0x0000000000000054ull;
393 #define CVMX_PCIERCX_CFG021(block_id) (0x0000000000000054ull)
395 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
396 static inline uint64_t CVMX_PCIERCX_CFG022(unsigned long block_id)
399 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
400 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
401 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
402 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
403 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
404 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
405 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
406 cvmx_warn("CVMX_PCIERCX_CFG022(%lu) is invalid on this chip\n", block_id);
407 return 0x0000000000000058ull;
410 #define CVMX_PCIERCX_CFG022(block_id) (0x0000000000000058ull)
412 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
413 static inline uint64_t CVMX_PCIERCX_CFG023(unsigned long block_id)
416 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
417 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
418 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
419 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
420 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
421 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
422 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
423 cvmx_warn("CVMX_PCIERCX_CFG023(%lu) is invalid on this chip\n", block_id);
424 return 0x000000000000005Cull;
427 #define CVMX_PCIERCX_CFG023(block_id) (0x000000000000005Cull)
429 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
430 static inline uint64_t CVMX_PCIERCX_CFG028(unsigned long block_id)
433 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
434 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
435 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
436 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
437 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
438 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
439 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
440 cvmx_warn("CVMX_PCIERCX_CFG028(%lu) is invalid on this chip\n", block_id);
441 return 0x0000000000000070ull;
444 #define CVMX_PCIERCX_CFG028(block_id) (0x0000000000000070ull)
446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
447 static inline uint64_t CVMX_PCIERCX_CFG029(unsigned long block_id)
450 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
451 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
452 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
453 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
454 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
455 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
456 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
457 cvmx_warn("CVMX_PCIERCX_CFG029(%lu) is invalid on this chip\n", block_id);
458 return 0x0000000000000074ull;
461 #define CVMX_PCIERCX_CFG029(block_id) (0x0000000000000074ull)
463 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
464 static inline uint64_t CVMX_PCIERCX_CFG030(unsigned long block_id)
467 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
468 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
469 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
470 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
471 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
472 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
473 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
474 cvmx_warn("CVMX_PCIERCX_CFG030(%lu) is invalid on this chip\n", block_id);
475 return 0x0000000000000078ull;
478 #define CVMX_PCIERCX_CFG030(block_id) (0x0000000000000078ull)
480 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
481 static inline uint64_t CVMX_PCIERCX_CFG031(unsigned long block_id)
484 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
485 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
486 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
487 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
488 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
489 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
490 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
491 cvmx_warn("CVMX_PCIERCX_CFG031(%lu) is invalid on this chip\n", block_id);
492 return 0x000000000000007Cull;
495 #define CVMX_PCIERCX_CFG031(block_id) (0x000000000000007Cull)
497 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
498 static inline uint64_t CVMX_PCIERCX_CFG032(unsigned long block_id)
501 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
502 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
503 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
504 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
505 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
506 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
507 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
508 cvmx_warn("CVMX_PCIERCX_CFG032(%lu) is invalid on this chip\n", block_id);
509 return 0x0000000000000080ull;
512 #define CVMX_PCIERCX_CFG032(block_id) (0x0000000000000080ull)
514 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
515 static inline uint64_t CVMX_PCIERCX_CFG033(unsigned long block_id)
518 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
519 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
520 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
521 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
522 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
523 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
524 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
525 cvmx_warn("CVMX_PCIERCX_CFG033(%lu) is invalid on this chip\n", block_id);
526 return 0x0000000000000084ull;
529 #define CVMX_PCIERCX_CFG033(block_id) (0x0000000000000084ull)
531 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
532 static inline uint64_t CVMX_PCIERCX_CFG034(unsigned long block_id)
535 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
536 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
537 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
538 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
539 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
540 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
541 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
542 cvmx_warn("CVMX_PCIERCX_CFG034(%lu) is invalid on this chip\n", block_id);
543 return 0x0000000000000088ull;
546 #define CVMX_PCIERCX_CFG034(block_id) (0x0000000000000088ull)
548 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
549 static inline uint64_t CVMX_PCIERCX_CFG035(unsigned long block_id)
552 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
553 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
554 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
555 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
556 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
557 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
558 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
559 cvmx_warn("CVMX_PCIERCX_CFG035(%lu) is invalid on this chip\n", block_id);
560 return 0x000000000000008Cull;
563 #define CVMX_PCIERCX_CFG035(block_id) (0x000000000000008Cull)
565 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
566 static inline uint64_t CVMX_PCIERCX_CFG036(unsigned long block_id)
569 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
570 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
571 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
572 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
573 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
574 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
575 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
576 cvmx_warn("CVMX_PCIERCX_CFG036(%lu) is invalid on this chip\n", block_id);
577 return 0x0000000000000090ull;
580 #define CVMX_PCIERCX_CFG036(block_id) (0x0000000000000090ull)
582 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
583 static inline uint64_t CVMX_PCIERCX_CFG037(unsigned long block_id)
586 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
587 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
588 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
589 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
590 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
591 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
592 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
593 cvmx_warn("CVMX_PCIERCX_CFG037(%lu) is invalid on this chip\n", block_id);
594 return 0x0000000000000094ull;
597 #define CVMX_PCIERCX_CFG037(block_id) (0x0000000000000094ull)
599 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
600 static inline uint64_t CVMX_PCIERCX_CFG038(unsigned long block_id)
603 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
604 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
605 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
606 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
607 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
608 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
609 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
610 cvmx_warn("CVMX_PCIERCX_CFG038(%lu) is invalid on this chip\n", block_id);
611 return 0x0000000000000098ull;
614 #define CVMX_PCIERCX_CFG038(block_id) (0x0000000000000098ull)
616 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
617 static inline uint64_t CVMX_PCIERCX_CFG039(unsigned long block_id)
620 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
621 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
622 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
623 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
624 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
625 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
626 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
627 cvmx_warn("CVMX_PCIERCX_CFG039(%lu) is invalid on this chip\n", block_id);
628 return 0x000000000000009Cull;
631 #define CVMX_PCIERCX_CFG039(block_id) (0x000000000000009Cull)
633 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
634 static inline uint64_t CVMX_PCIERCX_CFG040(unsigned long block_id)
637 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
638 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
639 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
640 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
641 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
642 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
643 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
644 cvmx_warn("CVMX_PCIERCX_CFG040(%lu) is invalid on this chip\n", block_id);
645 return 0x00000000000000A0ull;
648 #define CVMX_PCIERCX_CFG040(block_id) (0x00000000000000A0ull)
650 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
651 static inline uint64_t CVMX_PCIERCX_CFG041(unsigned long block_id)
654 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
655 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
656 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
657 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
658 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
659 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
660 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
661 cvmx_warn("CVMX_PCIERCX_CFG041(%lu) is invalid on this chip\n", block_id);
662 return 0x00000000000000A4ull;
665 #define CVMX_PCIERCX_CFG041(block_id) (0x00000000000000A4ull)
667 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
668 static inline uint64_t CVMX_PCIERCX_CFG042(unsigned long block_id)
671 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
672 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
673 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
674 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
675 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
676 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
677 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
678 cvmx_warn("CVMX_PCIERCX_CFG042(%lu) is invalid on this chip\n", block_id);
679 return 0x00000000000000A8ull;
682 #define CVMX_PCIERCX_CFG042(block_id) (0x00000000000000A8ull)
684 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
685 static inline uint64_t CVMX_PCIERCX_CFG064(unsigned long block_id)
688 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
689 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
690 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
691 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
692 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
693 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
694 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
695 cvmx_warn("CVMX_PCIERCX_CFG064(%lu) is invalid on this chip\n", block_id);
696 return 0x0000000000000100ull;
699 #define CVMX_PCIERCX_CFG064(block_id) (0x0000000000000100ull)
701 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
702 static inline uint64_t CVMX_PCIERCX_CFG065(unsigned long block_id)
705 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
706 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
707 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
708 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
709 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
710 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
711 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
712 cvmx_warn("CVMX_PCIERCX_CFG065(%lu) is invalid on this chip\n", block_id);
713 return 0x0000000000000104ull;
716 #define CVMX_PCIERCX_CFG065(block_id) (0x0000000000000104ull)
718 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
719 static inline uint64_t CVMX_PCIERCX_CFG066(unsigned long block_id)
722 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
723 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
724 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
725 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
726 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
727 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
728 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
729 cvmx_warn("CVMX_PCIERCX_CFG066(%lu) is invalid on this chip\n", block_id);
730 return 0x0000000000000108ull;
733 #define CVMX_PCIERCX_CFG066(block_id) (0x0000000000000108ull)
735 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
736 static inline uint64_t CVMX_PCIERCX_CFG067(unsigned long block_id)
739 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
740 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
741 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
742 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
743 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
744 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
745 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
746 cvmx_warn("CVMX_PCIERCX_CFG067(%lu) is invalid on this chip\n", block_id);
747 return 0x000000000000010Cull;
750 #define CVMX_PCIERCX_CFG067(block_id) (0x000000000000010Cull)
752 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
753 static inline uint64_t CVMX_PCIERCX_CFG068(unsigned long block_id)
756 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
757 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
758 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
759 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
760 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
761 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
762 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
763 cvmx_warn("CVMX_PCIERCX_CFG068(%lu) is invalid on this chip\n", block_id);
764 return 0x0000000000000110ull;
767 #define CVMX_PCIERCX_CFG068(block_id) (0x0000000000000110ull)
769 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
770 static inline uint64_t CVMX_PCIERCX_CFG069(unsigned long block_id)
773 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
774 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
775 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
776 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
777 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
778 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
779 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
780 cvmx_warn("CVMX_PCIERCX_CFG069(%lu) is invalid on this chip\n", block_id);
781 return 0x0000000000000114ull;
784 #define CVMX_PCIERCX_CFG069(block_id) (0x0000000000000114ull)
786 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
787 static inline uint64_t CVMX_PCIERCX_CFG070(unsigned long block_id)
790 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
791 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
792 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
793 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
794 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
795 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
796 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
797 cvmx_warn("CVMX_PCIERCX_CFG070(%lu) is invalid on this chip\n", block_id);
798 return 0x0000000000000118ull;
801 #define CVMX_PCIERCX_CFG070(block_id) (0x0000000000000118ull)
803 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
804 static inline uint64_t CVMX_PCIERCX_CFG071(unsigned long block_id)
807 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
808 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
809 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
810 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
811 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
812 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
813 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
814 cvmx_warn("CVMX_PCIERCX_CFG071(%lu) is invalid on this chip\n", block_id);
815 return 0x000000000000011Cull;
818 #define CVMX_PCIERCX_CFG071(block_id) (0x000000000000011Cull)
820 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
821 static inline uint64_t CVMX_PCIERCX_CFG072(unsigned long block_id)
824 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
825 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
826 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
827 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
828 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
829 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
830 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
831 cvmx_warn("CVMX_PCIERCX_CFG072(%lu) is invalid on this chip\n", block_id);
832 return 0x0000000000000120ull;
835 #define CVMX_PCIERCX_CFG072(block_id) (0x0000000000000120ull)
837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
838 static inline uint64_t CVMX_PCIERCX_CFG073(unsigned long block_id)
841 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
842 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
843 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
844 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
845 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
846 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
847 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
848 cvmx_warn("CVMX_PCIERCX_CFG073(%lu) is invalid on this chip\n", block_id);
849 return 0x0000000000000124ull;
852 #define CVMX_PCIERCX_CFG073(block_id) (0x0000000000000124ull)
854 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
855 static inline uint64_t CVMX_PCIERCX_CFG074(unsigned long block_id)
858 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
859 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
860 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
861 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
862 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
863 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
864 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
865 cvmx_warn("CVMX_PCIERCX_CFG074(%lu) is invalid on this chip\n", block_id);
866 return 0x0000000000000128ull;
869 #define CVMX_PCIERCX_CFG074(block_id) (0x0000000000000128ull)
871 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
872 static inline uint64_t CVMX_PCIERCX_CFG075(unsigned long block_id)
875 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
876 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
877 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
878 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
879 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
880 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
881 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
882 cvmx_warn("CVMX_PCIERCX_CFG075(%lu) is invalid on this chip\n", block_id);
883 return 0x000000000000012Cull;
886 #define CVMX_PCIERCX_CFG075(block_id) (0x000000000000012Cull)
888 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
889 static inline uint64_t CVMX_PCIERCX_CFG076(unsigned long block_id)
892 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
893 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
894 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
895 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
896 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
897 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
898 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
899 cvmx_warn("CVMX_PCIERCX_CFG076(%lu) is invalid on this chip\n", block_id);
900 return 0x0000000000000130ull;
903 #define CVMX_PCIERCX_CFG076(block_id) (0x0000000000000130ull)
905 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
906 static inline uint64_t CVMX_PCIERCX_CFG077(unsigned long block_id)
909 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
910 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
911 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
912 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
913 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
914 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
915 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
916 cvmx_warn("CVMX_PCIERCX_CFG077(%lu) is invalid on this chip\n", block_id);
917 return 0x0000000000000134ull;
920 #define CVMX_PCIERCX_CFG077(block_id) (0x0000000000000134ull)
922 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
923 static inline uint64_t CVMX_PCIERCX_CFG448(unsigned long block_id)
926 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
927 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
928 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
929 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
930 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
931 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
932 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
933 cvmx_warn("CVMX_PCIERCX_CFG448(%lu) is invalid on this chip\n", block_id);
934 return 0x0000000000000700ull;
937 #define CVMX_PCIERCX_CFG448(block_id) (0x0000000000000700ull)
939 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
940 static inline uint64_t CVMX_PCIERCX_CFG449(unsigned long block_id)
943 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
944 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
945 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
946 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
947 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
948 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
949 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
950 cvmx_warn("CVMX_PCIERCX_CFG449(%lu) is invalid on this chip\n", block_id);
951 return 0x0000000000000704ull;
954 #define CVMX_PCIERCX_CFG449(block_id) (0x0000000000000704ull)
956 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
957 static inline uint64_t CVMX_PCIERCX_CFG450(unsigned long block_id)
960 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
961 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
962 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
963 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
964 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
965 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
966 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
967 cvmx_warn("CVMX_PCIERCX_CFG450(%lu) is invalid on this chip\n", block_id);
968 return 0x0000000000000708ull;
971 #define CVMX_PCIERCX_CFG450(block_id) (0x0000000000000708ull)
973 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
974 static inline uint64_t CVMX_PCIERCX_CFG451(unsigned long block_id)
977 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
978 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
979 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
980 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
981 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
982 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
983 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
984 cvmx_warn("CVMX_PCIERCX_CFG451(%lu) is invalid on this chip\n", block_id);
985 return 0x000000000000070Cull;
988 #define CVMX_PCIERCX_CFG451(block_id) (0x000000000000070Cull)
990 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
991 static inline uint64_t CVMX_PCIERCX_CFG452(unsigned long block_id)
994 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
995 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
996 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
997 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
998 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
999 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1000 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1001 cvmx_warn("CVMX_PCIERCX_CFG452(%lu) is invalid on this chip\n", block_id);
1002 return 0x0000000000000710ull;
1005 #define CVMX_PCIERCX_CFG452(block_id) (0x0000000000000710ull)
1007 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1008 static inline uint64_t CVMX_PCIERCX_CFG453(unsigned long block_id)
1011 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1012 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1013 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1014 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1015 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1016 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1017 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1018 cvmx_warn("CVMX_PCIERCX_CFG453(%lu) is invalid on this chip\n", block_id);
1019 return 0x0000000000000714ull;
1022 #define CVMX_PCIERCX_CFG453(block_id) (0x0000000000000714ull)
1024 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1025 static inline uint64_t CVMX_PCIERCX_CFG454(unsigned long block_id)
1028 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1029 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1030 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1031 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1032 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1033 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1034 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1035 cvmx_warn("CVMX_PCIERCX_CFG454(%lu) is invalid on this chip\n", block_id);
1036 return 0x0000000000000718ull;
1039 #define CVMX_PCIERCX_CFG454(block_id) (0x0000000000000718ull)
1041 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1042 static inline uint64_t CVMX_PCIERCX_CFG455(unsigned long block_id)
1045 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1046 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1047 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1048 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1049 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1050 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1051 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1052 cvmx_warn("CVMX_PCIERCX_CFG455(%lu) is invalid on this chip\n", block_id);
1053 return 0x000000000000071Cull;
1056 #define CVMX_PCIERCX_CFG455(block_id) (0x000000000000071Cull)
1058 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1059 static inline uint64_t CVMX_PCIERCX_CFG456(unsigned long block_id)
1062 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1063 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1064 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1065 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1066 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1067 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1068 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1069 cvmx_warn("CVMX_PCIERCX_CFG456(%lu) is invalid on this chip\n", block_id);
1070 return 0x0000000000000720ull;
1073 #define CVMX_PCIERCX_CFG456(block_id) (0x0000000000000720ull)
1075 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1076 static inline uint64_t CVMX_PCIERCX_CFG458(unsigned long block_id)
1079 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1080 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1081 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1082 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1083 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1084 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1085 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1086 cvmx_warn("CVMX_PCIERCX_CFG458(%lu) is invalid on this chip\n", block_id);
1087 return 0x0000000000000728ull;
1090 #define CVMX_PCIERCX_CFG458(block_id) (0x0000000000000728ull)
1092 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1093 static inline uint64_t CVMX_PCIERCX_CFG459(unsigned long block_id)
1096 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1097 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1098 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1099 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1100 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1101 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1102 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1103 cvmx_warn("CVMX_PCIERCX_CFG459(%lu) is invalid on this chip\n", block_id);
1104 return 0x000000000000072Cull;
1107 #define CVMX_PCIERCX_CFG459(block_id) (0x000000000000072Cull)
1109 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1110 static inline uint64_t CVMX_PCIERCX_CFG460(unsigned long block_id)
1113 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1114 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1115 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1116 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1117 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1118 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1119 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1120 cvmx_warn("CVMX_PCIERCX_CFG460(%lu) is invalid on this chip\n", block_id);
1121 return 0x0000000000000730ull;
1124 #define CVMX_PCIERCX_CFG460(block_id) (0x0000000000000730ull)
1126 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1127 static inline uint64_t CVMX_PCIERCX_CFG461(unsigned long block_id)
1130 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1131 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1132 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1133 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1134 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1135 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1136 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1137 cvmx_warn("CVMX_PCIERCX_CFG461(%lu) is invalid on this chip\n", block_id);
1138 return 0x0000000000000734ull;
1141 #define CVMX_PCIERCX_CFG461(block_id) (0x0000000000000734ull)
1143 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1144 static inline uint64_t CVMX_PCIERCX_CFG462(unsigned long block_id)
1147 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1148 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1149 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1150 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1151 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1152 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1153 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1154 cvmx_warn("CVMX_PCIERCX_CFG462(%lu) is invalid on this chip\n", block_id);
1155 return 0x0000000000000738ull;
1158 #define CVMX_PCIERCX_CFG462(block_id) (0x0000000000000738ull)
1160 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1161 static inline uint64_t CVMX_PCIERCX_CFG463(unsigned long block_id)
1164 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1165 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1166 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1167 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1168 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1169 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1170 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1171 cvmx_warn("CVMX_PCIERCX_CFG463(%lu) is invalid on this chip\n", block_id);
1172 return 0x000000000000073Cull;
1175 #define CVMX_PCIERCX_CFG463(block_id) (0x000000000000073Cull)
1177 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1178 static inline uint64_t CVMX_PCIERCX_CFG464(unsigned long block_id)
1181 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1182 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1183 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1184 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1185 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1186 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1187 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1188 cvmx_warn("CVMX_PCIERCX_CFG464(%lu) is invalid on this chip\n", block_id);
1189 return 0x0000000000000740ull;
1192 #define CVMX_PCIERCX_CFG464(block_id) (0x0000000000000740ull)
1194 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1195 static inline uint64_t CVMX_PCIERCX_CFG465(unsigned long block_id)
1198 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1199 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1200 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1201 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1202 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1203 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1204 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1205 cvmx_warn("CVMX_PCIERCX_CFG465(%lu) is invalid on this chip\n", block_id);
1206 return 0x0000000000000744ull;
1209 #define CVMX_PCIERCX_CFG465(block_id) (0x0000000000000744ull)
1211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1212 static inline uint64_t CVMX_PCIERCX_CFG466(unsigned long block_id)
1215 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1216 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1217 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1218 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1219 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1220 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1221 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1222 cvmx_warn("CVMX_PCIERCX_CFG466(%lu) is invalid on this chip\n", block_id);
1223 return 0x0000000000000748ull;
1226 #define CVMX_PCIERCX_CFG466(block_id) (0x0000000000000748ull)
1228 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1229 static inline uint64_t CVMX_PCIERCX_CFG467(unsigned long block_id)
1232 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1233 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1234 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1235 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1236 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1237 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1238 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1239 cvmx_warn("CVMX_PCIERCX_CFG467(%lu) is invalid on this chip\n", block_id);
1240 return 0x000000000000074Cull;
1243 #define CVMX_PCIERCX_CFG467(block_id) (0x000000000000074Cull)
1245 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1246 static inline uint64_t CVMX_PCIERCX_CFG468(unsigned long block_id)
1249 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1250 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1251 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1252 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1253 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1254 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1255 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1256 cvmx_warn("CVMX_PCIERCX_CFG468(%lu) is invalid on this chip\n", block_id);
1257 return 0x0000000000000750ull;
1260 #define CVMX_PCIERCX_CFG468(block_id) (0x0000000000000750ull)
1262 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1263 static inline uint64_t CVMX_PCIERCX_CFG490(unsigned long block_id)
1266 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1267 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1268 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1269 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1270 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1271 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1272 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1273 cvmx_warn("CVMX_PCIERCX_CFG490(%lu) is invalid on this chip\n", block_id);
1274 return 0x00000000000007A8ull;
1277 #define CVMX_PCIERCX_CFG490(block_id) (0x00000000000007A8ull)
1279 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1280 static inline uint64_t CVMX_PCIERCX_CFG491(unsigned long block_id)
1283 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1284 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1285 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1286 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1287 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1288 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1289 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1290 cvmx_warn("CVMX_PCIERCX_CFG491(%lu) is invalid on this chip\n", block_id);
1291 return 0x00000000000007ACull;
1294 #define CVMX_PCIERCX_CFG491(block_id) (0x00000000000007ACull)
1296 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1297 static inline uint64_t CVMX_PCIERCX_CFG492(unsigned long block_id)
1300 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1301 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1302 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1303 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1304 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1305 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1306 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1307 cvmx_warn("CVMX_PCIERCX_CFG492(%lu) is invalid on this chip\n", block_id);
1308 return 0x00000000000007B0ull;
1311 #define CVMX_PCIERCX_CFG492(block_id) (0x00000000000007B0ull)
1313 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1314 static inline uint64_t CVMX_PCIERCX_CFG515(unsigned long block_id)
1317 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1318 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1319 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1320 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1321 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1322 cvmx_warn("CVMX_PCIERCX_CFG515(%lu) is invalid on this chip\n", block_id);
1323 return 0x000000000000080Cull;
1326 #define CVMX_PCIERCX_CFG515(block_id) (0x000000000000080Cull)
1328 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1329 static inline uint64_t CVMX_PCIERCX_CFG516(unsigned long block_id)
1332 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1333 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1334 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1335 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1336 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1337 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1338 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1339 cvmx_warn("CVMX_PCIERCX_CFG516(%lu) is invalid on this chip\n", block_id);
1340 return 0x0000000000000810ull;
1343 #define CVMX_PCIERCX_CFG516(block_id) (0x0000000000000810ull)
1345 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1346 static inline uint64_t CVMX_PCIERCX_CFG517(unsigned long block_id)
1349 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1))) ||
1350 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1351 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1352 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1353 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1354 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1355 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1356 cvmx_warn("CVMX_PCIERCX_CFG517(%lu) is invalid on this chip\n", block_id);
1357 return 0x0000000000000814ull;
1360 #define CVMX_PCIERCX_CFG517(block_id) (0x0000000000000814ull)
1364 * cvmx_pcierc#_cfg000
1366 * PCIE_CFG000 = First 32-bits of PCIE type 1 config space (Device ID and Vendor ID Register)
1369 union cvmx_pciercx_cfg000 {
1371 struct cvmx_pciercx_cfg000_s {
1372 #ifdef __BIG_ENDIAN_BITFIELD
1373 uint32_t devid : 16; /**< Device ID, writable through PEM(0..1)_CFG_WR
1374 However, the application must not change this field. */
1375 uint32_t vendid : 16; /**< Vendor ID, writable through PEM(0..1)_CFG_WR
1376 However, the application must not change this field. */
1378 uint32_t vendid : 16;
1379 uint32_t devid : 16;
1382 struct cvmx_pciercx_cfg000_s cn52xx;
1383 struct cvmx_pciercx_cfg000_s cn52xxp1;
1384 struct cvmx_pciercx_cfg000_s cn56xx;
1385 struct cvmx_pciercx_cfg000_s cn56xxp1;
1386 struct cvmx_pciercx_cfg000_s cn61xx;
1387 struct cvmx_pciercx_cfg000_s cn63xx;
1388 struct cvmx_pciercx_cfg000_s cn63xxp1;
1389 struct cvmx_pciercx_cfg000_s cn66xx;
1390 struct cvmx_pciercx_cfg000_s cn68xx;
1391 struct cvmx_pciercx_cfg000_s cn68xxp1;
1392 struct cvmx_pciercx_cfg000_s cnf71xx;
1394 typedef union cvmx_pciercx_cfg000 cvmx_pciercx_cfg000_t;
1397 * cvmx_pcierc#_cfg001
1399 * PCIE_CFG001 = Second 32-bits of PCIE type 1 config space (Command/Status Register)
1402 union cvmx_pciercx_cfg001 {
1404 struct cvmx_pciercx_cfg001_s {
1405 #ifdef __BIG_ENDIAN_BITFIELD
1406 uint32_t dpe : 1; /**< Detected Parity Error */
1407 uint32_t sse : 1; /**< Signaled System Error */
1408 uint32_t rma : 1; /**< Received Master Abort */
1409 uint32_t rta : 1; /**< Received Target Abort */
1410 uint32_t sta : 1; /**< Signaled Target Abort */
1411 uint32_t devt : 2; /**< DEVSEL Timing
1412 Not applicable for PCI Express. Hardwired to 0. */
1413 uint32_t mdpe : 1; /**< Master Data Parity Error */
1414 uint32_t fbb : 1; /**< Fast Back-to-Back Capable
1415 Not applicable for PCI Express. Hardwired to 0. */
1416 uint32_t reserved_22_22 : 1;
1417 uint32_t m66 : 1; /**< 66 MHz Capable
1418 Not applicable for PCI Express. Hardwired to 0. */
1419 uint32_t cl : 1; /**< Capabilities List
1420 Indicates presence of an extended capability item.
1422 uint32_t i_stat : 1; /**< INTx Status */
1423 uint32_t reserved_11_18 : 8;
1424 uint32_t i_dis : 1; /**< INTx Assertion Disable */
1425 uint32_t fbbe : 1; /**< Fast Back-to-Back Enable
1426 Not applicable for PCI Express. Must be hardwired to 0. */
1427 uint32_t see : 1; /**< SERR# Enable */
1428 uint32_t ids_wcc : 1; /**< IDSEL Stepping/Wait Cycle Control
1429 Not applicable for PCI Express. Must be hardwired to 0 */
1430 uint32_t per : 1; /**< Parity Error Response */
1431 uint32_t vps : 1; /**< VGA Palette Snoop
1432 Not applicable for PCI Express. Must be hardwired to 0. */
1433 uint32_t mwice : 1; /**< Memory Write and Invalidate
1434 Not applicable for PCI Express. Must be hardwired to 0. */
1435 uint32_t scse : 1; /**< Special Cycle Enable
1436 Not applicable for PCI Express. Must be hardwired to 0. */
1437 uint32_t me : 1; /**< Bus Master Enable */
1438 uint32_t msae : 1; /**< Memory Space Enable */
1439 uint32_t isae : 1; /**< I/O Space Enable */
1448 uint32_t ids_wcc : 1;
1452 uint32_t reserved_11_18 : 8;
1453 uint32_t i_stat : 1;
1456 uint32_t reserved_22_22 : 1;
1467 struct cvmx_pciercx_cfg001_s cn52xx;
1468 struct cvmx_pciercx_cfg001_s cn52xxp1;
1469 struct cvmx_pciercx_cfg001_s cn56xx;
1470 struct cvmx_pciercx_cfg001_s cn56xxp1;
1471 struct cvmx_pciercx_cfg001_s cn61xx;
1472 struct cvmx_pciercx_cfg001_s cn63xx;
1473 struct cvmx_pciercx_cfg001_s cn63xxp1;
1474 struct cvmx_pciercx_cfg001_s cn66xx;
1475 struct cvmx_pciercx_cfg001_s cn68xx;
1476 struct cvmx_pciercx_cfg001_s cn68xxp1;
1477 struct cvmx_pciercx_cfg001_s cnf71xx;
1479 typedef union cvmx_pciercx_cfg001 cvmx_pciercx_cfg001_t;
1482 * cvmx_pcierc#_cfg002
1484 * PCIE_CFG002 = Third 32-bits of PCIE type 1 config space (Revision ID/Class Code Register)
1487 union cvmx_pciercx_cfg002 {
1489 struct cvmx_pciercx_cfg002_s {
1490 #ifdef __BIG_ENDIAN_BITFIELD
1491 uint32_t bcc : 8; /**< Base Class Code, writable through PEM(0..1)_CFG_WR
1492 However, the application must not change this field. */
1493 uint32_t sc : 8; /**< Subclass Code, writable through PEM(0..1)_CFG_WR
1494 However, the application must not change this field. */
1495 uint32_t pi : 8; /**< Programming Interface, writable through PEM(0..1)_CFG_WR
1496 However, the application must not change this field. */
1497 uint32_t rid : 8; /**< Revision ID, writable through PEM(0..1)_CFG_WR
1498 However, the application must not change this field. */
1506 struct cvmx_pciercx_cfg002_s cn52xx;
1507 struct cvmx_pciercx_cfg002_s cn52xxp1;
1508 struct cvmx_pciercx_cfg002_s cn56xx;
1509 struct cvmx_pciercx_cfg002_s cn56xxp1;
1510 struct cvmx_pciercx_cfg002_s cn61xx;
1511 struct cvmx_pciercx_cfg002_s cn63xx;
1512 struct cvmx_pciercx_cfg002_s cn63xxp1;
1513 struct cvmx_pciercx_cfg002_s cn66xx;
1514 struct cvmx_pciercx_cfg002_s cn68xx;
1515 struct cvmx_pciercx_cfg002_s cn68xxp1;
1516 struct cvmx_pciercx_cfg002_s cnf71xx;
1518 typedef union cvmx_pciercx_cfg002 cvmx_pciercx_cfg002_t;
1521 * cvmx_pcierc#_cfg003
1523 * PCIE_CFG003 = Fourth 32-bits of PCIE type 1 config space (Cache Line Size/Master Latency Timer/Header Type Register/BIST Register)
1526 union cvmx_pciercx_cfg003 {
1528 struct cvmx_pciercx_cfg003_s {
1529 #ifdef __BIG_ENDIAN_BITFIELD
1530 uint32_t bist : 8; /**< The BIST register functions are not supported.
1531 All 8 bits of the BIST register are hardwired to 0. */
1532 uint32_t mfd : 1; /**< Multi Function Device
1533 The Multi Function Device bit is writable through PEM(0..1)_CFG_WR.
1534 However, this is a single function device. Therefore, the
1535 application must not write a 1 to this bit. */
1536 uint32_t chf : 7; /**< Configuration Header Format
1538 uint32_t lt : 8; /**< Master Latency Timer
1539 Not applicable for PCI Express, hardwired to 0. */
1540 uint32_t cls : 8; /**< Cache Line Size
1541 The Cache Line Size register is RW for legacy compatibility
1542 purposes and is not applicable to PCI Express device
1552 struct cvmx_pciercx_cfg003_s cn52xx;
1553 struct cvmx_pciercx_cfg003_s cn52xxp1;
1554 struct cvmx_pciercx_cfg003_s cn56xx;
1555 struct cvmx_pciercx_cfg003_s cn56xxp1;
1556 struct cvmx_pciercx_cfg003_s cn61xx;
1557 struct cvmx_pciercx_cfg003_s cn63xx;
1558 struct cvmx_pciercx_cfg003_s cn63xxp1;
1559 struct cvmx_pciercx_cfg003_s cn66xx;
1560 struct cvmx_pciercx_cfg003_s cn68xx;
1561 struct cvmx_pciercx_cfg003_s cn68xxp1;
1562 struct cvmx_pciercx_cfg003_s cnf71xx;
1564 typedef union cvmx_pciercx_cfg003 cvmx_pciercx_cfg003_t;
1567 * cvmx_pcierc#_cfg004
1569 * PCIE_CFG004 = Fifth 32-bits of PCIE type 1 config space (Base Address Register 0 - Low)
1572 union cvmx_pciercx_cfg004 {
1574 struct cvmx_pciercx_cfg004_s {
1575 #ifdef __BIG_ENDIAN_BITFIELD
1576 uint32_t reserved_0_31 : 32;
1578 uint32_t reserved_0_31 : 32;
1581 struct cvmx_pciercx_cfg004_s cn52xx;
1582 struct cvmx_pciercx_cfg004_s cn52xxp1;
1583 struct cvmx_pciercx_cfg004_s cn56xx;
1584 struct cvmx_pciercx_cfg004_s cn56xxp1;
1585 struct cvmx_pciercx_cfg004_s cn61xx;
1586 struct cvmx_pciercx_cfg004_s cn63xx;
1587 struct cvmx_pciercx_cfg004_s cn63xxp1;
1588 struct cvmx_pciercx_cfg004_s cn66xx;
1589 struct cvmx_pciercx_cfg004_s cn68xx;
1590 struct cvmx_pciercx_cfg004_s cn68xxp1;
1591 struct cvmx_pciercx_cfg004_s cnf71xx;
1593 typedef union cvmx_pciercx_cfg004 cvmx_pciercx_cfg004_t;
1596 * cvmx_pcierc#_cfg005
1598 * PCIE_CFG005 = Sixth 32-bits of PCIE type 1 config space (Base Address Register 0 - High)
1601 union cvmx_pciercx_cfg005 {
1603 struct cvmx_pciercx_cfg005_s {
1604 #ifdef __BIG_ENDIAN_BITFIELD
1605 uint32_t reserved_0_31 : 32;
1607 uint32_t reserved_0_31 : 32;
1610 struct cvmx_pciercx_cfg005_s cn52xx;
1611 struct cvmx_pciercx_cfg005_s cn52xxp1;
1612 struct cvmx_pciercx_cfg005_s cn56xx;
1613 struct cvmx_pciercx_cfg005_s cn56xxp1;
1614 struct cvmx_pciercx_cfg005_s cn61xx;
1615 struct cvmx_pciercx_cfg005_s cn63xx;
1616 struct cvmx_pciercx_cfg005_s cn63xxp1;
1617 struct cvmx_pciercx_cfg005_s cn66xx;
1618 struct cvmx_pciercx_cfg005_s cn68xx;
1619 struct cvmx_pciercx_cfg005_s cn68xxp1;
1620 struct cvmx_pciercx_cfg005_s cnf71xx;
1622 typedef union cvmx_pciercx_cfg005 cvmx_pciercx_cfg005_t;
1625 * cvmx_pcierc#_cfg006
1627 * PCIE_CFG006 = Seventh 32-bits of PCIE type 1 config space (Bus Number Registers)
1630 union cvmx_pciercx_cfg006 {
1632 struct cvmx_pciercx_cfg006_s {
1633 #ifdef __BIG_ENDIAN_BITFIELD
1634 uint32_t slt : 8; /**< Secondary Latency Timer
1635 Not applicable to PCI Express, hardwired to 0x00. */
1636 uint32_t subbnum : 8; /**< Subordinate Bus Number */
1637 uint32_t sbnum : 8; /**< Secondary Bus Number */
1638 uint32_t pbnum : 8; /**< Primary Bus Number */
1642 uint32_t subbnum : 8;
1646 struct cvmx_pciercx_cfg006_s cn52xx;
1647 struct cvmx_pciercx_cfg006_s cn52xxp1;
1648 struct cvmx_pciercx_cfg006_s cn56xx;
1649 struct cvmx_pciercx_cfg006_s cn56xxp1;
1650 struct cvmx_pciercx_cfg006_s cn61xx;
1651 struct cvmx_pciercx_cfg006_s cn63xx;
1652 struct cvmx_pciercx_cfg006_s cn63xxp1;
1653 struct cvmx_pciercx_cfg006_s cn66xx;
1654 struct cvmx_pciercx_cfg006_s cn68xx;
1655 struct cvmx_pciercx_cfg006_s cn68xxp1;
1656 struct cvmx_pciercx_cfg006_s cnf71xx;
1658 typedef union cvmx_pciercx_cfg006 cvmx_pciercx_cfg006_t;
1661 * cvmx_pcierc#_cfg007
1663 * PCIE_CFG007 = Eighth 32-bits of PCIE type 1 config space (IO Base and IO Limit/Secondary Status Register)
1666 union cvmx_pciercx_cfg007 {
1668 struct cvmx_pciercx_cfg007_s {
1669 #ifdef __BIG_ENDIAN_BITFIELD
1670 uint32_t dpe : 1; /**< Detected Parity Error */
1671 uint32_t sse : 1; /**< Signaled System Error */
1672 uint32_t rma : 1; /**< Received Master Abort */
1673 uint32_t rta : 1; /**< Received Target Abort */
1674 uint32_t sta : 1; /**< Signaled Target Abort */
1675 uint32_t devt : 2; /**< DEVSEL Timing
1676 Not applicable for PCI Express. Hardwired to 0. */
1677 uint32_t mdpe : 1; /**< Master Data Parity Error */
1678 uint32_t fbb : 1; /**< Fast Back-to-Back Capable
1679 Not applicable for PCI Express. Hardwired to 0. */
1680 uint32_t reserved_22_22 : 1;
1681 uint32_t m66 : 1; /**< 66 MHz Capable
1682 Not applicable for PCI Express. Hardwired to 0. */
1683 uint32_t reserved_16_20 : 5;
1684 uint32_t lio_limi : 4; /**< I/O Space Limit */
1685 uint32_t reserved_9_11 : 3;
1686 uint32_t io32b : 1; /**< 32-Bit I/O Space */
1687 uint32_t lio_base : 4; /**< I/O Space Base */
1688 uint32_t reserved_1_3 : 3;
1689 uint32_t io32a : 1; /**< 32-Bit I/O Space
1690 o 0 = 16-bit I/O addressing
1691 o 1 = 32-bit I/O addressing
1692 This bit is writable through PEM(0..1)_CFG_WR.
1693 When the application
1694 writes to this bit through PEM(0..1)_CFG_WR,
1695 the same value is written
1696 to bit 8 of this register. */
1699 uint32_t reserved_1_3 : 3;
1700 uint32_t lio_base : 4;
1702 uint32_t reserved_9_11 : 3;
1703 uint32_t lio_limi : 4;
1704 uint32_t reserved_16_20 : 5;
1706 uint32_t reserved_22_22 : 1;
1717 struct cvmx_pciercx_cfg007_s cn52xx;
1718 struct cvmx_pciercx_cfg007_s cn52xxp1;
1719 struct cvmx_pciercx_cfg007_s cn56xx;
1720 struct cvmx_pciercx_cfg007_s cn56xxp1;
1721 struct cvmx_pciercx_cfg007_s cn61xx;
1722 struct cvmx_pciercx_cfg007_s cn63xx;
1723 struct cvmx_pciercx_cfg007_s cn63xxp1;
1724 struct cvmx_pciercx_cfg007_s cn66xx;
1725 struct cvmx_pciercx_cfg007_s cn68xx;
1726 struct cvmx_pciercx_cfg007_s cn68xxp1;
1727 struct cvmx_pciercx_cfg007_s cnf71xx;
1729 typedef union cvmx_pciercx_cfg007 cvmx_pciercx_cfg007_t;
1732 * cvmx_pcierc#_cfg008
1734 * PCIE_CFG008 = Ninth 32-bits of PCIE type 1 config space (Memory Base and Memory Limit Register)
1737 union cvmx_pciercx_cfg008 {
1739 struct cvmx_pciercx_cfg008_s {
1740 #ifdef __BIG_ENDIAN_BITFIELD
1741 uint32_t ml_addr : 12; /**< Memory Limit Address */
1742 uint32_t reserved_16_19 : 4;
1743 uint32_t mb_addr : 12; /**< Memory Base Address */
1744 uint32_t reserved_0_3 : 4;
1746 uint32_t reserved_0_3 : 4;
1747 uint32_t mb_addr : 12;
1748 uint32_t reserved_16_19 : 4;
1749 uint32_t ml_addr : 12;
1752 struct cvmx_pciercx_cfg008_s cn52xx;
1753 struct cvmx_pciercx_cfg008_s cn52xxp1;
1754 struct cvmx_pciercx_cfg008_s cn56xx;
1755 struct cvmx_pciercx_cfg008_s cn56xxp1;
1756 struct cvmx_pciercx_cfg008_s cn61xx;
1757 struct cvmx_pciercx_cfg008_s cn63xx;
1758 struct cvmx_pciercx_cfg008_s cn63xxp1;
1759 struct cvmx_pciercx_cfg008_s cn66xx;
1760 struct cvmx_pciercx_cfg008_s cn68xx;
1761 struct cvmx_pciercx_cfg008_s cn68xxp1;
1762 struct cvmx_pciercx_cfg008_s cnf71xx;
1764 typedef union cvmx_pciercx_cfg008 cvmx_pciercx_cfg008_t;
1767 * cvmx_pcierc#_cfg009
1769 * PCIE_CFG009 = Tenth 32-bits of PCIE type 1 config space (Prefetchable Memory Base and Limit Register)
1772 union cvmx_pciercx_cfg009 {
1774 struct cvmx_pciercx_cfg009_s {
1775 #ifdef __BIG_ENDIAN_BITFIELD
1776 uint32_t lmem_limit : 12; /**< Upper 12 bits of 32-bit Prefetchable Memory End Address */
1777 uint32_t reserved_17_19 : 3;
1778 uint32_t mem64b : 1; /**< 64-Bit Memory Addressing
1779 o 0 = 32-bit memory addressing
1780 o 1 = 64-bit memory addressing */
1781 uint32_t lmem_base : 12; /**< Upper 12 bits of 32-bit Prefetchable Memory Start Address */
1782 uint32_t reserved_1_3 : 3;
1783 uint32_t mem64a : 1; /**< 64-Bit Memory Addressing
1784 o 0 = 32-bit memory addressing
1785 o 1 = 64-bit memory addressing
1786 This bit is writable through PEM(0..1)_CFG_WR.
1787 When the application
1788 writes to this bit through PEM(0..1)_CFG_WR,
1789 the same value is written
1790 to bit 16 of this register. */
1792 uint32_t mem64a : 1;
1793 uint32_t reserved_1_3 : 3;
1794 uint32_t lmem_base : 12;
1795 uint32_t mem64b : 1;
1796 uint32_t reserved_17_19 : 3;
1797 uint32_t lmem_limit : 12;
1800 struct cvmx_pciercx_cfg009_s cn52xx;
1801 struct cvmx_pciercx_cfg009_s cn52xxp1;
1802 struct cvmx_pciercx_cfg009_s cn56xx;
1803 struct cvmx_pciercx_cfg009_s cn56xxp1;
1804 struct cvmx_pciercx_cfg009_s cn61xx;
1805 struct cvmx_pciercx_cfg009_s cn63xx;
1806 struct cvmx_pciercx_cfg009_s cn63xxp1;
1807 struct cvmx_pciercx_cfg009_s cn66xx;
1808 struct cvmx_pciercx_cfg009_s cn68xx;
1809 struct cvmx_pciercx_cfg009_s cn68xxp1;
1810 struct cvmx_pciercx_cfg009_s cnf71xx;
1812 typedef union cvmx_pciercx_cfg009 cvmx_pciercx_cfg009_t;
1815 * cvmx_pcierc#_cfg010
1817 * PCIE_CFG010 = Eleventh 32-bits of PCIE type 1 config space (Prefetchable Base Upper 32 Bits Register)
1820 union cvmx_pciercx_cfg010 {
1822 struct cvmx_pciercx_cfg010_s {
1823 #ifdef __BIG_ENDIAN_BITFIELD
1824 uint32_t umem_base : 32; /**< Upper 32 Bits of Base Address of Prefetchable Memory Space
1825 Used only when 64-bit prefetchable memory addressing is
1828 uint32_t umem_base : 32;
1831 struct cvmx_pciercx_cfg010_s cn52xx;
1832 struct cvmx_pciercx_cfg010_s cn52xxp1;
1833 struct cvmx_pciercx_cfg010_s cn56xx;
1834 struct cvmx_pciercx_cfg010_s cn56xxp1;
1835 struct cvmx_pciercx_cfg010_s cn61xx;
1836 struct cvmx_pciercx_cfg010_s cn63xx;
1837 struct cvmx_pciercx_cfg010_s cn63xxp1;
1838 struct cvmx_pciercx_cfg010_s cn66xx;
1839 struct cvmx_pciercx_cfg010_s cn68xx;
1840 struct cvmx_pciercx_cfg010_s cn68xxp1;
1841 struct cvmx_pciercx_cfg010_s cnf71xx;
1843 typedef union cvmx_pciercx_cfg010 cvmx_pciercx_cfg010_t;
1846 * cvmx_pcierc#_cfg011
1848 * PCIE_CFG011 = Twelfth 32-bits of PCIE type 1 config space (Prefetchable Limit Upper 32 Bits Register)
1851 union cvmx_pciercx_cfg011 {
1853 struct cvmx_pciercx_cfg011_s {
1854 #ifdef __BIG_ENDIAN_BITFIELD
1855 uint32_t umem_limit : 32; /**< Upper 32 Bits of Limit Address of Prefetchable Memory Space
1856 Used only when 64-bit prefetchable memory addressing is
1859 uint32_t umem_limit : 32;
1862 struct cvmx_pciercx_cfg011_s cn52xx;
1863 struct cvmx_pciercx_cfg011_s cn52xxp1;
1864 struct cvmx_pciercx_cfg011_s cn56xx;
1865 struct cvmx_pciercx_cfg011_s cn56xxp1;
1866 struct cvmx_pciercx_cfg011_s cn61xx;
1867 struct cvmx_pciercx_cfg011_s cn63xx;
1868 struct cvmx_pciercx_cfg011_s cn63xxp1;
1869 struct cvmx_pciercx_cfg011_s cn66xx;
1870 struct cvmx_pciercx_cfg011_s cn68xx;
1871 struct cvmx_pciercx_cfg011_s cn68xxp1;
1872 struct cvmx_pciercx_cfg011_s cnf71xx;
1874 typedef union cvmx_pciercx_cfg011 cvmx_pciercx_cfg011_t;
1877 * cvmx_pcierc#_cfg012
1879 * PCIE_CFG012 = Thirteenth 32-bits of PCIE type 1 config space (IO Base and Limit Upper 16 Bits Register)
1882 union cvmx_pciercx_cfg012 {
1884 struct cvmx_pciercx_cfg012_s {
1885 #ifdef __BIG_ENDIAN_BITFIELD
1886 uint32_t uio_limit : 16; /**< Upper 16 Bits of I/O Limit (if 32-bit I/O decoding is supported
1887 for devices on the secondary side) */
1888 uint32_t uio_base : 16; /**< Upper 16 Bits of I/O Base (if 32-bit I/O decoding is supported
1889 for devices on the secondary side) */
1891 uint32_t uio_base : 16;
1892 uint32_t uio_limit : 16;
1895 struct cvmx_pciercx_cfg012_s cn52xx;
1896 struct cvmx_pciercx_cfg012_s cn52xxp1;
1897 struct cvmx_pciercx_cfg012_s cn56xx;
1898 struct cvmx_pciercx_cfg012_s cn56xxp1;
1899 struct cvmx_pciercx_cfg012_s cn61xx;
1900 struct cvmx_pciercx_cfg012_s cn63xx;
1901 struct cvmx_pciercx_cfg012_s cn63xxp1;
1902 struct cvmx_pciercx_cfg012_s cn66xx;
1903 struct cvmx_pciercx_cfg012_s cn68xx;
1904 struct cvmx_pciercx_cfg012_s cn68xxp1;
1905 struct cvmx_pciercx_cfg012_s cnf71xx;
1907 typedef union cvmx_pciercx_cfg012 cvmx_pciercx_cfg012_t;
1910 * cvmx_pcierc#_cfg013
1912 * PCIE_CFG013 = Fourteenth 32-bits of PCIE type 1 config space (Capability Pointer Register)
1915 union cvmx_pciercx_cfg013 {
1917 struct cvmx_pciercx_cfg013_s {
1918 #ifdef __BIG_ENDIAN_BITFIELD
1919 uint32_t reserved_8_31 : 24;
1920 uint32_t cp : 8; /**< First Capability Pointer.
1921 Points to Power Management Capability structure by
1922 default, writable through PEM(0..1)_CFG_WR
1923 However, the application must not change this field. */
1926 uint32_t reserved_8_31 : 24;
1929 struct cvmx_pciercx_cfg013_s cn52xx;
1930 struct cvmx_pciercx_cfg013_s cn52xxp1;
1931 struct cvmx_pciercx_cfg013_s cn56xx;
1932 struct cvmx_pciercx_cfg013_s cn56xxp1;
1933 struct cvmx_pciercx_cfg013_s cn61xx;
1934 struct cvmx_pciercx_cfg013_s cn63xx;
1935 struct cvmx_pciercx_cfg013_s cn63xxp1;
1936 struct cvmx_pciercx_cfg013_s cn66xx;
1937 struct cvmx_pciercx_cfg013_s cn68xx;
1938 struct cvmx_pciercx_cfg013_s cn68xxp1;
1939 struct cvmx_pciercx_cfg013_s cnf71xx;
1941 typedef union cvmx_pciercx_cfg013 cvmx_pciercx_cfg013_t;
1944 * cvmx_pcierc#_cfg014
1946 * PCIE_CFG014 = Fifteenth 32-bits of PCIE type 1 config space (Expansion ROM Base Address Register)
1949 union cvmx_pciercx_cfg014 {
1951 struct cvmx_pciercx_cfg014_s {
1952 #ifdef __BIG_ENDIAN_BITFIELD
1953 uint32_t reserved_0_31 : 32;
1955 uint32_t reserved_0_31 : 32;
1958 struct cvmx_pciercx_cfg014_s cn52xx;
1959 struct cvmx_pciercx_cfg014_s cn52xxp1;
1960 struct cvmx_pciercx_cfg014_s cn56xx;
1961 struct cvmx_pciercx_cfg014_s cn56xxp1;
1962 struct cvmx_pciercx_cfg014_s cn61xx;
1963 struct cvmx_pciercx_cfg014_s cn63xx;
1964 struct cvmx_pciercx_cfg014_s cn63xxp1;
1965 struct cvmx_pciercx_cfg014_s cn66xx;
1966 struct cvmx_pciercx_cfg014_s cn68xx;
1967 struct cvmx_pciercx_cfg014_s cn68xxp1;
1968 struct cvmx_pciercx_cfg014_s cnf71xx;
1970 typedef union cvmx_pciercx_cfg014 cvmx_pciercx_cfg014_t;
1973 * cvmx_pcierc#_cfg015
1975 * PCIE_CFG015 = Sixteenth 32-bits of PCIE type 1 config space (Interrupt Line Register/Interrupt Pin/Bridge Control Register)
1978 union cvmx_pciercx_cfg015 {
1980 struct cvmx_pciercx_cfg015_s {
1981 #ifdef __BIG_ENDIAN_BITFIELD
1982 uint32_t reserved_28_31 : 4;
1983 uint32_t dtsees : 1; /**< Discard Timer SERR Enable Status
1984 Not applicable to PCI Express, hardwired to 0. */
1985 uint32_t dts : 1; /**< Discard Timer Status
1986 Not applicable to PCI Express, hardwired to 0. */
1987 uint32_t sdt : 1; /**< Secondary Discard Timer
1988 Not applicable to PCI Express, hardwired to 0. */
1989 uint32_t pdt : 1; /**< Primary Discard Timer
1990 Not applicable to PCI Express, hardwired to 0. */
1991 uint32_t fbbe : 1; /**< Fast Back-to-Back Transactions Enable
1992 Not applicable to PCI Express, hardwired to 0. */
1993 uint32_t sbrst : 1; /**< Secondary Bus Reset
1994 Hot reset. Causes TS1s with the hot reset bit to be sent to
1995 the link partner. When set, SW should wait 2ms before
1996 clearing. The link partner normally responds by sending TS1s
1997 with the hot reset bit set, which will cause a link
1998 down event - refer to "PCIe Link-Down Reset in RC Mode"
2000 uint32_t mam : 1; /**< Master Abort Mode
2001 Not applicable to PCI Express, hardwired to 0. */
2002 uint32_t vga16d : 1; /**< VGA 16-Bit Decode */
2003 uint32_t vgae : 1; /**< VGA Enable */
2004 uint32_t isae : 1; /**< ISA Enable */
2005 uint32_t see : 1; /**< SERR Enable */
2006 uint32_t pere : 1; /**< Parity Error Response Enable */
2007 uint32_t inta : 8; /**< Interrupt Pin
2008 Identifies the legacy interrupt Message that the device
2009 (or device function) uses.
2010 The Interrupt Pin register is writable through PEM(0..1)_CFG_WR.
2011 In a single-function configuration, only INTA is used.
2012 Therefore, the application must not change this field. */
2013 uint32_t il : 8; /**< Interrupt Line */
2021 uint32_t vga16d : 1;
2028 uint32_t dtsees : 1;
2029 uint32_t reserved_28_31 : 4;
2032 struct cvmx_pciercx_cfg015_s cn52xx;
2033 struct cvmx_pciercx_cfg015_s cn52xxp1;
2034 struct cvmx_pciercx_cfg015_s cn56xx;
2035 struct cvmx_pciercx_cfg015_s cn56xxp1;
2036 struct cvmx_pciercx_cfg015_s cn61xx;
2037 struct cvmx_pciercx_cfg015_s cn63xx;
2038 struct cvmx_pciercx_cfg015_s cn63xxp1;
2039 struct cvmx_pciercx_cfg015_s cn66xx;
2040 struct cvmx_pciercx_cfg015_s cn68xx;
2041 struct cvmx_pciercx_cfg015_s cn68xxp1;
2042 struct cvmx_pciercx_cfg015_s cnf71xx;
2044 typedef union cvmx_pciercx_cfg015 cvmx_pciercx_cfg015_t;
2047 * cvmx_pcierc#_cfg016
2049 * PCIE_CFG016 = Seventeenth 32-bits of PCIE type 1 config space
2050 * (Power Management Capability ID/
2051 * Power Management Next Item Pointer/
2052 * Power Management Capabilities Register)
2054 union cvmx_pciercx_cfg016 {
2056 struct cvmx_pciercx_cfg016_s {
2057 #ifdef __BIG_ENDIAN_BITFIELD
2058 uint32_t pmes : 5; /**< PME_Support
2059 A value of 0 for any bit indicates that the
2060 device (or function) is not capable of generating PME Messages
2061 while in that power state:
2062 o Bit 11: If set, PME Messages can be generated from D0
2063 o Bit 12: If set, PME Messages can be generated from D1
2064 o Bit 13: If set, PME Messages can be generated from D2
2065 o Bit 14: If set, PME Messages can be generated from D3hot
2066 o Bit 15: If set, PME Messages can be generated from D3cold
2067 The PME_Support field is writable through PEM(0..1)_CFG_WR.
2068 However, the application must not change this field. */
2069 uint32_t d2s : 1; /**< D2 Support, writable through PEM(0..1)_CFG_WR
2070 However, the application must not change this field. */
2071 uint32_t d1s : 1; /**< D1 Support, writable through PEM(0..1)_CFG_WR
2072 However, the application must not change this field. */
2073 uint32_t auxc : 3; /**< AUX Current, writable through PEM(0..1)_CFG_WR
2074 However, the application must not change this field. */
2075 uint32_t dsi : 1; /**< Device Specific Initialization (DSI), writable through PEM(0..1)_CFG_WR
2076 However, the application must not change this field. */
2077 uint32_t reserved_20_20 : 1;
2078 uint32_t pme_clock : 1; /**< PME Clock, hardwired to 0 */
2079 uint32_t pmsv : 3; /**< Power Management Specification Version, writable through PEM(0..1)_CFG_WR
2080 However, the application must not change this field. */
2081 uint32_t ncp : 8; /**< Next Capability Pointer
2082 Points to the MSI capabilities by default, writable
2083 through PEM(0..1)_CFG_WR. */
2084 uint32_t pmcid : 8; /**< Power Management Capability ID */
2089 uint32_t pme_clock : 1;
2090 uint32_t reserved_20_20 : 1;
2098 struct cvmx_pciercx_cfg016_s cn52xx;
2099 struct cvmx_pciercx_cfg016_s cn52xxp1;
2100 struct cvmx_pciercx_cfg016_s cn56xx;
2101 struct cvmx_pciercx_cfg016_s cn56xxp1;
2102 struct cvmx_pciercx_cfg016_s cn61xx;
2103 struct cvmx_pciercx_cfg016_s cn63xx;
2104 struct cvmx_pciercx_cfg016_s cn63xxp1;
2105 struct cvmx_pciercx_cfg016_s cn66xx;
2106 struct cvmx_pciercx_cfg016_s cn68xx;
2107 struct cvmx_pciercx_cfg016_s cn68xxp1;
2108 struct cvmx_pciercx_cfg016_s cnf71xx;
2110 typedef union cvmx_pciercx_cfg016 cvmx_pciercx_cfg016_t;
2113 * cvmx_pcierc#_cfg017
2115 * PCIE_CFG017 = Eighteenth 32-bits of PCIE type 1 config space (Power Management Control and Status Register)
2118 union cvmx_pciercx_cfg017 {
2120 struct cvmx_pciercx_cfg017_s {
2121 #ifdef __BIG_ENDIAN_BITFIELD
2122 uint32_t pmdia : 8; /**< Data register for additional information (not supported) */
2123 uint32_t bpccee : 1; /**< Bus Power/Clock Control Enable, hardwired to 0 */
2124 uint32_t bd3h : 1; /**< B2/B3 Support, hardwired to 0 */
2125 uint32_t reserved_16_21 : 6;
2126 uint32_t pmess : 1; /**< PME Status
2127 Indicates if a previously enabled PME event occurred or not. */
2128 uint32_t pmedsia : 2; /**< Data Scale (not supported) */
2129 uint32_t pmds : 4; /**< Data Select (not supported) */
2130 uint32_t pmeens : 1; /**< PME Enable
2131 A value of 1 indicates that the device is enabled to
2133 uint32_t reserved_4_7 : 4;
2134 uint32_t nsr : 1; /**< No Soft Reset, writable through PEM(0..1)_CFG_WR
2135 However, the application must not change this field. */
2136 uint32_t reserved_2_2 : 1;
2137 uint32_t ps : 2; /**< Power State
2138 Controls the device power state:
2143 The written value is ignored if the specific state is
2147 uint32_t reserved_2_2 : 1;
2149 uint32_t reserved_4_7 : 4;
2150 uint32_t pmeens : 1;
2152 uint32_t pmedsia : 2;
2154 uint32_t reserved_16_21 : 6;
2156 uint32_t bpccee : 1;
2160 struct cvmx_pciercx_cfg017_s cn52xx;
2161 struct cvmx_pciercx_cfg017_s cn52xxp1;
2162 struct cvmx_pciercx_cfg017_s cn56xx;
2163 struct cvmx_pciercx_cfg017_s cn56xxp1;
2164 struct cvmx_pciercx_cfg017_s cn61xx;
2165 struct cvmx_pciercx_cfg017_s cn63xx;
2166 struct cvmx_pciercx_cfg017_s cn63xxp1;
2167 struct cvmx_pciercx_cfg017_s cn66xx;
2168 struct cvmx_pciercx_cfg017_s cn68xx;
2169 struct cvmx_pciercx_cfg017_s cn68xxp1;
2170 struct cvmx_pciercx_cfg017_s cnf71xx;
2172 typedef union cvmx_pciercx_cfg017 cvmx_pciercx_cfg017_t;
2175 * cvmx_pcierc#_cfg020
2177 * PCIE_CFG020 = Twenty-first 32-bits of PCIE type 1 config space
2178 * (MSI Capability ID/
2179 * MSI Next Item Pointer/
2180 * MSI Control Register)
2182 union cvmx_pciercx_cfg020 {
2184 struct cvmx_pciercx_cfg020_s {
2185 #ifdef __BIG_ENDIAN_BITFIELD
2186 uint32_t reserved_25_31 : 7;
2187 uint32_t pvm : 1; /**< Per-vector masking capable */
2188 uint32_t m64 : 1; /**< 64-bit Address Capable, writable through PEM(0..1)_CFG_WR
2189 However, the application must not change this field. */
2190 uint32_t mme : 3; /**< Multiple Message Enabled
2191 Indicates that multiple Message mode is enabled by system
2192 software. The number of Messages enabled must be less than
2193 or equal to the Multiple Message Capable value. */
2194 uint32_t mmc : 3; /**< Multiple Message Capable, writable through PEM(0..1)_CFG_WR
2195 However, the application must not change this field. */
2196 uint32_t msien : 1; /**< MSI Enabled
2197 When set, INTx must be disabled.
2198 This bit must never be set, as internal-MSI is not supported in
2199 RC mode. (Note that this has no effect on external MSI, which
2200 will be commonly used in RC mode.) */
2201 uint32_t ncp : 8; /**< Next Capability Pointer
2202 Points to PCI Express Capabilities by default,
2203 writable through PEM(0..1)_CFG_WR.
2204 However, the application must not change this field. */
2205 uint32_t msicid : 8; /**< MSI Capability ID */
2207 uint32_t msicid : 8;
2214 uint32_t reserved_25_31 : 7;
2217 struct cvmx_pciercx_cfg020_cn52xx {
2218 #ifdef __BIG_ENDIAN_BITFIELD
2219 uint32_t reserved_24_31 : 8;
2220 uint32_t m64 : 1; /**< 64-bit Address Capable, writable through PESC(0..1)_CFG_WR
2221 However, the application must not change this field. */
2222 uint32_t mme : 3; /**< Multiple Message Enabled
2223 Indicates that multiple Message mode is enabled by system
2224 software. The number of Messages enabled must be less than
2225 or equal to the Multiple Message Capable value. */
2226 uint32_t mmc : 3; /**< Multiple Message Capable, writable through PESC(0..1)_CFG_WR
2227 However, the application must not change this field. */
2228 uint32_t msien : 1; /**< MSI Enabled
2229 When set, INTx must be disabled.
2230 This bit must never be set, as internal-MSI is not supported in
2231 RC mode. (Note that this has no effect on external MSI, which
2232 will be commonly used in RC mode.) */
2233 uint32_t ncp : 8; /**< Next Capability Pointer
2234 Points to PCI Express Capabilities by default,
2235 writable through PESC(0..1)_CFG_WR.
2236 However, the application must not change this field. */
2237 uint32_t msicid : 8; /**< MSI Capability ID */
2239 uint32_t msicid : 8;
2245 uint32_t reserved_24_31 : 8;
2248 struct cvmx_pciercx_cfg020_cn52xx cn52xxp1;
2249 struct cvmx_pciercx_cfg020_cn52xx cn56xx;
2250 struct cvmx_pciercx_cfg020_cn52xx cn56xxp1;
2251 struct cvmx_pciercx_cfg020_s cn61xx;
2252 struct cvmx_pciercx_cfg020_cn52xx cn63xx;
2253 struct cvmx_pciercx_cfg020_cn52xx cn63xxp1;
2254 struct cvmx_pciercx_cfg020_cn52xx cn66xx;
2255 struct cvmx_pciercx_cfg020_cn52xx cn68xx;
2256 struct cvmx_pciercx_cfg020_cn52xx cn68xxp1;
2257 struct cvmx_pciercx_cfg020_s cnf71xx;
2259 typedef union cvmx_pciercx_cfg020 cvmx_pciercx_cfg020_t;
2262 * cvmx_pcierc#_cfg021
2264 * PCIE_CFG021 = Twenty-second 32-bits of PCIE type 1 config space (MSI Lower 32 Bits Address Register)
2267 union cvmx_pciercx_cfg021 {
2269 struct cvmx_pciercx_cfg021_s {
2270 #ifdef __BIG_ENDIAN_BITFIELD
2271 uint32_t lmsi : 30; /**< Lower 32-bit Address */
2272 uint32_t reserved_0_1 : 2;
2274 uint32_t reserved_0_1 : 2;
2278 struct cvmx_pciercx_cfg021_s cn52xx;
2279 struct cvmx_pciercx_cfg021_s cn52xxp1;
2280 struct cvmx_pciercx_cfg021_s cn56xx;
2281 struct cvmx_pciercx_cfg021_s cn56xxp1;
2282 struct cvmx_pciercx_cfg021_s cn61xx;
2283 struct cvmx_pciercx_cfg021_s cn63xx;
2284 struct cvmx_pciercx_cfg021_s cn63xxp1;
2285 struct cvmx_pciercx_cfg021_s cn66xx;
2286 struct cvmx_pciercx_cfg021_s cn68xx;
2287 struct cvmx_pciercx_cfg021_s cn68xxp1;
2288 struct cvmx_pciercx_cfg021_s cnf71xx;
2290 typedef union cvmx_pciercx_cfg021 cvmx_pciercx_cfg021_t;
2293 * cvmx_pcierc#_cfg022
2295 * PCIE_CFG022 = Twenty-third 32-bits of PCIE type 1 config space (MSI Upper 32 bits Address Register)
2298 union cvmx_pciercx_cfg022 {
2300 struct cvmx_pciercx_cfg022_s {
2301 #ifdef __BIG_ENDIAN_BITFIELD
2302 uint32_t umsi : 32; /**< Upper 32-bit Address */
2307 struct cvmx_pciercx_cfg022_s cn52xx;
2308 struct cvmx_pciercx_cfg022_s cn52xxp1;
2309 struct cvmx_pciercx_cfg022_s cn56xx;
2310 struct cvmx_pciercx_cfg022_s cn56xxp1;
2311 struct cvmx_pciercx_cfg022_s cn61xx;
2312 struct cvmx_pciercx_cfg022_s cn63xx;
2313 struct cvmx_pciercx_cfg022_s cn63xxp1;
2314 struct cvmx_pciercx_cfg022_s cn66xx;
2315 struct cvmx_pciercx_cfg022_s cn68xx;
2316 struct cvmx_pciercx_cfg022_s cn68xxp1;
2317 struct cvmx_pciercx_cfg022_s cnf71xx;
2319 typedef union cvmx_pciercx_cfg022 cvmx_pciercx_cfg022_t;
2322 * cvmx_pcierc#_cfg023
2324 * PCIE_CFG023 = Twenty-fourth 32-bits of PCIE type 1 config space (MSI Data Register)
2327 union cvmx_pciercx_cfg023 {
2329 struct cvmx_pciercx_cfg023_s {
2330 #ifdef __BIG_ENDIAN_BITFIELD
2331 uint32_t reserved_16_31 : 16;
2332 uint32_t msimd : 16; /**< MSI Data
2333 Pattern assigned by system software, bits [4:0] are Or-ed with
2334 MSI_VECTOR to generate 32 MSI Messages per function. */
2336 uint32_t msimd : 16;
2337 uint32_t reserved_16_31 : 16;
2340 struct cvmx_pciercx_cfg023_s cn52xx;
2341 struct cvmx_pciercx_cfg023_s cn52xxp1;
2342 struct cvmx_pciercx_cfg023_s cn56xx;
2343 struct cvmx_pciercx_cfg023_s cn56xxp1;
2344 struct cvmx_pciercx_cfg023_s cn61xx;
2345 struct cvmx_pciercx_cfg023_s cn63xx;
2346 struct cvmx_pciercx_cfg023_s cn63xxp1;
2347 struct cvmx_pciercx_cfg023_s cn66xx;
2348 struct cvmx_pciercx_cfg023_s cn68xx;
2349 struct cvmx_pciercx_cfg023_s cn68xxp1;
2350 struct cvmx_pciercx_cfg023_s cnf71xx;
2352 typedef union cvmx_pciercx_cfg023 cvmx_pciercx_cfg023_t;
2355 * cvmx_pcierc#_cfg028
2357 * PCIE_CFG028 = Twenty-ninth 32-bits of PCIE type 1 config space
2358 * (PCI Express Capabilities List Register/
2359 * PCI Express Capabilities Register)
2361 union cvmx_pciercx_cfg028 {
2363 struct cvmx_pciercx_cfg028_s {
2364 #ifdef __BIG_ENDIAN_BITFIELD
2365 uint32_t reserved_30_31 : 2;
2366 uint32_t imn : 5; /**< Interrupt Message Number
2367 Updated by hardware, writable through PEM(0..1)_CFG_WR.
2368 However, the application must not change this field. */
2369 uint32_t si : 1; /**< Slot Implemented
2370 This bit is writable through PEM(0..1)_CFG_WR.
2371 However, it must 0 for an
2372 Endpoint device. Therefore, the application must not write a
2374 uint32_t dpt : 4; /**< Device Port Type */
2375 uint32_t pciecv : 4; /**< PCI Express Capability Version */
2376 uint32_t ncp : 8; /**< Next Capability Pointer
2377 writable through PEM(0..1)_CFG_WR.
2378 However, the application must not change this field. */
2379 uint32_t pcieid : 8; /**< PCIE Capability ID */
2381 uint32_t pcieid : 8;
2383 uint32_t pciecv : 4;
2387 uint32_t reserved_30_31 : 2;
2390 struct cvmx_pciercx_cfg028_s cn52xx;
2391 struct cvmx_pciercx_cfg028_s cn52xxp1;
2392 struct cvmx_pciercx_cfg028_s cn56xx;
2393 struct cvmx_pciercx_cfg028_s cn56xxp1;
2394 struct cvmx_pciercx_cfg028_s cn61xx;
2395 struct cvmx_pciercx_cfg028_s cn63xx;
2396 struct cvmx_pciercx_cfg028_s cn63xxp1;
2397 struct cvmx_pciercx_cfg028_s cn66xx;
2398 struct cvmx_pciercx_cfg028_s cn68xx;
2399 struct cvmx_pciercx_cfg028_s cn68xxp1;
2400 struct cvmx_pciercx_cfg028_s cnf71xx;
2402 typedef union cvmx_pciercx_cfg028 cvmx_pciercx_cfg028_t;
2405 * cvmx_pcierc#_cfg029
2407 * PCIE_CFG029 = Thirtieth 32-bits of PCIE type 1 config space (Device Capabilities Register)
2410 union cvmx_pciercx_cfg029 {
2412 struct cvmx_pciercx_cfg029_s {
2413 #ifdef __BIG_ENDIAN_BITFIELD
2414 uint32_t reserved_28_31 : 4;
2415 uint32_t cspls : 2; /**< Captured Slot Power Limit Scale
2416 Not applicable for RC port, upstream port only. */
2417 uint32_t csplv : 8; /**< Captured Slot Power Limit Value
2418 Not applicable for RC port, upstream port only. */
2419 uint32_t reserved_16_17 : 2;
2420 uint32_t rber : 1; /**< Role-Based Error Reporting, writable through PEM(0..1)_CFG_WR
2421 However, the application must not change this field. */
2422 uint32_t reserved_12_14 : 3;
2423 uint32_t el1al : 3; /**< Endpoint L1 Acceptable Latency, writable through PEM(0..1)_CFG_WR
2424 Must be 0x0 for non-endpoint devices. */
2425 uint32_t el0al : 3; /**< Endpoint L0s Acceptable Latency, writable through PEM(0..1)_CFG_WR
2426 Must be 0x0 for non-endpoint devices. */
2427 uint32_t etfs : 1; /**< Extended Tag Field Supported
2428 This bit is writable through PEM(0..1)_CFG_WR.
2429 However, the application
2430 must not write a 1 to this bit. */
2431 uint32_t pfs : 2; /**< Phantom Function Supported
2432 This field is writable through PEM(0..1)_CFG_WR.
2434 Function is not supported. Therefore, the application must not
2435 write any value other than 0x0 to this field. */
2436 uint32_t mpss : 3; /**< Max_Payload_Size Supported, writable through PEM(0..1)_CFG_WR
2437 However, the application must not change this field. */
2444 uint32_t reserved_12_14 : 3;
2446 uint32_t reserved_16_17 : 2;
2449 uint32_t reserved_28_31 : 4;
2452 struct cvmx_pciercx_cfg029_s cn52xx;
2453 struct cvmx_pciercx_cfg029_s cn52xxp1;
2454 struct cvmx_pciercx_cfg029_s cn56xx;
2455 struct cvmx_pciercx_cfg029_s cn56xxp1;
2456 struct cvmx_pciercx_cfg029_s cn61xx;
2457 struct cvmx_pciercx_cfg029_s cn63xx;
2458 struct cvmx_pciercx_cfg029_s cn63xxp1;
2459 struct cvmx_pciercx_cfg029_s cn66xx;
2460 struct cvmx_pciercx_cfg029_s cn68xx;
2461 struct cvmx_pciercx_cfg029_s cn68xxp1;
2462 struct cvmx_pciercx_cfg029_s cnf71xx;
2464 typedef union cvmx_pciercx_cfg029 cvmx_pciercx_cfg029_t;
2467 * cvmx_pcierc#_cfg030
2469 * PCIE_CFG030 = Thirty-first 32-bits of PCIE type 1 config space
2470 * (Device Control Register/Device Status Register)
2472 union cvmx_pciercx_cfg030 {
2474 struct cvmx_pciercx_cfg030_s {
2475 #ifdef __BIG_ENDIAN_BITFIELD
2476 uint32_t reserved_22_31 : 10;
2477 uint32_t tp : 1; /**< Transaction Pending
2479 uint32_t ap_d : 1; /**< Aux Power Detected
2480 Set to 1 if Aux power detected. */
2481 uint32_t ur_d : 1; /**< Unsupported Request Detected
2482 Errors are logged in this register regardless of whether
2483 error reporting is enabled in the Device Control register.
2484 UR_D occurs when we receive something we don't support.
2485 Unsupported requests are Nonfatal errors, so UR_D should
2486 cause NFE_D. Receiving a vendor defined message should
2487 cause an unsupported request. */
2488 uint32_t fe_d : 1; /**< Fatal Error Detected
2489 Errors are logged in this register regardless of whether
2490 error reporting is enabled in the Device Control register.
2491 FE_D is set if receive any of the errors in PCIE_CFG066 that
2492 has a severity set to Fatal. Malformed TLP's generally fit
2493 into this category. */
2494 uint32_t nfe_d : 1; /**< Non-Fatal Error detected
2495 Errors are logged in this register regardless of whether
2496 error reporting is enabled in the Device Control register.
2497 NFE_D is set if we receive any of the errors in PCIE_CFG066
2498 that has a severity set to Nonfatal and does NOT meet Advisory
2499 Nonfatal criteria , which
2500 most poisoned TLP's should be. */
2501 uint32_t ce_d : 1; /**< Correctable Error Detected
2502 Errors are logged in this register regardless of whether
2503 error reporting is enabled in the Device Control register.
2504 CE_D is set if we receive any of the errors in PCIE_CFG068
2505 for example a Replay Timer Timeout. Also, it can be set if
2506 we get any of the errors in PCIE_CFG066 that has a severity
2507 set to Nonfatal and meets the Advisory Nonfatal criteria,
2508 which most ECRC errors should be. */
2509 uint32_t reserved_15_15 : 1;
2510 uint32_t mrrs : 3; /**< Max Read Request Size
2517 Note: SLI_S2M_PORT#_CTL[MRRS] and DPI_SLI_PRT#_CFG[MRRS] and
2518 also must be set properly.
2519 SLI_S2M_PORT#_CTL[MRRS] and DPI_SLI_PRT#_CFG[MRRS] must
2520 not exceed the desired max read request size. */
2521 uint32_t ns_en : 1; /**< Enable No Snoop */
2522 uint32_t ap_en : 1; /**< AUX Power PM Enable */
2523 uint32_t pf_en : 1; /**< Phantom Function Enable
2524 This bit should never be set - OCTEON requests never use
2525 phantom functions. */
2526 uint32_t etf_en : 1; /**< Extended Tag Field Enable
2527 This bit should never be set - OCTEON requests never use
2529 uint32_t mps : 3; /**< Max Payload Size
2533 Larger sizes not supported.
2534 Note: Both PCI Express Ports must be set to the same value
2535 for Peer-to-Peer to function properly.
2536 Note: DPI_SLI_PRT#_CFG[MPS] must also be set to the same
2537 value for proper functionality. */
2538 uint32_t ro_en : 1; /**< Enable Relaxed Ordering
2539 This bit is not used. */
2540 uint32_t ur_en : 1; /**< Unsupported Request Reporting Enable */
2541 uint32_t fe_en : 1; /**< Fatal Error Reporting Enable */
2542 uint32_t nfe_en : 1; /**< Non-Fatal Error Reporting Enable */
2543 uint32_t ce_en : 1; /**< Correctable Error Reporting Enable */
2546 uint32_t nfe_en : 1;
2551 uint32_t etf_en : 1;
2556 uint32_t reserved_15_15 : 1;
2563 uint32_t reserved_22_31 : 10;
2566 struct cvmx_pciercx_cfg030_s cn52xx;
2567 struct cvmx_pciercx_cfg030_s cn52xxp1;
2568 struct cvmx_pciercx_cfg030_s cn56xx;
2569 struct cvmx_pciercx_cfg030_s cn56xxp1;
2570 struct cvmx_pciercx_cfg030_s cn61xx;
2571 struct cvmx_pciercx_cfg030_s cn63xx;
2572 struct cvmx_pciercx_cfg030_s cn63xxp1;
2573 struct cvmx_pciercx_cfg030_s cn66xx;
2574 struct cvmx_pciercx_cfg030_s cn68xx;
2575 struct cvmx_pciercx_cfg030_s cn68xxp1;
2576 struct cvmx_pciercx_cfg030_s cnf71xx;
2578 typedef union cvmx_pciercx_cfg030 cvmx_pciercx_cfg030_t;
2581 * cvmx_pcierc#_cfg031
2583 * PCIE_CFG031 = Thirty-second 32-bits of PCIE type 1 config space
2584 * (Link Capabilities Register)
2586 union cvmx_pciercx_cfg031 {
2588 struct cvmx_pciercx_cfg031_s {
2589 #ifdef __BIG_ENDIAN_BITFIELD
2590 uint32_t pnum : 8; /**< Port Number
2591 writable through PEM(0..1)_CFG_WR, however the application
2592 must not change this field. */
2593 uint32_t reserved_23_23 : 1;
2594 uint32_t aspm : 1; /**< ASPM Optionality Compliance */
2595 uint32_t lbnc : 1; /**< Link Bandwidth Notification Capability
2596 Set to 1 for Root Complex devices. writable through PEM(0..1)_CFG_WR.
2597 However, the application must not change this field. */
2598 uint32_t dllarc : 1; /**< Data Link Layer Active Reporting Capable
2599 Set to 1 for Root Complex devices and 0 for Endpoint devices. */
2600 uint32_t sderc : 1; /**< Surprise Down Error Reporting Capable
2601 Not supported, hardwired to 0x0. */
2602 uint32_t cpm : 1; /**< Clock Power Management
2603 The default value is the value you specify during hardware
2604 configuration, writable through PEM(0..1)_CFG_WR.
2605 However, the application must not change this field. */
2606 uint32_t l1el : 3; /**< L1 Exit Latency
2607 The default value is the value you specify during hardware
2608 configuration, writable through PEM(0..1)_CFG_WR.
2609 However, the application must not change this field. */
2610 uint32_t l0el : 3; /**< L0s Exit Latency
2611 The default value is the value you specify during hardware
2612 configuration, writable through PEM(0..1)_CFG_WR.
2613 However, the application must not change this field. */
2614 uint32_t aslpms : 2; /**< Active State Link PM Support
2615 The default value is the value you specify during hardware
2616 configuration, writable through PEM(0..1)_CFG_WR.
2617 However, the application must not change this field. */
2618 uint32_t mlw : 6; /**< Maximum Link Width
2619 The default value is the value you specify during hardware
2620 configuration (x1 or x2) writable through PEM(0..1)_CFG_WR. */
2621 uint32_t mls : 4; /**< Maximum Link Speed
2622 The reset value of this field is controlled by a value sent from
2623 the lsb of the MIO_QLM#_SPD register.
2624 qlm#_spd[0] RST_VALUE NOTE
2625 1 0001b 2.5 GHz supported
2626 0 0010b 5.0 GHz and 2.5 GHz supported
2627 This field is writable through PEM(0..1)_CFG_WR.
2628 However, the application must not change this field. */
2632 uint32_t aslpms : 2;
2637 uint32_t dllarc : 1;
2640 uint32_t reserved_23_23 : 1;
2644 struct cvmx_pciercx_cfg031_cn52xx {
2645 #ifdef __BIG_ENDIAN_BITFIELD
2646 uint32_t pnum : 8; /**< Port Number, writable through PESC(0..1)_CFG_WR
2647 However, the application must not change this field. */
2648 uint32_t reserved_22_23 : 2;
2649 uint32_t lbnc : 1; /**< Link Bandwith Notification Capability */
2650 uint32_t dllarc : 1; /**< Data Link Layer Active Reporting Capable
2651 Set to 1 for Root Complex devices and 0 for Endpoint devices. */
2652 uint32_t sderc : 1; /**< Surprise Down Error Reporting Capable
2653 Not supported, hardwired to 0x0. */
2654 uint32_t cpm : 1; /**< Clock Power Management
2655 The default value is the value you specify during hardware
2656 configuration, writable through PESC(0..1)_CFG_WR.
2657 However, the application must not change this field. */
2658 uint32_t l1el : 3; /**< L1 Exit Latency
2659 The default value is the value you specify during hardware
2660 configuration, writable through PESC(0..1)_CFG_WR.
2661 However, the application must not change this field. */
2662 uint32_t l0el : 3; /**< L0s Exit Latency
2663 The default value is the value you specify during hardware
2664 configuration, writable through PESC(0..1)_CFG_WR.
2665 However, the application must not change this field. */
2666 uint32_t aslpms : 2; /**< Active State Link PM Support
2667 The default value is the value you specify during hardware
2668 configuration, writable through PESC(0..1)_CFG_WR.
2669 However, the application must not change this field. */
2670 uint32_t mlw : 6; /**< Maximum Link Width
2671 The default value is the value you specify during hardware
2672 configuration (x1, x4, x8, or x16), writable through PESC(0..1)_CFG_WR.
2673 The SW needs to set this to 0x4 or 0x2 depending on the max
2674 number of lanes (QLM_CFG == 1 set to 0x4 else 0x2). */
2675 uint32_t mls : 4; /**< Maximum Link Speed
2676 Default value is 0x1 for 2.5 Gbps Link.
2677 This field is writable through PESC(0..1)_CFG_WR.
2679 only supported value. Therefore, the application must not write
2680 any value other than 0x1 to this field. */
2684 uint32_t aslpms : 2;
2689 uint32_t dllarc : 1;
2691 uint32_t reserved_22_23 : 2;
2695 struct cvmx_pciercx_cfg031_cn52xx cn52xxp1;
2696 struct cvmx_pciercx_cfg031_cn52xx cn56xx;
2697 struct cvmx_pciercx_cfg031_cn52xx cn56xxp1;
2698 struct cvmx_pciercx_cfg031_s cn61xx;
2699 struct cvmx_pciercx_cfg031_cn52xx cn63xx;
2700 struct cvmx_pciercx_cfg031_cn52xx cn63xxp1;
2701 struct cvmx_pciercx_cfg031_s cn66xx;
2702 struct cvmx_pciercx_cfg031_s cn68xx;
2703 struct cvmx_pciercx_cfg031_cn52xx cn68xxp1;
2704 struct cvmx_pciercx_cfg031_s cnf71xx;
2706 typedef union cvmx_pciercx_cfg031 cvmx_pciercx_cfg031_t;
2709 * cvmx_pcierc#_cfg032
2711 * PCIE_CFG032 = Thirty-third 32-bits of PCIE type 1 config space
2712 * (Link Control Register/Link Status Register)
2714 union cvmx_pciercx_cfg032 {
2716 struct cvmx_pciercx_cfg032_s {
2717 #ifdef __BIG_ENDIAN_BITFIELD
2718 uint32_t lab : 1; /**< Link Autonomous Bandwidth Status
2719 this bit is set to indicate that hardware has autonomously
2720 changed Link speed or width, without the Port transitioning
2721 through DL_Down status, for reasons other than to attempt
2722 to correct unreliable Link operation. */
2723 uint32_t lbm : 1; /**< Link Bandwidth Management Status
2724 This bit is set to indicate either of the following has
2725 occurred without the Port transitioning through DL_DOWN status
2726 o A link retraining has completed following a write of 1b to
2727 the Retrain Link bit
2728 o Hardware has changed the Link speed or width to attempt to
2729 correct unreliable Link operation, either through a LTSSM
2730 timeout of higher level process. This bit must be set if
2731 the Physical Layer reports a speed or width change was
2732 inititiated by the Downstream component tha was not
2733 indicated as an autonomous change */
2734 uint32_t dlla : 1; /**< Data Link Layer Active */
2735 uint32_t scc : 1; /**< Slot Clock Configuration
2736 Indicates that the component uses the same physical reference
2737 clock that the platform provides on the connector. The default
2738 value is the value you select during hardware configuration,
2739 writable through PEM(0..1)_CFG_WR.
2740 However, the application must not change this field. */
2741 uint32_t lt : 1; /**< Link Training */
2742 uint32_t reserved_26_26 : 1;
2743 uint32_t nlw : 6; /**< Negotiated Link Width
2744 Set automatically by hardware after Link initialization.
2745 Value is undefined when link is not up. */
2746 uint32_t ls : 4; /**< Link Speed
2747 0001 == The negotiated Link speed: 2.5 Gbps
2748 0010 == The negotiated Link speed: 5.0 Gbps
2749 0100 == The negotiated Link speed: 8.0 Gbps (Not Supported) */
2750 uint32_t reserved_12_15 : 4;
2751 uint32_t lab_int_enb : 1; /**< Link Autonomous Bandwidth Interrupt Enable
2752 When set, enables the generation of an interrupt to indicate
2753 that the Link Autonomous Bandwidth Status bit has been set. */
2754 uint32_t lbm_int_enb : 1; /**< Link Bandwidth Management Interrupt Enable
2755 When set, enables the generation of an interrupt to indicate
2756 that the Link Bandwidth Management Status bit has been set. */
2757 uint32_t hawd : 1; /**< Hardware Autonomous Width Disable
2759 uint32_t ecpm : 1; /**< Enable Clock Power Management
2760 Hardwired to 0 if Clock Power Management is disabled in
2761 the Link Capabilities register. */
2762 uint32_t es : 1; /**< Extended Synch */
2763 uint32_t ccc : 1; /**< Common Clock Configuration */
2764 uint32_t rl : 1; /**< Retrain Link */
2765 uint32_t ld : 1; /**< Link Disable */
2766 uint32_t rcb : 1; /**< Read Completion Boundary (RCB), writable through PEM(0..1)_CFG_WR
2767 However, the application must not change this field
2768 because an RCB of 64 bytes is not supported. */
2769 uint32_t reserved_2_2 : 1;
2770 uint32_t aslpc : 2; /**< Active State Link PM Control */
2773 uint32_t reserved_2_2 : 1;
2781 uint32_t lbm_int_enb : 1;
2782 uint32_t lab_int_enb : 1;
2783 uint32_t reserved_12_15 : 4;
2786 uint32_t reserved_26_26 : 1;
2794 struct cvmx_pciercx_cfg032_s cn52xx;
2795 struct cvmx_pciercx_cfg032_s cn52xxp1;
2796 struct cvmx_pciercx_cfg032_s cn56xx;
2797 struct cvmx_pciercx_cfg032_s cn56xxp1;
2798 struct cvmx_pciercx_cfg032_s cn61xx;
2799 struct cvmx_pciercx_cfg032_s cn63xx;
2800 struct cvmx_pciercx_cfg032_s cn63xxp1;
2801 struct cvmx_pciercx_cfg032_s cn66xx;
2802 struct cvmx_pciercx_cfg032_s cn68xx;
2803 struct cvmx_pciercx_cfg032_s cn68xxp1;
2804 struct cvmx_pciercx_cfg032_s cnf71xx;
2806 typedef union cvmx_pciercx_cfg032 cvmx_pciercx_cfg032_t;
2809 * cvmx_pcierc#_cfg033
2811 * PCIE_CFG033 = Thirty-fourth 32-bits of PCIE type 1 config space
2812 * (Slot Capabilities Register)
2814 union cvmx_pciercx_cfg033 {
2816 struct cvmx_pciercx_cfg033_s {
2817 #ifdef __BIG_ENDIAN_BITFIELD
2818 uint32_t ps_num : 13; /**< Physical Slot Number, writable through PEM(0..1)_CFG_WR
2819 However, the application must not change this field. */
2820 uint32_t nccs : 1; /**< No Command Complete Support, writable through PEM(0..1)_CFG_WR
2821 However, the application must not change this field. */
2822 uint32_t emip : 1; /**< Electromechanical Interlock Present, writable through PEM(0..1)_CFG_WR
2823 However, the application must not change this field. */
2824 uint32_t sp_ls : 2; /**< Slot Power Limit Scale, writable through PEM(0..1)_CFG_WR. */
2825 uint32_t sp_lv : 8; /**< Slot Power Limit Value, writable through PEM(0..1)_CFG_WR. */
2826 uint32_t hp_c : 1; /**< Hot-Plug Capable, writable through PEM(0..1)_CFG_WR
2827 However, the application must not change this field. */
2828 uint32_t hp_s : 1; /**< Hot-Plug Surprise, writable through PEM(0..1)_CFG_WR
2829 However, the application must not change this field. */
2830 uint32_t pip : 1; /**< Power Indicator Present, writable through PEM(0..1)_CFG_WR
2831 However, the application must not change this field. */
2832 uint32_t aip : 1; /**< Attention Indicator Present, writable through PEM(0..1)_CFG_WR
2833 However, the application must not change this field. */
2834 uint32_t mrlsp : 1; /**< MRL Sensor Present, writable through PEM(0..1)_CFG_WR
2835 However, the application must not change this field. */
2836 uint32_t pcp : 1; /**< Power Controller Present, writable through PEM(0..1)_CFG_WR
2837 However, the application must not change this field. */
2838 uint32_t abp : 1; /**< Attention Button Present, writable through PEM(0..1)_CFG_WR
2839 However, the application must not change this field. */
2852 uint32_t ps_num : 13;
2855 struct cvmx_pciercx_cfg033_s cn52xx;
2856 struct cvmx_pciercx_cfg033_s cn52xxp1;
2857 struct cvmx_pciercx_cfg033_s cn56xx;
2858 struct cvmx_pciercx_cfg033_s cn56xxp1;
2859 struct cvmx_pciercx_cfg033_s cn61xx;
2860 struct cvmx_pciercx_cfg033_s cn63xx;
2861 struct cvmx_pciercx_cfg033_s cn63xxp1;
2862 struct cvmx_pciercx_cfg033_s cn66xx;
2863 struct cvmx_pciercx_cfg033_s cn68xx;
2864 struct cvmx_pciercx_cfg033_s cn68xxp1;
2865 struct cvmx_pciercx_cfg033_s cnf71xx;
2867 typedef union cvmx_pciercx_cfg033 cvmx_pciercx_cfg033_t;
2870 * cvmx_pcierc#_cfg034
2872 * PCIE_CFG034 = Thirty-fifth 32-bits of PCIE type 1 config space
2873 * (Slot Control Register/Slot Status Register)
2875 union cvmx_pciercx_cfg034 {
2877 struct cvmx_pciercx_cfg034_s {
2878 #ifdef __BIG_ENDIAN_BITFIELD
2879 uint32_t reserved_25_31 : 7;
2880 uint32_t dlls_c : 1; /**< Data Link Layer State Changed */
2881 uint32_t emis : 1; /**< Electromechanical Interlock Status */
2882 uint32_t pds : 1; /**< Presence Detect State */
2883 uint32_t mrlss : 1; /**< MRL Sensor State */
2884 uint32_t ccint_d : 1; /**< Command Completed */
2885 uint32_t pd_c : 1; /**< Presence Detect Changed */
2886 uint32_t mrls_c : 1; /**< MRL Sensor Changed */
2887 uint32_t pf_d : 1; /**< Power Fault Detected */
2888 uint32_t abp_d : 1; /**< Attention Button Pressed */
2889 uint32_t reserved_13_15 : 3;
2890 uint32_t dlls_en : 1; /**< Data Link Layer State Changed Enable */
2891 uint32_t emic : 1; /**< Electromechanical Interlock Control */
2892 uint32_t pcc : 1; /**< Power Controller Control */
2893 uint32_t pic : 2; /**< Power Indicator Control */
2894 uint32_t aic : 2; /**< Attention Indicator Control */
2895 uint32_t hpint_en : 1; /**< Hot-Plug Interrupt Enable */
2896 uint32_t ccint_en : 1; /**< Command Completed Interrupt Enable */
2897 uint32_t pd_en : 1; /**< Presence Detect Changed Enable */
2898 uint32_t mrls_en : 1; /**< MRL Sensor Changed Enable */
2899 uint32_t pf_en : 1; /**< Power Fault Detected Enable */
2900 uint32_t abp_en : 1; /**< Attention Button Pressed Enable */
2902 uint32_t abp_en : 1;
2904 uint32_t mrls_en : 1;
2906 uint32_t ccint_en : 1;
2907 uint32_t hpint_en : 1;
2912 uint32_t dlls_en : 1;
2913 uint32_t reserved_13_15 : 3;
2916 uint32_t mrls_c : 1;
2918 uint32_t ccint_d : 1;
2922 uint32_t dlls_c : 1;
2923 uint32_t reserved_25_31 : 7;
2926 struct cvmx_pciercx_cfg034_s cn52xx;
2927 struct cvmx_pciercx_cfg034_s cn52xxp1;
2928 struct cvmx_pciercx_cfg034_s cn56xx;
2929 struct cvmx_pciercx_cfg034_s cn56xxp1;
2930 struct cvmx_pciercx_cfg034_s cn61xx;
2931 struct cvmx_pciercx_cfg034_s cn63xx;
2932 struct cvmx_pciercx_cfg034_s cn63xxp1;
2933 struct cvmx_pciercx_cfg034_s cn66xx;
2934 struct cvmx_pciercx_cfg034_s cn68xx;
2935 struct cvmx_pciercx_cfg034_s cn68xxp1;
2936 struct cvmx_pciercx_cfg034_s cnf71xx;
2938 typedef union cvmx_pciercx_cfg034 cvmx_pciercx_cfg034_t;
2941 * cvmx_pcierc#_cfg035
2943 * PCIE_CFG035 = Thirty-sixth 32-bits of PCIE type 1 config space
2944 * (Root Control Register/Root Capabilities Register)
2946 union cvmx_pciercx_cfg035 {
2948 struct cvmx_pciercx_cfg035_s {
2949 #ifdef __BIG_ENDIAN_BITFIELD
2950 uint32_t reserved_17_31 : 15;
2951 uint32_t crssv : 1; /**< CRS Software Visibility
2952 Not supported, hardwired to 0x0. */
2953 uint32_t reserved_5_15 : 11;
2954 uint32_t crssve : 1; /**< CRS Software Visibility Enable
2955 Not supported, hardwired to 0x0. */
2956 uint32_t pmeie : 1; /**< PME Interrupt Enable */
2957 uint32_t sefee : 1; /**< System Error on Fatal Error Enable */
2958 uint32_t senfee : 1; /**< System Error on Non-fatal Error Enable */
2959 uint32_t secee : 1; /**< System Error on Correctable Error Enable */
2962 uint32_t senfee : 1;
2965 uint32_t crssve : 1;
2966 uint32_t reserved_5_15 : 11;
2968 uint32_t reserved_17_31 : 15;
2971 struct cvmx_pciercx_cfg035_s cn52xx;
2972 struct cvmx_pciercx_cfg035_s cn52xxp1;
2973 struct cvmx_pciercx_cfg035_s cn56xx;
2974 struct cvmx_pciercx_cfg035_s cn56xxp1;
2975 struct cvmx_pciercx_cfg035_s cn61xx;
2976 struct cvmx_pciercx_cfg035_s cn63xx;
2977 struct cvmx_pciercx_cfg035_s cn63xxp1;
2978 struct cvmx_pciercx_cfg035_s cn66xx;
2979 struct cvmx_pciercx_cfg035_s cn68xx;
2980 struct cvmx_pciercx_cfg035_s cn68xxp1;
2981 struct cvmx_pciercx_cfg035_s cnf71xx;
2983 typedef union cvmx_pciercx_cfg035 cvmx_pciercx_cfg035_t;
2986 * cvmx_pcierc#_cfg036
2988 * PCIE_CFG036 = Thirty-seventh 32-bits of PCIE type 1 config space
2989 * (Root Status Register)
2991 union cvmx_pciercx_cfg036 {
2993 struct cvmx_pciercx_cfg036_s {
2994 #ifdef __BIG_ENDIAN_BITFIELD
2995 uint32_t reserved_18_31 : 14;
2996 uint32_t pme_pend : 1; /**< PME Pending */
2997 uint32_t pme_stat : 1; /**< PME Status */
2998 uint32_t pme_rid : 16; /**< PME Requester ID */
3000 uint32_t pme_rid : 16;
3001 uint32_t pme_stat : 1;
3002 uint32_t pme_pend : 1;
3003 uint32_t reserved_18_31 : 14;
3006 struct cvmx_pciercx_cfg036_s cn52xx;
3007 struct cvmx_pciercx_cfg036_s cn52xxp1;
3008 struct cvmx_pciercx_cfg036_s cn56xx;
3009 struct cvmx_pciercx_cfg036_s cn56xxp1;
3010 struct cvmx_pciercx_cfg036_s cn61xx;
3011 struct cvmx_pciercx_cfg036_s cn63xx;
3012 struct cvmx_pciercx_cfg036_s cn63xxp1;
3013 struct cvmx_pciercx_cfg036_s cn66xx;
3014 struct cvmx_pciercx_cfg036_s cn68xx;
3015 struct cvmx_pciercx_cfg036_s cn68xxp1;
3016 struct cvmx_pciercx_cfg036_s cnf71xx;
3018 typedef union cvmx_pciercx_cfg036 cvmx_pciercx_cfg036_t;
3021 * cvmx_pcierc#_cfg037
3023 * PCIE_CFG037 = Thirty-eighth 32-bits of PCIE type 1 config space
3024 * (Device Capabilities 2 Register)
3026 union cvmx_pciercx_cfg037 {
3028 struct cvmx_pciercx_cfg037_s {
3029 #ifdef __BIG_ENDIAN_BITFIELD
3030 uint32_t reserved_20_31 : 12;
3031 uint32_t obffs : 2; /**< Optimized Buffer Flush Fill (OBFF) Supported
3033 uint32_t reserved_12_17 : 6;
3034 uint32_t ltrs : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Supported
3036 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3037 When set, the routing element never carries out the passing
3038 permitted in the Relaxed Ordering Model. */
3039 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3041 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3043 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3045 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3047 uint32_t reserved_5_5 : 1;
3048 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3049 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3053 uint32_t reserved_5_5 : 1;
3054 uint32_t atom_ops : 1;
3055 uint32_t atom32s : 1;
3056 uint32_t atom64s : 1;
3057 uint32_t atom128s : 1;
3058 uint32_t noroprpr : 1;
3060 uint32_t reserved_12_17 : 6;
3062 uint32_t reserved_20_31 : 12;
3065 struct cvmx_pciercx_cfg037_cn52xx {
3066 #ifdef __BIG_ENDIAN_BITFIELD
3067 uint32_t reserved_5_31 : 27;
3068 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3069 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported
3070 Value of 0 indicates that Completion Timeout Programming
3072 Completion timeout is 16.7ms. */
3076 uint32_t reserved_5_31 : 27;
3079 struct cvmx_pciercx_cfg037_cn52xx cn52xxp1;
3080 struct cvmx_pciercx_cfg037_cn52xx cn56xx;
3081 struct cvmx_pciercx_cfg037_cn52xx cn56xxp1;
3082 struct cvmx_pciercx_cfg037_cn61xx {
3083 #ifdef __BIG_ENDIAN_BITFIELD
3084 uint32_t reserved_14_31 : 18;
3085 uint32_t tph : 2; /**< TPH Completer Supported
3087 uint32_t reserved_11_11 : 1;
3088 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3089 When set, the routing element never carries out the passing
3090 permitted in the Relaxed Ordering Model. */
3091 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3093 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3095 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3097 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3099 uint32_t ari_fw : 1; /**< ARI Forwarding Supported
3101 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3102 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3106 uint32_t ari_fw : 1;
3107 uint32_t atom_ops : 1;
3108 uint32_t atom32s : 1;
3109 uint32_t atom64s : 1;
3110 uint32_t atom128s : 1;
3111 uint32_t noroprpr : 1;
3112 uint32_t reserved_11_11 : 1;
3114 uint32_t reserved_14_31 : 18;
3117 struct cvmx_pciercx_cfg037_cn52xx cn63xx;
3118 struct cvmx_pciercx_cfg037_cn52xx cn63xxp1;
3119 struct cvmx_pciercx_cfg037_cn66xx {
3120 #ifdef __BIG_ENDIAN_BITFIELD
3121 uint32_t reserved_14_31 : 18;
3122 uint32_t tph : 2; /**< TPH Completer Supported
3124 uint32_t reserved_11_11 : 1;
3125 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3126 When set, the routing element never carries out the passing
3127 permitted in the Relaxed Ordering Model. */
3128 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3130 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3132 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3134 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3136 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3138 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3139 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3144 uint32_t atom_ops : 1;
3145 uint32_t atom32s : 1;
3146 uint32_t atom64s : 1;
3147 uint32_t atom128s : 1;
3148 uint32_t noroprpr : 1;
3149 uint32_t reserved_11_11 : 1;
3151 uint32_t reserved_14_31 : 18;
3154 struct cvmx_pciercx_cfg037_cn66xx cn68xx;
3155 struct cvmx_pciercx_cfg037_cn66xx cn68xxp1;
3156 struct cvmx_pciercx_cfg037_cnf71xx {
3157 #ifdef __BIG_ENDIAN_BITFIELD
3158 uint32_t reserved_20_31 : 12;
3159 uint32_t obffs : 2; /**< Optimized Buffer Flush Fill (OBFF) Supported
3161 uint32_t reserved_14_17 : 4;
3162 uint32_t tphs : 2; /**< TPH Completer Supported
3164 uint32_t ltrs : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Supported
3166 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3167 When set, the routing element never carries out the passing
3168 permitted in the Relaxed Ordering Model. */
3169 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3171 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3173 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3175 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3177 uint32_t ari_fw : 1; /**< ARI Forwarding Supported
3179 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3180 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3184 uint32_t ari_fw : 1;
3185 uint32_t atom_ops : 1;
3186 uint32_t atom32s : 1;
3187 uint32_t atom64s : 1;
3188 uint32_t atom128s : 1;
3189 uint32_t noroprpr : 1;
3192 uint32_t reserved_14_17 : 4;
3194 uint32_t reserved_20_31 : 12;
3198 typedef union cvmx_pciercx_cfg037 cvmx_pciercx_cfg037_t;
3201 * cvmx_pcierc#_cfg038
3203 * PCIE_CFG038 = Thirty-ninth 32-bits of PCIE type 1 config space
3204 * (Device Control 2 Register)
3206 union cvmx_pciercx_cfg038 {
3208 struct cvmx_pciercx_cfg038_s {
3209 #ifdef __BIG_ENDIAN_BITFIELD
3210 uint32_t reserved_15_31 : 17;
3211 uint32_t obffe : 2; /**< Optimized Buffer Flush Fill (OBFF) Enable
3213 uint32_t reserved_11_12 : 2;
3214 uint32_t ltre : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Enable
3216 uint32_t id0_cp : 1; /**< ID Based Ordering Completion Enable
3218 uint32_t id0_rq : 1; /**< ID Based Ordering Request Enable
3220 uint32_t atom_op_eb : 1; /**< AtomicOp Egress Blocking
3222 uint32_t atom_op : 1; /**< AtomicOp Requester Enable
3224 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3226 uint32_t ctd : 1; /**< Completion Timeout Disable */
3227 uint32_t ctv : 4; /**< Completion Timeout Value
3228 o 0000b Default range: 16 ms to 55 ms
3229 o 0001b 50 us to 100 us
3230 o 0010b 1 ms to 10 ms
3231 o 0101b 16 ms to 55 ms
3232 o 0110b 65 ms to 210 ms
3233 o 1001b 260 ms to 900 ms
3234 o 1010b 1 s to 3.5 s
3236 o 1110b 17 s to 64 s
3237 Values not defined are reserved */
3242 uint32_t atom_op : 1;
3243 uint32_t atom_op_eb : 1;
3244 uint32_t id0_rq : 1;
3245 uint32_t id0_cp : 1;
3247 uint32_t reserved_11_12 : 2;
3249 uint32_t reserved_15_31 : 17;
3252 struct cvmx_pciercx_cfg038_cn52xx {
3253 #ifdef __BIG_ENDIAN_BITFIELD
3254 uint32_t reserved_5_31 : 27;
3255 uint32_t ctd : 1; /**< Completion Timeout Disable */
3256 uint32_t ctv : 4; /**< Completion Timeout Value
3257 Completion Timeout Programming is not supported
3258 Completion timeout is 16.7ms. */
3262 uint32_t reserved_5_31 : 27;
3265 struct cvmx_pciercx_cfg038_cn52xx cn52xxp1;
3266 struct cvmx_pciercx_cfg038_cn52xx cn56xx;
3267 struct cvmx_pciercx_cfg038_cn52xx cn56xxp1;
3268 struct cvmx_pciercx_cfg038_cn61xx {
3269 #ifdef __BIG_ENDIAN_BITFIELD
3270 uint32_t reserved_10_31 : 22;
3271 uint32_t id0_cp : 1; /**< ID Based Ordering Completion Enable
3273 uint32_t id0_rq : 1; /**< ID Based Ordering Request Enable
3275 uint32_t atom_op_eb : 1; /**< AtomicOp Egress Blocking
3277 uint32_t atom_op : 1; /**< AtomicOp Requester Enable
3279 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3281 uint32_t ctd : 1; /**< Completion Timeout Disable */
3282 uint32_t ctv : 4; /**< Completion Timeout Value
3283 o 0000b Default range: 16 ms to 55 ms
3284 o 0001b 50 us to 100 us
3285 o 0010b 1 ms to 10 ms
3286 o 0101b 16 ms to 55 ms
3287 o 0110b 65 ms to 210 ms
3288 o 1001b 260 ms to 900 ms
3289 o 1010b 1 s to 3.5 s
3291 o 1110b 17 s to 64 s
3292 Values not defined are reserved */
3297 uint32_t atom_op : 1;
3298 uint32_t atom_op_eb : 1;
3299 uint32_t id0_rq : 1;
3300 uint32_t id0_cp : 1;
3301 uint32_t reserved_10_31 : 22;
3304 struct cvmx_pciercx_cfg038_cn52xx cn63xx;
3305 struct cvmx_pciercx_cfg038_cn52xx cn63xxp1;
3306 struct cvmx_pciercx_cfg038_cn61xx cn66xx;
3307 struct cvmx_pciercx_cfg038_cn61xx cn68xx;
3308 struct cvmx_pciercx_cfg038_cn61xx cn68xxp1;
3309 struct cvmx_pciercx_cfg038_s cnf71xx;
3311 typedef union cvmx_pciercx_cfg038 cvmx_pciercx_cfg038_t;
3314 * cvmx_pcierc#_cfg039
3316 * PCIE_CFG039 = Fourtieth 32-bits of PCIE type 1 config space
3317 * (Link Capabilities 2 Register)
3319 union cvmx_pciercx_cfg039 {
3321 struct cvmx_pciercx_cfg039_s {
3322 #ifdef __BIG_ENDIAN_BITFIELD
3323 uint32_t reserved_9_31 : 23;
3324 uint32_t cls : 1; /**< Crosslink Supported */
3325 uint32_t slsv : 7; /**< Supported Link Speeds Vector
3326 Indicates the supported Link speeds of the associated Port.
3327 For each bit, a value of 1b indicates that the cooresponding
3328 Link speed is supported; otherwise, the Link speed is not
3330 Bit definitions are:
3333 Bit 3 8.0 GT/s (Not Supported)
3335 The reset value of this field is controlled by a value sent from
3336 the lsb of the MIO_QLM#_SPD register
3337 qlm#_spd[0] RST_VALUE NOTE
3338 1 0001b 2.5 GHz supported
3339 0 0011b 5.0 GHz and 2.5 GHz supported */
3340 uint32_t reserved_0_0 : 1;
3342 uint32_t reserved_0_0 : 1;
3345 uint32_t reserved_9_31 : 23;
3348 struct cvmx_pciercx_cfg039_cn52xx {
3349 #ifdef __BIG_ENDIAN_BITFIELD
3350 uint32_t reserved_0_31 : 32;
3352 uint32_t reserved_0_31 : 32;
3355 struct cvmx_pciercx_cfg039_cn52xx cn52xxp1;
3356 struct cvmx_pciercx_cfg039_cn52xx cn56xx;
3357 struct cvmx_pciercx_cfg039_cn52xx cn56xxp1;
3358 struct cvmx_pciercx_cfg039_s cn61xx;
3359 struct cvmx_pciercx_cfg039_s cn63xx;
3360 struct cvmx_pciercx_cfg039_cn52xx cn63xxp1;
3361 struct cvmx_pciercx_cfg039_s cn66xx;
3362 struct cvmx_pciercx_cfg039_s cn68xx;
3363 struct cvmx_pciercx_cfg039_s cn68xxp1;
3364 struct cvmx_pciercx_cfg039_s cnf71xx;
3366 typedef union cvmx_pciercx_cfg039 cvmx_pciercx_cfg039_t;
3369 * cvmx_pcierc#_cfg040
3371 * PCIE_CFG040 = Fourty-first 32-bits of PCIE type 1 config space
3372 * (Link Control 2 Register/Link Status 2 Register)
3374 union cvmx_pciercx_cfg040 {
3376 struct cvmx_pciercx_cfg040_s {
3377 #ifdef __BIG_ENDIAN_BITFIELD
3378 uint32_t reserved_17_31 : 15;
3379 uint32_t cdl : 1; /**< Current De-emphasis Level
3380 When the Link is operating at 5 GT/s speed, this bit
3381 reflects the level of de-emphasis. Encodings:
3384 Note: The value in this bit is undefined when the Link is
3385 operating at 2.5 GT/s speed */
3386 uint32_t reserved_13_15 : 3;
3387 uint32_t cde : 1; /**< Compliance De-emphasis
3388 This bit sets the de-emphasis level in Polling. Compliance
3389 state if the entry occurred due to the Tx Compliance
3390 Receive bit being 1b. Encodings:
3393 Note: When the Link is operating at 2.5 GT/s, the setting
3394 of this bit has no effect. */
3395 uint32_t csos : 1; /**< Compliance SOS
3396 When set to 1b, the LTSSM is required to send SKP
3397 Ordered Sets periodically in between the (modified)
3398 compliance patterns.
3399 Note: When the Link is operating at 2.5 GT/s, the setting
3400 of this bit has no effect. */
3401 uint32_t emc : 1; /**< Enter Modified Compliance
3402 When this bit is set to 1b, the device transmits a modified
3403 compliance pattern if the LTSSM enters Polling.
3404 Compliance state. */
3405 uint32_t tm : 3; /**< Transmit Margin
3406 This field controls the value of the non-de-emphasized
3407 voltage level at the Transmitter signals:
3408 - 000: 800-1200 mV for full swing 400-600 mV for half-swing
3409 - 001-010: values must be monotonic with a non-zero slope
3410 - 011: 200-400 mV for full-swing and 100-200 mV for halfswing
3412 This field is reset to 000b on entry to the LTSSM Polling.
3413 Compliance substate.
3414 When operating in 5.0 GT/s mode with full swing, the
3415 de-emphasis ratio must be maintained within +/- 1 dB
3416 from the specification-defined operational value
3417 either -3.5 or -6 dB). */
3418 uint32_t sde : 1; /**< Selectable De-emphasis
3419 When the Link is operating at 5.0 GT/s speed, selects the
3420 level of de-emphasis:
3423 When the Link is operating at 2.5 GT/s speed, the setting
3424 of this bit has no effect. */
3425 uint32_t hasd : 1; /**< Hardware Autonomous Speed Disable
3427 application must disable hardware from changing the Link
3428 speed for device-specific reasons other than attempting to
3429 correct unreliable Link operation by reducing Link speed.
3430 Initial transition to the highest supported common link
3431 speed is not blocked by this signal. */
3432 uint32_t ec : 1; /**< Enter Compliance
3433 Software is permitted to force a link to enter Compliance
3434 mode at the speed indicated in the Target Link Speed
3435 field by setting this bit to 1b in both components on a link
3436 and then initiating a hot reset on the link. */
3437 uint32_t tls : 4; /**< Target Link Speed
3438 For Downstream ports, this field sets an upper limit on link
3439 operational speed by restricting the values advertised by
3440 the upstream component in its training sequences:
3441 - 0001: 2.5Gb/s Target Link Speed
3442 - 0010: 5Gb/s Target Link Speed
3443 - 0100: 8Gb/s Target Link Speed (Not Supported)
3444 All other encodings are reserved.
3445 If a value is written to this field that does not correspond to
3446 a speed included in the Supported Link Speeds field, the
3447 result is undefined.
3448 For both Upstream and Downstream ports, this field is
3449 used to set the target compliance mode speed when
3450 software is using the Enter Compliance bit to force a link
3451 into compliance mode.
3452 The reset value of this field is controlled by a value sent from
3453 the lsb of the MIO_QLM#_SPD register.
3454 qlm#_spd[0] RST_VALUE NOTE
3455 1 0001b 2.5 GHz supported
3456 0 0010b 5.0 GHz and 2.5 GHz supported */
3466 uint32_t reserved_13_15 : 3;
3468 uint32_t reserved_17_31 : 15;
3471 struct cvmx_pciercx_cfg040_cn52xx {
3472 #ifdef __BIG_ENDIAN_BITFIELD
3473 uint32_t reserved_0_31 : 32;
3475 uint32_t reserved_0_31 : 32;
3478 struct cvmx_pciercx_cfg040_cn52xx cn52xxp1;
3479 struct cvmx_pciercx_cfg040_cn52xx cn56xx;
3480 struct cvmx_pciercx_cfg040_cn52xx cn56xxp1;
3481 struct cvmx_pciercx_cfg040_s cn61xx;
3482 struct cvmx_pciercx_cfg040_s cn63xx;
3483 struct cvmx_pciercx_cfg040_s cn63xxp1;
3484 struct cvmx_pciercx_cfg040_s cn66xx;
3485 struct cvmx_pciercx_cfg040_s cn68xx;
3486 struct cvmx_pciercx_cfg040_s cn68xxp1;
3487 struct cvmx_pciercx_cfg040_s cnf71xx;
3489 typedef union cvmx_pciercx_cfg040 cvmx_pciercx_cfg040_t;
3492 * cvmx_pcierc#_cfg041
3494 * PCIE_CFG041 = Fourty-second 32-bits of PCIE type 1 config space
3495 * (Slot Capabilities 2 Register)
3497 union cvmx_pciercx_cfg041 {
3499 struct cvmx_pciercx_cfg041_s {
3500 #ifdef __BIG_ENDIAN_BITFIELD
3501 uint32_t reserved_0_31 : 32;
3503 uint32_t reserved_0_31 : 32;
3506 struct cvmx_pciercx_cfg041_s cn52xx;
3507 struct cvmx_pciercx_cfg041_s cn52xxp1;
3508 struct cvmx_pciercx_cfg041_s cn56xx;
3509 struct cvmx_pciercx_cfg041_s cn56xxp1;
3510 struct cvmx_pciercx_cfg041_s cn61xx;
3511 struct cvmx_pciercx_cfg041_s cn63xx;
3512 struct cvmx_pciercx_cfg041_s cn63xxp1;
3513 struct cvmx_pciercx_cfg041_s cn66xx;
3514 struct cvmx_pciercx_cfg041_s cn68xx;
3515 struct cvmx_pciercx_cfg041_s cn68xxp1;
3516 struct cvmx_pciercx_cfg041_s cnf71xx;
3518 typedef union cvmx_pciercx_cfg041 cvmx_pciercx_cfg041_t;
3521 * cvmx_pcierc#_cfg042
3523 * PCIE_CFG042 = Fourty-third 32-bits of PCIE type 1 config space
3524 * (Slot Control 2 Register/Slot Status 2 Register)
3526 union cvmx_pciercx_cfg042 {
3528 struct cvmx_pciercx_cfg042_s {
3529 #ifdef __BIG_ENDIAN_BITFIELD
3530 uint32_t reserved_0_31 : 32;
3532 uint32_t reserved_0_31 : 32;
3535 struct cvmx_pciercx_cfg042_s cn52xx;
3536 struct cvmx_pciercx_cfg042_s cn52xxp1;
3537 struct cvmx_pciercx_cfg042_s cn56xx;
3538 struct cvmx_pciercx_cfg042_s cn56xxp1;
3539 struct cvmx_pciercx_cfg042_s cn61xx;
3540 struct cvmx_pciercx_cfg042_s cn63xx;
3541 struct cvmx_pciercx_cfg042_s cn63xxp1;
3542 struct cvmx_pciercx_cfg042_s cn66xx;
3543 struct cvmx_pciercx_cfg042_s cn68xx;
3544 struct cvmx_pciercx_cfg042_s cn68xxp1;
3545 struct cvmx_pciercx_cfg042_s cnf71xx;
3547 typedef union cvmx_pciercx_cfg042 cvmx_pciercx_cfg042_t;
3550 * cvmx_pcierc#_cfg064
3552 * PCIE_CFG064 = Sixty-fifth 32-bits of PCIE type 1 config space
3553 * (PCI Express Extended Capability Header)
3555 union cvmx_pciercx_cfg064 {
3557 struct cvmx_pciercx_cfg064_s {
3558 #ifdef __BIG_ENDIAN_BITFIELD
3559 uint32_t nco : 12; /**< Next Capability Offset */
3560 uint32_t cv : 4; /**< Capability Version */
3561 uint32_t pcieec : 16; /**< PCIE Express Extended Capability */
3563 uint32_t pcieec : 16;
3568 struct cvmx_pciercx_cfg064_s cn52xx;
3569 struct cvmx_pciercx_cfg064_s cn52xxp1;
3570 struct cvmx_pciercx_cfg064_s cn56xx;
3571 struct cvmx_pciercx_cfg064_s cn56xxp1;
3572 struct cvmx_pciercx_cfg064_s cn61xx;
3573 struct cvmx_pciercx_cfg064_s cn63xx;
3574 struct cvmx_pciercx_cfg064_s cn63xxp1;
3575 struct cvmx_pciercx_cfg064_s cn66xx;
3576 struct cvmx_pciercx_cfg064_s cn68xx;
3577 struct cvmx_pciercx_cfg064_s cn68xxp1;
3578 struct cvmx_pciercx_cfg064_s cnf71xx;
3580 typedef union cvmx_pciercx_cfg064 cvmx_pciercx_cfg064_t;
3583 * cvmx_pcierc#_cfg065
3585 * PCIE_CFG065 = Sixty-sixth 32-bits of PCIE type 1 config space
3586 * (Uncorrectable Error Status Register)
3588 union cvmx_pciercx_cfg065 {
3590 struct cvmx_pciercx_cfg065_s {
3591 #ifdef __BIG_ENDIAN_BITFIELD
3592 uint32_t reserved_25_31 : 7;
3593 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Status */
3594 uint32_t reserved_23_23 : 1;
3595 uint32_t ucies : 1; /**< Uncorrectable Internal Error Status */
3596 uint32_t reserved_21_21 : 1;
3597 uint32_t ures : 1; /**< Unsupported Request Error Status */
3598 uint32_t ecrces : 1; /**< ECRC Error Status */
3599 uint32_t mtlps : 1; /**< Malformed TLP Status */
3600 uint32_t ros : 1; /**< Receiver Overflow Status */
3601 uint32_t ucs : 1; /**< Unexpected Completion Status */
3602 uint32_t cas : 1; /**< Completer Abort Status */
3603 uint32_t cts : 1; /**< Completion Timeout Status */
3604 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3605 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3606 uint32_t reserved_6_11 : 6;
3607 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3608 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3609 uint32_t reserved_0_3 : 4;
3611 uint32_t reserved_0_3 : 4;
3614 uint32_t reserved_6_11 : 6;
3622 uint32_t ecrces : 1;
3624 uint32_t reserved_21_21 : 1;
3626 uint32_t reserved_23_23 : 1;
3627 uint32_t uatombs : 1;
3628 uint32_t reserved_25_31 : 7;
3631 struct cvmx_pciercx_cfg065_cn52xx {
3632 #ifdef __BIG_ENDIAN_BITFIELD
3633 uint32_t reserved_21_31 : 11;
3634 uint32_t ures : 1; /**< Unsupported Request Error Status */
3635 uint32_t ecrces : 1; /**< ECRC Error Status */
3636 uint32_t mtlps : 1; /**< Malformed TLP Status */
3637 uint32_t ros : 1; /**< Receiver Overflow Status */
3638 uint32_t ucs : 1; /**< Unexpected Completion Status */
3639 uint32_t cas : 1; /**< Completer Abort Status */
3640 uint32_t cts : 1; /**< Completion Timeout Status */
3641 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3642 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3643 uint32_t reserved_6_11 : 6;
3644 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3645 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3646 uint32_t reserved_0_3 : 4;
3648 uint32_t reserved_0_3 : 4;
3651 uint32_t reserved_6_11 : 6;
3659 uint32_t ecrces : 1;
3661 uint32_t reserved_21_31 : 11;
3664 struct cvmx_pciercx_cfg065_cn52xx cn52xxp1;
3665 struct cvmx_pciercx_cfg065_cn52xx cn56xx;
3666 struct cvmx_pciercx_cfg065_cn52xx cn56xxp1;
3667 struct cvmx_pciercx_cfg065_cn61xx {
3668 #ifdef __BIG_ENDIAN_BITFIELD
3669 uint32_t reserved_25_31 : 7;
3670 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Status */
3671 uint32_t reserved_21_23 : 3;
3672 uint32_t ures : 1; /**< Unsupported Request Error Status */
3673 uint32_t ecrces : 1; /**< ECRC Error Status */
3674 uint32_t mtlps : 1; /**< Malformed TLP Status */
3675 uint32_t ros : 1; /**< Receiver Overflow Status */
3676 uint32_t ucs : 1; /**< Unexpected Completion Status */
3677 uint32_t cas : 1; /**< Completer Abort Status */
3678 uint32_t cts : 1; /**< Completion Timeout Status */
3679 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3680 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3681 uint32_t reserved_6_11 : 6;
3682 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3683 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3684 uint32_t reserved_0_3 : 4;
3686 uint32_t reserved_0_3 : 4;
3689 uint32_t reserved_6_11 : 6;
3697 uint32_t ecrces : 1;
3699 uint32_t reserved_21_23 : 3;
3700 uint32_t uatombs : 1;
3701 uint32_t reserved_25_31 : 7;
3704 struct cvmx_pciercx_cfg065_cn52xx cn63xx;
3705 struct cvmx_pciercx_cfg065_cn52xx cn63xxp1;
3706 struct cvmx_pciercx_cfg065_cn61xx cn66xx;
3707 struct cvmx_pciercx_cfg065_cn61xx cn68xx;
3708 struct cvmx_pciercx_cfg065_cn52xx cn68xxp1;
3709 struct cvmx_pciercx_cfg065_s cnf71xx;
3711 typedef union cvmx_pciercx_cfg065 cvmx_pciercx_cfg065_t;
3714 * cvmx_pcierc#_cfg066
3716 * PCIE_CFG066 = Sixty-seventh 32-bits of PCIE type 1 config space
3717 * (Uncorrectable Error Mask Register)
3719 union cvmx_pciercx_cfg066 {
3721 struct cvmx_pciercx_cfg066_s {
3722 #ifdef __BIG_ENDIAN_BITFIELD
3723 uint32_t reserved_25_31 : 7;
3724 uint32_t uatombm : 1; /**< Unsupported AtomicOp Egress Blocked Mask */
3725 uint32_t reserved_23_23 : 1;
3726 uint32_t uciem : 1; /**< Uncorrectable Internal Error Mask */
3727 uint32_t reserved_21_21 : 1;
3728 uint32_t urem : 1; /**< Unsupported Request Error Mask */
3729 uint32_t ecrcem : 1; /**< ECRC Error Mask */
3730 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
3731 uint32_t rom : 1; /**< Receiver Overflow Mask */
3732 uint32_t ucm : 1; /**< Unexpected Completion Mask */
3733 uint32_t cam : 1; /**< Completer Abort Mask */
3734 uint32_t ctm : 1; /**< Completion Timeout Mask */
3735 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
3736 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
3737 uint32_t reserved_6_11 : 6;
3738 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
3739 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
3740 uint32_t reserved_0_3 : 4;
3742 uint32_t reserved_0_3 : 4;
3745 uint32_t reserved_6_11 : 6;
3753 uint32_t ecrcem : 1;
3755 uint32_t reserved_21_21 : 1;
3757 uint32_t reserved_23_23 : 1;
3758 uint32_t uatombm : 1;
3759 uint32_t reserved_25_31 : 7;
3762 struct cvmx_pciercx_cfg066_cn52xx {
3763 #ifdef __BIG_ENDIAN_BITFIELD
3764 uint32_t reserved_21_31 : 11;
3765 uint32_t urem : 1; /**< Unsupported Request Error Mask */
3766 uint32_t ecrcem : 1; /**< ECRC Error Mask */
3767 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
3768 uint32_t rom : 1; /**< Receiver Overflow Mask */
3769 uint32_t ucm : 1; /**< Unexpected Completion Mask */
3770 uint32_t cam : 1; /**< Completer Abort Mask */
3771 uint32_t ctm : 1; /**< Completion Timeout Mask */
3772 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
3773 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
3774 uint32_t reserved_6_11 : 6;
3775 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
3776 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
3777 uint32_t reserved_0_3 : 4;
3779 uint32_t reserved_0_3 : 4;
3782 uint32_t reserved_6_11 : 6;
3790 uint32_t ecrcem : 1;
3792 uint32_t reserved_21_31 : 11;
3795 struct cvmx_pciercx_cfg066_cn52xx cn52xxp1;
3796 struct cvmx_pciercx_cfg066_cn52xx cn56xx;
3797 struct cvmx_pciercx_cfg066_cn52xx cn56xxp1;
3798 struct cvmx_pciercx_cfg066_cn61xx {
3799 #ifdef __BIG_ENDIAN_BITFIELD
3800 uint32_t reserved_25_31 : 7;
3801 uint32_t uatombm : 1; /**< Unsupported AtomicOp Egress Blocked Mask */
3802 uint32_t reserved_21_23 : 3;
3803 uint32_t urem : 1; /**< Unsupported Request Error Mask */
3804 uint32_t ecrcem : 1; /**< ECRC Error Mask */
3805 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
3806 uint32_t rom : 1; /**< Receiver Overflow Mask */
3807 uint32_t ucm : 1; /**< Unexpected Completion Mask */
3808 uint32_t cam : 1; /**< Completer Abort Mask */
3809 uint32_t ctm : 1; /**< Completion Timeout Mask */
3810 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
3811 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
3812 uint32_t reserved_6_11 : 6;
3813 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
3814 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
3815 uint32_t reserved_0_3 : 4;
3817 uint32_t reserved_0_3 : 4;
3820 uint32_t reserved_6_11 : 6;
3828 uint32_t ecrcem : 1;
3830 uint32_t reserved_21_23 : 3;
3831 uint32_t uatombm : 1;
3832 uint32_t reserved_25_31 : 7;
3835 struct cvmx_pciercx_cfg066_cn52xx cn63xx;
3836 struct cvmx_pciercx_cfg066_cn52xx cn63xxp1;
3837 struct cvmx_pciercx_cfg066_cn61xx cn66xx;
3838 struct cvmx_pciercx_cfg066_cn61xx cn68xx;
3839 struct cvmx_pciercx_cfg066_cn52xx cn68xxp1;
3840 struct cvmx_pciercx_cfg066_s cnf71xx;
3842 typedef union cvmx_pciercx_cfg066 cvmx_pciercx_cfg066_t;
3845 * cvmx_pcierc#_cfg067
3847 * PCIE_CFG067 = Sixty-eighth 32-bits of PCIE type 1 config space
3848 * (Uncorrectable Error Severity Register)
3850 union cvmx_pciercx_cfg067 {
3852 struct cvmx_pciercx_cfg067_s {
3853 #ifdef __BIG_ENDIAN_BITFIELD
3854 uint32_t reserved_25_31 : 7;
3855 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Severity */
3856 uint32_t reserved_23_23 : 1;
3857 uint32_t ucies : 1; /**< Uncorrectable Internal Error Severity */
3858 uint32_t reserved_21_21 : 1;
3859 uint32_t ures : 1; /**< Unsupported Request Error Severity */
3860 uint32_t ecrces : 1; /**< ECRC Error Severity */
3861 uint32_t mtlps : 1; /**< Malformed TLP Severity */
3862 uint32_t ros : 1; /**< Receiver Overflow Severity */
3863 uint32_t ucs : 1; /**< Unexpected Completion Severity */
3864 uint32_t cas : 1; /**< Completer Abort Severity */
3865 uint32_t cts : 1; /**< Completion Timeout Severity */
3866 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
3867 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
3868 uint32_t reserved_6_11 : 6;
3869 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
3870 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
3871 uint32_t reserved_0_3 : 4;
3873 uint32_t reserved_0_3 : 4;
3876 uint32_t reserved_6_11 : 6;
3884 uint32_t ecrces : 1;
3886 uint32_t reserved_21_21 : 1;
3888 uint32_t reserved_23_23 : 1;
3889 uint32_t uatombs : 1;
3890 uint32_t reserved_25_31 : 7;
3893 struct cvmx_pciercx_cfg067_cn52xx {
3894 #ifdef __BIG_ENDIAN_BITFIELD
3895 uint32_t reserved_21_31 : 11;
3896 uint32_t ures : 1; /**< Unsupported Request Error Severity */
3897 uint32_t ecrces : 1; /**< ECRC Error Severity */
3898 uint32_t mtlps : 1; /**< Malformed TLP Severity */
3899 uint32_t ros : 1; /**< Receiver Overflow Severity */
3900 uint32_t ucs : 1; /**< Unexpected Completion Severity */
3901 uint32_t cas : 1; /**< Completer Abort Severity */
3902 uint32_t cts : 1; /**< Completion Timeout Severity */
3903 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
3904 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
3905 uint32_t reserved_6_11 : 6;
3906 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
3907 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
3908 uint32_t reserved_0_3 : 4;
3910 uint32_t reserved_0_3 : 4;
3913 uint32_t reserved_6_11 : 6;
3921 uint32_t ecrces : 1;
3923 uint32_t reserved_21_31 : 11;
3926 struct cvmx_pciercx_cfg067_cn52xx cn52xxp1;
3927 struct cvmx_pciercx_cfg067_cn52xx cn56xx;
3928 struct cvmx_pciercx_cfg067_cn52xx cn56xxp1;
3929 struct cvmx_pciercx_cfg067_cn61xx {
3930 #ifdef __BIG_ENDIAN_BITFIELD
3931 uint32_t reserved_25_31 : 7;
3932 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Severity */
3933 uint32_t reserved_21_23 : 3;
3934 uint32_t ures : 1; /**< Unsupported Request Error Severity */
3935 uint32_t ecrces : 1; /**< ECRC Error Severity */
3936 uint32_t mtlps : 1; /**< Malformed TLP Severity */
3937 uint32_t ros : 1; /**< Receiver Overflow Severity */
3938 uint32_t ucs : 1; /**< Unexpected Completion Severity */
3939 uint32_t cas : 1; /**< Completer Abort Severity */
3940 uint32_t cts : 1; /**< Completion Timeout Severity */
3941 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
3942 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
3943 uint32_t reserved_6_11 : 6;
3944 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
3945 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
3946 uint32_t reserved_0_3 : 4;
3948 uint32_t reserved_0_3 : 4;
3951 uint32_t reserved_6_11 : 6;
3959 uint32_t ecrces : 1;
3961 uint32_t reserved_21_23 : 3;
3962 uint32_t uatombs : 1;
3963 uint32_t reserved_25_31 : 7;
3966 struct cvmx_pciercx_cfg067_cn52xx cn63xx;
3967 struct cvmx_pciercx_cfg067_cn52xx cn63xxp1;
3968 struct cvmx_pciercx_cfg067_cn61xx cn66xx;
3969 struct cvmx_pciercx_cfg067_cn61xx cn68xx;
3970 struct cvmx_pciercx_cfg067_cn52xx cn68xxp1;
3971 struct cvmx_pciercx_cfg067_s cnf71xx;
3973 typedef union cvmx_pciercx_cfg067 cvmx_pciercx_cfg067_t;
3976 * cvmx_pcierc#_cfg068
3978 * PCIE_CFG068 = Sixty-ninth 32-bits of PCIE type 1 config space
3979 * (Correctable Error Status Register)
3981 union cvmx_pciercx_cfg068 {
3983 struct cvmx_pciercx_cfg068_s {
3984 #ifdef __BIG_ENDIAN_BITFIELD
3985 uint32_t reserved_15_31 : 17;
3986 uint32_t cies : 1; /**< Corrected Internal Error Status */
3987 uint32_t anfes : 1; /**< Advisory Non-Fatal Error Status */
3988 uint32_t rtts : 1; /**< Replay Timer Timeout Status */
3989 uint32_t reserved_9_11 : 3;
3990 uint32_t rnrs : 1; /**< REPLAY_NUM Rollover Status */
3991 uint32_t bdllps : 1; /**< Bad DLLP Status */
3992 uint32_t btlps : 1; /**< Bad TLP Status */
3993 uint32_t reserved_1_5 : 5;
3994 uint32_t res : 1; /**< Receiver Error Status */
3997 uint32_t reserved_1_5 : 5;
3999 uint32_t bdllps : 1;
4001 uint32_t reserved_9_11 : 3;
4005 uint32_t reserved_15_31 : 17;
4008 struct cvmx_pciercx_cfg068_cn52xx {
4009 #ifdef __BIG_ENDIAN_BITFIELD
4010 uint32_t reserved_14_31 : 18;
4011 uint32_t anfes : 1; /**< Advisory Non-Fatal Error Status */
4012 uint32_t rtts : 1; /**< Replay Timer Timeout Status */
4013 uint32_t reserved_9_11 : 3;
4014 uint32_t rnrs : 1; /**< REPLAY_NUM Rollover Status */
4015 uint32_t bdllps : 1; /**< Bad DLLP Status */
4016 uint32_t btlps : 1; /**< Bad TLP Status */
4017 uint32_t reserved_1_5 : 5;
4018 uint32_t res : 1; /**< Receiver Error Status */
4021 uint32_t reserved_1_5 : 5;
4023 uint32_t bdllps : 1;
4025 uint32_t reserved_9_11 : 3;
4028 uint32_t reserved_14_31 : 18;
4031 struct cvmx_pciercx_cfg068_cn52xx cn52xxp1;
4032 struct cvmx_pciercx_cfg068_cn52xx cn56xx;
4033 struct cvmx_pciercx_cfg068_cn52xx cn56xxp1;
4034 struct cvmx_pciercx_cfg068_cn52xx cn61xx;
4035 struct cvmx_pciercx_cfg068_cn52xx cn63xx;
4036 struct cvmx_pciercx_cfg068_cn52xx cn63xxp1;
4037 struct cvmx_pciercx_cfg068_cn52xx cn66xx;
4038 struct cvmx_pciercx_cfg068_cn52xx cn68xx;
4039 struct cvmx_pciercx_cfg068_cn52xx cn68xxp1;
4040 struct cvmx_pciercx_cfg068_s cnf71xx;
4042 typedef union cvmx_pciercx_cfg068 cvmx_pciercx_cfg068_t;
4045 * cvmx_pcierc#_cfg069
4047 * PCIE_CFG069 = Seventieth 32-bits of PCIE type 1 config space
4048 * (Correctable Error Mask Register)
4050 union cvmx_pciercx_cfg069 {
4052 struct cvmx_pciercx_cfg069_s {
4053 #ifdef __BIG_ENDIAN_BITFIELD
4054 uint32_t reserved_15_31 : 17;
4055 uint32_t ciem : 1; /**< Corrected Internal Error Mask */
4056 uint32_t anfem : 1; /**< Advisory Non-Fatal Error Mask */
4057 uint32_t rttm : 1; /**< Replay Timer Timeout Mask */
4058 uint32_t reserved_9_11 : 3;
4059 uint32_t rnrm : 1; /**< REPLAY_NUM Rollover Mask */
4060 uint32_t bdllpm : 1; /**< Bad DLLP Mask */
4061 uint32_t btlpm : 1; /**< Bad TLP Mask */
4062 uint32_t reserved_1_5 : 5;
4063 uint32_t rem : 1; /**< Receiver Error Mask */
4066 uint32_t reserved_1_5 : 5;
4068 uint32_t bdllpm : 1;
4070 uint32_t reserved_9_11 : 3;
4074 uint32_t reserved_15_31 : 17;
4077 struct cvmx_pciercx_cfg069_cn52xx {
4078 #ifdef __BIG_ENDIAN_BITFIELD
4079 uint32_t reserved_14_31 : 18;
4080 uint32_t anfem : 1; /**< Advisory Non-Fatal Error Mask */
4081 uint32_t rttm : 1; /**< Replay Timer Timeout Mask */
4082 uint32_t reserved_9_11 : 3;
4083 uint32_t rnrm : 1; /**< REPLAY_NUM Rollover Mask */
4084 uint32_t bdllpm : 1; /**< Bad DLLP Mask */
4085 uint32_t btlpm : 1; /**< Bad TLP Mask */
4086 uint32_t reserved_1_5 : 5;
4087 uint32_t rem : 1; /**< Receiver Error Mask */
4090 uint32_t reserved_1_5 : 5;
4092 uint32_t bdllpm : 1;
4094 uint32_t reserved_9_11 : 3;
4097 uint32_t reserved_14_31 : 18;
4100 struct cvmx_pciercx_cfg069_cn52xx cn52xxp1;
4101 struct cvmx_pciercx_cfg069_cn52xx cn56xx;
4102 struct cvmx_pciercx_cfg069_cn52xx cn56xxp1;
4103 struct cvmx_pciercx_cfg069_cn52xx cn61xx;
4104 struct cvmx_pciercx_cfg069_cn52xx cn63xx;
4105 struct cvmx_pciercx_cfg069_cn52xx cn63xxp1;
4106 struct cvmx_pciercx_cfg069_cn52xx cn66xx;
4107 struct cvmx_pciercx_cfg069_cn52xx cn68xx;
4108 struct cvmx_pciercx_cfg069_cn52xx cn68xxp1;
4109 struct cvmx_pciercx_cfg069_s cnf71xx;
4111 typedef union cvmx_pciercx_cfg069 cvmx_pciercx_cfg069_t;
4114 * cvmx_pcierc#_cfg070
4116 * PCIE_CFG070 = Seventy-first 32-bits of PCIE type 1 config space
4117 * (Advanced Capabilities and Control Register)
4119 union cvmx_pciercx_cfg070 {
4121 struct cvmx_pciercx_cfg070_s {
4122 #ifdef __BIG_ENDIAN_BITFIELD
4123 uint32_t reserved_9_31 : 23;
4124 uint32_t ce : 1; /**< ECRC Check Enable */
4125 uint32_t cc : 1; /**< ECRC Check Capable */
4126 uint32_t ge : 1; /**< ECRC Generation Enable */
4127 uint32_t gc : 1; /**< ECRC Generation Capability */
4128 uint32_t fep : 5; /**< First Error Pointer */
4135 uint32_t reserved_9_31 : 23;
4138 struct cvmx_pciercx_cfg070_s cn52xx;
4139 struct cvmx_pciercx_cfg070_s cn52xxp1;
4140 struct cvmx_pciercx_cfg070_s cn56xx;
4141 struct cvmx_pciercx_cfg070_s cn56xxp1;
4142 struct cvmx_pciercx_cfg070_s cn61xx;
4143 struct cvmx_pciercx_cfg070_s cn63xx;
4144 struct cvmx_pciercx_cfg070_s cn63xxp1;
4145 struct cvmx_pciercx_cfg070_s cn66xx;
4146 struct cvmx_pciercx_cfg070_s cn68xx;
4147 struct cvmx_pciercx_cfg070_s cn68xxp1;
4148 struct cvmx_pciercx_cfg070_s cnf71xx;
4150 typedef union cvmx_pciercx_cfg070 cvmx_pciercx_cfg070_t;
4153 * cvmx_pcierc#_cfg071
4155 * PCIE_CFG071 = Seventy-second 32-bits of PCIE type 1 config space
4156 * (Header Log Register 1)
4158 * The Header Log registers collect the header for the TLP corresponding to a detected error.
4160 union cvmx_pciercx_cfg071 {
4162 struct cvmx_pciercx_cfg071_s {
4163 #ifdef __BIG_ENDIAN_BITFIELD
4164 uint32_t dword1 : 32; /**< Header Log Register (first DWORD) */
4166 uint32_t dword1 : 32;
4169 struct cvmx_pciercx_cfg071_s cn52xx;
4170 struct cvmx_pciercx_cfg071_s cn52xxp1;
4171 struct cvmx_pciercx_cfg071_s cn56xx;
4172 struct cvmx_pciercx_cfg071_s cn56xxp1;
4173 struct cvmx_pciercx_cfg071_s cn61xx;
4174 struct cvmx_pciercx_cfg071_s cn63xx;
4175 struct cvmx_pciercx_cfg071_s cn63xxp1;
4176 struct cvmx_pciercx_cfg071_s cn66xx;
4177 struct cvmx_pciercx_cfg071_s cn68xx;
4178 struct cvmx_pciercx_cfg071_s cn68xxp1;
4179 struct cvmx_pciercx_cfg071_s cnf71xx;
4181 typedef union cvmx_pciercx_cfg071 cvmx_pciercx_cfg071_t;
4184 * cvmx_pcierc#_cfg072
4186 * PCIE_CFG072 = Seventy-third 32-bits of PCIE type 1 config space
4187 * (Header Log Register 2)
4189 * The Header Log registers collect the header for the TLP corresponding to a detected error.
4191 union cvmx_pciercx_cfg072 {
4193 struct cvmx_pciercx_cfg072_s {
4194 #ifdef __BIG_ENDIAN_BITFIELD
4195 uint32_t dword2 : 32; /**< Header Log Register (second DWORD) */
4197 uint32_t dword2 : 32;
4200 struct cvmx_pciercx_cfg072_s cn52xx;
4201 struct cvmx_pciercx_cfg072_s cn52xxp1;
4202 struct cvmx_pciercx_cfg072_s cn56xx;
4203 struct cvmx_pciercx_cfg072_s cn56xxp1;
4204 struct cvmx_pciercx_cfg072_s cn61xx;
4205 struct cvmx_pciercx_cfg072_s cn63xx;
4206 struct cvmx_pciercx_cfg072_s cn63xxp1;
4207 struct cvmx_pciercx_cfg072_s cn66xx;
4208 struct cvmx_pciercx_cfg072_s cn68xx;
4209 struct cvmx_pciercx_cfg072_s cn68xxp1;
4210 struct cvmx_pciercx_cfg072_s cnf71xx;
4212 typedef union cvmx_pciercx_cfg072 cvmx_pciercx_cfg072_t;
4215 * cvmx_pcierc#_cfg073
4217 * PCIE_CFG073 = Seventy-fourth 32-bits of PCIE type 1 config space
4218 * (Header Log Register 3)
4220 * The Header Log registers collect the header for the TLP corresponding to a detected error.
4222 union cvmx_pciercx_cfg073 {
4224 struct cvmx_pciercx_cfg073_s {
4225 #ifdef __BIG_ENDIAN_BITFIELD
4226 uint32_t dword3 : 32; /**< Header Log Register (third DWORD) */
4228 uint32_t dword3 : 32;
4231 struct cvmx_pciercx_cfg073_s cn52xx;
4232 struct cvmx_pciercx_cfg073_s cn52xxp1;
4233 struct cvmx_pciercx_cfg073_s cn56xx;
4234 struct cvmx_pciercx_cfg073_s cn56xxp1;
4235 struct cvmx_pciercx_cfg073_s cn61xx;
4236 struct cvmx_pciercx_cfg073_s cn63xx;
4237 struct cvmx_pciercx_cfg073_s cn63xxp1;
4238 struct cvmx_pciercx_cfg073_s cn66xx;
4239 struct cvmx_pciercx_cfg073_s cn68xx;
4240 struct cvmx_pciercx_cfg073_s cn68xxp1;
4241 struct cvmx_pciercx_cfg073_s cnf71xx;
4243 typedef union cvmx_pciercx_cfg073 cvmx_pciercx_cfg073_t;
4246 * cvmx_pcierc#_cfg074
4248 * PCIE_CFG074 = Seventy-fifth 32-bits of PCIE type 1 config space
4249 * (Header Log Register 4)
4251 * The Header Log registers collect the header for the TLP corresponding to a detected error.
4253 union cvmx_pciercx_cfg074 {
4255 struct cvmx_pciercx_cfg074_s {
4256 #ifdef __BIG_ENDIAN_BITFIELD
4257 uint32_t dword4 : 32; /**< Header Log Register (fourth DWORD) */
4259 uint32_t dword4 : 32;
4262 struct cvmx_pciercx_cfg074_s cn52xx;
4263 struct cvmx_pciercx_cfg074_s cn52xxp1;
4264 struct cvmx_pciercx_cfg074_s cn56xx;
4265 struct cvmx_pciercx_cfg074_s cn56xxp1;
4266 struct cvmx_pciercx_cfg074_s cn61xx;
4267 struct cvmx_pciercx_cfg074_s cn63xx;
4268 struct cvmx_pciercx_cfg074_s cn63xxp1;
4269 struct cvmx_pciercx_cfg074_s cn66xx;
4270 struct cvmx_pciercx_cfg074_s cn68xx;
4271 struct cvmx_pciercx_cfg074_s cn68xxp1;
4272 struct cvmx_pciercx_cfg074_s cnf71xx;
4274 typedef union cvmx_pciercx_cfg074 cvmx_pciercx_cfg074_t;
4277 * cvmx_pcierc#_cfg075
4279 * PCIE_CFG075 = Seventy-sixth 32-bits of PCIE type 1 config space
4280 * (Root Error Command Register)
4282 union cvmx_pciercx_cfg075 {
4284 struct cvmx_pciercx_cfg075_s {
4285 #ifdef __BIG_ENDIAN_BITFIELD
4286 uint32_t reserved_3_31 : 29;
4287 uint32_t fere : 1; /**< Fatal Error Reporting Enable */
4288 uint32_t nfere : 1; /**< Non-Fatal Error Reporting Enable */
4289 uint32_t cere : 1; /**< Correctable Error Reporting Enable */
4294 uint32_t reserved_3_31 : 29;
4297 struct cvmx_pciercx_cfg075_s cn52xx;
4298 struct cvmx_pciercx_cfg075_s cn52xxp1;
4299 struct cvmx_pciercx_cfg075_s cn56xx;
4300 struct cvmx_pciercx_cfg075_s cn56xxp1;
4301 struct cvmx_pciercx_cfg075_s cn61xx;
4302 struct cvmx_pciercx_cfg075_s cn63xx;
4303 struct cvmx_pciercx_cfg075_s cn63xxp1;
4304 struct cvmx_pciercx_cfg075_s cn66xx;
4305 struct cvmx_pciercx_cfg075_s cn68xx;
4306 struct cvmx_pciercx_cfg075_s cn68xxp1;
4307 struct cvmx_pciercx_cfg075_s cnf71xx;
4309 typedef union cvmx_pciercx_cfg075 cvmx_pciercx_cfg075_t;
4312 * cvmx_pcierc#_cfg076
4314 * PCIE_CFG076 = Seventy-seventh 32-bits of PCIE type 1 config space
4315 * (Root Error Status Register)
4317 union cvmx_pciercx_cfg076 {
4319 struct cvmx_pciercx_cfg076_s {
4320 #ifdef __BIG_ENDIAN_BITFIELD
4321 uint32_t aeimn : 5; /**< Advanced Error Interrupt Message Number,
4322 writable through PEM(0..1)_CFG_WR */
4323 uint32_t reserved_7_26 : 20;
4324 uint32_t femr : 1; /**< Fatal Error Messages Received */
4325 uint32_t nfemr : 1; /**< Non-Fatal Error Messages Received */
4326 uint32_t fuf : 1; /**< First Uncorrectable Fatal */
4327 uint32_t multi_efnfr : 1; /**< Multiple ERR_FATAL/NONFATAL Received */
4328 uint32_t efnfr : 1; /**< ERR_FATAL/NONFATAL Received */
4329 uint32_t multi_ecr : 1; /**< Multiple ERR_COR Received */
4330 uint32_t ecr : 1; /**< ERR_COR Received */
4333 uint32_t multi_ecr : 1;
4335 uint32_t multi_efnfr : 1;
4339 uint32_t reserved_7_26 : 20;
4343 struct cvmx_pciercx_cfg076_s cn52xx;
4344 struct cvmx_pciercx_cfg076_s cn52xxp1;
4345 struct cvmx_pciercx_cfg076_s cn56xx;
4346 struct cvmx_pciercx_cfg076_s cn56xxp1;
4347 struct cvmx_pciercx_cfg076_s cn61xx;
4348 struct cvmx_pciercx_cfg076_s cn63xx;
4349 struct cvmx_pciercx_cfg076_s cn63xxp1;
4350 struct cvmx_pciercx_cfg076_s cn66xx;
4351 struct cvmx_pciercx_cfg076_s cn68xx;
4352 struct cvmx_pciercx_cfg076_s cn68xxp1;
4353 struct cvmx_pciercx_cfg076_s cnf71xx;
4355 typedef union cvmx_pciercx_cfg076 cvmx_pciercx_cfg076_t;
4358 * cvmx_pcierc#_cfg077
4360 * PCIE_CFG077 = Seventy-eighth 32-bits of PCIE type 1 config space
4361 * (Error Source Identification Register)
4363 union cvmx_pciercx_cfg077 {
4365 struct cvmx_pciercx_cfg077_s {
4366 #ifdef __BIG_ENDIAN_BITFIELD
4367 uint32_t efnfsi : 16; /**< ERR_FATAL/NONFATAL Source Identification */
4368 uint32_t ecsi : 16; /**< ERR_COR Source Identification */
4371 uint32_t efnfsi : 16;
4374 struct cvmx_pciercx_cfg077_s cn52xx;
4375 struct cvmx_pciercx_cfg077_s cn52xxp1;
4376 struct cvmx_pciercx_cfg077_s cn56xx;
4377 struct cvmx_pciercx_cfg077_s cn56xxp1;
4378 struct cvmx_pciercx_cfg077_s cn61xx;
4379 struct cvmx_pciercx_cfg077_s cn63xx;
4380 struct cvmx_pciercx_cfg077_s cn63xxp1;
4381 struct cvmx_pciercx_cfg077_s cn66xx;
4382 struct cvmx_pciercx_cfg077_s cn68xx;
4383 struct cvmx_pciercx_cfg077_s cn68xxp1;
4384 struct cvmx_pciercx_cfg077_s cnf71xx;
4386 typedef union cvmx_pciercx_cfg077 cvmx_pciercx_cfg077_t;
4389 * cvmx_pcierc#_cfg448
4391 * PCIE_CFG448 = Four hundred forty-ninth 32-bits of PCIE type 1 config space
4392 * (Ack Latency Timer and Replay Timer Register)
4394 union cvmx_pciercx_cfg448 {
4396 struct cvmx_pciercx_cfg448_s {
4397 #ifdef __BIG_ENDIAN_BITFIELD
4398 uint32_t rtl : 16; /**< Replay Time Limit
4399 The replay timer expires when it reaches this limit. The PCI
4400 Express bus initiates a replay upon reception of a Nak or when
4401 the replay timer expires.
4402 This value will be set correctly by the hardware out of reset
4403 or when the negotiated Link-Width or Payload-Size changes. If
4404 the user changes this value through a CSR write or by an
4405 EEPROM load then they should refer to the PCIe Specification
4406 for the correct value. */
4407 uint32_t rtltl : 16; /**< Round Trip Latency Time Limit
4408 The Ack/Nak latency timer expires when it reaches this limit.
4409 This value will be set correctly by the hardware out of reset
4410 or when the negotiated Link-Width or Payload-Size changes. If
4411 the user changes this value through a CSR write or by an
4412 EEPROM load then they should refer to the PCIe Specification
4413 for the correct value. */
4415 uint32_t rtltl : 16;
4419 struct cvmx_pciercx_cfg448_s cn52xx;
4420 struct cvmx_pciercx_cfg448_s cn52xxp1;
4421 struct cvmx_pciercx_cfg448_s cn56xx;
4422 struct cvmx_pciercx_cfg448_s cn56xxp1;
4423 struct cvmx_pciercx_cfg448_s cn61xx;
4424 struct cvmx_pciercx_cfg448_s cn63xx;
4425 struct cvmx_pciercx_cfg448_s cn63xxp1;
4426 struct cvmx_pciercx_cfg448_s cn66xx;
4427 struct cvmx_pciercx_cfg448_s cn68xx;
4428 struct cvmx_pciercx_cfg448_s cn68xxp1;
4429 struct cvmx_pciercx_cfg448_s cnf71xx;
4431 typedef union cvmx_pciercx_cfg448 cvmx_pciercx_cfg448_t;
4434 * cvmx_pcierc#_cfg449
4436 * PCIE_CFG449 = Four hundred fiftieth 32-bits of PCIE type 1 config space
4437 * (Other Message Register)
4439 union cvmx_pciercx_cfg449 {
4441 struct cvmx_pciercx_cfg449_s {
4442 #ifdef __BIG_ENDIAN_BITFIELD
4443 uint32_t omr : 32; /**< Other Message Register
4444 This register can be used for either of the following purposes:
4445 o To send a specific PCI Express Message, the application
4446 writes the payload of the Message into this register, then
4447 sets bit 0 of the Port Link Control Register to send the
4449 o To store a corruption pattern for corrupting the LCRC on all
4450 TLPs, the application places a 32-bit corruption pattern into
4451 this register and enables this function by setting bit 25 of
4452 the Port Link Control Register. When enabled, the transmit
4453 LCRC result is XOR'd with this pattern before inserting
4454 it into the packet. */
4459 struct cvmx_pciercx_cfg449_s cn52xx;
4460 struct cvmx_pciercx_cfg449_s cn52xxp1;
4461 struct cvmx_pciercx_cfg449_s cn56xx;
4462 struct cvmx_pciercx_cfg449_s cn56xxp1;
4463 struct cvmx_pciercx_cfg449_s cn61xx;
4464 struct cvmx_pciercx_cfg449_s cn63xx;
4465 struct cvmx_pciercx_cfg449_s cn63xxp1;
4466 struct cvmx_pciercx_cfg449_s cn66xx;
4467 struct cvmx_pciercx_cfg449_s cn68xx;
4468 struct cvmx_pciercx_cfg449_s cn68xxp1;
4469 struct cvmx_pciercx_cfg449_s cnf71xx;
4471 typedef union cvmx_pciercx_cfg449 cvmx_pciercx_cfg449_t;
4474 * cvmx_pcierc#_cfg450
4476 * PCIE_CFG450 = Four hundred fifty-first 32-bits of PCIE type 1 config space
4477 * (Port Force Link Register)
4479 union cvmx_pciercx_cfg450 {
4481 struct cvmx_pciercx_cfg450_s {
4482 #ifdef __BIG_ENDIAN_BITFIELD
4483 uint32_t lpec : 8; /**< Low Power Entrance Count
4484 The Power Management state will wait for this many clock cycles
4485 for the associated completion of a CfgWr to PCIE_CFG017 register
4486 Power State (PS) field register to go low-power. This register
4487 is intended for applications that do not let the PCI Express
4488 bus handle a completion for configuration request to the
4489 Power Management Control and Status (PCIE_CFG017) register. */
4490 uint32_t reserved_22_23 : 2;
4491 uint32_t link_state : 6; /**< Link State
4492 The Link state that the PCI Express Bus will be forced to
4493 when bit 15 (Force Link) is set.
4498 o POLL_COMPLIANCE 03h
4500 o PRE_DETECT_QUIET 05h
4502 o CFG_LINKWD_START 07h
4503 o CFG_LINKWD_ACEPT 08h
4504 o CFG_LANENUM_WAIT 09h
4505 o CFG_LANENUM_ACEPT 0Ah
4514 o L123_SEND_EIDLE 13h
4518 o DISABLED_ENTRY 17h
4524 o LPBK_EXIT_TIMEOUT 1Dh
4525 o HOT_RESET_ENTRY 1Eh
4527 uint32_t force_link : 1; /**< Force Link
4528 Forces the Link to the state specified by the Link State field.
4529 The Force Link pulse will trigger Link re-negotiation.
4530 * As the The Force Link is a pulse, writing a 1 to it does
4531 trigger the forced link state event, even thought reading it
4532 always returns a 0. */
4533 uint32_t reserved_8_14 : 7;
4534 uint32_t link_num : 8; /**< Link Number */
4536 uint32_t link_num : 8;
4537 uint32_t reserved_8_14 : 7;
4538 uint32_t force_link : 1;
4539 uint32_t link_state : 6;
4540 uint32_t reserved_22_23 : 2;
4544 struct cvmx_pciercx_cfg450_s cn52xx;
4545 struct cvmx_pciercx_cfg450_s cn52xxp1;
4546 struct cvmx_pciercx_cfg450_s cn56xx;
4547 struct cvmx_pciercx_cfg450_s cn56xxp1;
4548 struct cvmx_pciercx_cfg450_s cn61xx;
4549 struct cvmx_pciercx_cfg450_s cn63xx;
4550 struct cvmx_pciercx_cfg450_s cn63xxp1;
4551 struct cvmx_pciercx_cfg450_s cn66xx;
4552 struct cvmx_pciercx_cfg450_s cn68xx;
4553 struct cvmx_pciercx_cfg450_s cn68xxp1;
4554 struct cvmx_pciercx_cfg450_s cnf71xx;
4556 typedef union cvmx_pciercx_cfg450 cvmx_pciercx_cfg450_t;
4559 * cvmx_pcierc#_cfg451
4561 * PCIE_CFG451 = Four hundred fifty-second 32-bits of PCIE type 1 config space
4562 * (Ack Frequency Register)
4564 union cvmx_pciercx_cfg451 {
4566 struct cvmx_pciercx_cfg451_s {
4567 #ifdef __BIG_ENDIAN_BITFIELD
4568 uint32_t reserved_31_31 : 1;
4569 uint32_t easpml1 : 1; /**< Enter ASPM L1 without receive in L0s
4570 Allow core to enter ASPM L1 even when link partner did
4571 not go to L0s (receive is not in L0s).
4572 When not set, core goes to ASPM L1 only after idle period
4573 during which both receive and transmit are in L0s. */
4574 uint32_t l1el : 3; /**< L1 Entrance Latency
4575 Values correspond to:
4582 o 110 or 111: 64 ms */
4583 uint32_t l0el : 3; /**< L0s Entrance Latency
4584 Values correspond to:
4591 o 110 or 111: 7 ms */
4592 uint32_t n_fts_cc : 8; /**< N_FTS when common clock is used.
4593 The number of Fast Training Sequence ordered sets to be
4594 transmitted when transitioning from L0s to L0. The maximum
4595 number of FTS ordered-sets that a component can request is 255.
4596 Note: The core does not support a value of zero; a value of
4597 zero can cause the LTSSM to go into the recovery state
4598 when exiting from L0s. */
4599 uint32_t n_fts : 8; /**< N_FTS
4600 The number of Fast Training Sequence ordered sets to be
4601 transmitted when transitioning from L0s to L0. The maximum
4602 number of FTS ordered-sets that a component can request is 255.
4603 Note: The core does not support a value of zero; a value of
4604 zero can cause the LTSSM to go into the recovery state
4605 when exiting from L0s. */
4606 uint32_t ack_freq : 8; /**< Ack Frequency
4607 The number of pending Ack's specified here (up to 255) before
4610 uint32_t ack_freq : 8;
4612 uint32_t n_fts_cc : 8;
4615 uint32_t easpml1 : 1;
4616 uint32_t reserved_31_31 : 1;
4619 struct cvmx_pciercx_cfg451_cn52xx {
4620 #ifdef __BIG_ENDIAN_BITFIELD
4621 uint32_t reserved_30_31 : 2;
4622 uint32_t l1el : 3; /**< L1 Entrance Latency
4623 Values correspond to:
4630 o 110 or 111: 64 ms */
4631 uint32_t l0el : 3; /**< L0s Entrance Latency
4632 Values correspond to:
4639 o 110 or 111: 7 ms */
4640 uint32_t n_fts_cc : 8; /**< N_FTS when common clock is used.
4641 The number of Fast Training Sequence ordered sets to be
4642 transmitted when transitioning from L0s to L0. The maximum
4643 number of FTS ordered-sets that a component can request is 255.
4644 Note: The core does not support a value of zero; a value of
4645 zero can cause the LTSSM to go into the recovery state
4646 when exiting from L0s. */
4647 uint32_t n_fts : 8; /**< N_FTS
4648 The number of Fast Training Sequence ordered sets to be
4649 transmitted when transitioning from L0s to L0. The maximum
4650 number of FTS ordered-sets that a component can request is 255.
4651 Note: The core does not support a value of zero; a value of
4652 zero can cause the LTSSM to go into the recovery state
4653 when exiting from L0s. */
4654 uint32_t ack_freq : 8; /**< Ack Frequency
4655 The number of pending Ack's specified here (up to 255) before
4658 uint32_t ack_freq : 8;
4660 uint32_t n_fts_cc : 8;
4663 uint32_t reserved_30_31 : 2;
4666 struct cvmx_pciercx_cfg451_cn52xx cn52xxp1;
4667 struct cvmx_pciercx_cfg451_cn52xx cn56xx;
4668 struct cvmx_pciercx_cfg451_cn52xx cn56xxp1;
4669 struct cvmx_pciercx_cfg451_s cn61xx;
4670 struct cvmx_pciercx_cfg451_cn52xx cn63xx;
4671 struct cvmx_pciercx_cfg451_cn52xx cn63xxp1;
4672 struct cvmx_pciercx_cfg451_s cn66xx;
4673 struct cvmx_pciercx_cfg451_s cn68xx;
4674 struct cvmx_pciercx_cfg451_s cn68xxp1;
4675 struct cvmx_pciercx_cfg451_s cnf71xx;
4677 typedef union cvmx_pciercx_cfg451 cvmx_pciercx_cfg451_t;
4680 * cvmx_pcierc#_cfg452
4682 * PCIE_CFG452 = Four hundred fifty-third 32-bits of PCIE type 1 config space
4683 * (Port Link Control Register)
4685 union cvmx_pciercx_cfg452 {
4687 struct cvmx_pciercx_cfg452_s {
4688 #ifdef __BIG_ENDIAN_BITFIELD
4689 uint32_t reserved_26_31 : 6;
4690 uint32_t eccrc : 1; /**< Enable Corrupted CRC
4691 Causes corrupt LCRC for TLPs when set,
4692 using the pattern contained in the Other Message register.
4693 This is a test feature, not to be used in normal operation. */
4694 uint32_t reserved_22_24 : 3;
4695 uint32_t lme : 6; /**< Link Mode Enable
4698 o 000111: x4 (not supported)
4699 o 001111: x8 (not supported)
4700 o 011111: x16 (not supported)
4701 o 111111: x32 (not supported)
4702 This field indicates the MAXIMUM number of lanes supported
4703 by the PCIe port. The value can be set less than 0x3
4704 to limit the number of lanes the PCIe will attempt to use.
4705 The programming of this field needs to be done by SW BEFORE
4706 enabling the link. See also MLW.
4707 (Note: The value of this field does NOT indicate the number
4708 of lanes in use by the PCIe. LME sets the max number of lanes
4709 in the PCIe core that COULD be used. As per the PCIe specs,
4710 the PCIe core can negotiate a smaller link width, so
4711 x1 is also supported when LME=0x3, for example.) */
4712 uint32_t reserved_8_15 : 8;
4713 uint32_t flm : 1; /**< Fast Link Mode
4714 Sets all internal timers to fast mode for simulation purposes. */
4715 uint32_t reserved_6_6 : 1;
4716 uint32_t dllle : 1; /**< DLL Link Enable
4717 Enables Link initialization. If DLL Link Enable = 0, the PCI
4718 Express bus does not transmit InitFC DLLPs and does not
4719 establish a Link. */
4720 uint32_t reserved_4_4 : 1;
4721 uint32_t ra : 1; /**< Reset Assert
4722 Triggers a recovery and forces the LTSSM to the Hot Reset
4723 state (downstream port only). */
4724 uint32_t le : 1; /**< Loopback Enable
4725 Initiate loopback mode as a master. On a 0->1 transition,
4726 the PCIe core sends TS ordered sets with the loopback bit set
4727 to cause the link partner to enter into loopback mode as a
4728 slave. Normal transmission is not possible when LE=1. To exit
4729 loopback mode, take the link through a reset sequence. */
4730 uint32_t sd : 1; /**< Scramble Disable
4731 Turns off data scrambling. */
4732 uint32_t omr : 1; /**< Other Message Request
4733 When software writes a `1' to this bit, the PCI Express bus
4734 transmits the Message contained in the Other Message register. */
4740 uint32_t reserved_4_4 : 1;
4742 uint32_t reserved_6_6 : 1;
4744 uint32_t reserved_8_15 : 8;
4746 uint32_t reserved_22_24 : 3;
4748 uint32_t reserved_26_31 : 6;
4751 struct cvmx_pciercx_cfg452_s cn52xx;
4752 struct cvmx_pciercx_cfg452_s cn52xxp1;
4753 struct cvmx_pciercx_cfg452_s cn56xx;
4754 struct cvmx_pciercx_cfg452_s cn56xxp1;
4755 struct cvmx_pciercx_cfg452_cn61xx {
4756 #ifdef __BIG_ENDIAN_BITFIELD
4757 uint32_t reserved_22_31 : 10;
4758 uint32_t lme : 6; /**< Link Mode Enable
4762 o 001111: x8 (not supported)
4763 o 011111: x16 (not supported)
4764 o 111111: x32 (not supported)
4765 This field indicates the MAXIMUM number of lanes supported
4766 by the PCIe port. The value can be set less than 0x7
4767 to limit the number of lanes the PCIe will attempt to use.
4768 The programming of this field needs to be done by SW BEFORE
4769 enabling the link. See also MLW.
4770 (Note: The value of this field does NOT indicate the number
4771 of lanes in use by the PCIe. LME sets the max number of lanes
4772 in the PCIe core that COULD be used. As per the PCIe specs,
4773 the PCIe core can negotiate a smaller link width, so all
4774 of x4, x2, and x1 are supported when LME=0x7,
4776 uint32_t reserved_8_15 : 8;
4777 uint32_t flm : 1; /**< Fast Link Mode
4778 Sets all internal timers to fast mode for simulation purposes. */
4779 uint32_t reserved_6_6 : 1;
4780 uint32_t dllle : 1; /**< DLL Link Enable
4781 Enables Link initialization. If DLL Link Enable = 0, the PCI
4782 Express bus does not transmit InitFC DLLPs and does not
4783 establish a Link. */
4784 uint32_t reserved_4_4 : 1;
4785 uint32_t ra : 1; /**< Reset Assert
4786 Triggers a recovery and forces the LTSSM to the Hot Reset
4787 state (downstream port only). */
4788 uint32_t le : 1; /**< Loopback Enable
4789 Initiate loopback mode as a master. On a 0->1 transition,
4790 the PCIe core sends TS ordered sets with the loopback bit set
4791 to cause the link partner to enter into loopback mode as a
4792 slave. Normal transmission is not possible when LE=1. To exit
4793 loopback mode, take the link through a reset sequence. */
4794 uint32_t sd : 1; /**< Scramble Disable
4795 Turns off data scrambling. */
4796 uint32_t omr : 1; /**< Other Message Request
4797 When software writes a `1' to this bit, the PCI Express bus
4798 transmits the Message contained in the Other Message register. */
4804 uint32_t reserved_4_4 : 1;
4806 uint32_t reserved_6_6 : 1;
4808 uint32_t reserved_8_15 : 8;
4810 uint32_t reserved_22_31 : 10;
4813 struct cvmx_pciercx_cfg452_s cn63xx;
4814 struct cvmx_pciercx_cfg452_s cn63xxp1;
4815 struct cvmx_pciercx_cfg452_cn61xx cn66xx;
4816 struct cvmx_pciercx_cfg452_cn61xx cn68xx;
4817 struct cvmx_pciercx_cfg452_cn61xx cn68xxp1;
4818 struct cvmx_pciercx_cfg452_cn61xx cnf71xx;
4820 typedef union cvmx_pciercx_cfg452 cvmx_pciercx_cfg452_t;
4823 * cvmx_pcierc#_cfg453
4825 * PCIE_CFG453 = Four hundred fifty-fourth 32-bits of PCIE type 1 config space
4826 * (Lane Skew Register)
4828 union cvmx_pciercx_cfg453 {
4830 struct cvmx_pciercx_cfg453_s {
4831 #ifdef __BIG_ENDIAN_BITFIELD
4832 uint32_t dlld : 1; /**< Disable Lane-to-Lane Deskew
4833 Disables the internal Lane-to-Lane deskew logic. */
4834 uint32_t reserved_26_30 : 5;
4835 uint32_t ack_nak : 1; /**< Ack/Nak Disable
4836 Prevents the PCI Express bus from sending Ack and Nak DLLPs. */
4837 uint32_t fcd : 1; /**< Flow Control Disable
4838 Prevents the PCI Express bus from sending FC DLLPs. */
4839 uint32_t ilst : 24; /**< Insert Lane Skew for Transmit (not supported for x16)
4840 Causes skew between lanes for test purposes. There are three
4841 bits per Lane. The value is in units of one symbol time. For
4842 example, the value 010b for a Lane forces a skew of two symbol
4843 times for that Lane. The maximum skew value for any Lane is 5
4848 uint32_t ack_nak : 1;
4849 uint32_t reserved_26_30 : 5;
4853 struct cvmx_pciercx_cfg453_s cn52xx;
4854 struct cvmx_pciercx_cfg453_s cn52xxp1;
4855 struct cvmx_pciercx_cfg453_s cn56xx;
4856 struct cvmx_pciercx_cfg453_s cn56xxp1;
4857 struct cvmx_pciercx_cfg453_s cn61xx;
4858 struct cvmx_pciercx_cfg453_s cn63xx;
4859 struct cvmx_pciercx_cfg453_s cn63xxp1;
4860 struct cvmx_pciercx_cfg453_s cn66xx;
4861 struct cvmx_pciercx_cfg453_s cn68xx;
4862 struct cvmx_pciercx_cfg453_s cn68xxp1;
4863 struct cvmx_pciercx_cfg453_s cnf71xx;
4865 typedef union cvmx_pciercx_cfg453 cvmx_pciercx_cfg453_t;
4868 * cvmx_pcierc#_cfg454
4870 * PCIE_CFG454 = Four hundred fifty-fifth 32-bits of PCIE type 1 config space
4871 * (Symbol Number Register)
4873 union cvmx_pciercx_cfg454 {
4875 struct cvmx_pciercx_cfg454_s {
4876 #ifdef __BIG_ENDIAN_BITFIELD
4877 uint32_t cx_nfunc : 3; /**< Number of Functions (minus 1)
4878 Configuration Requests targeted at function numbers above this
4879 value will be returned with unsupported request */
4880 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
4881 Increases the timer value for the Flow Control watchdog timer,
4882 in increments of 16 clock cycles. */
4883 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
4884 Increases the timer value for the Ack/Nak latency timer, in
4885 increments of 64 clock cycles. */
4886 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
4887 Increases the timer value for the replay timer, in increments
4888 of 64 clock cycles. */
4889 uint32_t reserved_11_13 : 3;
4890 uint32_t nskps : 3; /**< Number of SKP Symbols */
4891 uint32_t reserved_0_7 : 8;
4893 uint32_t reserved_0_7 : 8;
4895 uint32_t reserved_11_13 : 3;
4897 uint32_t tmanlt : 5;
4898 uint32_t tmfcwt : 5;
4899 uint32_t cx_nfunc : 3;
4902 struct cvmx_pciercx_cfg454_cn52xx {
4903 #ifdef __BIG_ENDIAN_BITFIELD
4904 uint32_t reserved_29_31 : 3;
4905 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
4906 Increases the timer value for the Flow Control watchdog timer,
4907 in increments of 16 clock cycles. */
4908 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
4909 Increases the timer value for the Ack/Nak latency timer, in
4910 increments of 64 clock cycles. */
4911 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
4912 Increases the timer value for the replay timer, in increments
4913 of 64 clock cycles. */
4914 uint32_t reserved_11_13 : 3;
4915 uint32_t nskps : 3; /**< Number of SKP Symbols */
4916 uint32_t reserved_4_7 : 4;
4917 uint32_t ntss : 4; /**< Number of TS Symbols
4918 Sets the number of TS identifier symbols that are sent in TS1
4919 and TS2 ordered sets. */
4922 uint32_t reserved_4_7 : 4;
4924 uint32_t reserved_11_13 : 3;
4926 uint32_t tmanlt : 5;
4927 uint32_t tmfcwt : 5;
4928 uint32_t reserved_29_31 : 3;
4931 struct cvmx_pciercx_cfg454_cn52xx cn52xxp1;
4932 struct cvmx_pciercx_cfg454_cn52xx cn56xx;
4933 struct cvmx_pciercx_cfg454_cn52xx cn56xxp1;
4934 struct cvmx_pciercx_cfg454_cn61xx {
4935 #ifdef __BIG_ENDIAN_BITFIELD
4936 uint32_t cx_nfunc : 3; /**< Number of Functions (minus 1)
4937 Configuration Requests targeted at function numbers above this
4938 value will be returned with unsupported request */
4939 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
4940 Increases the timer value for the Flow Control watchdog timer,
4941 in increments of 16 clock cycles. */
4942 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
4943 Increases the timer value for the Ack/Nak latency timer, in
4944 increments of 64 clock cycles. */
4945 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
4946 Increases the timer value for the replay timer, in increments
4947 of 64 clock cycles. */
4948 uint32_t reserved_8_13 : 6;
4949 uint32_t mfuncn : 8; /**< Max Number of Functions Supported */
4951 uint32_t mfuncn : 8;
4952 uint32_t reserved_8_13 : 6;
4954 uint32_t tmanlt : 5;
4955 uint32_t tmfcwt : 5;
4956 uint32_t cx_nfunc : 3;
4959 struct cvmx_pciercx_cfg454_cn52xx cn63xx;
4960 struct cvmx_pciercx_cfg454_cn52xx cn63xxp1;
4961 struct cvmx_pciercx_cfg454_cn61xx cn66xx;
4962 struct cvmx_pciercx_cfg454_cn61xx cn68xx;
4963 struct cvmx_pciercx_cfg454_cn52xx cn68xxp1;
4964 struct cvmx_pciercx_cfg454_cn61xx cnf71xx;
4966 typedef union cvmx_pciercx_cfg454 cvmx_pciercx_cfg454_t;
4969 * cvmx_pcierc#_cfg455
4971 * PCIE_CFG455 = Four hundred fifty-sixth 32-bits of PCIE type 1 config space
4972 * (Symbol Timer Register/Filter Mask Register 1)
4974 union cvmx_pciercx_cfg455 {
4976 struct cvmx_pciercx_cfg455_s {
4977 #ifdef __BIG_ENDIAN_BITFIELD
4978 uint32_t m_cfg0_filt : 1; /**< Mask filtering of received Configuration Requests (RC mode only) */
4979 uint32_t m_io_filt : 1; /**< Mask filtering of received I/O Requests (RC mode only) */
4980 uint32_t msg_ctrl : 1; /**< Message Control
4981 The application must not change this field. */
4982 uint32_t m_cpl_ecrc_filt : 1; /**< Mask ECRC error filtering for Completions */
4983 uint32_t m_ecrc_filt : 1; /**< Mask ECRC error filtering */
4984 uint32_t m_cpl_len_err : 1; /**< Mask Length mismatch error for received Completions */
4985 uint32_t m_cpl_attr_err : 1; /**< Mask Attributes mismatch error for received Completions */
4986 uint32_t m_cpl_tc_err : 1; /**< Mask Traffic Class mismatch error for received Completions */
4987 uint32_t m_cpl_fun_err : 1; /**< Mask function mismatch error for received Completions */
4988 uint32_t m_cpl_rid_err : 1; /**< Mask Requester ID mismatch error for received Completions */
4989 uint32_t m_cpl_tag_err : 1; /**< Mask Tag error rules for received Completions */
4990 uint32_t m_lk_filt : 1; /**< Mask Locked Request filtering */
4991 uint32_t m_cfg1_filt : 1; /**< Mask Type 1 Configuration Request filtering */
4992 uint32_t m_bar_match : 1; /**< Mask BAR match filtering */
4993 uint32_t m_pois_filt : 1; /**< Mask poisoned TLP filtering */
4994 uint32_t m_fun : 1; /**< Mask function */
4995 uint32_t dfcwt : 1; /**< Disable FC Watchdog Timer */
4996 uint32_t reserved_11_14 : 4;
4997 uint32_t skpiv : 11; /**< SKP Interval Value */
4999 uint32_t skpiv : 11;
5000 uint32_t reserved_11_14 : 4;
5003 uint32_t m_pois_filt : 1;
5004 uint32_t m_bar_match : 1;
5005 uint32_t m_cfg1_filt : 1;
5006 uint32_t m_lk_filt : 1;
5007 uint32_t m_cpl_tag_err : 1;
5008 uint32_t m_cpl_rid_err : 1;
5009 uint32_t m_cpl_fun_err : 1;
5010 uint32_t m_cpl_tc_err : 1;
5011 uint32_t m_cpl_attr_err : 1;
5012 uint32_t m_cpl_len_err : 1;
5013 uint32_t m_ecrc_filt : 1;
5014 uint32_t m_cpl_ecrc_filt : 1;
5015 uint32_t msg_ctrl : 1;
5016 uint32_t m_io_filt : 1;
5017 uint32_t m_cfg0_filt : 1;
5020 struct cvmx_pciercx_cfg455_s cn52xx;
5021 struct cvmx_pciercx_cfg455_s cn52xxp1;
5022 struct cvmx_pciercx_cfg455_s cn56xx;
5023 struct cvmx_pciercx_cfg455_s cn56xxp1;
5024 struct cvmx_pciercx_cfg455_s cn61xx;
5025 struct cvmx_pciercx_cfg455_s cn63xx;
5026 struct cvmx_pciercx_cfg455_s cn63xxp1;
5027 struct cvmx_pciercx_cfg455_s cn66xx;
5028 struct cvmx_pciercx_cfg455_s cn68xx;
5029 struct cvmx_pciercx_cfg455_s cn68xxp1;
5030 struct cvmx_pciercx_cfg455_s cnf71xx;
5032 typedef union cvmx_pciercx_cfg455 cvmx_pciercx_cfg455_t;
5035 * cvmx_pcierc#_cfg456
5037 * PCIE_CFG456 = Four hundred fifty-seventh 32-bits of PCIE type 1 config space
5038 * (Filter Mask Register 2)
5040 union cvmx_pciercx_cfg456 {
5042 struct cvmx_pciercx_cfg456_s {
5043 #ifdef __BIG_ENDIAN_BITFIELD
5044 uint32_t reserved_4_31 : 28;
5045 uint32_t m_handle_flush : 1; /**< Mask Core Filter to handle flush request */
5046 uint32_t m_dabort_4ucpl : 1; /**< Mask DLLP abort for unexpected CPL */
5047 uint32_t m_vend1_drp : 1; /**< Mask Vendor MSG Type 1 dropped silently */
5048 uint32_t m_vend0_drp : 1; /**< Mask Vendor MSG Type 0 dropped with UR error reporting. */
5050 uint32_t m_vend0_drp : 1;
5051 uint32_t m_vend1_drp : 1;
5052 uint32_t m_dabort_4ucpl : 1;
5053 uint32_t m_handle_flush : 1;
5054 uint32_t reserved_4_31 : 28;
5057 struct cvmx_pciercx_cfg456_cn52xx {
5058 #ifdef __BIG_ENDIAN_BITFIELD
5059 uint32_t reserved_2_31 : 30;
5060 uint32_t m_vend1_drp : 1; /**< Mask Vendor MSG Type 1 dropped silently */
5061 uint32_t m_vend0_drp : 1; /**< Mask Vendor MSG Type 0 dropped with UR error reporting. */
5063 uint32_t m_vend0_drp : 1;
5064 uint32_t m_vend1_drp : 1;
5065 uint32_t reserved_2_31 : 30;
5068 struct cvmx_pciercx_cfg456_cn52xx cn52xxp1;
5069 struct cvmx_pciercx_cfg456_cn52xx cn56xx;
5070 struct cvmx_pciercx_cfg456_cn52xx cn56xxp1;
5071 struct cvmx_pciercx_cfg456_s cn61xx;
5072 struct cvmx_pciercx_cfg456_cn52xx cn63xx;
5073 struct cvmx_pciercx_cfg456_cn52xx cn63xxp1;
5074 struct cvmx_pciercx_cfg456_s cn66xx;
5075 struct cvmx_pciercx_cfg456_s cn68xx;
5076 struct cvmx_pciercx_cfg456_cn52xx cn68xxp1;
5077 struct cvmx_pciercx_cfg456_s cnf71xx;
5079 typedef union cvmx_pciercx_cfg456 cvmx_pciercx_cfg456_t;
5082 * cvmx_pcierc#_cfg458
5084 * PCIE_CFG458 = Four hundred fifty-ninth 32-bits of PCIE type 1 config space
5085 * (Debug Register 0)
5087 union cvmx_pciercx_cfg458 {
5089 struct cvmx_pciercx_cfg458_s {
5090 #ifdef __BIG_ENDIAN_BITFIELD
5091 uint32_t dbg_info_l32 : 32; /**< The value on cxpl_debug_info[31:0]. */
5093 uint32_t dbg_info_l32 : 32;
5096 struct cvmx_pciercx_cfg458_s cn52xx;
5097 struct cvmx_pciercx_cfg458_s cn52xxp1;
5098 struct cvmx_pciercx_cfg458_s cn56xx;
5099 struct cvmx_pciercx_cfg458_s cn56xxp1;
5100 struct cvmx_pciercx_cfg458_s cn61xx;
5101 struct cvmx_pciercx_cfg458_s cn63xx;
5102 struct cvmx_pciercx_cfg458_s cn63xxp1;
5103 struct cvmx_pciercx_cfg458_s cn66xx;
5104 struct cvmx_pciercx_cfg458_s cn68xx;
5105 struct cvmx_pciercx_cfg458_s cn68xxp1;
5106 struct cvmx_pciercx_cfg458_s cnf71xx;
5108 typedef union cvmx_pciercx_cfg458 cvmx_pciercx_cfg458_t;
5111 * cvmx_pcierc#_cfg459
5113 * PCIE_CFG459 = Four hundred sixtieth 32-bits of PCIE type 1 config space
5114 * (Debug Register 1)
5116 union cvmx_pciercx_cfg459 {
5118 struct cvmx_pciercx_cfg459_s {
5119 #ifdef __BIG_ENDIAN_BITFIELD
5120 uint32_t dbg_info_u32 : 32; /**< The value on cxpl_debug_info[63:32]. */
5122 uint32_t dbg_info_u32 : 32;
5125 struct cvmx_pciercx_cfg459_s cn52xx;
5126 struct cvmx_pciercx_cfg459_s cn52xxp1;
5127 struct cvmx_pciercx_cfg459_s cn56xx;
5128 struct cvmx_pciercx_cfg459_s cn56xxp1;
5129 struct cvmx_pciercx_cfg459_s cn61xx;
5130 struct cvmx_pciercx_cfg459_s cn63xx;
5131 struct cvmx_pciercx_cfg459_s cn63xxp1;
5132 struct cvmx_pciercx_cfg459_s cn66xx;
5133 struct cvmx_pciercx_cfg459_s cn68xx;
5134 struct cvmx_pciercx_cfg459_s cn68xxp1;
5135 struct cvmx_pciercx_cfg459_s cnf71xx;
5137 typedef union cvmx_pciercx_cfg459 cvmx_pciercx_cfg459_t;
5140 * cvmx_pcierc#_cfg460
5142 * PCIE_CFG460 = Four hundred sixty-first 32-bits of PCIE type 1 config space
5143 * (Transmit Posted FC Credit Status)
5145 union cvmx_pciercx_cfg460 {
5147 struct cvmx_pciercx_cfg460_s {
5148 #ifdef __BIG_ENDIAN_BITFIELD
5149 uint32_t reserved_20_31 : 12;
5150 uint32_t tphfcc : 8; /**< Transmit Posted Header FC Credits
5151 The Posted Header credits advertised by the receiver at the
5152 other end of the Link, updated with each UpdateFC DLLP. */
5153 uint32_t tpdfcc : 12; /**< Transmit Posted Data FC Credits
5154 The Posted Data credits advertised by the receiver at the other
5155 end of the Link, updated with each UpdateFC DLLP. */
5157 uint32_t tpdfcc : 12;
5158 uint32_t tphfcc : 8;
5159 uint32_t reserved_20_31 : 12;
5162 struct cvmx_pciercx_cfg460_s cn52xx;
5163 struct cvmx_pciercx_cfg460_s cn52xxp1;
5164 struct cvmx_pciercx_cfg460_s cn56xx;
5165 struct cvmx_pciercx_cfg460_s cn56xxp1;
5166 struct cvmx_pciercx_cfg460_s cn61xx;
5167 struct cvmx_pciercx_cfg460_s cn63xx;
5168 struct cvmx_pciercx_cfg460_s cn63xxp1;
5169 struct cvmx_pciercx_cfg460_s cn66xx;
5170 struct cvmx_pciercx_cfg460_s cn68xx;
5171 struct cvmx_pciercx_cfg460_s cn68xxp1;
5172 struct cvmx_pciercx_cfg460_s cnf71xx;
5174 typedef union cvmx_pciercx_cfg460 cvmx_pciercx_cfg460_t;
5177 * cvmx_pcierc#_cfg461
5179 * PCIE_CFG461 = Four hundred sixty-second 32-bits of PCIE type 1 config space
5180 * (Transmit Non-Posted FC Credit Status)
5182 union cvmx_pciercx_cfg461 {
5184 struct cvmx_pciercx_cfg461_s {
5185 #ifdef __BIG_ENDIAN_BITFIELD
5186 uint32_t reserved_20_31 : 12;
5187 uint32_t tchfcc : 8; /**< Transmit Non-Posted Header FC Credits
5188 The Non-Posted Header credits advertised by the receiver at the
5189 other end of the Link, updated with each UpdateFC DLLP. */
5190 uint32_t tcdfcc : 12; /**< Transmit Non-Posted Data FC Credits
5191 The Non-Posted Data credits advertised by the receiver at the
5192 other end of the Link, updated with each UpdateFC DLLP. */
5194 uint32_t tcdfcc : 12;
5195 uint32_t tchfcc : 8;
5196 uint32_t reserved_20_31 : 12;
5199 struct cvmx_pciercx_cfg461_s cn52xx;
5200 struct cvmx_pciercx_cfg461_s cn52xxp1;
5201 struct cvmx_pciercx_cfg461_s cn56xx;
5202 struct cvmx_pciercx_cfg461_s cn56xxp1;
5203 struct cvmx_pciercx_cfg461_s cn61xx;
5204 struct cvmx_pciercx_cfg461_s cn63xx;
5205 struct cvmx_pciercx_cfg461_s cn63xxp1;
5206 struct cvmx_pciercx_cfg461_s cn66xx;
5207 struct cvmx_pciercx_cfg461_s cn68xx;
5208 struct cvmx_pciercx_cfg461_s cn68xxp1;
5209 struct cvmx_pciercx_cfg461_s cnf71xx;
5211 typedef union cvmx_pciercx_cfg461 cvmx_pciercx_cfg461_t;
5214 * cvmx_pcierc#_cfg462
5216 * PCIE_CFG462 = Four hundred sixty-third 32-bits of PCIE type 1 config space
5217 * (Transmit Completion FC Credit Status )
5219 union cvmx_pciercx_cfg462 {
5221 struct cvmx_pciercx_cfg462_s {
5222 #ifdef __BIG_ENDIAN_BITFIELD
5223 uint32_t reserved_20_31 : 12;
5224 uint32_t tchfcc : 8; /**< Transmit Completion Header FC Credits
5225 The Completion Header credits advertised by the receiver at the
5226 other end of the Link, updated with each UpdateFC DLLP. */
5227 uint32_t tcdfcc : 12; /**< Transmit Completion Data FC Credits
5228 The Completion Data credits advertised by the receiver at the
5229 other end of the Link, updated with each UpdateFC DLLP. */
5231 uint32_t tcdfcc : 12;
5232 uint32_t tchfcc : 8;
5233 uint32_t reserved_20_31 : 12;
5236 struct cvmx_pciercx_cfg462_s cn52xx;
5237 struct cvmx_pciercx_cfg462_s cn52xxp1;
5238 struct cvmx_pciercx_cfg462_s cn56xx;
5239 struct cvmx_pciercx_cfg462_s cn56xxp1;
5240 struct cvmx_pciercx_cfg462_s cn61xx;
5241 struct cvmx_pciercx_cfg462_s cn63xx;
5242 struct cvmx_pciercx_cfg462_s cn63xxp1;
5243 struct cvmx_pciercx_cfg462_s cn66xx;
5244 struct cvmx_pciercx_cfg462_s cn68xx;
5245 struct cvmx_pciercx_cfg462_s cn68xxp1;
5246 struct cvmx_pciercx_cfg462_s cnf71xx;
5248 typedef union cvmx_pciercx_cfg462 cvmx_pciercx_cfg462_t;
5251 * cvmx_pcierc#_cfg463
5253 * PCIE_CFG463 = Four hundred sixty-fourth 32-bits of PCIE type 1 config space
5256 union cvmx_pciercx_cfg463 {
5258 struct cvmx_pciercx_cfg463_s {
5259 #ifdef __BIG_ENDIAN_BITFIELD
5260 uint32_t reserved_3_31 : 29;
5261 uint32_t rqne : 1; /**< Received Queue Not Empty
5262 Indicates there is data in one or more of the receive buffers. */
5263 uint32_t trbne : 1; /**< Transmit Retry Buffer Not Empty
5264 Indicates that there is data in the transmit retry buffer. */
5265 uint32_t rtlpfccnr : 1; /**< Received TLP FC Credits Not Returned
5266 Indicates that the PCI Express bus has sent a TLP but has not
5267 yet received an UpdateFC DLLP indicating that the credits for
5268 that TLP have been restored by the receiver at the other end of
5271 uint32_t rtlpfccnr : 1;
5274 uint32_t reserved_3_31 : 29;
5277 struct cvmx_pciercx_cfg463_s cn52xx;
5278 struct cvmx_pciercx_cfg463_s cn52xxp1;
5279 struct cvmx_pciercx_cfg463_s cn56xx;
5280 struct cvmx_pciercx_cfg463_s cn56xxp1;
5281 struct cvmx_pciercx_cfg463_s cn61xx;
5282 struct cvmx_pciercx_cfg463_s cn63xx;
5283 struct cvmx_pciercx_cfg463_s cn63xxp1;
5284 struct cvmx_pciercx_cfg463_s cn66xx;
5285 struct cvmx_pciercx_cfg463_s cn68xx;
5286 struct cvmx_pciercx_cfg463_s cn68xxp1;
5287 struct cvmx_pciercx_cfg463_s cnf71xx;
5289 typedef union cvmx_pciercx_cfg463 cvmx_pciercx_cfg463_t;
5292 * cvmx_pcierc#_cfg464
5294 * PCIE_CFG464 = Four hundred sixty-fifth 32-bits of PCIE type 1 config space
5295 * (VC Transmit Arbitration Register 1)
5297 union cvmx_pciercx_cfg464 {
5299 struct cvmx_pciercx_cfg464_s {
5300 #ifdef __BIG_ENDIAN_BITFIELD
5301 uint32_t wrr_vc3 : 8; /**< WRR Weight for VC3 */
5302 uint32_t wrr_vc2 : 8; /**< WRR Weight for VC2 */
5303 uint32_t wrr_vc1 : 8; /**< WRR Weight for VC1 */
5304 uint32_t wrr_vc0 : 8; /**< WRR Weight for VC0 */
5306 uint32_t wrr_vc0 : 8;
5307 uint32_t wrr_vc1 : 8;
5308 uint32_t wrr_vc2 : 8;
5309 uint32_t wrr_vc3 : 8;
5312 struct cvmx_pciercx_cfg464_s cn52xx;
5313 struct cvmx_pciercx_cfg464_s cn52xxp1;
5314 struct cvmx_pciercx_cfg464_s cn56xx;
5315 struct cvmx_pciercx_cfg464_s cn56xxp1;
5316 struct cvmx_pciercx_cfg464_s cn61xx;
5317 struct cvmx_pciercx_cfg464_s cn63xx;
5318 struct cvmx_pciercx_cfg464_s cn63xxp1;
5319 struct cvmx_pciercx_cfg464_s cn66xx;
5320 struct cvmx_pciercx_cfg464_s cn68xx;
5321 struct cvmx_pciercx_cfg464_s cn68xxp1;
5322 struct cvmx_pciercx_cfg464_s cnf71xx;
5324 typedef union cvmx_pciercx_cfg464 cvmx_pciercx_cfg464_t;
5327 * cvmx_pcierc#_cfg465
5329 * PCIE_CFG465 = Four hundred sixty-sixth 32-bits of config space
5330 * (VC Transmit Arbitration Register 2)
5332 union cvmx_pciercx_cfg465 {
5334 struct cvmx_pciercx_cfg465_s {
5335 #ifdef __BIG_ENDIAN_BITFIELD
5336 uint32_t wrr_vc7 : 8; /**< WRR Weight for VC7 */
5337 uint32_t wrr_vc6 : 8; /**< WRR Weight for VC6 */
5338 uint32_t wrr_vc5 : 8; /**< WRR Weight for VC5 */
5339 uint32_t wrr_vc4 : 8; /**< WRR Weight for VC4 */
5341 uint32_t wrr_vc4 : 8;
5342 uint32_t wrr_vc5 : 8;
5343 uint32_t wrr_vc6 : 8;
5344 uint32_t wrr_vc7 : 8;
5347 struct cvmx_pciercx_cfg465_s cn52xx;
5348 struct cvmx_pciercx_cfg465_s cn52xxp1;
5349 struct cvmx_pciercx_cfg465_s cn56xx;
5350 struct cvmx_pciercx_cfg465_s cn56xxp1;
5351 struct cvmx_pciercx_cfg465_s cn61xx;
5352 struct cvmx_pciercx_cfg465_s cn63xx;
5353 struct cvmx_pciercx_cfg465_s cn63xxp1;
5354 struct cvmx_pciercx_cfg465_s cn66xx;
5355 struct cvmx_pciercx_cfg465_s cn68xx;
5356 struct cvmx_pciercx_cfg465_s cn68xxp1;
5357 struct cvmx_pciercx_cfg465_s cnf71xx;
5359 typedef union cvmx_pciercx_cfg465 cvmx_pciercx_cfg465_t;
5362 * cvmx_pcierc#_cfg466
5364 * PCIE_CFG466 = Four hundred sixty-seventh 32-bits of PCIE type 1 config space
5365 * (VC0 Posted Receive Queue Control)
5367 union cvmx_pciercx_cfg466 {
5369 struct cvmx_pciercx_cfg466_s {
5370 #ifdef __BIG_ENDIAN_BITFIELD
5371 uint32_t rx_queue_order : 1; /**< VC Ordering for Receive Queues
5372 Determines the VC ordering rule for the receive queues, used
5373 only in the segmented-buffer configuration,
5374 writable through PEM(0..1)_CFG_WR:
5375 o 1: Strict ordering, higher numbered VCs have higher priority
5377 However, the application must not change this field. */
5378 uint32_t type_ordering : 1; /**< TLP Type Ordering for VC0
5379 Determines the TLP type ordering rule for VC0 receive queues,
5380 used only in the segmented-buffer configuration, writable
5381 through PEM(0..1)_CFG_WR:
5382 o 1: Ordering of received TLPs follows the rules in
5383 PCI Express Base Specification
5384 o 0: Strict ordering for received TLPs: Posted, then
5385 Completion, then Non-Posted
5386 However, the application must not change this field. */
5387 uint32_t reserved_24_29 : 6;
5388 uint32_t queue_mode : 3; /**< VC0 Posted TLP Queue Mode
5389 The operating mode of the Posted receive queue for VC0, used
5390 only in the segmented-buffer configuration, writable through
5392 However, the application must not change this field.
5393 Only one bit can be set at a time:
5395 o Bit 22: Cut-through
5396 o Bit 21: Store-and-forward */
5397 uint32_t reserved_20_20 : 1;
5398 uint32_t header_credits : 8; /**< VC0 Posted Header Credits
5399 The number of initial Posted header credits for VC0, used for
5400 all receive queue buffer configurations.
5401 This field is writable through PEM(0..1)_CFG_WR.
5402 However, the application must not change this field. */
5403 uint32_t data_credits : 12; /**< VC0 Posted Data Credits
5404 The number of initial Posted data credits for VC0, used for all
5405 receive queue buffer configurations.
5406 This field is writable through PEM(0..1)_CFG_WR.
5407 However, the application must not change this field. */
5409 uint32_t data_credits : 12;
5410 uint32_t header_credits : 8;
5411 uint32_t reserved_20_20 : 1;
5412 uint32_t queue_mode : 3;
5413 uint32_t reserved_24_29 : 6;
5414 uint32_t type_ordering : 1;
5415 uint32_t rx_queue_order : 1;
5418 struct cvmx_pciercx_cfg466_s cn52xx;
5419 struct cvmx_pciercx_cfg466_s cn52xxp1;
5420 struct cvmx_pciercx_cfg466_s cn56xx;
5421 struct cvmx_pciercx_cfg466_s cn56xxp1;
5422 struct cvmx_pciercx_cfg466_s cn61xx;
5423 struct cvmx_pciercx_cfg466_s cn63xx;
5424 struct cvmx_pciercx_cfg466_s cn63xxp1;
5425 struct cvmx_pciercx_cfg466_s cn66xx;
5426 struct cvmx_pciercx_cfg466_s cn68xx;
5427 struct cvmx_pciercx_cfg466_s cn68xxp1;
5428 struct cvmx_pciercx_cfg466_s cnf71xx;
5430 typedef union cvmx_pciercx_cfg466 cvmx_pciercx_cfg466_t;
5433 * cvmx_pcierc#_cfg467
5435 * PCIE_CFG467 = Four hundred sixty-eighth 32-bits of PCIE type 1 config space
5436 * (VC0 Non-Posted Receive Queue Control)
5438 union cvmx_pciercx_cfg467 {
5440 struct cvmx_pciercx_cfg467_s {
5441 #ifdef __BIG_ENDIAN_BITFIELD
5442 uint32_t reserved_24_31 : 8;
5443 uint32_t queue_mode : 3; /**< VC0 Non-Posted TLP Queue Mode
5444 The operating mode of the Non-Posted receive queue for VC0,
5445 used only in the segmented-buffer configuration, writable
5446 through PEM(0..1)_CFG_WR.
5447 Only one bit can be set at a time:
5449 o Bit 22: Cut-through
5450 o Bit 21: Store-and-forward
5451 However, the application must not change this field. */
5452 uint32_t reserved_20_20 : 1;
5453 uint32_t header_credits : 8; /**< VC0 Non-Posted Header Credits
5454 The number of initial Non-Posted header credits for VC0, used
5455 for all receive queue buffer configurations.
5456 This field is writable through PEM(0..1)_CFG_WR.
5457 However, the application must not change this field. */
5458 uint32_t data_credits : 12; /**< VC0 Non-Posted Data Credits
5459 The number of initial Non-Posted data credits for VC0, used for
5460 all receive queue buffer configurations.
5461 This field is writable through PEM(0..1)_CFG_WR.
5462 However, the application must not change this field. */
5464 uint32_t data_credits : 12;
5465 uint32_t header_credits : 8;
5466 uint32_t reserved_20_20 : 1;
5467 uint32_t queue_mode : 3;
5468 uint32_t reserved_24_31 : 8;
5471 struct cvmx_pciercx_cfg467_s cn52xx;
5472 struct cvmx_pciercx_cfg467_s cn52xxp1;
5473 struct cvmx_pciercx_cfg467_s cn56xx;
5474 struct cvmx_pciercx_cfg467_s cn56xxp1;
5475 struct cvmx_pciercx_cfg467_s cn61xx;
5476 struct cvmx_pciercx_cfg467_s cn63xx;
5477 struct cvmx_pciercx_cfg467_s cn63xxp1;
5478 struct cvmx_pciercx_cfg467_s cn66xx;
5479 struct cvmx_pciercx_cfg467_s cn68xx;
5480 struct cvmx_pciercx_cfg467_s cn68xxp1;
5481 struct cvmx_pciercx_cfg467_s cnf71xx;
5483 typedef union cvmx_pciercx_cfg467 cvmx_pciercx_cfg467_t;
5486 * cvmx_pcierc#_cfg468
5488 * PCIE_CFG468 = Four hundred sixty-ninth 32-bits of PCIE type 1 config space
5489 * (VC0 Completion Receive Queue Control)
5491 union cvmx_pciercx_cfg468 {
5493 struct cvmx_pciercx_cfg468_s {
5494 #ifdef __BIG_ENDIAN_BITFIELD
5495 uint32_t reserved_24_31 : 8;
5496 uint32_t queue_mode : 3; /**< VC0 Completion TLP Queue Mode
5497 The operating mode of the Completion receive queue for VC0,
5498 used only in the segmented-buffer configuration, writable
5499 through PEM(0..1)_CFG_WR.
5500 Only one bit can be set at a time:
5502 o Bit 22: Cut-through
5503 o Bit 21: Store-and-forward
5504 However, the application must not change this field. */
5505 uint32_t reserved_20_20 : 1;
5506 uint32_t header_credits : 8; /**< VC0 Completion Header Credits
5507 The number of initial Completion header credits for VC0, used
5508 for all receive queue buffer configurations.
5509 This field is writable through PEM(0..1)_CFG_WR.
5510 However, the application must not change this field. */
5511 uint32_t data_credits : 12; /**< VC0 Completion Data Credits
5512 The number of initial Completion data credits for VC0, used for
5513 all receive queue buffer configurations.
5514 This field is writable through PEM(0..1)_CFG_WR.
5515 However, the application must not change this field. */
5517 uint32_t data_credits : 12;
5518 uint32_t header_credits : 8;
5519 uint32_t reserved_20_20 : 1;
5520 uint32_t queue_mode : 3;
5521 uint32_t reserved_24_31 : 8;
5524 struct cvmx_pciercx_cfg468_s cn52xx;
5525 struct cvmx_pciercx_cfg468_s cn52xxp1;
5526 struct cvmx_pciercx_cfg468_s cn56xx;
5527 struct cvmx_pciercx_cfg468_s cn56xxp1;
5528 struct cvmx_pciercx_cfg468_s cn61xx;
5529 struct cvmx_pciercx_cfg468_s cn63xx;
5530 struct cvmx_pciercx_cfg468_s cn63xxp1;
5531 struct cvmx_pciercx_cfg468_s cn66xx;
5532 struct cvmx_pciercx_cfg468_s cn68xx;
5533 struct cvmx_pciercx_cfg468_s cn68xxp1;
5534 struct cvmx_pciercx_cfg468_s cnf71xx;
5536 typedef union cvmx_pciercx_cfg468 cvmx_pciercx_cfg468_t;
5539 * cvmx_pcierc#_cfg490
5541 * PCIE_CFG490 = Four hundred ninety-first 32-bits of PCIE type 1 config space
5542 * (VC0 Posted Buffer Depth)
5544 union cvmx_pciercx_cfg490 {
5546 struct cvmx_pciercx_cfg490_s {
5547 #ifdef __BIG_ENDIAN_BITFIELD
5548 uint32_t reserved_26_31 : 6;
5549 uint32_t header_depth : 10; /**< VC0 Posted Header Queue Depth
5550 Sets the number of entries in the Posted header queue for VC0
5551 when using the segmented-buffer configuration, writable through
5553 However, the application must not change this field. */
5554 uint32_t reserved_14_15 : 2;
5555 uint32_t data_depth : 14; /**< VC0 Posted Data Queue Depth
5556 Sets the number of entries in the Posted data queue for VC0
5557 when using the segmented-buffer configuration, writable
5558 through PEM(0..1)_CFG_WR.
5559 However, the application must not change this field. */
5561 uint32_t data_depth : 14;
5562 uint32_t reserved_14_15 : 2;
5563 uint32_t header_depth : 10;
5564 uint32_t reserved_26_31 : 6;
5567 struct cvmx_pciercx_cfg490_s cn52xx;
5568 struct cvmx_pciercx_cfg490_s cn52xxp1;
5569 struct cvmx_pciercx_cfg490_s cn56xx;
5570 struct cvmx_pciercx_cfg490_s cn56xxp1;
5571 struct cvmx_pciercx_cfg490_s cn61xx;
5572 struct cvmx_pciercx_cfg490_s cn63xx;
5573 struct cvmx_pciercx_cfg490_s cn63xxp1;
5574 struct cvmx_pciercx_cfg490_s cn66xx;
5575 struct cvmx_pciercx_cfg490_s cn68xx;
5576 struct cvmx_pciercx_cfg490_s cn68xxp1;
5577 struct cvmx_pciercx_cfg490_s cnf71xx;
5579 typedef union cvmx_pciercx_cfg490 cvmx_pciercx_cfg490_t;
5582 * cvmx_pcierc#_cfg491
5584 * PCIE_CFG491 = Four hundred ninety-second 32-bits of PCIE type 1 config space
5585 * (VC0 Non-Posted Buffer Depth)
5587 union cvmx_pciercx_cfg491 {
5589 struct cvmx_pciercx_cfg491_s {
5590 #ifdef __BIG_ENDIAN_BITFIELD
5591 uint32_t reserved_26_31 : 6;
5592 uint32_t header_depth : 10; /**< VC0 Non-Posted Header Queue Depth
5593 Sets the number of entries in the Non-Posted header queue for
5594 VC0 when using the segmented-buffer configuration, writable
5595 through PEM(0..1)_CFG_WR.
5596 However, the application must not change this field. */
5597 uint32_t reserved_14_15 : 2;
5598 uint32_t data_depth : 14; /**< VC0 Non-Posted Data Queue Depth
5599 Sets the number of entries in the Non-Posted data queue for VC0
5600 when using the segmented-buffer configuration, writable
5601 through PEM(0..1)_CFG_WR.
5602 However, the application must not change this field. */
5604 uint32_t data_depth : 14;
5605 uint32_t reserved_14_15 : 2;
5606 uint32_t header_depth : 10;
5607 uint32_t reserved_26_31 : 6;
5610 struct cvmx_pciercx_cfg491_s cn52xx;
5611 struct cvmx_pciercx_cfg491_s cn52xxp1;
5612 struct cvmx_pciercx_cfg491_s cn56xx;
5613 struct cvmx_pciercx_cfg491_s cn56xxp1;
5614 struct cvmx_pciercx_cfg491_s cn61xx;
5615 struct cvmx_pciercx_cfg491_s cn63xx;
5616 struct cvmx_pciercx_cfg491_s cn63xxp1;
5617 struct cvmx_pciercx_cfg491_s cn66xx;
5618 struct cvmx_pciercx_cfg491_s cn68xx;
5619 struct cvmx_pciercx_cfg491_s cn68xxp1;
5620 struct cvmx_pciercx_cfg491_s cnf71xx;
5622 typedef union cvmx_pciercx_cfg491 cvmx_pciercx_cfg491_t;
5625 * cvmx_pcierc#_cfg492
5627 * PCIE_CFG492 = Four hundred ninety-third 32-bits of PCIE type 1 config space
5628 * (VC0 Completion Buffer Depth)
5630 union cvmx_pciercx_cfg492 {
5632 struct cvmx_pciercx_cfg492_s {
5633 #ifdef __BIG_ENDIAN_BITFIELD
5634 uint32_t reserved_26_31 : 6;
5635 uint32_t header_depth : 10; /**< VC0 Completion Header Queue Depth
5636 Sets the number of entries in the Completion header queue for
5637 VC0 when using the segmented-buffer configuration, writable
5638 through PEM(0..1)_CFG_WR.
5639 However, the application must not change this field. */
5640 uint32_t reserved_14_15 : 2;
5641 uint32_t data_depth : 14; /**< VC0 Completion Data Queue Depth
5642 Sets the number of entries in the Completion data queue for VC0
5643 when using the segmented-buffer configuration, writable
5644 through PEM(0..1)_CFG_WR.
5645 However, the application must not change this field. */
5647 uint32_t data_depth : 14;
5648 uint32_t reserved_14_15 : 2;
5649 uint32_t header_depth : 10;
5650 uint32_t reserved_26_31 : 6;
5653 struct cvmx_pciercx_cfg492_s cn52xx;
5654 struct cvmx_pciercx_cfg492_s cn52xxp1;
5655 struct cvmx_pciercx_cfg492_s cn56xx;
5656 struct cvmx_pciercx_cfg492_s cn56xxp1;
5657 struct cvmx_pciercx_cfg492_s cn61xx;
5658 struct cvmx_pciercx_cfg492_s cn63xx;
5659 struct cvmx_pciercx_cfg492_s cn63xxp1;
5660 struct cvmx_pciercx_cfg492_s cn66xx;
5661 struct cvmx_pciercx_cfg492_s cn68xx;
5662 struct cvmx_pciercx_cfg492_s cn68xxp1;
5663 struct cvmx_pciercx_cfg492_s cnf71xx;
5665 typedef union cvmx_pciercx_cfg492 cvmx_pciercx_cfg492_t;
5668 * cvmx_pcierc#_cfg515
5670 * PCIE_CFG515 = Five hundred sixteenth 32-bits of PCIE type 1 config space
5671 * (Port Logic Register (Gen2))
5673 union cvmx_pciercx_cfg515 {
5675 struct cvmx_pciercx_cfg515_s {
5676 #ifdef __BIG_ENDIAN_BITFIELD
5677 uint32_t reserved_21_31 : 11;
5678 uint32_t s_d_e : 1; /**< SEL_DE_EMPHASIS
5679 Used to set the de-emphasis level for upstream ports. */
5680 uint32_t ctcrb : 1; /**< Config Tx Compliance Receive Bit
5681 When set to 1, signals LTSSM to transmit TS ordered sets
5682 with the compliance receive bit assert (equal to 1). */
5683 uint32_t cpyts : 1; /**< Config PHY Tx Swing
5684 Indicates the voltage level the PHY should drive. When set to
5685 1, indicates Full Swing. When set to 0, indicates Low Swing */
5686 uint32_t dsc : 1; /**< Directed Speed Change
5687 o a write of '1' will initiate a speed change
5688 o always reads a zero */
5689 uint32_t le : 9; /**< Lane Enable
5690 Indicates the number of lanes to check for exit from electrical
5691 idle in Polling.Active and Polling.Compliance. 1 = x1, 2 = x2,
5692 etc. Used to limit the maximum link width to ignore broken
5693 lanes that detect a receiver, but will not exit electrical
5695 would otherwise prevent a valid link from being configured. */
5696 uint32_t n_fts : 8; /**< N_FTS
5697 Sets the Number of Fast Training Sequences (N_FTS) that
5698 the core advertises as its N_FTS during GEN2 Link training.
5699 This value is used to inform the Link partner about the PHYs
5700 ability to recover synchronization after a low power state.
5701 Note: Do not set N_FTS to zero; doing so can cause the
5702 LTSSM to go into the recovery state when exiting from
5711 uint32_t reserved_21_31 : 11;
5714 struct cvmx_pciercx_cfg515_s cn61xx;
5715 struct cvmx_pciercx_cfg515_s cn63xx;
5716 struct cvmx_pciercx_cfg515_s cn63xxp1;
5717 struct cvmx_pciercx_cfg515_s cn66xx;
5718 struct cvmx_pciercx_cfg515_s cn68xx;
5719 struct cvmx_pciercx_cfg515_s cn68xxp1;
5720 struct cvmx_pciercx_cfg515_s cnf71xx;
5722 typedef union cvmx_pciercx_cfg515 cvmx_pciercx_cfg515_t;
5725 * cvmx_pcierc#_cfg516
5727 * PCIE_CFG516 = Five hundred seventeenth 32-bits of PCIE type 1 config space
5728 * (PHY Status Register)
5730 union cvmx_pciercx_cfg516 {
5732 struct cvmx_pciercx_cfg516_s {
5733 #ifdef __BIG_ENDIAN_BITFIELD
5734 uint32_t phy_stat : 32; /**< PHY Status */
5736 uint32_t phy_stat : 32;
5739 struct cvmx_pciercx_cfg516_s cn52xx;
5740 struct cvmx_pciercx_cfg516_s cn52xxp1;
5741 struct cvmx_pciercx_cfg516_s cn56xx;
5742 struct cvmx_pciercx_cfg516_s cn56xxp1;
5743 struct cvmx_pciercx_cfg516_s cn61xx;
5744 struct cvmx_pciercx_cfg516_s cn63xx;
5745 struct cvmx_pciercx_cfg516_s cn63xxp1;
5746 struct cvmx_pciercx_cfg516_s cn66xx;
5747 struct cvmx_pciercx_cfg516_s cn68xx;
5748 struct cvmx_pciercx_cfg516_s cn68xxp1;
5749 struct cvmx_pciercx_cfg516_s cnf71xx;
5751 typedef union cvmx_pciercx_cfg516 cvmx_pciercx_cfg516_t;
5754 * cvmx_pcierc#_cfg517
5756 * PCIE_CFG517 = Five hundred eighteenth 32-bits of PCIE type 1 config space
5757 * (PHY Control Register)
5759 union cvmx_pciercx_cfg517 {
5761 struct cvmx_pciercx_cfg517_s {
5762 #ifdef __BIG_ENDIAN_BITFIELD
5763 uint32_t phy_ctrl : 32; /**< PHY Control */
5765 uint32_t phy_ctrl : 32;
5768 struct cvmx_pciercx_cfg517_s cn52xx;
5769 struct cvmx_pciercx_cfg517_s cn52xxp1;
5770 struct cvmx_pciercx_cfg517_s cn56xx;
5771 struct cvmx_pciercx_cfg517_s cn56xxp1;
5772 struct cvmx_pciercx_cfg517_s cn61xx;
5773 struct cvmx_pciercx_cfg517_s cn63xx;
5774 struct cvmx_pciercx_cfg517_s cn63xxp1;
5775 struct cvmx_pciercx_cfg517_s cn66xx;
5776 struct cvmx_pciercx_cfg517_s cn68xx;
5777 struct cvmx_pciercx_cfg517_s cn68xxp1;
5778 struct cvmx_pciercx_cfg517_s cnf71xx;
5780 typedef union cvmx_pciercx_cfg517 cvmx_pciercx_cfg517_t;