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_PCIEEPX_DEFS_H__
53 #define __CVMX_PCIEEPX_DEFS_H__
55 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
56 static inline uint64_t CVMX_PCIEEPX_CFG000(unsigned long block_id)
59 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
60 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG000(%lu) is invalid on this chip\n", block_id);
67 return 0x0000000000000000ull;
70 #define CVMX_PCIEEPX_CFG000(block_id) (0x0000000000000000ull)
72 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
73 static inline uint64_t CVMX_PCIEEPX_CFG001(unsigned long block_id)
76 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
77 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG001(%lu) is invalid on this chip\n", block_id);
84 return 0x0000000000000004ull;
87 #define CVMX_PCIEEPX_CFG001(block_id) (0x0000000000000004ull)
89 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
90 static inline uint64_t CVMX_PCIEEPX_CFG002(unsigned long block_id)
93 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
94 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG002(%lu) is invalid on this chip\n", block_id);
101 return 0x0000000000000008ull;
104 #define CVMX_PCIEEPX_CFG002(block_id) (0x0000000000000008ull)
106 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
107 static inline uint64_t CVMX_PCIEEPX_CFG003(unsigned long block_id)
110 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
111 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG003(%lu) is invalid on this chip\n", block_id);
118 return 0x000000000000000Cull;
121 #define CVMX_PCIEEPX_CFG003(block_id) (0x000000000000000Cull)
123 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
124 static inline uint64_t CVMX_PCIEEPX_CFG004(unsigned long block_id)
127 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
128 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG004(%lu) is invalid on this chip\n", block_id);
135 return 0x0000000000000010ull;
138 #define CVMX_PCIEEPX_CFG004(block_id) (0x0000000000000010ull)
140 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
141 static inline uint64_t CVMX_PCIEEPX_CFG004_MASK(unsigned long block_id)
144 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
145 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG004_MASK(%lu) is invalid on this chip\n", block_id);
152 return 0x0000000080000010ull;
155 #define CVMX_PCIEEPX_CFG004_MASK(block_id) (0x0000000080000010ull)
157 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
158 static inline uint64_t CVMX_PCIEEPX_CFG005(unsigned long block_id)
161 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
162 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG005(%lu) is invalid on this chip\n", block_id);
169 return 0x0000000000000014ull;
172 #define CVMX_PCIEEPX_CFG005(block_id) (0x0000000000000014ull)
174 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
175 static inline uint64_t CVMX_PCIEEPX_CFG005_MASK(unsigned long block_id)
178 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
179 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG005_MASK(%lu) is invalid on this chip\n", block_id);
186 return 0x0000000080000014ull;
189 #define CVMX_PCIEEPX_CFG005_MASK(block_id) (0x0000000080000014ull)
191 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
192 static inline uint64_t CVMX_PCIEEPX_CFG006(unsigned long block_id)
195 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
196 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG006(%lu) is invalid on this chip\n", block_id);
203 return 0x0000000000000018ull;
206 #define CVMX_PCIEEPX_CFG006(block_id) (0x0000000000000018ull)
208 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
209 static inline uint64_t CVMX_PCIEEPX_CFG006_MASK(unsigned long block_id)
212 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
213 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG006_MASK(%lu) is invalid on this chip\n", block_id);
220 return 0x0000000080000018ull;
223 #define CVMX_PCIEEPX_CFG006_MASK(block_id) (0x0000000080000018ull)
225 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
226 static inline uint64_t CVMX_PCIEEPX_CFG007(unsigned long block_id)
229 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
230 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG007(%lu) is invalid on this chip\n", block_id);
237 return 0x000000000000001Cull;
240 #define CVMX_PCIEEPX_CFG007(block_id) (0x000000000000001Cull)
242 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
243 static inline uint64_t CVMX_PCIEEPX_CFG007_MASK(unsigned long block_id)
246 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
247 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG007_MASK(%lu) is invalid on this chip\n", block_id);
254 return 0x000000008000001Cull;
257 #define CVMX_PCIEEPX_CFG007_MASK(block_id) (0x000000008000001Cull)
259 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
260 static inline uint64_t CVMX_PCIEEPX_CFG008(unsigned long block_id)
263 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
264 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG008(%lu) is invalid on this chip\n", block_id);
271 return 0x0000000000000020ull;
274 #define CVMX_PCIEEPX_CFG008(block_id) (0x0000000000000020ull)
276 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
277 static inline uint64_t CVMX_PCIEEPX_CFG008_MASK(unsigned long block_id)
280 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
281 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG008_MASK(%lu) is invalid on this chip\n", block_id);
288 return 0x0000000080000020ull;
291 #define CVMX_PCIEEPX_CFG008_MASK(block_id) (0x0000000080000020ull)
293 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
294 static inline uint64_t CVMX_PCIEEPX_CFG009(unsigned long block_id)
297 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
298 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG009(%lu) is invalid on this chip\n", block_id);
305 return 0x0000000000000024ull;
308 #define CVMX_PCIEEPX_CFG009(block_id) (0x0000000000000024ull)
310 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
311 static inline uint64_t CVMX_PCIEEPX_CFG009_MASK(unsigned long block_id)
314 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
315 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG009_MASK(%lu) is invalid on this chip\n", block_id);
322 return 0x0000000080000024ull;
325 #define CVMX_PCIEEPX_CFG009_MASK(block_id) (0x0000000080000024ull)
327 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
328 static inline uint64_t CVMX_PCIEEPX_CFG010(unsigned long block_id)
331 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
332 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG010(%lu) is invalid on this chip\n", block_id);
339 return 0x0000000000000028ull;
342 #define CVMX_PCIEEPX_CFG010(block_id) (0x0000000000000028ull)
344 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
345 static inline uint64_t CVMX_PCIEEPX_CFG011(unsigned long block_id)
348 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
349 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG011(%lu) is invalid on this chip\n", block_id);
356 return 0x000000000000002Cull;
359 #define CVMX_PCIEEPX_CFG011(block_id) (0x000000000000002Cull)
361 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
362 static inline uint64_t CVMX_PCIEEPX_CFG012(unsigned long block_id)
365 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
366 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG012(%lu) is invalid on this chip\n", block_id);
373 return 0x0000000000000030ull;
376 #define CVMX_PCIEEPX_CFG012(block_id) (0x0000000000000030ull)
378 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
379 static inline uint64_t CVMX_PCIEEPX_CFG012_MASK(unsigned long block_id)
382 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
383 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG012_MASK(%lu) is invalid on this chip\n", block_id);
390 return 0x0000000080000030ull;
393 #define CVMX_PCIEEPX_CFG012_MASK(block_id) (0x0000000080000030ull)
395 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
396 static inline uint64_t CVMX_PCIEEPX_CFG013(unsigned long block_id)
399 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
400 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG013(%lu) is invalid on this chip\n", block_id);
407 return 0x0000000000000034ull;
410 #define CVMX_PCIEEPX_CFG013(block_id) (0x0000000000000034ull)
412 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
413 static inline uint64_t CVMX_PCIEEPX_CFG015(unsigned long block_id)
416 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
417 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG015(%lu) is invalid on this chip\n", block_id);
424 return 0x000000000000003Cull;
427 #define CVMX_PCIEEPX_CFG015(block_id) (0x000000000000003Cull)
429 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
430 static inline uint64_t CVMX_PCIEEPX_CFG016(unsigned long block_id)
433 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
434 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG016(%lu) is invalid on this chip\n", block_id);
441 return 0x0000000000000040ull;
444 #define CVMX_PCIEEPX_CFG016(block_id) (0x0000000000000040ull)
446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
447 static inline uint64_t CVMX_PCIEEPX_CFG017(unsigned long block_id)
450 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
451 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG017(%lu) is invalid on this chip\n", block_id);
458 return 0x0000000000000044ull;
461 #define CVMX_PCIEEPX_CFG017(block_id) (0x0000000000000044ull)
463 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
464 static inline uint64_t CVMX_PCIEEPX_CFG020(unsigned long block_id)
467 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
468 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG020(%lu) is invalid on this chip\n", block_id);
475 return 0x0000000000000050ull;
478 #define CVMX_PCIEEPX_CFG020(block_id) (0x0000000000000050ull)
480 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
481 static inline uint64_t CVMX_PCIEEPX_CFG021(unsigned long block_id)
484 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
485 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG021(%lu) is invalid on this chip\n", block_id);
492 return 0x0000000000000054ull;
495 #define CVMX_PCIEEPX_CFG021(block_id) (0x0000000000000054ull)
497 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
498 static inline uint64_t CVMX_PCIEEPX_CFG022(unsigned long block_id)
501 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
502 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG022(%lu) is invalid on this chip\n", block_id);
509 return 0x0000000000000058ull;
512 #define CVMX_PCIEEPX_CFG022(block_id) (0x0000000000000058ull)
514 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
515 static inline uint64_t CVMX_PCIEEPX_CFG023(unsigned long block_id)
518 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
519 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG023(%lu) is invalid on this chip\n", block_id);
526 return 0x000000000000005Cull;
529 #define CVMX_PCIEEPX_CFG023(block_id) (0x000000000000005Cull)
531 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
532 static inline uint64_t CVMX_PCIEEPX_CFG028(unsigned long block_id)
535 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
536 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG028(%lu) is invalid on this chip\n", block_id);
543 return 0x0000000000000070ull;
546 #define CVMX_PCIEEPX_CFG028(block_id) (0x0000000000000070ull)
548 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
549 static inline uint64_t CVMX_PCIEEPX_CFG029(unsigned long block_id)
552 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
553 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG029(%lu) is invalid on this chip\n", block_id);
560 return 0x0000000000000074ull;
563 #define CVMX_PCIEEPX_CFG029(block_id) (0x0000000000000074ull)
565 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
566 static inline uint64_t CVMX_PCIEEPX_CFG030(unsigned long block_id)
569 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
570 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG030(%lu) is invalid on this chip\n", block_id);
577 return 0x0000000000000078ull;
580 #define CVMX_PCIEEPX_CFG030(block_id) (0x0000000000000078ull)
582 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
583 static inline uint64_t CVMX_PCIEEPX_CFG031(unsigned long block_id)
586 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
587 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG031(%lu) is invalid on this chip\n", block_id);
594 return 0x000000000000007Cull;
597 #define CVMX_PCIEEPX_CFG031(block_id) (0x000000000000007Cull)
599 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
600 static inline uint64_t CVMX_PCIEEPX_CFG032(unsigned long block_id)
603 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
604 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
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_PCIEEPX_CFG032(%lu) is invalid on this chip\n", block_id);
611 return 0x0000000000000080ull;
614 #define CVMX_PCIEEPX_CFG032(block_id) (0x0000000000000080ull)
616 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
617 static inline uint64_t CVMX_PCIEEPX_CFG033(unsigned long block_id)
620 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
621 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
622 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1)))))
623 cvmx_warn("CVMX_PCIEEPX_CFG033(%lu) is invalid on this chip\n", block_id);
624 return 0x0000000000000084ull;
627 #define CVMX_PCIEEPX_CFG033(block_id) (0x0000000000000084ull)
629 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
630 static inline uint64_t CVMX_PCIEEPX_CFG034(unsigned long block_id)
633 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
634 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
635 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1)))))
636 cvmx_warn("CVMX_PCIEEPX_CFG034(%lu) is invalid on this chip\n", block_id);
637 return 0x0000000000000088ull;
640 #define CVMX_PCIEEPX_CFG034(block_id) (0x0000000000000088ull)
642 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
643 static inline uint64_t CVMX_PCIEEPX_CFG037(unsigned long block_id)
646 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
647 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
648 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
649 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
650 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
651 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
652 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
653 cvmx_warn("CVMX_PCIEEPX_CFG037(%lu) is invalid on this chip\n", block_id);
654 return 0x0000000000000094ull;
657 #define CVMX_PCIEEPX_CFG037(block_id) (0x0000000000000094ull)
659 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
660 static inline uint64_t CVMX_PCIEEPX_CFG038(unsigned long block_id)
663 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
664 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
665 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
666 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
667 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
668 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
669 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
670 cvmx_warn("CVMX_PCIEEPX_CFG038(%lu) is invalid on this chip\n", block_id);
671 return 0x0000000000000098ull;
674 #define CVMX_PCIEEPX_CFG038(block_id) (0x0000000000000098ull)
676 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
677 static inline uint64_t CVMX_PCIEEPX_CFG039(unsigned long block_id)
680 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
681 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
682 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
683 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
684 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
685 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
686 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
687 cvmx_warn("CVMX_PCIEEPX_CFG039(%lu) is invalid on this chip\n", block_id);
688 return 0x000000000000009Cull;
691 #define CVMX_PCIEEPX_CFG039(block_id) (0x000000000000009Cull)
693 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
694 static inline uint64_t CVMX_PCIEEPX_CFG040(unsigned long block_id)
697 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
698 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
699 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
700 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
701 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
702 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
703 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
704 cvmx_warn("CVMX_PCIEEPX_CFG040(%lu) is invalid on this chip\n", block_id);
705 return 0x00000000000000A0ull;
708 #define CVMX_PCIEEPX_CFG040(block_id) (0x00000000000000A0ull)
710 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
711 static inline uint64_t CVMX_PCIEEPX_CFG041(unsigned long block_id)
714 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
715 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
716 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1)))))
717 cvmx_warn("CVMX_PCIEEPX_CFG041(%lu) is invalid on this chip\n", block_id);
718 return 0x00000000000000A4ull;
721 #define CVMX_PCIEEPX_CFG041(block_id) (0x00000000000000A4ull)
723 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
724 static inline uint64_t CVMX_PCIEEPX_CFG042(unsigned long block_id)
727 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
728 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
729 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1)))))
730 cvmx_warn("CVMX_PCIEEPX_CFG042(%lu) is invalid on this chip\n", block_id);
731 return 0x00000000000000A8ull;
734 #define CVMX_PCIEEPX_CFG042(block_id) (0x00000000000000A8ull)
736 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
737 static inline uint64_t CVMX_PCIEEPX_CFG064(unsigned long block_id)
740 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
741 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
742 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
743 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
744 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
745 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
746 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
747 cvmx_warn("CVMX_PCIEEPX_CFG064(%lu) is invalid on this chip\n", block_id);
748 return 0x0000000000000100ull;
751 #define CVMX_PCIEEPX_CFG064(block_id) (0x0000000000000100ull)
753 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
754 static inline uint64_t CVMX_PCIEEPX_CFG065(unsigned long block_id)
757 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
758 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
759 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
760 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
761 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
762 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
763 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
764 cvmx_warn("CVMX_PCIEEPX_CFG065(%lu) is invalid on this chip\n", block_id);
765 return 0x0000000000000104ull;
768 #define CVMX_PCIEEPX_CFG065(block_id) (0x0000000000000104ull)
770 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
771 static inline uint64_t CVMX_PCIEEPX_CFG066(unsigned long block_id)
774 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
775 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
776 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
777 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
778 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
779 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
780 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
781 cvmx_warn("CVMX_PCIEEPX_CFG066(%lu) is invalid on this chip\n", block_id);
782 return 0x0000000000000108ull;
785 #define CVMX_PCIEEPX_CFG066(block_id) (0x0000000000000108ull)
787 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
788 static inline uint64_t CVMX_PCIEEPX_CFG067(unsigned long block_id)
791 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
792 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
793 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
794 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
795 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
796 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
797 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
798 cvmx_warn("CVMX_PCIEEPX_CFG067(%lu) is invalid on this chip\n", block_id);
799 return 0x000000000000010Cull;
802 #define CVMX_PCIEEPX_CFG067(block_id) (0x000000000000010Cull)
804 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
805 static inline uint64_t CVMX_PCIEEPX_CFG068(unsigned long block_id)
808 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
809 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
810 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
811 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
812 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
813 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
814 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
815 cvmx_warn("CVMX_PCIEEPX_CFG068(%lu) is invalid on this chip\n", block_id);
816 return 0x0000000000000110ull;
819 #define CVMX_PCIEEPX_CFG068(block_id) (0x0000000000000110ull)
821 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
822 static inline uint64_t CVMX_PCIEEPX_CFG069(unsigned long block_id)
825 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
826 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
827 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
828 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
829 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
830 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
831 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
832 cvmx_warn("CVMX_PCIEEPX_CFG069(%lu) is invalid on this chip\n", block_id);
833 return 0x0000000000000114ull;
836 #define CVMX_PCIEEPX_CFG069(block_id) (0x0000000000000114ull)
838 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
839 static inline uint64_t CVMX_PCIEEPX_CFG070(unsigned long block_id)
842 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
843 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
844 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
845 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
846 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
847 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
848 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
849 cvmx_warn("CVMX_PCIEEPX_CFG070(%lu) is invalid on this chip\n", block_id);
850 return 0x0000000000000118ull;
853 #define CVMX_PCIEEPX_CFG070(block_id) (0x0000000000000118ull)
855 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
856 static inline uint64_t CVMX_PCIEEPX_CFG071(unsigned long block_id)
859 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
860 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
861 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
862 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
863 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
864 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
865 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
866 cvmx_warn("CVMX_PCIEEPX_CFG071(%lu) is invalid on this chip\n", block_id);
867 return 0x000000000000011Cull;
870 #define CVMX_PCIEEPX_CFG071(block_id) (0x000000000000011Cull)
872 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
873 static inline uint64_t CVMX_PCIEEPX_CFG072(unsigned long block_id)
876 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
877 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
878 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
879 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
880 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
881 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
882 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
883 cvmx_warn("CVMX_PCIEEPX_CFG072(%lu) is invalid on this chip\n", block_id);
884 return 0x0000000000000120ull;
887 #define CVMX_PCIEEPX_CFG072(block_id) (0x0000000000000120ull)
889 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
890 static inline uint64_t CVMX_PCIEEPX_CFG073(unsigned long block_id)
893 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
894 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
895 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
896 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
897 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
898 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
899 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
900 cvmx_warn("CVMX_PCIEEPX_CFG073(%lu) is invalid on this chip\n", block_id);
901 return 0x0000000000000124ull;
904 #define CVMX_PCIEEPX_CFG073(block_id) (0x0000000000000124ull)
906 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
907 static inline uint64_t CVMX_PCIEEPX_CFG074(unsigned long block_id)
910 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
911 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
912 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
913 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
914 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
915 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
916 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
917 cvmx_warn("CVMX_PCIEEPX_CFG074(%lu) is invalid on this chip\n", block_id);
918 return 0x0000000000000128ull;
921 #define CVMX_PCIEEPX_CFG074(block_id) (0x0000000000000128ull)
923 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
924 static inline uint64_t CVMX_PCIEEPX_CFG448(unsigned long block_id)
927 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
928 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
929 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
930 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
931 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
932 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
933 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
934 cvmx_warn("CVMX_PCIEEPX_CFG448(%lu) is invalid on this chip\n", block_id);
935 return 0x0000000000000700ull;
938 #define CVMX_PCIEEPX_CFG448(block_id) (0x0000000000000700ull)
940 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
941 static inline uint64_t CVMX_PCIEEPX_CFG449(unsigned long block_id)
944 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
945 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
946 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
947 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
948 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
949 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
950 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
951 cvmx_warn("CVMX_PCIEEPX_CFG449(%lu) is invalid on this chip\n", block_id);
952 return 0x0000000000000704ull;
955 #define CVMX_PCIEEPX_CFG449(block_id) (0x0000000000000704ull)
957 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
958 static inline uint64_t CVMX_PCIEEPX_CFG450(unsigned long block_id)
961 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
962 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
963 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
964 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
965 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
966 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
967 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
968 cvmx_warn("CVMX_PCIEEPX_CFG450(%lu) is invalid on this chip\n", block_id);
969 return 0x0000000000000708ull;
972 #define CVMX_PCIEEPX_CFG450(block_id) (0x0000000000000708ull)
974 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
975 static inline uint64_t CVMX_PCIEEPX_CFG451(unsigned long block_id)
978 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
979 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
980 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
981 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
982 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
983 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
984 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
985 cvmx_warn("CVMX_PCIEEPX_CFG451(%lu) is invalid on this chip\n", block_id);
986 return 0x000000000000070Cull;
989 #define CVMX_PCIEEPX_CFG451(block_id) (0x000000000000070Cull)
991 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
992 static inline uint64_t CVMX_PCIEEPX_CFG452(unsigned long block_id)
995 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
996 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
997 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
998 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
999 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1000 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1001 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1002 cvmx_warn("CVMX_PCIEEPX_CFG452(%lu) is invalid on this chip\n", block_id);
1003 return 0x0000000000000710ull;
1006 #define CVMX_PCIEEPX_CFG452(block_id) (0x0000000000000710ull)
1008 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1009 static inline uint64_t CVMX_PCIEEPX_CFG453(unsigned long block_id)
1012 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1013 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1014 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1015 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1016 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1017 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1018 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1019 cvmx_warn("CVMX_PCIEEPX_CFG453(%lu) is invalid on this chip\n", block_id);
1020 return 0x0000000000000714ull;
1023 #define CVMX_PCIEEPX_CFG453(block_id) (0x0000000000000714ull)
1025 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1026 static inline uint64_t CVMX_PCIEEPX_CFG454(unsigned long block_id)
1029 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1030 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1031 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1032 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1033 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1034 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1035 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1036 cvmx_warn("CVMX_PCIEEPX_CFG454(%lu) is invalid on this chip\n", block_id);
1037 return 0x0000000000000718ull;
1040 #define CVMX_PCIEEPX_CFG454(block_id) (0x0000000000000718ull)
1042 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1043 static inline uint64_t CVMX_PCIEEPX_CFG455(unsigned long block_id)
1046 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1047 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1048 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1049 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1050 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1051 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1052 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1053 cvmx_warn("CVMX_PCIEEPX_CFG455(%lu) is invalid on this chip\n", block_id);
1054 return 0x000000000000071Cull;
1057 #define CVMX_PCIEEPX_CFG455(block_id) (0x000000000000071Cull)
1059 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1060 static inline uint64_t CVMX_PCIEEPX_CFG456(unsigned long block_id)
1063 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1064 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1065 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1066 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1067 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1068 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1069 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1070 cvmx_warn("CVMX_PCIEEPX_CFG456(%lu) is invalid on this chip\n", block_id);
1071 return 0x0000000000000720ull;
1074 #define CVMX_PCIEEPX_CFG456(block_id) (0x0000000000000720ull)
1076 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1077 static inline uint64_t CVMX_PCIEEPX_CFG458(unsigned long block_id)
1080 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1081 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1082 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1083 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1084 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1085 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1086 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1087 cvmx_warn("CVMX_PCIEEPX_CFG458(%lu) is invalid on this chip\n", block_id);
1088 return 0x0000000000000728ull;
1091 #define CVMX_PCIEEPX_CFG458(block_id) (0x0000000000000728ull)
1093 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1094 static inline uint64_t CVMX_PCIEEPX_CFG459(unsigned long block_id)
1097 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1098 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1099 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1100 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1101 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1102 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1103 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1104 cvmx_warn("CVMX_PCIEEPX_CFG459(%lu) is invalid on this chip\n", block_id);
1105 return 0x000000000000072Cull;
1108 #define CVMX_PCIEEPX_CFG459(block_id) (0x000000000000072Cull)
1110 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1111 static inline uint64_t CVMX_PCIEEPX_CFG460(unsigned long block_id)
1114 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1115 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1116 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1117 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1118 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1119 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1120 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1121 cvmx_warn("CVMX_PCIEEPX_CFG460(%lu) is invalid on this chip\n", block_id);
1122 return 0x0000000000000730ull;
1125 #define CVMX_PCIEEPX_CFG460(block_id) (0x0000000000000730ull)
1127 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1128 static inline uint64_t CVMX_PCIEEPX_CFG461(unsigned long block_id)
1131 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1132 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1133 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1134 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1135 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1136 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1137 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1138 cvmx_warn("CVMX_PCIEEPX_CFG461(%lu) is invalid on this chip\n", block_id);
1139 return 0x0000000000000734ull;
1142 #define CVMX_PCIEEPX_CFG461(block_id) (0x0000000000000734ull)
1144 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1145 static inline uint64_t CVMX_PCIEEPX_CFG462(unsigned long block_id)
1148 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1149 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1150 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1151 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1152 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1153 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1154 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1155 cvmx_warn("CVMX_PCIEEPX_CFG462(%lu) is invalid on this chip\n", block_id);
1156 return 0x0000000000000738ull;
1159 #define CVMX_PCIEEPX_CFG462(block_id) (0x0000000000000738ull)
1161 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1162 static inline uint64_t CVMX_PCIEEPX_CFG463(unsigned long block_id)
1165 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1166 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1167 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1168 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1169 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1170 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1171 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1172 cvmx_warn("CVMX_PCIEEPX_CFG463(%lu) is invalid on this chip\n", block_id);
1173 return 0x000000000000073Cull;
1176 #define CVMX_PCIEEPX_CFG463(block_id) (0x000000000000073Cull)
1178 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1179 static inline uint64_t CVMX_PCIEEPX_CFG464(unsigned long block_id)
1182 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1183 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1184 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1185 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1186 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1187 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1188 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1189 cvmx_warn("CVMX_PCIEEPX_CFG464(%lu) is invalid on this chip\n", block_id);
1190 return 0x0000000000000740ull;
1193 #define CVMX_PCIEEPX_CFG464(block_id) (0x0000000000000740ull)
1195 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1196 static inline uint64_t CVMX_PCIEEPX_CFG465(unsigned long block_id)
1199 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1200 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1201 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1202 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1203 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1204 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1205 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1206 cvmx_warn("CVMX_PCIEEPX_CFG465(%lu) is invalid on this chip\n", block_id);
1207 return 0x0000000000000744ull;
1210 #define CVMX_PCIEEPX_CFG465(block_id) (0x0000000000000744ull)
1212 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1213 static inline uint64_t CVMX_PCIEEPX_CFG466(unsigned long block_id)
1216 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1217 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1218 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1219 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1220 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1221 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1222 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1223 cvmx_warn("CVMX_PCIEEPX_CFG466(%lu) is invalid on this chip\n", block_id);
1224 return 0x0000000000000748ull;
1227 #define CVMX_PCIEEPX_CFG466(block_id) (0x0000000000000748ull)
1229 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1230 static inline uint64_t CVMX_PCIEEPX_CFG467(unsigned long block_id)
1233 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1234 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1235 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1236 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1237 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1238 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1239 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1240 cvmx_warn("CVMX_PCIEEPX_CFG467(%lu) is invalid on this chip\n", block_id);
1241 return 0x000000000000074Cull;
1244 #define CVMX_PCIEEPX_CFG467(block_id) (0x000000000000074Cull)
1246 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1247 static inline uint64_t CVMX_PCIEEPX_CFG468(unsigned long block_id)
1250 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1251 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1252 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1253 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1254 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1255 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1256 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1257 cvmx_warn("CVMX_PCIEEPX_CFG468(%lu) is invalid on this chip\n", block_id);
1258 return 0x0000000000000750ull;
1261 #define CVMX_PCIEEPX_CFG468(block_id) (0x0000000000000750ull)
1263 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1264 static inline uint64_t CVMX_PCIEEPX_CFG490(unsigned long block_id)
1267 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1268 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1269 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1270 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1271 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1272 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1273 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1274 cvmx_warn("CVMX_PCIEEPX_CFG490(%lu) is invalid on this chip\n", block_id);
1275 return 0x00000000000007A8ull;
1278 #define CVMX_PCIEEPX_CFG490(block_id) (0x00000000000007A8ull)
1280 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1281 static inline uint64_t CVMX_PCIEEPX_CFG491(unsigned long block_id)
1284 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1285 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1286 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1287 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1288 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1289 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1290 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1291 cvmx_warn("CVMX_PCIEEPX_CFG491(%lu) is invalid on this chip\n", block_id);
1292 return 0x00000000000007ACull;
1295 #define CVMX_PCIEEPX_CFG491(block_id) (0x00000000000007ACull)
1297 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1298 static inline uint64_t CVMX_PCIEEPX_CFG492(unsigned long block_id)
1301 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1302 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1303 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1304 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1305 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1306 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1307 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1308 cvmx_warn("CVMX_PCIEEPX_CFG492(%lu) is invalid on this chip\n", block_id);
1309 return 0x00000000000007B0ull;
1312 #define CVMX_PCIEEPX_CFG492(block_id) (0x00000000000007B0ull)
1314 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1315 static inline uint64_t CVMX_PCIEEPX_CFG515(unsigned long block_id)
1318 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1319 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1320 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1321 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1322 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1323 cvmx_warn("CVMX_PCIEEPX_CFG515(%lu) is invalid on this chip\n", block_id);
1324 return 0x000000000000080Cull;
1327 #define CVMX_PCIEEPX_CFG515(block_id) (0x000000000000080Cull)
1329 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1330 static inline uint64_t CVMX_PCIEEPX_CFG516(unsigned long block_id)
1333 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1334 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1335 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1336 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1337 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1338 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1339 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1340 cvmx_warn("CVMX_PCIEEPX_CFG516(%lu) is invalid on this chip\n", block_id);
1341 return 0x0000000000000810ull;
1344 #define CVMX_PCIEEPX_CFG516(block_id) (0x0000000000000810ull)
1346 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1347 static inline uint64_t CVMX_PCIEEPX_CFG517(unsigned long block_id)
1350 (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
1351 (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
1352 (OCTEON_IS_MODEL(OCTEON_CN61XX) && ((block_id <= 1))) ||
1353 (OCTEON_IS_MODEL(OCTEON_CN63XX) && ((block_id <= 1))) ||
1354 (OCTEON_IS_MODEL(OCTEON_CN66XX) && ((block_id <= 1))) ||
1355 (OCTEON_IS_MODEL(OCTEON_CN68XX) && ((block_id <= 1))) ||
1356 (OCTEON_IS_MODEL(OCTEON_CNF71XX) && ((block_id <= 1)))))
1357 cvmx_warn("CVMX_PCIEEPX_CFG517(%lu) is invalid on this chip\n", block_id);
1358 return 0x0000000000000814ull;
1361 #define CVMX_PCIEEPX_CFG517(block_id) (0x0000000000000814ull)
1365 * cvmx_pcieep#_cfg000
1367 * PCIE_CFG000 = First 32-bits of PCIE type 0 config space (Device ID and Vendor ID Register)
1370 union cvmx_pcieepx_cfg000 {
1372 struct cvmx_pcieepx_cfg000_s {
1373 #ifdef __BIG_ENDIAN_BITFIELD
1374 uint32_t devid : 16; /**< Device ID, writable through PEM(0..1)_CFG_WR
1375 However, the application must not change this field.
1376 For EEPROM loads also see VENDID of this register. */
1377 uint32_t vendid : 16; /**< Vendor ID, writable through PEM(0..1)_CFG_WR
1378 However, the application must not change this field.
1379 During and EPROM Load is a value of 0xFFFF is loaded to this
1380 field and a value of 0xFFFF is loaded to the DEVID field of
1381 this register, the value will not be loaded, EEPROM load will
1382 stop, and the FastLinkEnable bit will be set in the
1383 PCIE_CFG452 register. */
1385 uint32_t vendid : 16;
1386 uint32_t devid : 16;
1389 struct cvmx_pcieepx_cfg000_s cn52xx;
1390 struct cvmx_pcieepx_cfg000_s cn52xxp1;
1391 struct cvmx_pcieepx_cfg000_s cn56xx;
1392 struct cvmx_pcieepx_cfg000_s cn56xxp1;
1393 struct cvmx_pcieepx_cfg000_s cn61xx;
1394 struct cvmx_pcieepx_cfg000_s cn63xx;
1395 struct cvmx_pcieepx_cfg000_s cn63xxp1;
1396 struct cvmx_pcieepx_cfg000_s cn66xx;
1397 struct cvmx_pcieepx_cfg000_s cn68xx;
1398 struct cvmx_pcieepx_cfg000_s cn68xxp1;
1399 struct cvmx_pcieepx_cfg000_s cnf71xx;
1401 typedef union cvmx_pcieepx_cfg000 cvmx_pcieepx_cfg000_t;
1404 * cvmx_pcieep#_cfg001
1406 * PCIE_CFG001 = Second 32-bits of PCIE type 0 config space (Command/Status Register)
1409 union cvmx_pcieepx_cfg001 {
1411 struct cvmx_pcieepx_cfg001_s {
1412 #ifdef __BIG_ENDIAN_BITFIELD
1413 uint32_t dpe : 1; /**< Detected Parity Error */
1414 uint32_t sse : 1; /**< Signaled System Error */
1415 uint32_t rma : 1; /**< Received Master Abort */
1416 uint32_t rta : 1; /**< Received Target Abort */
1417 uint32_t sta : 1; /**< Signaled Target Abort */
1418 uint32_t devt : 2; /**< DEVSEL Timing
1419 Not applicable for PCI Express. Hardwired to 0. */
1420 uint32_t mdpe : 1; /**< Master Data Parity Error */
1421 uint32_t fbb : 1; /**< Fast Back-to-Back Capable
1422 Not applicable for PCI Express. Hardwired to 0. */
1423 uint32_t reserved_22_22 : 1;
1424 uint32_t m66 : 1; /**< 66 MHz Capable
1425 Not applicable for PCI Express. Hardwired to 0. */
1426 uint32_t cl : 1; /**< Capabilities List
1427 Indicates presence of an extended capability item.
1429 uint32_t i_stat : 1; /**< INTx Status */
1430 uint32_t reserved_11_18 : 8;
1431 uint32_t i_dis : 1; /**< INTx Assertion Disable */
1432 uint32_t fbbe : 1; /**< Fast Back-to-Back Enable
1433 Not applicable for PCI Express. Must be hardwired to 0. */
1434 uint32_t see : 1; /**< SERR# Enable */
1435 uint32_t ids_wcc : 1; /**< IDSEL Stepping/Wait Cycle Control
1436 Not applicable for PCI Express. Must be hardwired to 0 */
1437 uint32_t per : 1; /**< Parity Error Response */
1438 uint32_t vps : 1; /**< VGA Palette Snoop
1439 Not applicable for PCI Express. Must be hardwired to 0. */
1440 uint32_t mwice : 1; /**< Memory Write and Invalidate
1441 Not applicable for PCI Express. Must be hardwired to 0. */
1442 uint32_t scse : 1; /**< Special Cycle Enable
1443 Not applicable for PCI Express. Must be hardwired to 0. */
1444 uint32_t me : 1; /**< Bus Master Enable */
1445 uint32_t msae : 1; /**< Memory Space Enable */
1446 uint32_t isae : 1; /**< I/O Space Enable */
1455 uint32_t ids_wcc : 1;
1459 uint32_t reserved_11_18 : 8;
1460 uint32_t i_stat : 1;
1463 uint32_t reserved_22_22 : 1;
1474 struct cvmx_pcieepx_cfg001_s cn52xx;
1475 struct cvmx_pcieepx_cfg001_s cn52xxp1;
1476 struct cvmx_pcieepx_cfg001_s cn56xx;
1477 struct cvmx_pcieepx_cfg001_s cn56xxp1;
1478 struct cvmx_pcieepx_cfg001_s cn61xx;
1479 struct cvmx_pcieepx_cfg001_s cn63xx;
1480 struct cvmx_pcieepx_cfg001_s cn63xxp1;
1481 struct cvmx_pcieepx_cfg001_s cn66xx;
1482 struct cvmx_pcieepx_cfg001_s cn68xx;
1483 struct cvmx_pcieepx_cfg001_s cn68xxp1;
1484 struct cvmx_pcieepx_cfg001_s cnf71xx;
1486 typedef union cvmx_pcieepx_cfg001 cvmx_pcieepx_cfg001_t;
1489 * cvmx_pcieep#_cfg002
1491 * PCIE_CFG002 = Third 32-bits of PCIE type 0 config space (Revision ID/Class Code Register)
1494 union cvmx_pcieepx_cfg002 {
1496 struct cvmx_pcieepx_cfg002_s {
1497 #ifdef __BIG_ENDIAN_BITFIELD
1498 uint32_t bcc : 8; /**< Base Class Code, writable through PEM(0..1)_CFG_WR
1499 However, the application must not change this field. */
1500 uint32_t sc : 8; /**< Subclass Code, writable through PEM(0..1)_CFG_WR
1501 However, the application must not change this field. */
1502 uint32_t pi : 8; /**< Programming Interface, writable through PEM(0..1)_CFG_WR
1503 However, the application must not change this field. */
1504 uint32_t rid : 8; /**< Revision ID, writable through PEM(0..1)_CFG_WR
1505 However, the application must not change this field. */
1513 struct cvmx_pcieepx_cfg002_s cn52xx;
1514 struct cvmx_pcieepx_cfg002_s cn52xxp1;
1515 struct cvmx_pcieepx_cfg002_s cn56xx;
1516 struct cvmx_pcieepx_cfg002_s cn56xxp1;
1517 struct cvmx_pcieepx_cfg002_s cn61xx;
1518 struct cvmx_pcieepx_cfg002_s cn63xx;
1519 struct cvmx_pcieepx_cfg002_s cn63xxp1;
1520 struct cvmx_pcieepx_cfg002_s cn66xx;
1521 struct cvmx_pcieepx_cfg002_s cn68xx;
1522 struct cvmx_pcieepx_cfg002_s cn68xxp1;
1523 struct cvmx_pcieepx_cfg002_s cnf71xx;
1525 typedef union cvmx_pcieepx_cfg002 cvmx_pcieepx_cfg002_t;
1528 * cvmx_pcieep#_cfg003
1530 * PCIE_CFG003 = Fourth 32-bits of PCIE type 0 config space (Cache Line Size/Master Latency Timer/Header Type Register/BIST Register)
1533 union cvmx_pcieepx_cfg003 {
1535 struct cvmx_pcieepx_cfg003_s {
1536 #ifdef __BIG_ENDIAN_BITFIELD
1537 uint32_t bist : 8; /**< The BIST register functions are not supported.
1538 All 8 bits of the BIST register are hardwired to 0. */
1539 uint32_t mfd : 1; /**< Multi Function Device
1540 The Multi Function Device bit is writable through PEM(0..1)_CFG_WR.
1541 However, this is a single function device. Therefore, the
1542 application must not write a 1 to this bit. */
1543 uint32_t chf : 7; /**< Configuration Header Format
1544 Hardwired to 0 for type 0. */
1545 uint32_t lt : 8; /**< Master Latency Timer
1546 Not applicable for PCI Express, hardwired to 0. */
1547 uint32_t cls : 8; /**< Cache Line Size
1548 The Cache Line Size register is RW for legacy compatibility
1549 purposes and is not applicable to PCI Express device
1551 Writing to the Cache Line Size register does not impact
1561 struct cvmx_pcieepx_cfg003_s cn52xx;
1562 struct cvmx_pcieepx_cfg003_s cn52xxp1;
1563 struct cvmx_pcieepx_cfg003_s cn56xx;
1564 struct cvmx_pcieepx_cfg003_s cn56xxp1;
1565 struct cvmx_pcieepx_cfg003_s cn61xx;
1566 struct cvmx_pcieepx_cfg003_s cn63xx;
1567 struct cvmx_pcieepx_cfg003_s cn63xxp1;
1568 struct cvmx_pcieepx_cfg003_s cn66xx;
1569 struct cvmx_pcieepx_cfg003_s cn68xx;
1570 struct cvmx_pcieepx_cfg003_s cn68xxp1;
1571 struct cvmx_pcieepx_cfg003_s cnf71xx;
1573 typedef union cvmx_pcieepx_cfg003 cvmx_pcieepx_cfg003_t;
1576 * cvmx_pcieep#_cfg004
1578 * PCIE_CFG004 = Fifth 32-bits of PCIE type 0 config space (Base Address Register 0 - Low)
1581 union cvmx_pcieepx_cfg004 {
1583 struct cvmx_pcieepx_cfg004_s {
1584 #ifdef __BIG_ENDIAN_BITFIELD
1585 uint32_t lbab : 18; /**< Lower bits of the BAR 0 base address */
1586 uint32_t reserved_4_13 : 10;
1587 uint32_t pf : 1; /**< Prefetchable
1588 This field is writable through PEM(0..1)_CFG_WR.
1589 However, the application must not change this field. */
1590 uint32_t typ : 2; /**< BAR type
1593 This field is writable through PEM(0..1)_CFG_WR.
1594 However, the application must not change this field. */
1595 uint32_t mspc : 1; /**< Memory Space Indicator
1596 o 0 = BAR 0 is a memory BAR
1597 o 1 = BAR 0 is an I/O BAR
1598 This field is writable through PEM(0..1)_CFG_WR.
1599 However, the application must not change this field. */
1604 uint32_t reserved_4_13 : 10;
1608 struct cvmx_pcieepx_cfg004_s cn52xx;
1609 struct cvmx_pcieepx_cfg004_s cn52xxp1;
1610 struct cvmx_pcieepx_cfg004_s cn56xx;
1611 struct cvmx_pcieepx_cfg004_s cn56xxp1;
1612 struct cvmx_pcieepx_cfg004_s cn61xx;
1613 struct cvmx_pcieepx_cfg004_s cn63xx;
1614 struct cvmx_pcieepx_cfg004_s cn63xxp1;
1615 struct cvmx_pcieepx_cfg004_s cn66xx;
1616 struct cvmx_pcieepx_cfg004_s cn68xx;
1617 struct cvmx_pcieepx_cfg004_s cn68xxp1;
1618 struct cvmx_pcieepx_cfg004_s cnf71xx;
1620 typedef union cvmx_pcieepx_cfg004 cvmx_pcieepx_cfg004_t;
1623 * cvmx_pcieep#_cfg004_mask
1625 * PCIE_CFG004_MASK (BAR Mask 0 - Low)
1626 * The BAR 0 Mask register is invisible to host software and not readable from the application.
1627 * The BAR 0 Mask register is only writable through PEM(0..1)_CFG_WR.
1629 union cvmx_pcieepx_cfg004_mask {
1631 struct cvmx_pcieepx_cfg004_mask_s {
1632 #ifdef __BIG_ENDIAN_BITFIELD
1633 uint32_t lmask : 31; /**< Bar Mask Low */
1634 uint32_t enb : 1; /**< Bar Enable
1635 o 0: BAR 0 is disabled
1636 o 1: BAR 0 is enabled
1637 Bit 0 is interpreted as BAR Enable when writing to the BAR Mask
1638 register rather than as a mask bit because bit 0 of a BAR is
1639 always masked from writing by host software. Bit 0 must be
1640 written prior to writing the other mask bits. */
1643 uint32_t lmask : 31;
1646 struct cvmx_pcieepx_cfg004_mask_s cn52xx;
1647 struct cvmx_pcieepx_cfg004_mask_s cn52xxp1;
1648 struct cvmx_pcieepx_cfg004_mask_s cn56xx;
1649 struct cvmx_pcieepx_cfg004_mask_s cn56xxp1;
1650 struct cvmx_pcieepx_cfg004_mask_s cn61xx;
1651 struct cvmx_pcieepx_cfg004_mask_s cn63xx;
1652 struct cvmx_pcieepx_cfg004_mask_s cn63xxp1;
1653 struct cvmx_pcieepx_cfg004_mask_s cn66xx;
1654 struct cvmx_pcieepx_cfg004_mask_s cn68xx;
1655 struct cvmx_pcieepx_cfg004_mask_s cn68xxp1;
1656 struct cvmx_pcieepx_cfg004_mask_s cnf71xx;
1658 typedef union cvmx_pcieepx_cfg004_mask cvmx_pcieepx_cfg004_mask_t;
1661 * cvmx_pcieep#_cfg005
1663 * PCIE_CFG005 = Sixth 32-bits of PCIE type 0 config space (Base Address Register 0 - High)
1666 union cvmx_pcieepx_cfg005 {
1668 struct cvmx_pcieepx_cfg005_s {
1669 #ifdef __BIG_ENDIAN_BITFIELD
1670 uint32_t ubab : 32; /**< Contains the upper 32 bits of the BAR 0 base address. */
1675 struct cvmx_pcieepx_cfg005_s cn52xx;
1676 struct cvmx_pcieepx_cfg005_s cn52xxp1;
1677 struct cvmx_pcieepx_cfg005_s cn56xx;
1678 struct cvmx_pcieepx_cfg005_s cn56xxp1;
1679 struct cvmx_pcieepx_cfg005_s cn61xx;
1680 struct cvmx_pcieepx_cfg005_s cn63xx;
1681 struct cvmx_pcieepx_cfg005_s cn63xxp1;
1682 struct cvmx_pcieepx_cfg005_s cn66xx;
1683 struct cvmx_pcieepx_cfg005_s cn68xx;
1684 struct cvmx_pcieepx_cfg005_s cn68xxp1;
1685 struct cvmx_pcieepx_cfg005_s cnf71xx;
1687 typedef union cvmx_pcieepx_cfg005 cvmx_pcieepx_cfg005_t;
1690 * cvmx_pcieep#_cfg005_mask
1692 * PCIE_CFG005_MASK = (BAR Mask 0 - High)
1693 * The BAR 0 Mask register is invisible to host software and not readable from the application.
1694 * The BAR 0 Mask register is only writable through PEM(0..1)_CFG_WR.
1696 union cvmx_pcieepx_cfg005_mask {
1698 struct cvmx_pcieepx_cfg005_mask_s {
1699 #ifdef __BIG_ENDIAN_BITFIELD
1700 uint32_t umask : 32; /**< Bar Mask High */
1702 uint32_t umask : 32;
1705 struct cvmx_pcieepx_cfg005_mask_s cn52xx;
1706 struct cvmx_pcieepx_cfg005_mask_s cn52xxp1;
1707 struct cvmx_pcieepx_cfg005_mask_s cn56xx;
1708 struct cvmx_pcieepx_cfg005_mask_s cn56xxp1;
1709 struct cvmx_pcieepx_cfg005_mask_s cn61xx;
1710 struct cvmx_pcieepx_cfg005_mask_s cn63xx;
1711 struct cvmx_pcieepx_cfg005_mask_s cn63xxp1;
1712 struct cvmx_pcieepx_cfg005_mask_s cn66xx;
1713 struct cvmx_pcieepx_cfg005_mask_s cn68xx;
1714 struct cvmx_pcieepx_cfg005_mask_s cn68xxp1;
1715 struct cvmx_pcieepx_cfg005_mask_s cnf71xx;
1717 typedef union cvmx_pcieepx_cfg005_mask cvmx_pcieepx_cfg005_mask_t;
1720 * cvmx_pcieep#_cfg006
1722 * PCIE_CFG006 = Seventh 32-bits of PCIE type 0 config space (Base Address Register 1 - Low)
1725 union cvmx_pcieepx_cfg006 {
1727 struct cvmx_pcieepx_cfg006_s {
1728 #ifdef __BIG_ENDIAN_BITFIELD
1729 uint32_t lbab : 6; /**< Lower bits of the BAR 1 base address */
1730 uint32_t reserved_4_25 : 22;
1731 uint32_t pf : 1; /**< Prefetchable
1732 This field is writable through PEM(0..1)_CFG_WR.
1733 However, the application must not change this field. */
1734 uint32_t typ : 2; /**< BAR type
1737 This field is writable through PEM(0..1)_CFG_WR.
1738 However, the application must not change this field. */
1739 uint32_t mspc : 1; /**< Memory Space Indicator
1740 o 0 = BAR 0 is a memory BAR
1741 o 1 = BAR 0 is an I/O BAR
1742 This field is writable through PEM(0..1)_CFG_WR.
1743 However, the application must not change this field. */
1748 uint32_t reserved_4_25 : 22;
1752 struct cvmx_pcieepx_cfg006_s cn52xx;
1753 struct cvmx_pcieepx_cfg006_s cn52xxp1;
1754 struct cvmx_pcieepx_cfg006_s cn56xx;
1755 struct cvmx_pcieepx_cfg006_s cn56xxp1;
1756 struct cvmx_pcieepx_cfg006_s cn61xx;
1757 struct cvmx_pcieepx_cfg006_s cn63xx;
1758 struct cvmx_pcieepx_cfg006_s cn63xxp1;
1759 struct cvmx_pcieepx_cfg006_s cn66xx;
1760 struct cvmx_pcieepx_cfg006_s cn68xx;
1761 struct cvmx_pcieepx_cfg006_s cn68xxp1;
1762 struct cvmx_pcieepx_cfg006_s cnf71xx;
1764 typedef union cvmx_pcieepx_cfg006 cvmx_pcieepx_cfg006_t;
1767 * cvmx_pcieep#_cfg006_mask
1769 * PCIE_CFG006_MASK (BAR Mask 1 - Low)
1770 * The BAR 1 Mask register is invisible to host software and not readable from the application.
1771 * The BAR 1 Mask register is only writable through PEM(0..1)_CFG_WR.
1773 union cvmx_pcieepx_cfg006_mask {
1775 struct cvmx_pcieepx_cfg006_mask_s {
1776 #ifdef __BIG_ENDIAN_BITFIELD
1777 uint32_t lmask : 31; /**< Bar Mask Low */
1778 uint32_t enb : 1; /**< Bar Enable
1779 o 0: BAR 1 is disabled
1780 o 1: BAR 1 is enabled
1781 Bit 0 is interpreted as BAR Enable when writing to the BAR Mask
1782 register rather than as a mask bit because bit 0 of a BAR is
1783 always masked from writing by host software. Bit 0 must be
1784 written prior to writing the other mask bits. */
1787 uint32_t lmask : 31;
1790 struct cvmx_pcieepx_cfg006_mask_s cn52xx;
1791 struct cvmx_pcieepx_cfg006_mask_s cn52xxp1;
1792 struct cvmx_pcieepx_cfg006_mask_s cn56xx;
1793 struct cvmx_pcieepx_cfg006_mask_s cn56xxp1;
1794 struct cvmx_pcieepx_cfg006_mask_s cn61xx;
1795 struct cvmx_pcieepx_cfg006_mask_s cn63xx;
1796 struct cvmx_pcieepx_cfg006_mask_s cn63xxp1;
1797 struct cvmx_pcieepx_cfg006_mask_s cn66xx;
1798 struct cvmx_pcieepx_cfg006_mask_s cn68xx;
1799 struct cvmx_pcieepx_cfg006_mask_s cn68xxp1;
1800 struct cvmx_pcieepx_cfg006_mask_s cnf71xx;
1802 typedef union cvmx_pcieepx_cfg006_mask cvmx_pcieepx_cfg006_mask_t;
1805 * cvmx_pcieep#_cfg007
1807 * PCIE_CFG007 = Eighth 32-bits of PCIE type 0 config space (Base Address Register 1 - High)
1810 union cvmx_pcieepx_cfg007 {
1812 struct cvmx_pcieepx_cfg007_s {
1813 #ifdef __BIG_ENDIAN_BITFIELD
1814 uint32_t ubab : 32; /**< Contains the upper 32 bits of the BAR 1 base address. */
1819 struct cvmx_pcieepx_cfg007_s cn52xx;
1820 struct cvmx_pcieepx_cfg007_s cn52xxp1;
1821 struct cvmx_pcieepx_cfg007_s cn56xx;
1822 struct cvmx_pcieepx_cfg007_s cn56xxp1;
1823 struct cvmx_pcieepx_cfg007_s cn61xx;
1824 struct cvmx_pcieepx_cfg007_s cn63xx;
1825 struct cvmx_pcieepx_cfg007_s cn63xxp1;
1826 struct cvmx_pcieepx_cfg007_s cn66xx;
1827 struct cvmx_pcieepx_cfg007_s cn68xx;
1828 struct cvmx_pcieepx_cfg007_s cn68xxp1;
1829 struct cvmx_pcieepx_cfg007_s cnf71xx;
1831 typedef union cvmx_pcieepx_cfg007 cvmx_pcieepx_cfg007_t;
1834 * cvmx_pcieep#_cfg007_mask
1836 * PCIE_CFG007_MASK (BAR Mask 1 - High)
1837 * The BAR 1 Mask register is invisible to host software and not readable from the application.
1838 * The BAR 1 Mask register is only writable through PEM(0..1)_CFG_WR.
1840 union cvmx_pcieepx_cfg007_mask {
1842 struct cvmx_pcieepx_cfg007_mask_s {
1843 #ifdef __BIG_ENDIAN_BITFIELD
1844 uint32_t umask : 32; /**< Bar Mask High */
1846 uint32_t umask : 32;
1849 struct cvmx_pcieepx_cfg007_mask_s cn52xx;
1850 struct cvmx_pcieepx_cfg007_mask_s cn52xxp1;
1851 struct cvmx_pcieepx_cfg007_mask_s cn56xx;
1852 struct cvmx_pcieepx_cfg007_mask_s cn56xxp1;
1853 struct cvmx_pcieepx_cfg007_mask_s cn61xx;
1854 struct cvmx_pcieepx_cfg007_mask_s cn63xx;
1855 struct cvmx_pcieepx_cfg007_mask_s cn63xxp1;
1856 struct cvmx_pcieepx_cfg007_mask_s cn66xx;
1857 struct cvmx_pcieepx_cfg007_mask_s cn68xx;
1858 struct cvmx_pcieepx_cfg007_mask_s cn68xxp1;
1859 struct cvmx_pcieepx_cfg007_mask_s cnf71xx;
1861 typedef union cvmx_pcieepx_cfg007_mask cvmx_pcieepx_cfg007_mask_t;
1864 * cvmx_pcieep#_cfg008
1866 * PCIE_CFG008 = Ninth 32-bits of PCIE type 0 config space (Base Address Register 2 - Low)
1869 union cvmx_pcieepx_cfg008 {
1871 struct cvmx_pcieepx_cfg008_s {
1872 #ifdef __BIG_ENDIAN_BITFIELD
1873 uint32_t reserved_4_31 : 28;
1874 uint32_t pf : 1; /**< Prefetchable
1875 This field is writable through PEM(0..1)_CFG_WR.
1876 However, the application must not change this field. */
1877 uint32_t typ : 2; /**< BAR type
1880 This field is writable through PEM(0..1)_CFG_WR.
1881 However, the application must not change this field. */
1882 uint32_t mspc : 1; /**< Memory Space Indicator
1883 o 0 = BAR 0 is a memory BAR
1884 o 1 = BAR 0 is an I/O BAR
1885 This field is writable through PEM(0..1)_CFG_WR.
1886 However, the application must not change this field. */
1891 uint32_t reserved_4_31 : 28;
1894 struct cvmx_pcieepx_cfg008_s cn52xx;
1895 struct cvmx_pcieepx_cfg008_s cn52xxp1;
1896 struct cvmx_pcieepx_cfg008_s cn56xx;
1897 struct cvmx_pcieepx_cfg008_s cn56xxp1;
1898 struct cvmx_pcieepx_cfg008_s cn61xx;
1899 struct cvmx_pcieepx_cfg008_s cn63xx;
1900 struct cvmx_pcieepx_cfg008_s cn63xxp1;
1901 struct cvmx_pcieepx_cfg008_s cn66xx;
1902 struct cvmx_pcieepx_cfg008_s cn68xx;
1903 struct cvmx_pcieepx_cfg008_s cn68xxp1;
1904 struct cvmx_pcieepx_cfg008_s cnf71xx;
1906 typedef union cvmx_pcieepx_cfg008 cvmx_pcieepx_cfg008_t;
1909 * cvmx_pcieep#_cfg008_mask
1911 * PCIE_CFG008_MASK (BAR Mask 2 - Low)
1912 * The BAR 2 Mask register is invisible to host software and not readable from the application.
1913 * The BAR 2 Mask register is only writable through PEM(0..1)_CFG_WR.
1915 union cvmx_pcieepx_cfg008_mask {
1917 struct cvmx_pcieepx_cfg008_mask_s {
1918 #ifdef __BIG_ENDIAN_BITFIELD
1919 uint32_t lmask : 31; /**< Bar Mask Low */
1920 uint32_t enb : 1; /**< Bar Enable
1921 o 0: BAR 2 is disabled
1922 o 1: BAR 2 is enabled
1923 Bit 0 is interpreted as BAR Enable when writing to the BAR Mask
1924 register rather than as a mask bit because bit 0 of a BAR is
1925 always masked from writing by host software. Bit 0 must be
1926 written prior to writing the other mask bits. */
1929 uint32_t lmask : 31;
1932 struct cvmx_pcieepx_cfg008_mask_s cn52xx;
1933 struct cvmx_pcieepx_cfg008_mask_s cn52xxp1;
1934 struct cvmx_pcieepx_cfg008_mask_s cn56xx;
1935 struct cvmx_pcieepx_cfg008_mask_s cn56xxp1;
1936 struct cvmx_pcieepx_cfg008_mask_s cn61xx;
1937 struct cvmx_pcieepx_cfg008_mask_s cn63xx;
1938 struct cvmx_pcieepx_cfg008_mask_s cn63xxp1;
1939 struct cvmx_pcieepx_cfg008_mask_s cn66xx;
1940 struct cvmx_pcieepx_cfg008_mask_s cn68xx;
1941 struct cvmx_pcieepx_cfg008_mask_s cn68xxp1;
1942 struct cvmx_pcieepx_cfg008_mask_s cnf71xx;
1944 typedef union cvmx_pcieepx_cfg008_mask cvmx_pcieepx_cfg008_mask_t;
1947 * cvmx_pcieep#_cfg009
1949 * PCIE_CFG009 = Tenth 32-bits of PCIE type 0 config space (Base Address Register 2 - High)
1952 union cvmx_pcieepx_cfg009 {
1954 struct cvmx_pcieepx_cfg009_s {
1955 #ifdef __BIG_ENDIAN_BITFIELD
1956 uint32_t reserved_0_31 : 32;
1958 uint32_t reserved_0_31 : 32;
1961 struct cvmx_pcieepx_cfg009_cn52xx {
1962 #ifdef __BIG_ENDIAN_BITFIELD
1963 uint32_t ubab : 25; /**< Contains the upper 32 bits of the BAR 2 base address. */
1964 uint32_t reserved_0_6 : 7;
1966 uint32_t reserved_0_6 : 7;
1970 struct cvmx_pcieepx_cfg009_cn52xx cn52xxp1;
1971 struct cvmx_pcieepx_cfg009_cn52xx cn56xx;
1972 struct cvmx_pcieepx_cfg009_cn52xx cn56xxp1;
1973 struct cvmx_pcieepx_cfg009_cn61xx {
1974 #ifdef __BIG_ENDIAN_BITFIELD
1975 uint32_t ubab : 23; /**< Contains the upper 32 bits of the BAR 2 base address. */
1976 uint32_t reserved_0_8 : 9;
1978 uint32_t reserved_0_8 : 9;
1982 struct cvmx_pcieepx_cfg009_cn61xx cn63xx;
1983 struct cvmx_pcieepx_cfg009_cn61xx cn63xxp1;
1984 struct cvmx_pcieepx_cfg009_cn61xx cn66xx;
1985 struct cvmx_pcieepx_cfg009_cn61xx cn68xx;
1986 struct cvmx_pcieepx_cfg009_cn61xx cn68xxp1;
1987 struct cvmx_pcieepx_cfg009_cn61xx cnf71xx;
1989 typedef union cvmx_pcieepx_cfg009 cvmx_pcieepx_cfg009_t;
1992 * cvmx_pcieep#_cfg009_mask
1994 * PCIE_CFG009_MASK (BAR Mask 2 - High)
1995 * The BAR 2 Mask register is invisible to host software and not readable from the application.
1996 * The BAR 2 Mask register is only writable through PEM(0..1)_CFG_WR.
1998 union cvmx_pcieepx_cfg009_mask {
2000 struct cvmx_pcieepx_cfg009_mask_s {
2001 #ifdef __BIG_ENDIAN_BITFIELD
2002 uint32_t umask : 32; /**< Bar Mask High */
2004 uint32_t umask : 32;
2007 struct cvmx_pcieepx_cfg009_mask_s cn52xx;
2008 struct cvmx_pcieepx_cfg009_mask_s cn52xxp1;
2009 struct cvmx_pcieepx_cfg009_mask_s cn56xx;
2010 struct cvmx_pcieepx_cfg009_mask_s cn56xxp1;
2011 struct cvmx_pcieepx_cfg009_mask_s cn61xx;
2012 struct cvmx_pcieepx_cfg009_mask_s cn63xx;
2013 struct cvmx_pcieepx_cfg009_mask_s cn63xxp1;
2014 struct cvmx_pcieepx_cfg009_mask_s cn66xx;
2015 struct cvmx_pcieepx_cfg009_mask_s cn68xx;
2016 struct cvmx_pcieepx_cfg009_mask_s cn68xxp1;
2017 struct cvmx_pcieepx_cfg009_mask_s cnf71xx;
2019 typedef union cvmx_pcieepx_cfg009_mask cvmx_pcieepx_cfg009_mask_t;
2022 * cvmx_pcieep#_cfg010
2024 * PCIE_CFG010 = Eleventh 32-bits of PCIE type 0 config space (CardBus CIS Pointer Register)
2027 union cvmx_pcieepx_cfg010 {
2029 struct cvmx_pcieepx_cfg010_s {
2030 #ifdef __BIG_ENDIAN_BITFIELD
2031 uint32_t cisp : 32; /**< CardBus CIS Pointer
2032 Optional, writable through PEM(0..1)_CFG_WR. */
2037 struct cvmx_pcieepx_cfg010_s cn52xx;
2038 struct cvmx_pcieepx_cfg010_s cn52xxp1;
2039 struct cvmx_pcieepx_cfg010_s cn56xx;
2040 struct cvmx_pcieepx_cfg010_s cn56xxp1;
2041 struct cvmx_pcieepx_cfg010_s cn61xx;
2042 struct cvmx_pcieepx_cfg010_s cn63xx;
2043 struct cvmx_pcieepx_cfg010_s cn63xxp1;
2044 struct cvmx_pcieepx_cfg010_s cn66xx;
2045 struct cvmx_pcieepx_cfg010_s cn68xx;
2046 struct cvmx_pcieepx_cfg010_s cn68xxp1;
2047 struct cvmx_pcieepx_cfg010_s cnf71xx;
2049 typedef union cvmx_pcieepx_cfg010 cvmx_pcieepx_cfg010_t;
2052 * cvmx_pcieep#_cfg011
2054 * PCIE_CFG011 = Twelfth 32-bits of PCIE type 0 config space (Subsystem ID and Subsystem Vendor ID Register)
2057 union cvmx_pcieepx_cfg011 {
2059 struct cvmx_pcieepx_cfg011_s {
2060 #ifdef __BIG_ENDIAN_BITFIELD
2061 uint32_t ssid : 16; /**< Subsystem ID
2062 Assigned by PCI-SIG, writable through PEM(0..1)_CFG_WR. However, the application must not change this field. */
2063 uint32_t ssvid : 16; /**< Subsystem Vendor ID
2064 Assigned by PCI-SIG, writable through PEM(0..1)_CFG_WR.
2065 However, the application must not change this field. */
2067 uint32_t ssvid : 16;
2071 struct cvmx_pcieepx_cfg011_s cn52xx;
2072 struct cvmx_pcieepx_cfg011_s cn52xxp1;
2073 struct cvmx_pcieepx_cfg011_s cn56xx;
2074 struct cvmx_pcieepx_cfg011_s cn56xxp1;
2075 struct cvmx_pcieepx_cfg011_s cn61xx;
2076 struct cvmx_pcieepx_cfg011_s cn63xx;
2077 struct cvmx_pcieepx_cfg011_s cn63xxp1;
2078 struct cvmx_pcieepx_cfg011_s cn66xx;
2079 struct cvmx_pcieepx_cfg011_s cn68xx;
2080 struct cvmx_pcieepx_cfg011_s cn68xxp1;
2081 struct cvmx_pcieepx_cfg011_s cnf71xx;
2083 typedef union cvmx_pcieepx_cfg011 cvmx_pcieepx_cfg011_t;
2086 * cvmx_pcieep#_cfg012
2088 * PCIE_CFG012 = Thirteenth 32-bits of PCIE type 0 config space (Expansion ROM Base Address Register)
2091 union cvmx_pcieepx_cfg012 {
2093 struct cvmx_pcieepx_cfg012_s {
2094 #ifdef __BIG_ENDIAN_BITFIELD
2095 uint32_t eraddr : 16; /**< Expansion ROM Address */
2096 uint32_t reserved_1_15 : 15;
2097 uint32_t er_en : 1; /**< Expansion ROM Enable */
2100 uint32_t reserved_1_15 : 15;
2101 uint32_t eraddr : 16;
2104 struct cvmx_pcieepx_cfg012_s cn52xx;
2105 struct cvmx_pcieepx_cfg012_s cn52xxp1;
2106 struct cvmx_pcieepx_cfg012_s cn56xx;
2107 struct cvmx_pcieepx_cfg012_s cn56xxp1;
2108 struct cvmx_pcieepx_cfg012_s cn61xx;
2109 struct cvmx_pcieepx_cfg012_s cn63xx;
2110 struct cvmx_pcieepx_cfg012_s cn63xxp1;
2111 struct cvmx_pcieepx_cfg012_s cn66xx;
2112 struct cvmx_pcieepx_cfg012_s cn68xx;
2113 struct cvmx_pcieepx_cfg012_s cn68xxp1;
2114 struct cvmx_pcieepx_cfg012_s cnf71xx;
2116 typedef union cvmx_pcieepx_cfg012 cvmx_pcieepx_cfg012_t;
2119 * cvmx_pcieep#_cfg012_mask
2121 * PCIE_CFG012_MASK (Exapansion ROM BAR Mask)
2122 * The ROM Mask register is invisible to host software and not readable from the application.
2123 * The ROM Mask register is only writable through PEM(0..1)_CFG_WR.
2125 union cvmx_pcieepx_cfg012_mask {
2127 struct cvmx_pcieepx_cfg012_mask_s {
2128 #ifdef __BIG_ENDIAN_BITFIELD
2129 uint32_t mask : 31; /**< Bar Mask Low NS */
2130 uint32_t enb : 1; /**< Bar Enable NS
2131 o 0: BAR ROM is disabled
2132 o 1: BAR ROM is enabled
2133 Bit 0 is interpreted as BAR Enable when writing to the BAR Mask
2134 register rather than as a mask bit because bit 0 of a BAR is
2135 always masked from writing by host software. Bit 0 must be
2136 written prior to writing the other mask bits. */
2142 struct cvmx_pcieepx_cfg012_mask_s cn52xx;
2143 struct cvmx_pcieepx_cfg012_mask_s cn52xxp1;
2144 struct cvmx_pcieepx_cfg012_mask_s cn56xx;
2145 struct cvmx_pcieepx_cfg012_mask_s cn56xxp1;
2146 struct cvmx_pcieepx_cfg012_mask_s cn61xx;
2147 struct cvmx_pcieepx_cfg012_mask_s cn63xx;
2148 struct cvmx_pcieepx_cfg012_mask_s cn63xxp1;
2149 struct cvmx_pcieepx_cfg012_mask_s cn66xx;
2150 struct cvmx_pcieepx_cfg012_mask_s cn68xx;
2151 struct cvmx_pcieepx_cfg012_mask_s cn68xxp1;
2152 struct cvmx_pcieepx_cfg012_mask_s cnf71xx;
2154 typedef union cvmx_pcieepx_cfg012_mask cvmx_pcieepx_cfg012_mask_t;
2157 * cvmx_pcieep#_cfg013
2159 * PCIE_CFG013 = Fourteenth 32-bits of PCIE type 0 config space (Capability Pointer Register)
2162 union cvmx_pcieepx_cfg013 {
2164 struct cvmx_pcieepx_cfg013_s {
2165 #ifdef __BIG_ENDIAN_BITFIELD
2166 uint32_t reserved_8_31 : 24;
2167 uint32_t cp : 8; /**< First Capability Pointer.
2168 Points to Power Management Capability structure by
2169 default, writable through PEM(0..1)_CFG_WR.
2170 However, the application must not change this field. */
2173 uint32_t reserved_8_31 : 24;
2176 struct cvmx_pcieepx_cfg013_s cn52xx;
2177 struct cvmx_pcieepx_cfg013_s cn52xxp1;
2178 struct cvmx_pcieepx_cfg013_s cn56xx;
2179 struct cvmx_pcieepx_cfg013_s cn56xxp1;
2180 struct cvmx_pcieepx_cfg013_s cn61xx;
2181 struct cvmx_pcieepx_cfg013_s cn63xx;
2182 struct cvmx_pcieepx_cfg013_s cn63xxp1;
2183 struct cvmx_pcieepx_cfg013_s cn66xx;
2184 struct cvmx_pcieepx_cfg013_s cn68xx;
2185 struct cvmx_pcieepx_cfg013_s cn68xxp1;
2186 struct cvmx_pcieepx_cfg013_s cnf71xx;
2188 typedef union cvmx_pcieepx_cfg013 cvmx_pcieepx_cfg013_t;
2191 * cvmx_pcieep#_cfg015
2193 * PCIE_CFG015 = Sixteenth 32-bits of PCIE type 0 config space (Interrupt Line Register/Interrupt Pin/Bridge Control Register)
2196 union cvmx_pcieepx_cfg015 {
2198 struct cvmx_pcieepx_cfg015_s {
2199 #ifdef __BIG_ENDIAN_BITFIELD
2200 uint32_t ml : 8; /**< Maximum Latency (Hardwired to 0) */
2201 uint32_t mg : 8; /**< Minimum Grant (Hardwired to 0) */
2202 uint32_t inta : 8; /**< Interrupt Pin
2203 Identifies the legacy interrupt Message that the device
2204 (or device function) uses.
2205 The Interrupt Pin register is writable through PEM(0..1)_CFG_WR.
2206 In a single-function configuration, only INTA is used.
2207 Therefore, the application must not change this field. */
2208 uint32_t il : 8; /**< Interrupt Line */
2216 struct cvmx_pcieepx_cfg015_s cn52xx;
2217 struct cvmx_pcieepx_cfg015_s cn52xxp1;
2218 struct cvmx_pcieepx_cfg015_s cn56xx;
2219 struct cvmx_pcieepx_cfg015_s cn56xxp1;
2220 struct cvmx_pcieepx_cfg015_s cn61xx;
2221 struct cvmx_pcieepx_cfg015_s cn63xx;
2222 struct cvmx_pcieepx_cfg015_s cn63xxp1;
2223 struct cvmx_pcieepx_cfg015_s cn66xx;
2224 struct cvmx_pcieepx_cfg015_s cn68xx;
2225 struct cvmx_pcieepx_cfg015_s cn68xxp1;
2226 struct cvmx_pcieepx_cfg015_s cnf71xx;
2228 typedef union cvmx_pcieepx_cfg015 cvmx_pcieepx_cfg015_t;
2231 * cvmx_pcieep#_cfg016
2233 * PCIE_CFG016 = Seventeenth 32-bits of PCIE type 0 config space
2234 * (Power Management Capability ID/
2235 * Power Management Next Item Pointer/
2236 * Power Management Capabilities Register)
2238 union cvmx_pcieepx_cfg016 {
2240 struct cvmx_pcieepx_cfg016_s {
2241 #ifdef __BIG_ENDIAN_BITFIELD
2242 uint32_t pmes : 5; /**< PME_Support
2243 o Bit 11: If set, PME Messages can be generated from D0
2244 o Bit 12: If set, PME Messages can be generated from D1
2245 o Bit 13: If set, PME Messages can be generated from D2
2246 o Bit 14: If set, PME Messages can be generated from D3hot
2247 o Bit 15: If set, PME Messages can be generated from D3cold
2248 The PME_Support field is writable through PEM(0..1)_CFG_WR.
2249 However, the application must not change this field. */
2250 uint32_t d2s : 1; /**< D2 Support, writable through PEM(0..1)_CFG_WR
2251 However, the application must not change this field. */
2252 uint32_t d1s : 1; /**< D1 Support, writable through PEM(0..1)_CFG_WR
2253 However, the application must not change this field. */
2254 uint32_t auxc : 3; /**< AUX Current, writable through PEM(0..1)_CFG_WR
2255 However, the application must not change this field. */
2256 uint32_t dsi : 1; /**< Device Specific Initialization (DSI), writable through PEM(0..1)_CFG_WR
2257 However, the application must not change this field. */
2258 uint32_t reserved_20_20 : 1;
2259 uint32_t pme_clock : 1; /**< PME Clock, hardwired to 0 */
2260 uint32_t pmsv : 3; /**< Power Management Specification Version, writable through PEM(0..1)_CFG_WR
2261 However, the application must not change this field. */
2262 uint32_t ncp : 8; /**< Next Capability Pointer
2263 Points to the MSI capabilities by default, writable
2264 through PEM(0..1)_CFG_WR.
2265 However, the application must not change this field. */
2266 uint32_t pmcid : 8; /**< Power Management Capability ID */
2271 uint32_t pme_clock : 1;
2272 uint32_t reserved_20_20 : 1;
2280 struct cvmx_pcieepx_cfg016_s cn52xx;
2281 struct cvmx_pcieepx_cfg016_s cn52xxp1;
2282 struct cvmx_pcieepx_cfg016_s cn56xx;
2283 struct cvmx_pcieepx_cfg016_s cn56xxp1;
2284 struct cvmx_pcieepx_cfg016_s cn61xx;
2285 struct cvmx_pcieepx_cfg016_s cn63xx;
2286 struct cvmx_pcieepx_cfg016_s cn63xxp1;
2287 struct cvmx_pcieepx_cfg016_s cn66xx;
2288 struct cvmx_pcieepx_cfg016_s cn68xx;
2289 struct cvmx_pcieepx_cfg016_s cn68xxp1;
2290 struct cvmx_pcieepx_cfg016_s cnf71xx;
2292 typedef union cvmx_pcieepx_cfg016 cvmx_pcieepx_cfg016_t;
2295 * cvmx_pcieep#_cfg017
2297 * PCIE_CFG017 = Eighteenth 32-bits of PCIE type 0 config space (Power Management Control and Status Register)
2300 union cvmx_pcieepx_cfg017 {
2302 struct cvmx_pcieepx_cfg017_s {
2303 #ifdef __BIG_ENDIAN_BITFIELD
2304 uint32_t pmdia : 8; /**< Data register for additional information (not supported) */
2305 uint32_t bpccee : 1; /**< Bus Power/Clock Control Enable, hardwired to 0 */
2306 uint32_t bd3h : 1; /**< B2/B3 Support, hardwired to 0 */
2307 uint32_t reserved_16_21 : 6;
2308 uint32_t pmess : 1; /**< PME Status
2309 Indicates if a previously enabled PME event occurred or not. */
2310 uint32_t pmedsia : 2; /**< Data Scale (not supported) */
2311 uint32_t pmds : 4; /**< Data Select (not supported) */
2312 uint32_t pmeens : 1; /**< PME Enable
2313 A value of 1 indicates that the device is enabled to
2315 uint32_t reserved_4_7 : 4;
2316 uint32_t nsr : 1; /**< No Soft Reset, writable through PEM(0..1)_CFG_WR
2317 However, the application must not change this field. */
2318 uint32_t reserved_2_2 : 1;
2319 uint32_t ps : 2; /**< Power State
2320 Controls the device power state:
2325 The written value is ignored if the specific state is
2329 uint32_t reserved_2_2 : 1;
2331 uint32_t reserved_4_7 : 4;
2332 uint32_t pmeens : 1;
2334 uint32_t pmedsia : 2;
2336 uint32_t reserved_16_21 : 6;
2338 uint32_t bpccee : 1;
2342 struct cvmx_pcieepx_cfg017_s cn52xx;
2343 struct cvmx_pcieepx_cfg017_s cn52xxp1;
2344 struct cvmx_pcieepx_cfg017_s cn56xx;
2345 struct cvmx_pcieepx_cfg017_s cn56xxp1;
2346 struct cvmx_pcieepx_cfg017_s cn61xx;
2347 struct cvmx_pcieepx_cfg017_s cn63xx;
2348 struct cvmx_pcieepx_cfg017_s cn63xxp1;
2349 struct cvmx_pcieepx_cfg017_s cn66xx;
2350 struct cvmx_pcieepx_cfg017_s cn68xx;
2351 struct cvmx_pcieepx_cfg017_s cn68xxp1;
2352 struct cvmx_pcieepx_cfg017_s cnf71xx;
2354 typedef union cvmx_pcieepx_cfg017 cvmx_pcieepx_cfg017_t;
2357 * cvmx_pcieep#_cfg020
2359 * PCIE_CFG020 = Twenty-first 32-bits of PCIE type 0 config space
2360 * (MSI Capability ID/
2361 * MSI Next Item Pointer/
2362 * MSI Control Register)
2364 union cvmx_pcieepx_cfg020 {
2366 struct cvmx_pcieepx_cfg020_s {
2367 #ifdef __BIG_ENDIAN_BITFIELD
2368 uint32_t reserved_25_31 : 7;
2369 uint32_t pvm : 1; /**< Per-vector masking capable */
2370 uint32_t m64 : 1; /**< 64-bit Address Capable, writable through PEM(0..1)_CFG_WR
2371 However, the application must not change this field. */
2372 uint32_t mme : 3; /**< Multiple Message Enabled
2373 Indicates that multiple Message mode is enabled by system
2374 software. The number of Messages enabled must be less than
2375 or equal to the Multiple Message Capable value. */
2376 uint32_t mmc : 3; /**< Multiple Message Capable, writable through PEM(0..1)_CFG_WR
2377 However, the application must not change this field. */
2378 uint32_t msien : 1; /**< MSI Enabled
2379 When set, INTx must be disabled. */
2380 uint32_t ncp : 8; /**< Next Capability Pointer
2381 Points to PCI Express Capabilities by default,
2382 writable through PEM(0..1)_CFG_WR.
2383 However, the application must not change this field. */
2384 uint32_t msicid : 8; /**< MSI Capability ID */
2386 uint32_t msicid : 8;
2393 uint32_t reserved_25_31 : 7;
2396 struct cvmx_pcieepx_cfg020_cn52xx {
2397 #ifdef __BIG_ENDIAN_BITFIELD
2398 uint32_t reserved_24_31 : 8;
2399 uint32_t m64 : 1; /**< 64-bit Address Capable, writable through PESC(0..1)_CFG_WR
2400 However, the application must not change this field. */
2401 uint32_t mme : 3; /**< Multiple Message Enabled
2402 Indicates that multiple Message mode is enabled by system
2403 software. The number of Messages enabled must be less than
2404 or equal to the Multiple Message Capable value. */
2405 uint32_t mmc : 3; /**< Multiple Message Capable, writable through PESC(0..1)_CFG_WR
2406 However, the application must not change this field. */
2407 uint32_t msien : 1; /**< MSI Enabled
2408 When set, INTx must be disabled. */
2409 uint32_t ncp : 8; /**< Next Capability Pointer
2410 Points to PCI Express Capabilities by default,
2411 writable through PESC(0..1)_CFG_WR.
2412 However, the application must not change this field. */
2413 uint32_t msicid : 8; /**< MSI Capability ID */
2415 uint32_t msicid : 8;
2421 uint32_t reserved_24_31 : 8;
2424 struct cvmx_pcieepx_cfg020_cn52xx cn52xxp1;
2425 struct cvmx_pcieepx_cfg020_cn52xx cn56xx;
2426 struct cvmx_pcieepx_cfg020_cn52xx cn56xxp1;
2427 struct cvmx_pcieepx_cfg020_s cn61xx;
2428 struct cvmx_pcieepx_cfg020_cn52xx cn63xx;
2429 struct cvmx_pcieepx_cfg020_cn52xx cn63xxp1;
2430 struct cvmx_pcieepx_cfg020_s cn66xx;
2431 struct cvmx_pcieepx_cfg020_s cn68xx;
2432 struct cvmx_pcieepx_cfg020_s cn68xxp1;
2433 struct cvmx_pcieepx_cfg020_s cnf71xx;
2435 typedef union cvmx_pcieepx_cfg020 cvmx_pcieepx_cfg020_t;
2438 * cvmx_pcieep#_cfg021
2440 * PCIE_CFG021 = Twenty-second 32-bits of PCIE type 0 config space (MSI Lower 32 Bits Address Register)
2443 union cvmx_pcieepx_cfg021 {
2445 struct cvmx_pcieepx_cfg021_s {
2446 #ifdef __BIG_ENDIAN_BITFIELD
2447 uint32_t lmsi : 30; /**< Lower 32-bit Address */
2448 uint32_t reserved_0_1 : 2;
2450 uint32_t reserved_0_1 : 2;
2454 struct cvmx_pcieepx_cfg021_s cn52xx;
2455 struct cvmx_pcieepx_cfg021_s cn52xxp1;
2456 struct cvmx_pcieepx_cfg021_s cn56xx;
2457 struct cvmx_pcieepx_cfg021_s cn56xxp1;
2458 struct cvmx_pcieepx_cfg021_s cn61xx;
2459 struct cvmx_pcieepx_cfg021_s cn63xx;
2460 struct cvmx_pcieepx_cfg021_s cn63xxp1;
2461 struct cvmx_pcieepx_cfg021_s cn66xx;
2462 struct cvmx_pcieepx_cfg021_s cn68xx;
2463 struct cvmx_pcieepx_cfg021_s cn68xxp1;
2464 struct cvmx_pcieepx_cfg021_s cnf71xx;
2466 typedef union cvmx_pcieepx_cfg021 cvmx_pcieepx_cfg021_t;
2469 * cvmx_pcieep#_cfg022
2471 * PCIE_CFG022 = Twenty-third 32-bits of PCIE type 0 config space (MSI Upper 32 bits Address Register)
2474 union cvmx_pcieepx_cfg022 {
2476 struct cvmx_pcieepx_cfg022_s {
2477 #ifdef __BIG_ENDIAN_BITFIELD
2478 uint32_t umsi : 32; /**< Upper 32-bit Address */
2483 struct cvmx_pcieepx_cfg022_s cn52xx;
2484 struct cvmx_pcieepx_cfg022_s cn52xxp1;
2485 struct cvmx_pcieepx_cfg022_s cn56xx;
2486 struct cvmx_pcieepx_cfg022_s cn56xxp1;
2487 struct cvmx_pcieepx_cfg022_s cn61xx;
2488 struct cvmx_pcieepx_cfg022_s cn63xx;
2489 struct cvmx_pcieepx_cfg022_s cn63xxp1;
2490 struct cvmx_pcieepx_cfg022_s cn66xx;
2491 struct cvmx_pcieepx_cfg022_s cn68xx;
2492 struct cvmx_pcieepx_cfg022_s cn68xxp1;
2493 struct cvmx_pcieepx_cfg022_s cnf71xx;
2495 typedef union cvmx_pcieepx_cfg022 cvmx_pcieepx_cfg022_t;
2498 * cvmx_pcieep#_cfg023
2500 * PCIE_CFG023 = Twenty-fourth 32-bits of PCIE type 0 config space (MSI Data Register)
2503 union cvmx_pcieepx_cfg023 {
2505 struct cvmx_pcieepx_cfg023_s {
2506 #ifdef __BIG_ENDIAN_BITFIELD
2507 uint32_t reserved_16_31 : 16;
2508 uint32_t msimd : 16; /**< MSI Data
2509 Pattern assigned by system software, bits [4:0] are Or-ed with
2510 MSI_VECTOR to generate 32 MSI Messages per function. */
2512 uint32_t msimd : 16;
2513 uint32_t reserved_16_31 : 16;
2516 struct cvmx_pcieepx_cfg023_s cn52xx;
2517 struct cvmx_pcieepx_cfg023_s cn52xxp1;
2518 struct cvmx_pcieepx_cfg023_s cn56xx;
2519 struct cvmx_pcieepx_cfg023_s cn56xxp1;
2520 struct cvmx_pcieepx_cfg023_s cn61xx;
2521 struct cvmx_pcieepx_cfg023_s cn63xx;
2522 struct cvmx_pcieepx_cfg023_s cn63xxp1;
2523 struct cvmx_pcieepx_cfg023_s cn66xx;
2524 struct cvmx_pcieepx_cfg023_s cn68xx;
2525 struct cvmx_pcieepx_cfg023_s cn68xxp1;
2526 struct cvmx_pcieepx_cfg023_s cnf71xx;
2528 typedef union cvmx_pcieepx_cfg023 cvmx_pcieepx_cfg023_t;
2531 * cvmx_pcieep#_cfg028
2533 * PCIE_CFG028 = Twenty-ninth 32-bits of PCIE type 0 config space
2534 * (PCI Express Capabilities List Register/
2535 * PCI Express Capabilities Register)
2537 union cvmx_pcieepx_cfg028 {
2539 struct cvmx_pcieepx_cfg028_s {
2540 #ifdef __BIG_ENDIAN_BITFIELD
2541 uint32_t reserved_30_31 : 2;
2542 uint32_t imn : 5; /**< Interrupt Message Number
2543 Updated by hardware, writable through PEM(0..1)_CFG_WR.
2544 However, the application must not change this field. */
2545 uint32_t si : 1; /**< Slot Implemented
2546 This bit is writable through PEM(0..1)_CFG_WR.
2547 However, it must be 0 for
2548 an Endpoint device. Therefore, the application must not write a
2550 uint32_t dpt : 4; /**< Device Port Type */
2551 uint32_t pciecv : 4; /**< PCI Express Capability Version */
2552 uint32_t ncp : 8; /**< Next Capability Pointer
2553 writable through PEM(0..1)_CFG_WR.
2554 However, the application must not change this field. */
2555 uint32_t pcieid : 8; /**< PCIE Capability ID */
2557 uint32_t pcieid : 8;
2559 uint32_t pciecv : 4;
2563 uint32_t reserved_30_31 : 2;
2566 struct cvmx_pcieepx_cfg028_s cn52xx;
2567 struct cvmx_pcieepx_cfg028_s cn52xxp1;
2568 struct cvmx_pcieepx_cfg028_s cn56xx;
2569 struct cvmx_pcieepx_cfg028_s cn56xxp1;
2570 struct cvmx_pcieepx_cfg028_s cn61xx;
2571 struct cvmx_pcieepx_cfg028_s cn63xx;
2572 struct cvmx_pcieepx_cfg028_s cn63xxp1;
2573 struct cvmx_pcieepx_cfg028_s cn66xx;
2574 struct cvmx_pcieepx_cfg028_s cn68xx;
2575 struct cvmx_pcieepx_cfg028_s cn68xxp1;
2576 struct cvmx_pcieepx_cfg028_s cnf71xx;
2578 typedef union cvmx_pcieepx_cfg028 cvmx_pcieepx_cfg028_t;
2581 * cvmx_pcieep#_cfg029
2583 * PCIE_CFG029 = Thirtieth 32-bits of PCIE type 0 config space (Device Capabilities Register)
2586 union cvmx_pcieepx_cfg029 {
2588 struct cvmx_pcieepx_cfg029_s {
2589 #ifdef __BIG_ENDIAN_BITFIELD
2590 uint32_t reserved_28_31 : 4;
2591 uint32_t cspls : 2; /**< Captured Slot Power Limit Scale
2592 From Message from RC, upstream port only. */
2593 uint32_t csplv : 8; /**< Captured Slot Power Limit Value
2594 From Message from RC, upstream port only. */
2595 uint32_t reserved_16_17 : 2;
2596 uint32_t rber : 1; /**< Role-Based Error Reporting, writable through PEM(0..1)_CFG_WR
2597 However, the application must not change this field. */
2598 uint32_t reserved_12_14 : 3;
2599 uint32_t el1al : 3; /**< Endpoint L1 Acceptable Latency, writable through PEM(0..1)_CFG_WR
2600 However, the application must not change this field. */
2601 uint32_t el0al : 3; /**< Endpoint L0s Acceptable Latency, writable through PEM(0..1)_CFG_WR
2602 However, the application must not change this field. */
2603 uint32_t etfs : 1; /**< Extended Tag Field Supported
2604 This bit is writable through PEM(0..1)_CFG_WR.
2605 However, the application
2606 must not write a 1 to this bit. */
2607 uint32_t pfs : 2; /**< Phantom Function Supported
2608 This field is writable through PEM(0..1)_CFG_WR.
2610 Function is not supported. Therefore, the application must not
2611 write any value other than 0x0 to this field. */
2612 uint32_t mpss : 3; /**< Max_Payload_Size Supported, writable through PEM(0..1)_CFG_WR
2613 However, the application must not change this field. */
2620 uint32_t reserved_12_14 : 3;
2622 uint32_t reserved_16_17 : 2;
2625 uint32_t reserved_28_31 : 4;
2628 struct cvmx_pcieepx_cfg029_s cn52xx;
2629 struct cvmx_pcieepx_cfg029_s cn52xxp1;
2630 struct cvmx_pcieepx_cfg029_s cn56xx;
2631 struct cvmx_pcieepx_cfg029_s cn56xxp1;
2632 struct cvmx_pcieepx_cfg029_cn61xx {
2633 #ifdef __BIG_ENDIAN_BITFIELD
2634 uint32_t reserved_29_31 : 3;
2635 uint32_t flr_cap : 1; /**< Function Level Reset Capable
2637 uint32_t cspls : 2; /**< Captured Slot Power Limit Scale
2638 From Message from RC, upstream port only. */
2639 uint32_t csplv : 8; /**< Captured Slot Power Limit Value
2640 From Message from RC, upstream port only. */
2641 uint32_t reserved_16_17 : 2;
2642 uint32_t rber : 1; /**< Role-Based Error Reporting, writable through PEM(0..1)_CFG_WR
2643 However, the application must not change this field. */
2644 uint32_t reserved_12_14 : 3;
2645 uint32_t el1al : 3; /**< Endpoint L1 Acceptable Latency, writable through PEM(0..1)_CFG_WR
2646 However, the application must not change this field. */
2647 uint32_t el0al : 3; /**< Endpoint L0s Acceptable Latency, writable through PEM(0..1)_CFG_WR
2648 However, the application must not change this field. */
2649 uint32_t etfs : 1; /**< Extended Tag Field Supported
2650 This bit is writable through PEM(0..1)_CFG_WR.
2651 However, the application
2652 must not write a 1 to this bit. */
2653 uint32_t pfs : 2; /**< Phantom Function Supported
2654 This field is writable through PEM(0..1)_CFG_WR.
2656 Function is not supported. Therefore, the application must not
2657 write any value other than 0x0 to this field. */
2658 uint32_t mpss : 3; /**< Max_Payload_Size Supported, writable through PEM(0..1)_CFG_WR
2659 However, the application must not change this field. */
2666 uint32_t reserved_12_14 : 3;
2668 uint32_t reserved_16_17 : 2;
2671 uint32_t flr_cap : 1;
2672 uint32_t reserved_29_31 : 3;
2675 struct cvmx_pcieepx_cfg029_s cn63xx;
2676 struct cvmx_pcieepx_cfg029_s cn63xxp1;
2677 struct cvmx_pcieepx_cfg029_cn66xx {
2678 #ifdef __BIG_ENDIAN_BITFIELD
2679 uint32_t reserved_29_31 : 3;
2680 uint32_t flr : 1; /**< Function Level Reset Capability
2681 When set, core support of SR-IOV */
2682 uint32_t cspls : 2; /**< Captured Slot Power Limit Scale
2683 From Message from RC, upstream port only. */
2684 uint32_t csplv : 8; /**< Captured Slot Power Limit Value
2685 From Message from RC, upstream port only. */
2686 uint32_t reserved_16_17 : 2;
2687 uint32_t rber : 1; /**< Role-Based Error Reporting, writable through PEM(0..1)_CFG_WR
2688 However, the application must not change this field. */
2689 uint32_t reserved_12_14 : 3;
2690 uint32_t el1al : 3; /**< Endpoint L1 Acceptable Latency, writable through PEM(0..1)_CFG_WR
2691 However, the application must not change this field. */
2692 uint32_t el0al : 3; /**< Endpoint L0s Acceptable Latency, writable through PEM(0..1)_CFG_WR
2693 However, the application must not change this field. */
2694 uint32_t etfs : 1; /**< Extended Tag Field Supported
2695 This bit is writable through PEM(0..1)_CFG_WR.
2696 However, the application
2697 must not write a 1 to this bit. */
2698 uint32_t pfs : 2; /**< Phantom Function Supported
2699 This field is writable through PEM(0..1)_CFG_WR.
2701 Function is not supported. Therefore, the application must not
2702 write any value other than 0x0 to this field. */
2703 uint32_t mpss : 3; /**< Max_Payload_Size Supported, writable through PEM(0..1)_CFG_WR
2704 However, the application must not change this field. */
2711 uint32_t reserved_12_14 : 3;
2713 uint32_t reserved_16_17 : 2;
2717 uint32_t reserved_29_31 : 3;
2720 struct cvmx_pcieepx_cfg029_cn66xx cn68xx;
2721 struct cvmx_pcieepx_cfg029_cn66xx cn68xxp1;
2722 struct cvmx_pcieepx_cfg029_cn61xx cnf71xx;
2724 typedef union cvmx_pcieepx_cfg029 cvmx_pcieepx_cfg029_t;
2727 * cvmx_pcieep#_cfg030
2729 * PCIE_CFG030 = Thirty-first 32-bits of PCIE type 0 config space
2730 * (Device Control Register/Device Status Register)
2732 union cvmx_pcieepx_cfg030 {
2734 struct cvmx_pcieepx_cfg030_s {
2735 #ifdef __BIG_ENDIAN_BITFIELD
2736 uint32_t reserved_22_31 : 10;
2737 uint32_t tp : 1; /**< Transaction Pending
2738 Set to 1 when Non-Posted Requests are not yet completed
2739 and clear when they are completed. */
2740 uint32_t ap_d : 1; /**< Aux Power Detected
2741 Set to 1 if Aux power detected. */
2742 uint32_t ur_d : 1; /**< Unsupported Request Detected
2743 Errors are logged in this register regardless of whether
2744 error reporting is enabled in the Device Control register.
2745 UR_D occurs when we receive something we don't support.
2746 Unsupported requests are Nonfatal errors, so UR_D should
2747 cause NFE_D. Receiving a vendor defined message should
2748 cause an unsupported request. */
2749 uint32_t fe_d : 1; /**< Fatal Error Detected
2750 Errors are logged in this register regardless of whether
2751 error reporting is enabled in the Device Control register.
2752 FE_D is set if receive any of the errors in PCIE_CFG066 that
2753 has a severity set to Fatal. Malformed TLP's generally fit
2754 into this category. */
2755 uint32_t nfe_d : 1; /**< Non-Fatal Error detected
2756 Errors are logged in this register regardless of whether
2757 error reporting is enabled in the Device Control register.
2758 NFE_D is set if we receive any of the errors in PCIE_CFG066
2759 that has a severity set to Nonfatal and does NOT meet Advisory
2760 Nonfatal criteria , which
2761 most poisoned TLP's should be. */
2762 uint32_t ce_d : 1; /**< Correctable Error Detected
2763 Errors are logged in this register regardless of whether
2764 error reporting is enabled in the Device Control register.
2765 CE_D is set if we receive any of the errors in PCIE_CFG068
2766 for example a Replay Timer Timeout. Also, it can be set if
2767 we get any of the errors in PCIE_CFG066 that has a severity
2768 set to Nonfatal and meets the Advisory Nonfatal criteria,
2769 which most ECRC errors
2771 uint32_t i_flr : 1; /**< Initiate Function Level Reset
2773 uint32_t mrrs : 3; /**< Max Read Request Size
2780 Note: SLI_S2M_PORT#_CTL[MRRS] and DPI_SLI_PRT#_CFG[MRRS] and
2781 also must be set properly.
2782 SLI_S2M_PORT#_CTL[MRRS] and DPI_SLI_PRT#_CFG[MRRS] must
2783 not exceed the desired max read request size. */
2784 uint32_t ns_en : 1; /**< Enable No Snoop */
2785 uint32_t ap_en : 1; /**< AUX Power PM Enable */
2786 uint32_t pf_en : 1; /**< Phantom Function Enable
2787 This bit should never be set - OCTEON requests never use
2788 phantom functions. */
2789 uint32_t etf_en : 1; /**< Extended Tag Field Enable
2790 This bit should never be set - OCTEON requests never use
2792 uint32_t mps : 3; /**< Max Payload Size
2796 Larger sizes not supported by OCTEON.
2797 Note: DPI_SLI_PRT#_CFG[MPS] must be set to the same
2798 value for proper functionality. */
2799 uint32_t ro_en : 1; /**< Enable Relaxed Ordering
2800 This bit is not used. */
2801 uint32_t ur_en : 1; /**< Unsupported Request Reporting Enable */
2802 uint32_t fe_en : 1; /**< Fatal Error Reporting Enable */
2803 uint32_t nfe_en : 1; /**< Non-Fatal Error Reporting Enable */
2804 uint32_t ce_en : 1; /**< Correctable Error Reporting Enable */
2807 uint32_t nfe_en : 1;
2812 uint32_t etf_en : 1;
2824 uint32_t reserved_22_31 : 10;
2827 struct cvmx_pcieepx_cfg030_cn52xx {
2828 #ifdef __BIG_ENDIAN_BITFIELD
2829 uint32_t reserved_22_31 : 10;
2830 uint32_t tp : 1; /**< Transaction Pending
2831 Set to 1 when Non-Posted Requests are not yet completed
2832 and clear when they are completed. */
2833 uint32_t ap_d : 1; /**< Aux Power Detected
2834 Set to 1 if Aux power detected. */
2835 uint32_t ur_d : 1; /**< Unsupported Request Detected
2836 Errors are logged in this register regardless of whether
2837 error reporting is enabled in the Device Control register.
2838 UR_D occurs when we receive something we don't support.
2839 Unsupported requests are Nonfatal errors, so UR_D should
2840 cause NFE_D. Receiving a vendor defined message should
2841 cause an unsupported request. */
2842 uint32_t fe_d : 1; /**< Fatal Error Detected
2843 Errors are logged in this register regardless of whether
2844 error reporting is enabled in the Device Control register.
2845 FE_D is set if receive any of the errors in PCIE_CFG066 that
2846 has a severity set to Fatal. Malformed TLP's generally fit
2847 into this category. */
2848 uint32_t nfe_d : 1; /**< Non-Fatal Error detected
2849 Errors are logged in this register regardless of whether
2850 error reporting is enabled in the Device Control register.
2851 NFE_D is set if we receive any of the errors in PCIE_CFG066
2852 that has a severity set to Nonfatal and does NOT meet Advisory
2853 Nonfatal criteria (PCIe 1.1 spec, Section 6.2.3.2.4), which
2854 most poisoned TLP's should be. */
2855 uint32_t ce_d : 1; /**< Correctable Error Detected
2856 Errors are logged in this register regardless of whether
2857 error reporting is enabled in the Device Control register.
2858 CE_D is set if we receive any of the errors in PCIE_CFG068
2859 for example a Replay Timer Timeout. Also, it can be set if
2860 we get any of the errors in PCIE_CFG066 that has a severity
2861 set to Nonfatal and meets the Advisory Nonfatal criteria
2862 (PCIe 1.1 spec, Section 6.2.3.2.4), which most ECRC errors
2864 uint32_t reserved_15_15 : 1;
2865 uint32_t mrrs : 3; /**< Max Read Request Size
2872 Note: NPEI_CTL_STATUS2[MRRS] also must be set properly.
2873 NPEI_CTL_STATUS2[MRRS] must not exceed the
2874 desired max read request size. */
2875 uint32_t ns_en : 1; /**< Enable No Snoop */
2876 uint32_t ap_en : 1; /**< AUX Power PM Enable */
2877 uint32_t pf_en : 1; /**< Phantom Function Enable
2878 This bit should never be set - OCTEON requests never use
2879 phantom functions. */
2880 uint32_t etf_en : 1; /**< Extended Tag Field Enable
2881 This bit should never be set - OCTEON requests never use
2883 uint32_t mps : 3; /**< Max Payload Size
2887 Larger sizes not supported by OCTEON.
2888 Note: NPEI_CTL_STATUS2[MPS] must be set to the same
2889 value for proper functionality. */
2890 uint32_t ro_en : 1; /**< Enable Relaxed Ordering */
2891 uint32_t ur_en : 1; /**< Unsupported Request Reporting Enable */
2892 uint32_t fe_en : 1; /**< Fatal Error Reporting Enable */
2893 uint32_t nfe_en : 1; /**< Non-Fatal Error Reporting Enable */
2894 uint32_t ce_en : 1; /**< Correctable Error Reporting Enable */
2897 uint32_t nfe_en : 1;
2902 uint32_t etf_en : 1;
2907 uint32_t reserved_15_15 : 1;
2914 uint32_t reserved_22_31 : 10;
2917 struct cvmx_pcieepx_cfg030_cn52xx cn52xxp1;
2918 struct cvmx_pcieepx_cfg030_cn52xx cn56xx;
2919 struct cvmx_pcieepx_cfg030_cn52xx cn56xxp1;
2920 struct cvmx_pcieepx_cfg030_s cn61xx;
2921 struct cvmx_pcieepx_cfg030_cn52xx cn63xx;
2922 struct cvmx_pcieepx_cfg030_cn52xx cn63xxp1;
2923 struct cvmx_pcieepx_cfg030_s cn66xx;
2924 struct cvmx_pcieepx_cfg030_s cn68xx;
2925 struct cvmx_pcieepx_cfg030_s cn68xxp1;
2926 struct cvmx_pcieepx_cfg030_s cnf71xx;
2928 typedef union cvmx_pcieepx_cfg030 cvmx_pcieepx_cfg030_t;
2931 * cvmx_pcieep#_cfg031
2933 * PCIE_CFG031 = Thirty-second 32-bits of PCIE type 0 config space
2934 * (Link Capabilities Register)
2936 union cvmx_pcieepx_cfg031 {
2938 struct cvmx_pcieepx_cfg031_s {
2939 #ifdef __BIG_ENDIAN_BITFIELD
2940 uint32_t pnum : 8; /**< Port Number
2941 writable through PEM(0..1)_CFG_WR, however the application
2942 must not change this field. */
2943 uint32_t reserved_23_23 : 1;
2944 uint32_t aspm : 1; /**< ASPM Optionality Compliance */
2945 uint32_t lbnc : 1; /**< Link Bandwidth Notification Capability
2946 Set 0 for Endpoint devices. */
2947 uint32_t dllarc : 1; /**< Data Link Layer Active Reporting Capable */
2948 uint32_t sderc : 1; /**< Surprise Down Error Reporting Capable
2949 Not supported, hardwired to 0x0. */
2950 uint32_t cpm : 1; /**< Clock Power Management
2951 The default value is the value you specify during hardware
2952 configuration, writable through PEM(0..1)_CFG_WR.
2953 However, the application must not change this field. */
2954 uint32_t l1el : 3; /**< L1 Exit Latency
2955 The default value is the value you specify during hardware
2956 configuration, writable through PEM(0..1)_CFG_WR.
2957 However, the application must not change this field. */
2958 uint32_t l0el : 3; /**< L0s Exit Latency
2959 The default value is the value you specify during hardware
2960 configuration, writable through PEM(0..1)_CFG_WR.
2961 However, the application must not change this field. */
2962 uint32_t aslpms : 2; /**< Active State Link PM Support
2963 The default value is the value you specify during hardware
2964 configuration, writable through PEM(0..1)_CFG_WR.
2965 However, the application must not change this field. */
2966 uint32_t mlw : 6; /**< Maximum Link Width
2967 The default value is the value you specify during hardware
2968 configuration (x1), writable through PEM(0..1)_CFG_WR
2969 however wider cofigurations are not supported. */
2970 uint32_t mls : 4; /**< Maximum Link Speed
2971 The reset value of this field is controlled by a value sent from
2972 the lsb of the MIO_QLM#_SPD register.
2973 qlm#_spd[1] RST_VALUE NOTE
2974 1 0001b 2.5 GHz supported
2975 0 0010b 5.0 GHz and 2.5 GHz supported
2976 This field is writable through PEM(0..1)_CFG_WR.
2977 However, the application must not change this field. */
2981 uint32_t aslpms : 2;
2986 uint32_t dllarc : 1;
2989 uint32_t reserved_23_23 : 1;
2993 struct cvmx_pcieepx_cfg031_cn52xx {
2994 #ifdef __BIG_ENDIAN_BITFIELD
2995 uint32_t pnum : 8; /**< Port Number, writable through PESC(0..1)_CFG_WR
2996 However, the application must not change this field. */
2997 uint32_t reserved_22_23 : 2;
2998 uint32_t lbnc : 1; /**< Link Bandwith Notification Capability */
2999 uint32_t dllarc : 1; /**< Data Link Layer Active Reporting Capable */
3000 uint32_t sderc : 1; /**< Surprise Down Error Reporting Capable
3001 Not supported, hardwired to 0x0. */
3002 uint32_t cpm : 1; /**< Clock Power Management
3003 The default value is the value you specify during hardware
3004 configuration, writable through PESC(0..1)_CFG_WR.
3005 However, the application must not change this field. */
3006 uint32_t l1el : 3; /**< L1 Exit Latency
3007 The default value is the value you specify during hardware
3008 configuration, writable through PESC(0..1)_CFG_WR.
3009 However, the application must not change this field. */
3010 uint32_t l0el : 3; /**< L0s Exit Latency
3011 The default value is the value you specify during hardware
3012 configuration, writable through PESC(0..1)_CFG_WR.
3013 However, the application must not change this field. */
3014 uint32_t aslpms : 2; /**< Active State Link PM Support
3015 The default value is the value you specify during hardware
3016 configuration, writable through PESC(0..1)_CFG_WR.
3017 However, the application must not change this field. */
3018 uint32_t mlw : 6; /**< Maximum Link Width
3019 The default value is the value you specify during hardware
3020 configuration (x1, x2, x4, x8, or x16), writable through PESC(0..1)_CFG_WR.
3021 This value will be set to 0x4 or 0x2 depending on the max
3022 number of lanes (QLM_CFG == 0 set to 0x2 else 0x4). */
3023 uint32_t mls : 4; /**< Maximum Link Speed
3024 Default value is 0x1 for 2.5 Gbps Link.
3025 This field is writable through PESC(0..1)_CFG_WR.
3027 only supported value. Therefore, the application must not write
3028 any value other than 0x1 to this field. */
3032 uint32_t aslpms : 2;
3037 uint32_t dllarc : 1;
3039 uint32_t reserved_22_23 : 2;
3043 struct cvmx_pcieepx_cfg031_cn52xx cn52xxp1;
3044 struct cvmx_pcieepx_cfg031_cn52xx cn56xx;
3045 struct cvmx_pcieepx_cfg031_cn52xx cn56xxp1;
3046 struct cvmx_pcieepx_cfg031_s cn61xx;
3047 struct cvmx_pcieepx_cfg031_cn52xx cn63xx;
3048 struct cvmx_pcieepx_cfg031_cn52xx cn63xxp1;
3049 struct cvmx_pcieepx_cfg031_s cn66xx;
3050 struct cvmx_pcieepx_cfg031_s cn68xx;
3051 struct cvmx_pcieepx_cfg031_cn52xx cn68xxp1;
3052 struct cvmx_pcieepx_cfg031_s cnf71xx;
3054 typedef union cvmx_pcieepx_cfg031 cvmx_pcieepx_cfg031_t;
3057 * cvmx_pcieep#_cfg032
3059 * PCIE_CFG032 = Thirty-third 32-bits of PCIE type 0 config space
3060 * (Link Control Register/Link Status Register)
3062 union cvmx_pcieepx_cfg032 {
3064 struct cvmx_pcieepx_cfg032_s {
3065 #ifdef __BIG_ENDIAN_BITFIELD
3066 uint32_t lab : 1; /**< Link Autonomous Bandwidth Status */
3067 uint32_t lbm : 1; /**< Link Bandwidth Management Status */
3068 uint32_t dlla : 1; /**< Data Link Layer Active
3069 Not applicable for an upstream Port or Endpoint device,
3071 uint32_t scc : 1; /**< Slot Clock Configuration
3072 Indicates that the component uses the same physical reference
3073 clock that the platform provides on the connector.
3074 Writable through PEM(0..1)_CFG_WR.
3075 However, the application must not change this field. */
3076 uint32_t lt : 1; /**< Link Training
3077 Not applicable for an upstream Port or Endpoint device,
3079 uint32_t reserved_26_26 : 1;
3080 uint32_t nlw : 6; /**< Negotiated Link Width
3081 Set automatically by hardware after Link initialization.
3082 Value is undefined when link is not up. */
3083 uint32_t ls : 4; /**< Link Speed
3084 1 == The negotiated Link speed: 2.5 Gbps
3085 2 == The negotiated Link speed: 5.0 Gbps
3086 4 == The negotiated Link speed: 8.0 Gbps (Not Supported) */
3087 uint32_t reserved_12_15 : 4;
3088 uint32_t lab_int_enb : 1; /**< Link Autonomous Bandwidth Interrupt Enable
3089 This bit is not applicable and is reserved for endpoints */
3090 uint32_t lbm_int_enb : 1; /**< Link Bandwidth Management Interrupt Enable
3091 This bit is not applicable and is reserved for endpoints */
3092 uint32_t hawd : 1; /**< Hardware Autonomous Width Disable
3094 uint32_t ecpm : 1; /**< Enable Clock Power Management
3095 Hardwired to 0 if Clock Power Management is disabled in
3096 the Link Capabilities register. */
3097 uint32_t es : 1; /**< Extended Synch */
3098 uint32_t ccc : 1; /**< Common Clock Configuration */
3099 uint32_t rl : 1; /**< Retrain Link
3100 Not applicable for an upstream Port or Endpoint device,
3102 uint32_t ld : 1; /**< Link Disable
3103 Not applicable for an upstream Port or Endpoint device,
3105 uint32_t rcb : 1; /**< Read Completion Boundary (RCB) */
3106 uint32_t reserved_2_2 : 1;
3107 uint32_t aslpc : 2; /**< Active State Link PM Control */
3110 uint32_t reserved_2_2 : 1;
3118 uint32_t lbm_int_enb : 1;
3119 uint32_t lab_int_enb : 1;
3120 uint32_t reserved_12_15 : 4;
3123 uint32_t reserved_26_26 : 1;
3131 struct cvmx_pcieepx_cfg032_cn52xx {
3132 #ifdef __BIG_ENDIAN_BITFIELD
3133 uint32_t reserved_30_31 : 2;
3134 uint32_t dlla : 1; /**< Data Link Layer Active
3135 Not applicable for an upstream Port or Endpoint device,
3137 uint32_t scc : 1; /**< Slot Clock Configuration
3138 Indicates that the component uses the same physical reference
3139 clock that the platform provides on the connector.
3140 Writable through PESC(0..1)_CFG_WR.
3141 However, the application must not change this field. */
3142 uint32_t lt : 1; /**< Link Training
3143 Not applicable for an upstream Port or Endpoint device,
3145 uint32_t reserved_26_26 : 1;
3146 uint32_t nlw : 6; /**< Negotiated Link Width
3147 Set automatically by hardware after Link initialization. */
3148 uint32_t ls : 4; /**< Link Speed
3149 The negotiated Link speed: 2.5 Gbps */
3150 uint32_t reserved_10_15 : 6;
3151 uint32_t hawd : 1; /**< Hardware Autonomous Width Disable
3153 uint32_t ecpm : 1; /**< Enable Clock Power Management
3154 Hardwired to 0 if Clock Power Management is disabled in
3155 the Link Capabilities register. */
3156 uint32_t es : 1; /**< Extended Synch */
3157 uint32_t ccc : 1; /**< Common Clock Configuration */
3158 uint32_t rl : 1; /**< Retrain Link
3159 Not applicable for an upstream Port or Endpoint device,
3161 uint32_t ld : 1; /**< Link Disable
3162 Not applicable for an upstream Port or Endpoint device,
3164 uint32_t rcb : 1; /**< Read Completion Boundary (RCB) */
3165 uint32_t reserved_2_2 : 1;
3166 uint32_t aslpc : 2; /**< Active State Link PM Control */
3169 uint32_t reserved_2_2 : 1;
3177 uint32_t reserved_10_15 : 6;
3180 uint32_t reserved_26_26 : 1;
3184 uint32_t reserved_30_31 : 2;
3187 struct cvmx_pcieepx_cfg032_cn52xx cn52xxp1;
3188 struct cvmx_pcieepx_cfg032_cn52xx cn56xx;
3189 struct cvmx_pcieepx_cfg032_cn52xx cn56xxp1;
3190 struct cvmx_pcieepx_cfg032_s cn61xx;
3191 struct cvmx_pcieepx_cfg032_cn52xx cn63xx;
3192 struct cvmx_pcieepx_cfg032_cn52xx cn63xxp1;
3193 struct cvmx_pcieepx_cfg032_s cn66xx;
3194 struct cvmx_pcieepx_cfg032_s cn68xx;
3195 struct cvmx_pcieepx_cfg032_cn68xxp1 {
3196 #ifdef __BIG_ENDIAN_BITFIELD
3197 uint32_t reserved_30_31 : 2;
3198 uint32_t dlla : 1; /**< Data Link Layer Active
3199 Not applicable for an upstream Port or Endpoint device,
3201 uint32_t scc : 1; /**< Slot Clock Configuration
3202 Indicates that the component uses the same physical reference
3203 clock that the platform provides on the connector.
3204 Writable through PEM(0..1)_CFG_WR.
3205 However, the application must not change this field. */
3206 uint32_t lt : 1; /**< Link Training
3207 Not applicable for an upstream Port or Endpoint device,
3209 uint32_t reserved_26_26 : 1;
3210 uint32_t nlw : 6; /**< Negotiated Link Width
3211 Set automatically by hardware after Link initialization. */
3212 uint32_t ls : 4; /**< Link Speed
3213 1 == The negotiated Link speed: 2.5 Gbps
3214 2 == The negotiated Link speed: 5.0 Gbps
3215 4 == The negotiated Link speed: 8.0 Gbps (Not Supported) */
3216 uint32_t reserved_12_15 : 4;
3217 uint32_t lab_int_enb : 1; /**< Link Autonomous Bandwidth Interrupt Enable
3218 This bit is not applicable and is reserved for endpoints */
3219 uint32_t lbm_int_enb : 1; /**< Link Bandwidth Management Interrupt Enable
3220 This bit is not applicable and is reserved for endpoints */
3221 uint32_t hawd : 1; /**< Hardware Autonomous Width Disable
3223 uint32_t ecpm : 1; /**< Enable Clock Power Management
3224 Hardwired to 0 if Clock Power Management is disabled in
3225 the Link Capabilities register. */
3226 uint32_t es : 1; /**< Extended Synch */
3227 uint32_t ccc : 1; /**< Common Clock Configuration */
3228 uint32_t rl : 1; /**< Retrain Link
3229 Not applicable for an upstream Port or Endpoint device,
3231 uint32_t ld : 1; /**< Link Disable
3232 Not applicable for an upstream Port or Endpoint device,
3234 uint32_t rcb : 1; /**< Read Completion Boundary (RCB) */
3235 uint32_t reserved_2_2 : 1;
3236 uint32_t aslpc : 2; /**< Active State Link PM Control */
3239 uint32_t reserved_2_2 : 1;
3247 uint32_t lbm_int_enb : 1;
3248 uint32_t lab_int_enb : 1;
3249 uint32_t reserved_12_15 : 4;
3252 uint32_t reserved_26_26 : 1;
3256 uint32_t reserved_30_31 : 2;
3259 struct cvmx_pcieepx_cfg032_s cnf71xx;
3261 typedef union cvmx_pcieepx_cfg032 cvmx_pcieepx_cfg032_t;
3264 * cvmx_pcieep#_cfg033
3266 * PCIE_CFG033 = Thirty-fourth 32-bits of PCIE type 0 config space
3267 * (Slot Capabilities Register)
3269 union cvmx_pcieepx_cfg033 {
3271 struct cvmx_pcieepx_cfg033_s {
3272 #ifdef __BIG_ENDIAN_BITFIELD
3273 uint32_t ps_num : 13; /**< Physical Slot Number, writable through PEM(0..1)_CFG_WR
3274 However, the application must not change this field. */
3275 uint32_t nccs : 1; /**< No Command Complete Support, writable through PEM(0..1)_CFG_WR
3276 However, the application must not change this field. */
3277 uint32_t emip : 1; /**< Electromechanical Interlock Present, writable through PEM(0..1)_CFG_WR
3278 However, the application must not change this field. */
3279 uint32_t sp_ls : 2; /**< Slot Power Limit Scale, writable through PEM(0..1)_CFG_WR
3280 However, the application must not change this field. */
3281 uint32_t sp_lv : 8; /**< Slot Power Limit Value, writable through PEM(0..1)_CFG_WR
3282 However, the application must not change this field. */
3283 uint32_t hp_c : 1; /**< Hot-Plug Capable, writable through PEM(0..1)_CFG_WR
3284 However, the application must not change this field. */
3285 uint32_t hp_s : 1; /**< Hot-Plug Surprise, writable through PEM(0..1)_CFG_WR
3286 However, the application must not change this field. */
3287 uint32_t pip : 1; /**< Power Indicator Present, writable through PEM(0..1)_CFG_WR
3288 However, the application must not change this field. */
3289 uint32_t aip : 1; /**< Attention Indicator Present, writable through PEM(0..1)_CFG_WR
3290 However, the application must not change this field. */
3291 uint32_t mrlsp : 1; /**< MRL Sensor Present, writable through PEM(0..1)_CFG_WR
3292 However, the application must not change this field. */
3293 uint32_t pcp : 1; /**< Power Controller Present, writable through PEM(0..1)_CFG_WR
3294 However, the application must not change this field. */
3295 uint32_t abp : 1; /**< Attention Button Present, writable through PEM(0..1)_CFG_WR
3296 However, the application must not change this field. */
3309 uint32_t ps_num : 13;
3312 struct cvmx_pcieepx_cfg033_s cn52xx;
3313 struct cvmx_pcieepx_cfg033_s cn52xxp1;
3314 struct cvmx_pcieepx_cfg033_s cn56xx;
3315 struct cvmx_pcieepx_cfg033_s cn56xxp1;
3316 struct cvmx_pcieepx_cfg033_s cn63xx;
3317 struct cvmx_pcieepx_cfg033_s cn63xxp1;
3319 typedef union cvmx_pcieepx_cfg033 cvmx_pcieepx_cfg033_t;
3322 * cvmx_pcieep#_cfg034
3324 * PCIE_CFG034 = Thirty-fifth 32-bits of PCIE type 0 config space
3325 * (Slot Control Register/Slot Status Register)
3327 union cvmx_pcieepx_cfg034 {
3329 struct cvmx_pcieepx_cfg034_s {
3330 #ifdef __BIG_ENDIAN_BITFIELD
3331 uint32_t reserved_25_31 : 7;
3332 uint32_t dlls_c : 1; /**< Data Link Layer State Changed
3333 Not applicable for an upstream Port or Endpoint device,
3335 uint32_t emis : 1; /**< Electromechanical Interlock Status */
3336 uint32_t pds : 1; /**< Presence Detect State */
3337 uint32_t mrlss : 1; /**< MRL Sensor State */
3338 uint32_t ccint_d : 1; /**< Command Completed */
3339 uint32_t pd_c : 1; /**< Presence Detect Changed */
3340 uint32_t mrls_c : 1; /**< MRL Sensor Changed */
3341 uint32_t pf_d : 1; /**< Power Fault Detected */
3342 uint32_t abp_d : 1; /**< Attention Button Pressed */
3343 uint32_t reserved_13_15 : 3;
3344 uint32_t dlls_en : 1; /**< Data Link Layer State Changed Enable
3345 Not applicable for an upstream Port or Endpoint device,
3347 uint32_t emic : 1; /**< Electromechanical Interlock Control */
3348 uint32_t pcc : 1; /**< Power Controller Control */
3349 uint32_t pic : 2; /**< Power Indicator Control */
3350 uint32_t aic : 2; /**< Attention Indicator Control */
3351 uint32_t hpint_en : 1; /**< Hot-Plug Interrupt Enable */
3352 uint32_t ccint_en : 1; /**< Command Completed Interrupt Enable */
3353 uint32_t pd_en : 1; /**< Presence Detect Changed Enable */
3354 uint32_t mrls_en : 1; /**< MRL Sensor Changed Enable */
3355 uint32_t pf_en : 1; /**< Power Fault Detected Enable */
3356 uint32_t abp_en : 1; /**< Attention Button Pressed Enable */
3358 uint32_t abp_en : 1;
3360 uint32_t mrls_en : 1;
3362 uint32_t ccint_en : 1;
3363 uint32_t hpint_en : 1;
3368 uint32_t dlls_en : 1;
3369 uint32_t reserved_13_15 : 3;
3372 uint32_t mrls_c : 1;
3374 uint32_t ccint_d : 1;
3378 uint32_t dlls_c : 1;
3379 uint32_t reserved_25_31 : 7;
3382 struct cvmx_pcieepx_cfg034_s cn52xx;
3383 struct cvmx_pcieepx_cfg034_s cn52xxp1;
3384 struct cvmx_pcieepx_cfg034_s cn56xx;
3385 struct cvmx_pcieepx_cfg034_s cn56xxp1;
3386 struct cvmx_pcieepx_cfg034_s cn63xx;
3387 struct cvmx_pcieepx_cfg034_s cn63xxp1;
3389 typedef union cvmx_pcieepx_cfg034 cvmx_pcieepx_cfg034_t;
3392 * cvmx_pcieep#_cfg037
3394 * PCIE_CFG037 = Thirty-eighth 32-bits of PCIE type 0 config space
3395 * (Device Capabilities 2 Register)
3397 union cvmx_pcieepx_cfg037 {
3399 struct cvmx_pcieepx_cfg037_s {
3400 #ifdef __BIG_ENDIAN_BITFIELD
3401 uint32_t reserved_20_31 : 12;
3402 uint32_t obffs : 2; /**< Optimized Buffer Flush Fill (OBFF) Supported
3404 uint32_t reserved_12_17 : 6;
3405 uint32_t ltrs : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Supported
3407 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3408 (This bit applies to RCs) */
3409 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3411 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3413 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3415 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3416 (Not Applicable for EP) */
3417 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3419 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3420 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3425 uint32_t atom_ops : 1;
3426 uint32_t atom32s : 1;
3427 uint32_t atom64s : 1;
3428 uint32_t atom128s : 1;
3429 uint32_t noroprpr : 1;
3431 uint32_t reserved_12_17 : 6;
3433 uint32_t reserved_20_31 : 12;
3436 struct cvmx_pcieepx_cfg037_cn52xx {
3437 #ifdef __BIG_ENDIAN_BITFIELD
3438 uint32_t reserved_5_31 : 27;
3439 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3440 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported
3441 Value of 0 indicates that Completion Timeout Programming
3443 Completion timeout is 16.7ms. */
3447 uint32_t reserved_5_31 : 27;
3450 struct cvmx_pcieepx_cfg037_cn52xx cn52xxp1;
3451 struct cvmx_pcieepx_cfg037_cn52xx cn56xx;
3452 struct cvmx_pcieepx_cfg037_cn52xx cn56xxp1;
3453 struct cvmx_pcieepx_cfg037_cn61xx {
3454 #ifdef __BIG_ENDIAN_BITFIELD
3455 uint32_t reserved_14_31 : 18;
3456 uint32_t tph : 2; /**< TPH Completer Supported
3458 uint32_t reserved_11_11 : 1;
3459 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3460 (This bit applies to RCs) */
3461 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3463 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3465 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3467 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3468 (Not Applicable for EP) */
3469 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3471 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3472 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3477 uint32_t atom_ops : 1;
3478 uint32_t atom32s : 1;
3479 uint32_t atom64s : 1;
3480 uint32_t atom128s : 1;
3481 uint32_t noroprpr : 1;
3482 uint32_t reserved_11_11 : 1;
3484 uint32_t reserved_14_31 : 18;
3487 struct cvmx_pcieepx_cfg037_cn52xx cn63xx;
3488 struct cvmx_pcieepx_cfg037_cn52xx cn63xxp1;
3489 struct cvmx_pcieepx_cfg037_cn61xx cn66xx;
3490 struct cvmx_pcieepx_cfg037_cn61xx cn68xx;
3491 struct cvmx_pcieepx_cfg037_cn61xx cn68xxp1;
3492 struct cvmx_pcieepx_cfg037_cnf71xx {
3493 #ifdef __BIG_ENDIAN_BITFIELD
3494 uint32_t reserved_20_31 : 12;
3495 uint32_t obffs : 2; /**< Optimized Buffer Flush Fill (OBFF) Supported
3497 uint32_t reserved_14_17 : 4;
3498 uint32_t tphs : 2; /**< TPH Completer Supported
3500 uint32_t ltrs : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Supported
3502 uint32_t noroprpr : 1; /**< No RO-enabled PR-PR Passing
3503 (This bit applies to RCs) */
3504 uint32_t atom128s : 1; /**< 128-bit AtomicOp Supported
3506 uint32_t atom64s : 1; /**< 64-bit AtomicOp Supported
3508 uint32_t atom32s : 1; /**< 32-bit AtomicOp Supported
3510 uint32_t atom_ops : 1; /**< AtomicOp Routing Supported
3511 (Not Applicable for EP) */
3512 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3514 uint32_t ctds : 1; /**< Completion Timeout Disable Supported */
3515 uint32_t ctrs : 4; /**< Completion Timeout Ranges Supported */
3520 uint32_t atom_ops : 1;
3521 uint32_t atom32s : 1;
3522 uint32_t atom64s : 1;
3523 uint32_t atom128s : 1;
3524 uint32_t noroprpr : 1;
3527 uint32_t reserved_14_17 : 4;
3529 uint32_t reserved_20_31 : 12;
3533 typedef union cvmx_pcieepx_cfg037 cvmx_pcieepx_cfg037_t;
3536 * cvmx_pcieep#_cfg038
3538 * PCIE_CFG038 = Thirty-ninth 32-bits of PCIE type 0 config space
3539 * (Device Control 2 Register/Device Status 2 Register)
3541 union cvmx_pcieepx_cfg038 {
3543 struct cvmx_pcieepx_cfg038_s {
3544 #ifdef __BIG_ENDIAN_BITFIELD
3545 uint32_t reserved_15_31 : 17;
3546 uint32_t obffe : 2; /**< Optimized Buffer Flush Fill (OBFF) Enable
3548 uint32_t reserved_11_12 : 2;
3549 uint32_t ltre : 1; /**< Latency Tolerance Reporting (LTR) Mechanism Enable
3551 uint32_t id0_cp : 1; /**< ID Based Ordering Completion Enable
3553 uint32_t id0_rq : 1; /**< ID Based Ordering Request Enable
3555 uint32_t atom_op_eb : 1; /**< AtomicOp Egress Blocking
3557 uint32_t atom_op : 1; /**< AtomicOp Requester Enable
3559 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3561 uint32_t ctd : 1; /**< Completion Timeout Disable */
3562 uint32_t ctv : 4; /**< Completion Timeout Value
3563 Completion Timeout Programming is not supported
3564 Completion timeout is the range of 16 ms to 55 ms. */
3569 uint32_t atom_op : 1;
3570 uint32_t atom_op_eb : 1;
3571 uint32_t id0_rq : 1;
3572 uint32_t id0_cp : 1;
3574 uint32_t reserved_11_12 : 2;
3576 uint32_t reserved_15_31 : 17;
3579 struct cvmx_pcieepx_cfg038_cn52xx {
3580 #ifdef __BIG_ENDIAN_BITFIELD
3581 uint32_t reserved_5_31 : 27;
3582 uint32_t ctd : 1; /**< Completion Timeout Disable */
3583 uint32_t ctv : 4; /**< Completion Timeout Value
3584 Completion Timeout Programming is not supported
3585 Completion timeout is 16.7ms. */
3589 uint32_t reserved_5_31 : 27;
3592 struct cvmx_pcieepx_cfg038_cn52xx cn52xxp1;
3593 struct cvmx_pcieepx_cfg038_cn52xx cn56xx;
3594 struct cvmx_pcieepx_cfg038_cn52xx cn56xxp1;
3595 struct cvmx_pcieepx_cfg038_cn61xx {
3596 #ifdef __BIG_ENDIAN_BITFIELD
3597 uint32_t reserved_10_31 : 22;
3598 uint32_t id0_cp : 1; /**< ID Based Ordering Completion Enable
3600 uint32_t id0_rq : 1; /**< ID Based Ordering Request Enable
3602 uint32_t atom_op_eb : 1; /**< AtomicOp Egress Blocking
3604 uint32_t atom_op : 1; /**< AtomicOp Requester Enable
3606 uint32_t ari : 1; /**< Alternate Routing ID Forwarding Supported
3608 uint32_t ctd : 1; /**< Completion Timeout Disable */
3609 uint32_t ctv : 4; /**< Completion Timeout Value
3610 Completion Timeout Programming is not supported
3611 Completion timeout is the range of 16 ms to 55 ms. */
3616 uint32_t atom_op : 1;
3617 uint32_t atom_op_eb : 1;
3618 uint32_t id0_rq : 1;
3619 uint32_t id0_cp : 1;
3620 uint32_t reserved_10_31 : 22;
3623 struct cvmx_pcieepx_cfg038_cn52xx cn63xx;
3624 struct cvmx_pcieepx_cfg038_cn52xx cn63xxp1;
3625 struct cvmx_pcieepx_cfg038_cn61xx cn66xx;
3626 struct cvmx_pcieepx_cfg038_cn61xx cn68xx;
3627 struct cvmx_pcieepx_cfg038_cn61xx cn68xxp1;
3628 struct cvmx_pcieepx_cfg038_s cnf71xx;
3630 typedef union cvmx_pcieepx_cfg038 cvmx_pcieepx_cfg038_t;
3633 * cvmx_pcieep#_cfg039
3635 * PCIE_CFG039 = Fourtieth 32-bits of PCIE type 0 config space
3636 * (Link Capabilities 2 Register)
3638 union cvmx_pcieepx_cfg039 {
3640 struct cvmx_pcieepx_cfg039_s {
3641 #ifdef __BIG_ENDIAN_BITFIELD
3642 uint32_t reserved_9_31 : 23;
3643 uint32_t cls : 1; /**< Crosslink Supported */
3644 uint32_t slsv : 7; /**< Supported Link Speeds Vector
3645 Indicates the supported Link speeds of the associated Port.
3646 For each bit, a value of 1b indicates that the cooresponding
3647 Link speed is supported; otherwise, the Link speed is not
3649 Bit definitions are:
3652 Bit 3 8.0 GT/s (Not Supported)
3654 The reset value of this field is controlled by a value sent from
3655 the lsb of the MIO_QLM#_SPD register
3656 qlm#_spd[0] RST_VALUE NOTE
3657 1 0001b 2.5 GHz supported
3658 0 0011b 5.0 GHz and 2.5 GHz supported */
3659 uint32_t reserved_0_0 : 1;
3661 uint32_t reserved_0_0 : 1;
3664 uint32_t reserved_9_31 : 23;
3667 struct cvmx_pcieepx_cfg039_cn52xx {
3668 #ifdef __BIG_ENDIAN_BITFIELD
3669 uint32_t reserved_0_31 : 32;
3671 uint32_t reserved_0_31 : 32;
3674 struct cvmx_pcieepx_cfg039_cn52xx cn52xxp1;
3675 struct cvmx_pcieepx_cfg039_cn52xx cn56xx;
3676 struct cvmx_pcieepx_cfg039_cn52xx cn56xxp1;
3677 struct cvmx_pcieepx_cfg039_s cn61xx;
3678 struct cvmx_pcieepx_cfg039_s cn63xx;
3679 struct cvmx_pcieepx_cfg039_cn52xx cn63xxp1;
3680 struct cvmx_pcieepx_cfg039_s cn66xx;
3681 struct cvmx_pcieepx_cfg039_s cn68xx;
3682 struct cvmx_pcieepx_cfg039_s cn68xxp1;
3683 struct cvmx_pcieepx_cfg039_s cnf71xx;
3685 typedef union cvmx_pcieepx_cfg039 cvmx_pcieepx_cfg039_t;
3688 * cvmx_pcieep#_cfg040
3690 * PCIE_CFG040 = Fourty-first 32-bits of PCIE type 0 config space
3691 * (Link Control 2 Register/Link Status 2 Register)
3693 union cvmx_pcieepx_cfg040 {
3695 struct cvmx_pcieepx_cfg040_s {
3696 #ifdef __BIG_ENDIAN_BITFIELD
3697 uint32_t reserved_17_31 : 15;
3698 uint32_t cdl : 1; /**< Current De-emphasis Level
3699 When the Link is operating at 5 GT/s speed, this bit
3700 reflects the level of de-emphasis. Encodings:
3703 Note: The value in this bit is undefined when the Link is
3704 operating at 2.5 GT/s speed */
3705 uint32_t reserved_13_15 : 3;
3706 uint32_t cde : 1; /**< Compliance De-emphasis
3707 This bit sets the de-emphasis level in Polling. Compliance
3708 state if the entry occurred due to the Tx Compliance
3709 Receive bit being 1b. Encodings:
3712 Note: When the Link is operating at 2.5 GT/s, the setting
3713 of this bit has no effect. */
3714 uint32_t csos : 1; /**< Compliance SOS
3715 When set to 1b, the LTSSM is required to send SKP
3716 Ordered Sets periodically in between the (modified)
3717 compliance patterns.
3718 Note: When the Link is operating at 2.5 GT/s, the setting
3719 of this bit has no effect. */
3720 uint32_t emc : 1; /**< Enter Modified Compliance
3721 When this bit is set to 1b, the device transmits a modified
3722 compliance pattern if the LTSSM enters Polling.
3723 Compliance state. */
3724 uint32_t tm : 3; /**< Transmit Margin
3725 This field controls the value of the non-de-emphasized
3726 voltage level at the Transmitter signals:
3727 - 000: 800-1200 mV for full swing 400-600 mV for half-swing
3728 - 001-010: values must be monotonic with a non-zero slope
3729 - 011: 200-400 mV for full-swing and 100-200 mV for halfswing
3731 This field is reset to 000b on entry to the LTSSM Polling.
3732 Compliance substate.
3733 When operating in 5.0 GT/s mode with full swing, the
3734 de-emphasis ratio must be maintained within +/- 1 dB
3735 from the specification-defined operational value
3736 either -3.5 or -6 dB). */
3737 uint32_t sde : 1; /**< Selectable De-emphasis
3738 Not applicable for an upstream Port or Endpoint device.
3740 uint32_t hasd : 1; /**< Hardware Autonomous Speed Disable
3742 application must disable hardware from changing the Link
3743 speed for device-specific reasons other than attempting to
3744 correct unreliable Link operation by reducing Link speed.
3745 Initial transition to the highest supported common link
3746 speed is not blocked by this signal. */
3747 uint32_t ec : 1; /**< Enter Compliance
3748 Software is permitted to force a link to enter Compliance
3749 mode at the speed indicated in the Target Link Speed
3750 field by setting this bit to 1b in both components on a link
3751 and then initiating a hot reset on the link. */
3752 uint32_t tls : 4; /**< Target Link Speed
3753 For Downstream ports, this field sets an upper limit on link
3754 operational speed by restricting the values advertised by
3755 the upstream component in its training sequences:
3756 - 0001: 2.5Gb/s Target Link Speed
3757 - 0010: 5Gb/s Target Link Speed
3758 - 0100: 8Gb/s Target Link Speed (Not Supported)
3759 All other encodings are reserved.
3760 If a value is written to this field that does not correspond to
3761 a speed included in the Supported Link Speeds field, the
3762 result is undefined.
3763 For both Upstream and Downstream ports, this field is
3764 used to set the target compliance mode speed when
3765 software is using the Enter Compliance bit to force a link
3766 into compliance mode.
3767 The reset value of this field is controlled by a value sent from
3768 the lsb of the MIO_QLM#_SPD register.
3769 qlm#_spd[0] RST_VALUE NOTE
3770 1 0001b 2.5 GHz supported
3771 0 0010b 5.0 GHz and 2.5 GHz supported */
3781 uint32_t reserved_13_15 : 3;
3783 uint32_t reserved_17_31 : 15;
3786 struct cvmx_pcieepx_cfg040_cn52xx {
3787 #ifdef __BIG_ENDIAN_BITFIELD
3788 uint32_t reserved_0_31 : 32;
3790 uint32_t reserved_0_31 : 32;
3793 struct cvmx_pcieepx_cfg040_cn52xx cn52xxp1;
3794 struct cvmx_pcieepx_cfg040_cn52xx cn56xx;
3795 struct cvmx_pcieepx_cfg040_cn52xx cn56xxp1;
3796 struct cvmx_pcieepx_cfg040_s cn61xx;
3797 struct cvmx_pcieepx_cfg040_s cn63xx;
3798 struct cvmx_pcieepx_cfg040_s cn63xxp1;
3799 struct cvmx_pcieepx_cfg040_s cn66xx;
3800 struct cvmx_pcieepx_cfg040_s cn68xx;
3801 struct cvmx_pcieepx_cfg040_s cn68xxp1;
3802 struct cvmx_pcieepx_cfg040_s cnf71xx;
3804 typedef union cvmx_pcieepx_cfg040 cvmx_pcieepx_cfg040_t;
3807 * cvmx_pcieep#_cfg041
3809 * PCIE_CFG041 = Fourty-second 32-bits of PCIE type 0 config space
3810 * (Slot Capabilities 2 Register)
3812 union cvmx_pcieepx_cfg041 {
3814 struct cvmx_pcieepx_cfg041_s {
3815 #ifdef __BIG_ENDIAN_BITFIELD
3816 uint32_t reserved_0_31 : 32;
3818 uint32_t reserved_0_31 : 32;
3821 struct cvmx_pcieepx_cfg041_s cn52xx;
3822 struct cvmx_pcieepx_cfg041_s cn52xxp1;
3823 struct cvmx_pcieepx_cfg041_s cn56xx;
3824 struct cvmx_pcieepx_cfg041_s cn56xxp1;
3825 struct cvmx_pcieepx_cfg041_s cn63xx;
3826 struct cvmx_pcieepx_cfg041_s cn63xxp1;
3828 typedef union cvmx_pcieepx_cfg041 cvmx_pcieepx_cfg041_t;
3831 * cvmx_pcieep#_cfg042
3833 * PCIE_CFG042 = Fourty-third 32-bits of PCIE type 0 config space
3834 * (Slot Control 2 Register/Slot Status 2 Register)
3836 union cvmx_pcieepx_cfg042 {
3838 struct cvmx_pcieepx_cfg042_s {
3839 #ifdef __BIG_ENDIAN_BITFIELD
3840 uint32_t reserved_0_31 : 32;
3842 uint32_t reserved_0_31 : 32;
3845 struct cvmx_pcieepx_cfg042_s cn52xx;
3846 struct cvmx_pcieepx_cfg042_s cn52xxp1;
3847 struct cvmx_pcieepx_cfg042_s cn56xx;
3848 struct cvmx_pcieepx_cfg042_s cn56xxp1;
3849 struct cvmx_pcieepx_cfg042_s cn63xx;
3850 struct cvmx_pcieepx_cfg042_s cn63xxp1;
3852 typedef union cvmx_pcieepx_cfg042 cvmx_pcieepx_cfg042_t;
3855 * cvmx_pcieep#_cfg064
3857 * PCIE_CFG064 = Sixty-fifth 32-bits of PCIE type 0 config space
3858 * (PCI Express Extended Capability Header)
3860 union cvmx_pcieepx_cfg064 {
3862 struct cvmx_pcieepx_cfg064_s {
3863 #ifdef __BIG_ENDIAN_BITFIELD
3864 uint32_t nco : 12; /**< Next Capability Offset */
3865 uint32_t cv : 4; /**< Capability Version */
3866 uint32_t pcieec : 16; /**< PCIE Express Extended Capability */
3868 uint32_t pcieec : 16;
3873 struct cvmx_pcieepx_cfg064_s cn52xx;
3874 struct cvmx_pcieepx_cfg064_s cn52xxp1;
3875 struct cvmx_pcieepx_cfg064_s cn56xx;
3876 struct cvmx_pcieepx_cfg064_s cn56xxp1;
3877 struct cvmx_pcieepx_cfg064_s cn61xx;
3878 struct cvmx_pcieepx_cfg064_s cn63xx;
3879 struct cvmx_pcieepx_cfg064_s cn63xxp1;
3880 struct cvmx_pcieepx_cfg064_s cn66xx;
3881 struct cvmx_pcieepx_cfg064_s cn68xx;
3882 struct cvmx_pcieepx_cfg064_s cn68xxp1;
3883 struct cvmx_pcieepx_cfg064_s cnf71xx;
3885 typedef union cvmx_pcieepx_cfg064 cvmx_pcieepx_cfg064_t;
3888 * cvmx_pcieep#_cfg065
3890 * PCIE_CFG065 = Sixty-sixth 32-bits of PCIE type 0 config space
3891 * (Uncorrectable Error Status Register)
3893 union cvmx_pcieepx_cfg065 {
3895 struct cvmx_pcieepx_cfg065_s {
3896 #ifdef __BIG_ENDIAN_BITFIELD
3897 uint32_t reserved_25_31 : 7;
3898 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Status */
3899 uint32_t reserved_23_23 : 1;
3900 uint32_t ucies : 1; /**< Uncorrectable Internal Error Status */
3901 uint32_t reserved_21_21 : 1;
3902 uint32_t ures : 1; /**< Unsupported Request Error Status */
3903 uint32_t ecrces : 1; /**< ECRC Error Status */
3904 uint32_t mtlps : 1; /**< Malformed TLP Status */
3905 uint32_t ros : 1; /**< Receiver Overflow Status */
3906 uint32_t ucs : 1; /**< Unexpected Completion Status */
3907 uint32_t cas : 1; /**< Completer Abort Status */
3908 uint32_t cts : 1; /**< Completion Timeout Status */
3909 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3910 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3911 uint32_t reserved_6_11 : 6;
3912 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3913 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3914 uint32_t reserved_0_3 : 4;
3916 uint32_t reserved_0_3 : 4;
3919 uint32_t reserved_6_11 : 6;
3927 uint32_t ecrces : 1;
3929 uint32_t reserved_21_21 : 1;
3931 uint32_t reserved_23_23 : 1;
3932 uint32_t uatombs : 1;
3933 uint32_t reserved_25_31 : 7;
3936 struct cvmx_pcieepx_cfg065_cn52xx {
3937 #ifdef __BIG_ENDIAN_BITFIELD
3938 uint32_t reserved_21_31 : 11;
3939 uint32_t ures : 1; /**< Unsupported Request Error Status */
3940 uint32_t ecrces : 1; /**< ECRC Error Status */
3941 uint32_t mtlps : 1; /**< Malformed TLP Status */
3942 uint32_t ros : 1; /**< Receiver Overflow Status */
3943 uint32_t ucs : 1; /**< Unexpected Completion Status */
3944 uint32_t cas : 1; /**< Completer Abort Status */
3945 uint32_t cts : 1; /**< Completion Timeout Status */
3946 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3947 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3948 uint32_t reserved_6_11 : 6;
3949 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3950 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3951 uint32_t reserved_0_3 : 4;
3953 uint32_t reserved_0_3 : 4;
3956 uint32_t reserved_6_11 : 6;
3964 uint32_t ecrces : 1;
3966 uint32_t reserved_21_31 : 11;
3969 struct cvmx_pcieepx_cfg065_cn52xx cn52xxp1;
3970 struct cvmx_pcieepx_cfg065_cn52xx cn56xx;
3971 struct cvmx_pcieepx_cfg065_cn52xx cn56xxp1;
3972 struct cvmx_pcieepx_cfg065_cn61xx {
3973 #ifdef __BIG_ENDIAN_BITFIELD
3974 uint32_t reserved_25_31 : 7;
3975 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Status */
3976 uint32_t reserved_21_23 : 3;
3977 uint32_t ures : 1; /**< Unsupported Request Error Status */
3978 uint32_t ecrces : 1; /**< ECRC Error Status */
3979 uint32_t mtlps : 1; /**< Malformed TLP Status */
3980 uint32_t ros : 1; /**< Receiver Overflow Status */
3981 uint32_t ucs : 1; /**< Unexpected Completion Status */
3982 uint32_t cas : 1; /**< Completer Abort Status */
3983 uint32_t cts : 1; /**< Completion Timeout Status */
3984 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
3985 uint32_t ptlps : 1; /**< Poisoned TLP Status */
3986 uint32_t reserved_6_11 : 6;
3987 uint32_t sdes : 1; /**< Surprise Down Error Status (not supported) */
3988 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
3989 uint32_t reserved_0_3 : 4;
3991 uint32_t reserved_0_3 : 4;
3994 uint32_t reserved_6_11 : 6;
4002 uint32_t ecrces : 1;
4004 uint32_t reserved_21_23 : 3;
4005 uint32_t uatombs : 1;
4006 uint32_t reserved_25_31 : 7;
4009 struct cvmx_pcieepx_cfg065_cn52xx cn63xx;
4010 struct cvmx_pcieepx_cfg065_cn52xx cn63xxp1;
4011 struct cvmx_pcieepx_cfg065_cn61xx cn66xx;
4012 struct cvmx_pcieepx_cfg065_cn61xx cn68xx;
4013 struct cvmx_pcieepx_cfg065_cn52xx cn68xxp1;
4014 struct cvmx_pcieepx_cfg065_cnf71xx {
4015 #ifdef __BIG_ENDIAN_BITFIELD
4016 uint32_t reserved_25_31 : 7;
4017 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Status */
4018 uint32_t reserved_23_23 : 1;
4019 uint32_t ucies : 1; /**< Uncorrectable Internal Error Status */
4020 uint32_t reserved_21_21 : 1;
4021 uint32_t ures : 1; /**< Unsupported Request Error Status */
4022 uint32_t ecrces : 1; /**< ECRC Error Status */
4023 uint32_t mtlps : 1; /**< Malformed TLP Status */
4024 uint32_t ros : 1; /**< Receiver Overflow Status */
4025 uint32_t ucs : 1; /**< Unexpected Completion Status */
4026 uint32_t cas : 1; /**< Completer Abort Status */
4027 uint32_t cts : 1; /**< Completion Timeout Status */
4028 uint32_t fcpes : 1; /**< Flow Control Protocol Error Status */
4029 uint32_t ptlps : 1; /**< Poisoned TLP Status */
4030 uint32_t reserved_5_11 : 7;
4031 uint32_t dlpes : 1; /**< Data Link Protocol Error Status */
4032 uint32_t reserved_0_3 : 4;
4034 uint32_t reserved_0_3 : 4;
4036 uint32_t reserved_5_11 : 7;
4044 uint32_t ecrces : 1;
4046 uint32_t reserved_21_21 : 1;
4048 uint32_t reserved_23_23 : 1;
4049 uint32_t uatombs : 1;
4050 uint32_t reserved_25_31 : 7;
4054 typedef union cvmx_pcieepx_cfg065 cvmx_pcieepx_cfg065_t;
4057 * cvmx_pcieep#_cfg066
4059 * PCIE_CFG066 = Sixty-seventh 32-bits of PCIE type 0 config space
4060 * (Uncorrectable Error Mask Register)
4062 union cvmx_pcieepx_cfg066 {
4064 struct cvmx_pcieepx_cfg066_s {
4065 #ifdef __BIG_ENDIAN_BITFIELD
4066 uint32_t reserved_25_31 : 7;
4067 uint32_t uatombm : 1; /**< Unsupported AtomicOp Egress Blocked Mask */
4068 uint32_t reserved_23_23 : 1;
4069 uint32_t uciem : 1; /**< Uncorrectable Internal Error Mask */
4070 uint32_t reserved_21_21 : 1;
4071 uint32_t urem : 1; /**< Unsupported Request Error Mask */
4072 uint32_t ecrcem : 1; /**< ECRC Error Mask */
4073 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
4074 uint32_t rom : 1; /**< Receiver Overflow Mask */
4075 uint32_t ucm : 1; /**< Unexpected Completion Mask */
4076 uint32_t cam : 1; /**< Completer Abort Mask */
4077 uint32_t ctm : 1; /**< Completion Timeout Mask */
4078 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
4079 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
4080 uint32_t reserved_6_11 : 6;
4081 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
4082 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
4083 uint32_t reserved_0_3 : 4;
4085 uint32_t reserved_0_3 : 4;
4088 uint32_t reserved_6_11 : 6;
4096 uint32_t ecrcem : 1;
4098 uint32_t reserved_21_21 : 1;
4100 uint32_t reserved_23_23 : 1;
4101 uint32_t uatombm : 1;
4102 uint32_t reserved_25_31 : 7;
4105 struct cvmx_pcieepx_cfg066_cn52xx {
4106 #ifdef __BIG_ENDIAN_BITFIELD
4107 uint32_t reserved_21_31 : 11;
4108 uint32_t urem : 1; /**< Unsupported Request Error Mask */
4109 uint32_t ecrcem : 1; /**< ECRC Error Mask */
4110 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
4111 uint32_t rom : 1; /**< Receiver Overflow Mask */
4112 uint32_t ucm : 1; /**< Unexpected Completion Mask */
4113 uint32_t cam : 1; /**< Completer Abort Mask */
4114 uint32_t ctm : 1; /**< Completion Timeout Mask */
4115 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
4116 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
4117 uint32_t reserved_6_11 : 6;
4118 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
4119 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
4120 uint32_t reserved_0_3 : 4;
4122 uint32_t reserved_0_3 : 4;
4125 uint32_t reserved_6_11 : 6;
4133 uint32_t ecrcem : 1;
4135 uint32_t reserved_21_31 : 11;
4138 struct cvmx_pcieepx_cfg066_cn52xx cn52xxp1;
4139 struct cvmx_pcieepx_cfg066_cn52xx cn56xx;
4140 struct cvmx_pcieepx_cfg066_cn52xx cn56xxp1;
4141 struct cvmx_pcieepx_cfg066_cn61xx {
4142 #ifdef __BIG_ENDIAN_BITFIELD
4143 uint32_t reserved_25_31 : 7;
4144 uint32_t uatombm : 1; /**< Unsupported AtomicOp Egress Blocked Mask */
4145 uint32_t reserved_21_23 : 3;
4146 uint32_t urem : 1; /**< Unsupported Request Error Mask */
4147 uint32_t ecrcem : 1; /**< ECRC Error Mask */
4148 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
4149 uint32_t rom : 1; /**< Receiver Overflow Mask */
4150 uint32_t ucm : 1; /**< Unexpected Completion Mask */
4151 uint32_t cam : 1; /**< Completer Abort Mask */
4152 uint32_t ctm : 1; /**< Completion Timeout Mask */
4153 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
4154 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
4155 uint32_t reserved_6_11 : 6;
4156 uint32_t sdem : 1; /**< Surprise Down Error Mask (not supported) */
4157 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
4158 uint32_t reserved_0_3 : 4;
4160 uint32_t reserved_0_3 : 4;
4163 uint32_t reserved_6_11 : 6;
4171 uint32_t ecrcem : 1;
4173 uint32_t reserved_21_23 : 3;
4174 uint32_t uatombm : 1;
4175 uint32_t reserved_25_31 : 7;
4178 struct cvmx_pcieepx_cfg066_cn52xx cn63xx;
4179 struct cvmx_pcieepx_cfg066_cn52xx cn63xxp1;
4180 struct cvmx_pcieepx_cfg066_cn61xx cn66xx;
4181 struct cvmx_pcieepx_cfg066_cn61xx cn68xx;
4182 struct cvmx_pcieepx_cfg066_cn52xx cn68xxp1;
4183 struct cvmx_pcieepx_cfg066_cnf71xx {
4184 #ifdef __BIG_ENDIAN_BITFIELD
4185 uint32_t reserved_25_31 : 7;
4186 uint32_t uatombm : 1; /**< Unsupported AtomicOp Egress Blocked Mask */
4187 uint32_t reserved_23_23 : 1;
4188 uint32_t uciem : 1; /**< Uncorrectable Internal Error Mask */
4189 uint32_t reserved_21_21 : 1;
4190 uint32_t urem : 1; /**< Unsupported Request Error Mask */
4191 uint32_t ecrcem : 1; /**< ECRC Error Mask */
4192 uint32_t mtlpm : 1; /**< Malformed TLP Mask */
4193 uint32_t rom : 1; /**< Receiver Overflow Mask */
4194 uint32_t ucm : 1; /**< Unexpected Completion Mask */
4195 uint32_t cam : 1; /**< Completer Abort Mask */
4196 uint32_t ctm : 1; /**< Completion Timeout Mask */
4197 uint32_t fcpem : 1; /**< Flow Control Protocol Error Mask */
4198 uint32_t ptlpm : 1; /**< Poisoned TLP Mask */
4199 uint32_t reserved_5_11 : 7;
4200 uint32_t dlpem : 1; /**< Data Link Protocol Error Mask */
4201 uint32_t reserved_0_3 : 4;
4203 uint32_t reserved_0_3 : 4;
4205 uint32_t reserved_5_11 : 7;
4213 uint32_t ecrcem : 1;
4215 uint32_t reserved_21_21 : 1;
4217 uint32_t reserved_23_23 : 1;
4218 uint32_t uatombm : 1;
4219 uint32_t reserved_25_31 : 7;
4223 typedef union cvmx_pcieepx_cfg066 cvmx_pcieepx_cfg066_t;
4226 * cvmx_pcieep#_cfg067
4228 * PCIE_CFG067 = Sixty-eighth 32-bits of PCIE type 0 config space
4229 * (Uncorrectable Error Severity Register)
4231 union cvmx_pcieepx_cfg067 {
4233 struct cvmx_pcieepx_cfg067_s {
4234 #ifdef __BIG_ENDIAN_BITFIELD
4235 uint32_t reserved_25_31 : 7;
4236 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Severity */
4237 uint32_t reserved_23_23 : 1;
4238 uint32_t ucies : 1; /**< Uncorrectable Internal Error Severity */
4239 uint32_t reserved_21_21 : 1;
4240 uint32_t ures : 1; /**< Unsupported Request Error Severity */
4241 uint32_t ecrces : 1; /**< ECRC Error Severity */
4242 uint32_t mtlps : 1; /**< Malformed TLP Severity */
4243 uint32_t ros : 1; /**< Receiver Overflow Severity */
4244 uint32_t ucs : 1; /**< Unexpected Completion Severity */
4245 uint32_t cas : 1; /**< Completer Abort Severity */
4246 uint32_t cts : 1; /**< Completion Timeout Severity */
4247 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
4248 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
4249 uint32_t reserved_6_11 : 6;
4250 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
4251 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
4252 uint32_t reserved_0_3 : 4;
4254 uint32_t reserved_0_3 : 4;
4257 uint32_t reserved_6_11 : 6;
4265 uint32_t ecrces : 1;
4267 uint32_t reserved_21_21 : 1;
4269 uint32_t reserved_23_23 : 1;
4270 uint32_t uatombs : 1;
4271 uint32_t reserved_25_31 : 7;
4274 struct cvmx_pcieepx_cfg067_cn52xx {
4275 #ifdef __BIG_ENDIAN_BITFIELD
4276 uint32_t reserved_21_31 : 11;
4277 uint32_t ures : 1; /**< Unsupported Request Error Severity */
4278 uint32_t ecrces : 1; /**< ECRC Error Severity */
4279 uint32_t mtlps : 1; /**< Malformed TLP Severity */
4280 uint32_t ros : 1; /**< Receiver Overflow Severity */
4281 uint32_t ucs : 1; /**< Unexpected Completion Severity */
4282 uint32_t cas : 1; /**< Completer Abort Severity */
4283 uint32_t cts : 1; /**< Completion Timeout Severity */
4284 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
4285 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
4286 uint32_t reserved_6_11 : 6;
4287 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
4288 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
4289 uint32_t reserved_0_3 : 4;
4291 uint32_t reserved_0_3 : 4;
4294 uint32_t reserved_6_11 : 6;
4302 uint32_t ecrces : 1;
4304 uint32_t reserved_21_31 : 11;
4307 struct cvmx_pcieepx_cfg067_cn52xx cn52xxp1;
4308 struct cvmx_pcieepx_cfg067_cn52xx cn56xx;
4309 struct cvmx_pcieepx_cfg067_cn52xx cn56xxp1;
4310 struct cvmx_pcieepx_cfg067_cn61xx {
4311 #ifdef __BIG_ENDIAN_BITFIELD
4312 uint32_t reserved_25_31 : 7;
4313 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Severity */
4314 uint32_t reserved_21_23 : 3;
4315 uint32_t ures : 1; /**< Unsupported Request Error Severity */
4316 uint32_t ecrces : 1; /**< ECRC Error Severity */
4317 uint32_t mtlps : 1; /**< Malformed TLP Severity */
4318 uint32_t ros : 1; /**< Receiver Overflow Severity */
4319 uint32_t ucs : 1; /**< Unexpected Completion Severity */
4320 uint32_t cas : 1; /**< Completer Abort Severity */
4321 uint32_t cts : 1; /**< Completion Timeout Severity */
4322 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
4323 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
4324 uint32_t reserved_6_11 : 6;
4325 uint32_t sdes : 1; /**< Surprise Down Error Severity (not supported) */
4326 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
4327 uint32_t reserved_0_3 : 4;
4329 uint32_t reserved_0_3 : 4;
4332 uint32_t reserved_6_11 : 6;
4340 uint32_t ecrces : 1;
4342 uint32_t reserved_21_23 : 3;
4343 uint32_t uatombs : 1;
4344 uint32_t reserved_25_31 : 7;
4347 struct cvmx_pcieepx_cfg067_cn52xx cn63xx;
4348 struct cvmx_pcieepx_cfg067_cn52xx cn63xxp1;
4349 struct cvmx_pcieepx_cfg067_cn61xx cn66xx;
4350 struct cvmx_pcieepx_cfg067_cn61xx cn68xx;
4351 struct cvmx_pcieepx_cfg067_cn52xx cn68xxp1;
4352 struct cvmx_pcieepx_cfg067_cnf71xx {
4353 #ifdef __BIG_ENDIAN_BITFIELD
4354 uint32_t reserved_25_31 : 7;
4355 uint32_t uatombs : 1; /**< Unsupported AtomicOp Egress Blocked Severity */
4356 uint32_t reserved_23_23 : 1;
4357 uint32_t ucies : 1; /**< Uncorrectable Internal Error Severity */
4358 uint32_t reserved_21_21 : 1;
4359 uint32_t ures : 1; /**< Unsupported Request Error Severity */
4360 uint32_t ecrces : 1; /**< ECRC Error Severity */
4361 uint32_t mtlps : 1; /**< Malformed TLP Severity */
4362 uint32_t ros : 1; /**< Receiver Overflow Severity */
4363 uint32_t ucs : 1; /**< Unexpected Completion Severity */
4364 uint32_t cas : 1; /**< Completer Abort Severity */
4365 uint32_t cts : 1; /**< Completion Timeout Severity */
4366 uint32_t fcpes : 1; /**< Flow Control Protocol Error Severity */
4367 uint32_t ptlps : 1; /**< Poisoned TLP Severity */
4368 uint32_t reserved_5_11 : 7;
4369 uint32_t dlpes : 1; /**< Data Link Protocol Error Severity */
4370 uint32_t reserved_0_3 : 4;
4372 uint32_t reserved_0_3 : 4;
4374 uint32_t reserved_5_11 : 7;
4382 uint32_t ecrces : 1;
4384 uint32_t reserved_21_21 : 1;
4386 uint32_t reserved_23_23 : 1;
4387 uint32_t uatombs : 1;
4388 uint32_t reserved_25_31 : 7;
4392 typedef union cvmx_pcieepx_cfg067 cvmx_pcieepx_cfg067_t;
4395 * cvmx_pcieep#_cfg068
4397 * PCIE_CFG068 = Sixty-ninth 32-bits of PCIE type 0 config space
4398 * (Correctable Error Status Register)
4400 union cvmx_pcieepx_cfg068 {
4402 struct cvmx_pcieepx_cfg068_s {
4403 #ifdef __BIG_ENDIAN_BITFIELD
4404 uint32_t reserved_15_31 : 17;
4405 uint32_t cies : 1; /**< Corrected Internal Error Status */
4406 uint32_t anfes : 1; /**< Advisory Non-Fatal Error Status */
4407 uint32_t rtts : 1; /**< Reply Timer Timeout Status */
4408 uint32_t reserved_9_11 : 3;
4409 uint32_t rnrs : 1; /**< REPLAY_NUM Rollover Status */
4410 uint32_t bdllps : 1; /**< Bad DLLP Status */
4411 uint32_t btlps : 1; /**< Bad TLP Status */
4412 uint32_t reserved_1_5 : 5;
4413 uint32_t res : 1; /**< Receiver Error Status */
4416 uint32_t reserved_1_5 : 5;
4418 uint32_t bdllps : 1;
4420 uint32_t reserved_9_11 : 3;
4424 uint32_t reserved_15_31 : 17;
4427 struct cvmx_pcieepx_cfg068_cn52xx {
4428 #ifdef __BIG_ENDIAN_BITFIELD
4429 uint32_t reserved_14_31 : 18;
4430 uint32_t anfes : 1; /**< Advisory Non-Fatal Error Status */
4431 uint32_t rtts : 1; /**< Reply Timer Timeout Status */
4432 uint32_t reserved_9_11 : 3;
4433 uint32_t rnrs : 1; /**< REPLAY_NUM Rollover Status */
4434 uint32_t bdllps : 1; /**< Bad DLLP Status */
4435 uint32_t btlps : 1; /**< Bad TLP Status */
4436 uint32_t reserved_1_5 : 5;
4437 uint32_t res : 1; /**< Receiver Error Status */
4440 uint32_t reserved_1_5 : 5;
4442 uint32_t bdllps : 1;
4444 uint32_t reserved_9_11 : 3;
4447 uint32_t reserved_14_31 : 18;
4450 struct cvmx_pcieepx_cfg068_cn52xx cn52xxp1;
4451 struct cvmx_pcieepx_cfg068_cn52xx cn56xx;
4452 struct cvmx_pcieepx_cfg068_cn52xx cn56xxp1;
4453 struct cvmx_pcieepx_cfg068_cn52xx cn61xx;
4454 struct cvmx_pcieepx_cfg068_cn52xx cn63xx;
4455 struct cvmx_pcieepx_cfg068_cn52xx cn63xxp1;
4456 struct cvmx_pcieepx_cfg068_cn52xx cn66xx;
4457 struct cvmx_pcieepx_cfg068_cn52xx cn68xx;
4458 struct cvmx_pcieepx_cfg068_cn52xx cn68xxp1;
4459 struct cvmx_pcieepx_cfg068_s cnf71xx;
4461 typedef union cvmx_pcieepx_cfg068 cvmx_pcieepx_cfg068_t;
4464 * cvmx_pcieep#_cfg069
4466 * PCIE_CFG069 = Seventieth 32-bits of PCIE type 0 config space
4467 * (Correctable Error Mask Register)
4469 union cvmx_pcieepx_cfg069 {
4471 struct cvmx_pcieepx_cfg069_s {
4472 #ifdef __BIG_ENDIAN_BITFIELD
4473 uint32_t reserved_15_31 : 17;
4474 uint32_t ciem : 1; /**< Corrected Internal Error Mask */
4475 uint32_t anfem : 1; /**< Advisory Non-Fatal Error Mask */
4476 uint32_t rttm : 1; /**< Reply Timer Timeout Mask */
4477 uint32_t reserved_9_11 : 3;
4478 uint32_t rnrm : 1; /**< REPLAY_NUM Rollover Mask */
4479 uint32_t bdllpm : 1; /**< Bad DLLP Mask */
4480 uint32_t btlpm : 1; /**< Bad TLP Mask */
4481 uint32_t reserved_1_5 : 5;
4482 uint32_t rem : 1; /**< Receiver Error Mask */
4485 uint32_t reserved_1_5 : 5;
4487 uint32_t bdllpm : 1;
4489 uint32_t reserved_9_11 : 3;
4493 uint32_t reserved_15_31 : 17;
4496 struct cvmx_pcieepx_cfg069_cn52xx {
4497 #ifdef __BIG_ENDIAN_BITFIELD
4498 uint32_t reserved_14_31 : 18;
4499 uint32_t anfem : 1; /**< Advisory Non-Fatal Error Mask */
4500 uint32_t rttm : 1; /**< Reply Timer Timeout Mask */
4501 uint32_t reserved_9_11 : 3;
4502 uint32_t rnrm : 1; /**< REPLAY_NUM Rollover Mask */
4503 uint32_t bdllpm : 1; /**< Bad DLLP Mask */
4504 uint32_t btlpm : 1; /**< Bad TLP Mask */
4505 uint32_t reserved_1_5 : 5;
4506 uint32_t rem : 1; /**< Receiver Error Mask */
4509 uint32_t reserved_1_5 : 5;
4511 uint32_t bdllpm : 1;
4513 uint32_t reserved_9_11 : 3;
4516 uint32_t reserved_14_31 : 18;
4519 struct cvmx_pcieepx_cfg069_cn52xx cn52xxp1;
4520 struct cvmx_pcieepx_cfg069_cn52xx cn56xx;
4521 struct cvmx_pcieepx_cfg069_cn52xx cn56xxp1;
4522 struct cvmx_pcieepx_cfg069_cn52xx cn61xx;
4523 struct cvmx_pcieepx_cfg069_cn52xx cn63xx;
4524 struct cvmx_pcieepx_cfg069_cn52xx cn63xxp1;
4525 struct cvmx_pcieepx_cfg069_cn52xx cn66xx;
4526 struct cvmx_pcieepx_cfg069_cn52xx cn68xx;
4527 struct cvmx_pcieepx_cfg069_cn52xx cn68xxp1;
4528 struct cvmx_pcieepx_cfg069_s cnf71xx;
4530 typedef union cvmx_pcieepx_cfg069 cvmx_pcieepx_cfg069_t;
4533 * cvmx_pcieep#_cfg070
4535 * PCIE_CFG070 = Seventy-first 32-bits of PCIE type 0 config space
4536 * (Advanced Error Capabilities and Control Register)
4538 union cvmx_pcieepx_cfg070 {
4540 struct cvmx_pcieepx_cfg070_s {
4541 #ifdef __BIG_ENDIAN_BITFIELD
4542 uint32_t reserved_9_31 : 23;
4543 uint32_t ce : 1; /**< ECRC Check Enable */
4544 uint32_t cc : 1; /**< ECRC Check Capable */
4545 uint32_t ge : 1; /**< ECRC Generation Enable */
4546 uint32_t gc : 1; /**< ECRC Generation Capability */
4547 uint32_t fep : 5; /**< First Error Pointer */
4554 uint32_t reserved_9_31 : 23;
4557 struct cvmx_pcieepx_cfg070_s cn52xx;
4558 struct cvmx_pcieepx_cfg070_s cn52xxp1;
4559 struct cvmx_pcieepx_cfg070_s cn56xx;
4560 struct cvmx_pcieepx_cfg070_s cn56xxp1;
4561 struct cvmx_pcieepx_cfg070_s cn61xx;
4562 struct cvmx_pcieepx_cfg070_s cn63xx;
4563 struct cvmx_pcieepx_cfg070_s cn63xxp1;
4564 struct cvmx_pcieepx_cfg070_s cn66xx;
4565 struct cvmx_pcieepx_cfg070_s cn68xx;
4566 struct cvmx_pcieepx_cfg070_s cn68xxp1;
4567 struct cvmx_pcieepx_cfg070_s cnf71xx;
4569 typedef union cvmx_pcieepx_cfg070 cvmx_pcieepx_cfg070_t;
4572 * cvmx_pcieep#_cfg071
4574 * PCIE_CFG071 = Seventy-second 32-bits of PCIE type 0 config space
4575 * (Header Log Register 1)
4577 union cvmx_pcieepx_cfg071 {
4579 struct cvmx_pcieepx_cfg071_s {
4580 #ifdef __BIG_ENDIAN_BITFIELD
4581 uint32_t dword1 : 32; /**< Header Log Register (first DWORD) */
4583 uint32_t dword1 : 32;
4586 struct cvmx_pcieepx_cfg071_s cn52xx;
4587 struct cvmx_pcieepx_cfg071_s cn52xxp1;
4588 struct cvmx_pcieepx_cfg071_s cn56xx;
4589 struct cvmx_pcieepx_cfg071_s cn56xxp1;
4590 struct cvmx_pcieepx_cfg071_s cn61xx;
4591 struct cvmx_pcieepx_cfg071_s cn63xx;
4592 struct cvmx_pcieepx_cfg071_s cn63xxp1;
4593 struct cvmx_pcieepx_cfg071_s cn66xx;
4594 struct cvmx_pcieepx_cfg071_s cn68xx;
4595 struct cvmx_pcieepx_cfg071_s cn68xxp1;
4596 struct cvmx_pcieepx_cfg071_s cnf71xx;
4598 typedef union cvmx_pcieepx_cfg071 cvmx_pcieepx_cfg071_t;
4601 * cvmx_pcieep#_cfg072
4603 * PCIE_CFG072 = Seventy-third 32-bits of PCIE type 0 config space
4604 * (Header Log Register 2)
4606 union cvmx_pcieepx_cfg072 {
4608 struct cvmx_pcieepx_cfg072_s {
4609 #ifdef __BIG_ENDIAN_BITFIELD
4610 uint32_t dword2 : 32; /**< Header Log Register (second DWORD) */
4612 uint32_t dword2 : 32;
4615 struct cvmx_pcieepx_cfg072_s cn52xx;
4616 struct cvmx_pcieepx_cfg072_s cn52xxp1;
4617 struct cvmx_pcieepx_cfg072_s cn56xx;
4618 struct cvmx_pcieepx_cfg072_s cn56xxp1;
4619 struct cvmx_pcieepx_cfg072_s cn61xx;
4620 struct cvmx_pcieepx_cfg072_s cn63xx;
4621 struct cvmx_pcieepx_cfg072_s cn63xxp1;
4622 struct cvmx_pcieepx_cfg072_s cn66xx;
4623 struct cvmx_pcieepx_cfg072_s cn68xx;
4624 struct cvmx_pcieepx_cfg072_s cn68xxp1;
4625 struct cvmx_pcieepx_cfg072_s cnf71xx;
4627 typedef union cvmx_pcieepx_cfg072 cvmx_pcieepx_cfg072_t;
4630 * cvmx_pcieep#_cfg073
4632 * PCIE_CFG073 = Seventy-fourth 32-bits of PCIE type 0 config space
4633 * (Header Log Register 3)
4635 union cvmx_pcieepx_cfg073 {
4637 struct cvmx_pcieepx_cfg073_s {
4638 #ifdef __BIG_ENDIAN_BITFIELD
4639 uint32_t dword3 : 32; /**< Header Log Register (third DWORD) */
4641 uint32_t dword3 : 32;
4644 struct cvmx_pcieepx_cfg073_s cn52xx;
4645 struct cvmx_pcieepx_cfg073_s cn52xxp1;
4646 struct cvmx_pcieepx_cfg073_s cn56xx;
4647 struct cvmx_pcieepx_cfg073_s cn56xxp1;
4648 struct cvmx_pcieepx_cfg073_s cn61xx;
4649 struct cvmx_pcieepx_cfg073_s cn63xx;
4650 struct cvmx_pcieepx_cfg073_s cn63xxp1;
4651 struct cvmx_pcieepx_cfg073_s cn66xx;
4652 struct cvmx_pcieepx_cfg073_s cn68xx;
4653 struct cvmx_pcieepx_cfg073_s cn68xxp1;
4654 struct cvmx_pcieepx_cfg073_s cnf71xx;
4656 typedef union cvmx_pcieepx_cfg073 cvmx_pcieepx_cfg073_t;
4659 * cvmx_pcieep#_cfg074
4661 * PCIE_CFG074 = Seventy-fifth 32-bits of PCIE type 0 config space
4662 * (Header Log Register 4)
4664 union cvmx_pcieepx_cfg074 {
4666 struct cvmx_pcieepx_cfg074_s {
4667 #ifdef __BIG_ENDIAN_BITFIELD
4668 uint32_t dword4 : 32; /**< Header Log Register (fourth DWORD) */
4670 uint32_t dword4 : 32;
4673 struct cvmx_pcieepx_cfg074_s cn52xx;
4674 struct cvmx_pcieepx_cfg074_s cn52xxp1;
4675 struct cvmx_pcieepx_cfg074_s cn56xx;
4676 struct cvmx_pcieepx_cfg074_s cn56xxp1;
4677 struct cvmx_pcieepx_cfg074_s cn61xx;
4678 struct cvmx_pcieepx_cfg074_s cn63xx;
4679 struct cvmx_pcieepx_cfg074_s cn63xxp1;
4680 struct cvmx_pcieepx_cfg074_s cn66xx;
4681 struct cvmx_pcieepx_cfg074_s cn68xx;
4682 struct cvmx_pcieepx_cfg074_s cn68xxp1;
4683 struct cvmx_pcieepx_cfg074_s cnf71xx;
4685 typedef union cvmx_pcieepx_cfg074 cvmx_pcieepx_cfg074_t;
4688 * cvmx_pcieep#_cfg448
4690 * PCIE_CFG448 = Four hundred forty-ninth 32-bits of PCIE type 0 config space
4691 * (Ack Latency Timer and Replay Timer Register)
4693 union cvmx_pcieepx_cfg448 {
4695 struct cvmx_pcieepx_cfg448_s {
4696 #ifdef __BIG_ENDIAN_BITFIELD
4697 uint32_t rtl : 16; /**< Replay Time Limit
4698 The replay timer expires when it reaches this limit. The PCI
4699 Express bus initiates a replay upon reception of a Nak or when
4700 the replay timer expires.
4701 This value will be set correctly by the hardware out of reset
4702 or when the negotiated Link-Width or Payload-Size changes. If
4703 the user changes this value through a CSR write or by an
4704 EEPROM load then they should refer to the PCIe Specification
4705 for the correct value. */
4706 uint32_t rtltl : 16; /**< Round Trip Latency Time Limit
4707 The Ack/Nak latency timer expires when it reaches this limit.
4708 This value will be set correctly by the hardware out of reset
4709 or when the negotiated Link-Width or Payload-Size changes. If
4710 the user changes this value through a CSR write or by an
4711 EEPROM load then they should refer to the PCIe Specification
4712 for the correct value. */
4714 uint32_t rtltl : 16;
4718 struct cvmx_pcieepx_cfg448_s cn52xx;
4719 struct cvmx_pcieepx_cfg448_s cn52xxp1;
4720 struct cvmx_pcieepx_cfg448_s cn56xx;
4721 struct cvmx_pcieepx_cfg448_s cn56xxp1;
4722 struct cvmx_pcieepx_cfg448_s cn61xx;
4723 struct cvmx_pcieepx_cfg448_s cn63xx;
4724 struct cvmx_pcieepx_cfg448_s cn63xxp1;
4725 struct cvmx_pcieepx_cfg448_s cn66xx;
4726 struct cvmx_pcieepx_cfg448_s cn68xx;
4727 struct cvmx_pcieepx_cfg448_s cn68xxp1;
4728 struct cvmx_pcieepx_cfg448_s cnf71xx;
4730 typedef union cvmx_pcieepx_cfg448 cvmx_pcieepx_cfg448_t;
4733 * cvmx_pcieep#_cfg449
4735 * PCIE_CFG449 = Four hundred fiftieth 32-bits of PCIE type 0 config space
4736 * (Other Message Register)
4738 union cvmx_pcieepx_cfg449 {
4740 struct cvmx_pcieepx_cfg449_s {
4741 #ifdef __BIG_ENDIAN_BITFIELD
4742 uint32_t omr : 32; /**< Other Message Register
4743 This register can be used for either of the following purposes:
4744 o To send a specific PCI Express Message, the application
4745 writes the payload of the Message into this register, then
4746 sets bit 0 of the Port Link Control Register to send the
4748 o To store a corruption pattern for corrupting the LCRC on all
4749 TLPs, the application places a 32-bit corruption pattern into
4750 this register and enables this function by setting bit 25 of
4751 the Port Link Control Register. When enabled, the transmit
4752 LCRC result is XOR'd with this pattern before inserting
4753 it into the packet. */
4758 struct cvmx_pcieepx_cfg449_s cn52xx;
4759 struct cvmx_pcieepx_cfg449_s cn52xxp1;
4760 struct cvmx_pcieepx_cfg449_s cn56xx;
4761 struct cvmx_pcieepx_cfg449_s cn56xxp1;
4762 struct cvmx_pcieepx_cfg449_s cn61xx;
4763 struct cvmx_pcieepx_cfg449_s cn63xx;
4764 struct cvmx_pcieepx_cfg449_s cn63xxp1;
4765 struct cvmx_pcieepx_cfg449_s cn66xx;
4766 struct cvmx_pcieepx_cfg449_s cn68xx;
4767 struct cvmx_pcieepx_cfg449_s cn68xxp1;
4768 struct cvmx_pcieepx_cfg449_s cnf71xx;
4770 typedef union cvmx_pcieepx_cfg449 cvmx_pcieepx_cfg449_t;
4773 * cvmx_pcieep#_cfg450
4775 * PCIE_CFG450 = Four hundred fifty-first 32-bits of PCIE type 0 config space
4776 * (Port Force Link Register)
4778 union cvmx_pcieepx_cfg450 {
4780 struct cvmx_pcieepx_cfg450_s {
4781 #ifdef __BIG_ENDIAN_BITFIELD
4782 uint32_t lpec : 8; /**< Low Power Entrance Count
4783 The Power Management state will wait for this many clock cycles
4784 for the associated completion of a CfgWr to PCIE_CFG017 register
4785 Power State (PS) field register to go low-power. This register
4786 is intended for applications that do not let the PCI Express
4787 bus handle a completion for configuration request to the
4788 Power Management Control and Status (PCIE_CFG017) register. */
4789 uint32_t reserved_22_23 : 2;
4790 uint32_t link_state : 6; /**< Link State
4791 The Link state that the PCI Express Bus will be forced to
4792 when bit 15 (Force Link) is set.
4797 o POLL_COMPLIANCE 03h
4799 o PRE_DETECT_QUIET 05h
4801 o CFG_LINKWD_START 07h
4802 o CFG_LINKWD_ACEPT 08h
4803 o CFG_LANENUM_WAIT 09h
4804 o CFG_LANENUM_ACEPT 0Ah
4813 o L123_SEND_EIDLE 13h
4817 o DISABLED_ENTRY 17h
4823 o LPBK_EXIT_TIMEOUT 1Dh
4824 o HOT_RESET_ENTRY 1Eh
4826 uint32_t force_link : 1; /**< Force Link
4827 Forces the Link to the state specified by the Link State field.
4828 The Force Link pulse will trigger Link re-negotiation.
4829 * As the The Force Link is a pulse, writing a 1 to it does
4830 trigger the forced link state event, even thought reading it
4831 always returns a 0. */
4832 uint32_t reserved_8_14 : 7;
4833 uint32_t link_num : 8; /**< Link Number
4834 Not used for Endpoint */
4836 uint32_t link_num : 8;
4837 uint32_t reserved_8_14 : 7;
4838 uint32_t force_link : 1;
4839 uint32_t link_state : 6;
4840 uint32_t reserved_22_23 : 2;
4844 struct cvmx_pcieepx_cfg450_s cn52xx;
4845 struct cvmx_pcieepx_cfg450_s cn52xxp1;
4846 struct cvmx_pcieepx_cfg450_s cn56xx;
4847 struct cvmx_pcieepx_cfg450_s cn56xxp1;
4848 struct cvmx_pcieepx_cfg450_s cn61xx;
4849 struct cvmx_pcieepx_cfg450_s cn63xx;
4850 struct cvmx_pcieepx_cfg450_s cn63xxp1;
4851 struct cvmx_pcieepx_cfg450_s cn66xx;
4852 struct cvmx_pcieepx_cfg450_s cn68xx;
4853 struct cvmx_pcieepx_cfg450_s cn68xxp1;
4854 struct cvmx_pcieepx_cfg450_s cnf71xx;
4856 typedef union cvmx_pcieepx_cfg450 cvmx_pcieepx_cfg450_t;
4859 * cvmx_pcieep#_cfg451
4861 * PCIE_CFG451 = Four hundred fifty-second 32-bits of PCIE type 0 config space
4862 * (Ack Frequency Register)
4864 union cvmx_pcieepx_cfg451 {
4866 struct cvmx_pcieepx_cfg451_s {
4867 #ifdef __BIG_ENDIAN_BITFIELD
4868 uint32_t reserved_31_31 : 1;
4869 uint32_t easpml1 : 1; /**< Enter ASPM L1 without receive in L0s
4870 Allow core to enter ASPM L1 even when link partner did
4871 not go to L0s (receive is not in L0s).
4872 When not set, core goes to ASPM L1 only after idle period
4873 during which both receive and transmit are in L0s. */
4874 uint32_t l1el : 3; /**< L1 Entrance Latency
4875 Values correspond to:
4882 o 110 or 111: 64 ms */
4883 uint32_t l0el : 3; /**< L0s Entrance Latency
4884 Values correspond to:
4891 o 110 or 111: 7 ms */
4892 uint32_t n_fts_cc : 8; /**< N_FTS when common clock is used.
4893 The number of Fast Training Sequence ordered sets to be
4894 transmitted when transitioning from L0s to L0. The maximum
4895 number of FTS ordered-sets that a component can request is 255.
4896 Note: A value of zero is not supported; a value of
4897 zero can cause the LTSSM to go into the recovery state
4898 when exiting from L0s. */
4899 uint32_t n_fts : 8; /**< N_FTS
4900 The number of Fast Training Sequence ordered sets to be
4901 transmitted when transitioning from L0s to L0. The maximum
4902 number of FTS ordered-sets that a component can request is 255.
4903 Note: A value of zero is not supported; a value of
4904 zero can cause the LTSSM to go into the recovery state
4905 when exiting from L0s. */
4906 uint32_t ack_freq : 8; /**< Ack Frequency
4907 The number of pending Ack's specified here (up to 255) before
4910 uint32_t ack_freq : 8;
4912 uint32_t n_fts_cc : 8;
4915 uint32_t easpml1 : 1;
4916 uint32_t reserved_31_31 : 1;
4919 struct cvmx_pcieepx_cfg451_cn52xx {
4920 #ifdef __BIG_ENDIAN_BITFIELD
4921 uint32_t reserved_30_31 : 2;
4922 uint32_t l1el : 3; /**< L1 Entrance Latency
4923 Values correspond to:
4930 o 110 or 111: 64 ms */
4931 uint32_t l0el : 3; /**< L0s Entrance Latency
4932 Values correspond to:
4939 o 110 or 111: 7 ms */
4940 uint32_t n_fts_cc : 8; /**< N_FTS when common clock is used.
4941 The number of Fast Training Sequence ordered sets to be
4942 transmitted when transitioning from L0s to L0. The maximum
4943 number of FTS ordered-sets that a component can request is 255.
4944 Note: A value of zero is not supported; a value of
4945 zero can cause the LTSSM to go into the recovery state
4946 when exiting from L0s. */
4947 uint32_t n_fts : 8; /**< N_FTS
4948 The number of Fast Training Sequence ordered sets to be
4949 transmitted when transitioning from L0s to L0. The maximum
4950 number of FTS ordered-sets that a component can request is 255.
4951 Note: A value of zero is not supported; a value of
4952 zero can cause the LTSSM to go into the recovery state
4953 when exiting from L0s. */
4954 uint32_t ack_freq : 8; /**< Ack Frequency
4955 The number of pending Ack's specified here (up to 255) before
4958 uint32_t ack_freq : 8;
4960 uint32_t n_fts_cc : 8;
4963 uint32_t reserved_30_31 : 2;
4966 struct cvmx_pcieepx_cfg451_cn52xx cn52xxp1;
4967 struct cvmx_pcieepx_cfg451_cn52xx cn56xx;
4968 struct cvmx_pcieepx_cfg451_cn52xx cn56xxp1;
4969 struct cvmx_pcieepx_cfg451_s cn61xx;
4970 struct cvmx_pcieepx_cfg451_cn52xx cn63xx;
4971 struct cvmx_pcieepx_cfg451_cn52xx cn63xxp1;
4972 struct cvmx_pcieepx_cfg451_s cn66xx;
4973 struct cvmx_pcieepx_cfg451_s cn68xx;
4974 struct cvmx_pcieepx_cfg451_s cn68xxp1;
4975 struct cvmx_pcieepx_cfg451_s cnf71xx;
4977 typedef union cvmx_pcieepx_cfg451 cvmx_pcieepx_cfg451_t;
4980 * cvmx_pcieep#_cfg452
4982 * PCIE_CFG452 = Four hundred fifty-third 32-bits of PCIE type 0 config space
4983 * (Port Link Control Register)
4985 union cvmx_pcieepx_cfg452 {
4987 struct cvmx_pcieepx_cfg452_s {
4988 #ifdef __BIG_ENDIAN_BITFIELD
4989 uint32_t reserved_26_31 : 6;
4990 uint32_t eccrc : 1; /**< Enable Corrupted CRC
4991 Causes corrupt LCRC for TLPs when set,
4992 using the pattern contained in the Other Message register.
4993 This is a test feature, not to be used in normal operation. */
4994 uint32_t reserved_22_24 : 3;
4995 uint32_t lme : 6; /**< Link Mode Enable
4997 o 000011: x2 (not supported)
4998 o 000111: x4 (not supported)
4999 o 001111: x8 (not supported)
5000 o 011111: x16 (not supported)
5001 o 111111: x32 (not supported)
5002 This field indicates the MAXIMUM number of lanes supported
5005 (Note: The value of this field does NOT indicate the number
5006 of lanes in use by the PCIe. LME sets the max number of lanes
5007 in the PCIe core that COULD be used. As per the PCIe specs,
5008 the PCIe core can negotiate a smaller link width) */
5009 uint32_t reserved_8_15 : 8;
5010 uint32_t flm : 1; /**< Fast Link Mode
5011 Sets all internal timers to fast mode for simulation purposes.
5012 If during an eeprom load, the first word loaded is 0xffffffff,
5013 then the EEPROM load will be terminated and this bit will be set. */
5014 uint32_t reserved_6_6 : 1;
5015 uint32_t dllle : 1; /**< DLL Link Enable
5016 Enables Link initialization. If DLL Link Enable = 0, the PCI
5017 Express bus does not transmit InitFC DLLPs and does not
5018 establish a Link. */
5019 uint32_t reserved_4_4 : 1;
5020 uint32_t ra : 1; /**< Reset Assert
5021 Triggers a recovery and forces the LTSSM to the Hot Reset
5022 state (downstream port only). */
5023 uint32_t le : 1; /**< Loopback Enable
5024 Initiate loopback mode as a master. On a 0->1 transition,
5025 the PCIe core sends TS ordered sets with the loopback bit set
5026 to cause the link partner to enter into loopback mode as a
5027 slave. Normal transmission is not possible when LE=1. To exit
5028 loopback mode, take the link through a reset sequence. */
5029 uint32_t sd : 1; /**< Scramble Disable
5030 Turns off data scrambling. */
5031 uint32_t omr : 1; /**< Other Message Request
5032 When software writes a `1' to this bit, the PCI Express bus
5033 transmits the Message contained in the Other Message register. */
5039 uint32_t reserved_4_4 : 1;
5041 uint32_t reserved_6_6 : 1;
5043 uint32_t reserved_8_15 : 8;
5045 uint32_t reserved_22_24 : 3;
5047 uint32_t reserved_26_31 : 6;
5050 struct cvmx_pcieepx_cfg452_s cn52xx;
5051 struct cvmx_pcieepx_cfg452_s cn52xxp1;
5052 struct cvmx_pcieepx_cfg452_s cn56xx;
5053 struct cvmx_pcieepx_cfg452_s cn56xxp1;
5054 struct cvmx_pcieepx_cfg452_cn61xx {
5055 #ifdef __BIG_ENDIAN_BITFIELD
5056 uint32_t reserved_22_31 : 10;
5057 uint32_t lme : 6; /**< Link Mode Enable
5061 o 001111: x8 (not supported)
5062 o 011111: x16 (not supported)
5063 o 111111: x32 (not supported)
5064 This field indicates the MAXIMUM number of lanes supported
5065 by the PCIe port. The value can be set less than 0x7
5066 to limit the number of lanes the PCIe will attempt to use.
5067 If the value of 0x7 set by the HW is not desired,
5068 this field can be programmed to a smaller value (i.e. EEPROM)
5070 (Note: The value of this field does NOT indicate the number
5071 of lanes in use by the PCIe. LME sets the max number of lanes
5072 in the PCIe core that COULD be used. As per the PCIe specs,
5073 the PCIe core can negotiate a smaller link width, so all
5074 of x4, x2, and x1 are supported when LME=0x7,
5076 uint32_t reserved_8_15 : 8;
5077 uint32_t flm : 1; /**< Fast Link Mode
5078 Sets all internal timers to fast mode for simulation purposes.
5079 If during an eeprom load, the first word loaded is 0xffffffff,
5080 then the EEPROM load will be terminated and this bit will be set. */
5081 uint32_t reserved_6_6 : 1;
5082 uint32_t dllle : 1; /**< DLL Link Enable
5083 Enables Link initialization. If DLL Link Enable = 0, the PCI
5084 Express bus does not transmit InitFC DLLPs and does not
5085 establish a Link. */
5086 uint32_t reserved_4_4 : 1;
5087 uint32_t ra : 1; /**< Reset Assert
5088 Triggers a recovery and forces the LTSSM to the Hot Reset
5089 state (downstream port only). */
5090 uint32_t le : 1; /**< Loopback Enable
5091 Initiate loopback mode as a master. On a 0->1 transition,
5092 the PCIe core sends TS ordered sets with the loopback bit set
5093 to cause the link partner to enter into loopback mode as a
5094 slave. Normal transmission is not possible when LE=1. To exit
5095 loopback mode, take the link through a reset sequence. */
5096 uint32_t sd : 1; /**< Scramble Disable
5097 Turns off data scrambling. */
5098 uint32_t omr : 1; /**< Other Message Request
5099 When software writes a `1' to this bit, the PCI Express bus
5100 transmits the Message contained in the Other Message register. */
5106 uint32_t reserved_4_4 : 1;
5108 uint32_t reserved_6_6 : 1;
5110 uint32_t reserved_8_15 : 8;
5112 uint32_t reserved_22_31 : 10;
5115 struct cvmx_pcieepx_cfg452_s cn63xx;
5116 struct cvmx_pcieepx_cfg452_s cn63xxp1;
5117 struct cvmx_pcieepx_cfg452_cn61xx cn66xx;
5118 struct cvmx_pcieepx_cfg452_cn61xx cn68xx;
5119 struct cvmx_pcieepx_cfg452_cn61xx cn68xxp1;
5120 struct cvmx_pcieepx_cfg452_cn61xx cnf71xx;
5122 typedef union cvmx_pcieepx_cfg452 cvmx_pcieepx_cfg452_t;
5125 * cvmx_pcieep#_cfg453
5127 * PCIE_CFG453 = Four hundred fifty-fourth 32-bits of PCIE type 0 config space
5128 * (Lane Skew Register)
5130 union cvmx_pcieepx_cfg453 {
5132 struct cvmx_pcieepx_cfg453_s {
5133 #ifdef __BIG_ENDIAN_BITFIELD
5134 uint32_t dlld : 1; /**< Disable Lane-to-Lane Deskew
5135 Disables the internal Lane-to-Lane deskew logic. */
5136 uint32_t reserved_26_30 : 5;
5137 uint32_t ack_nak : 1; /**< Ack/Nak Disable
5138 Prevents the PCI Express bus from sending Ack and Nak DLLPs. */
5139 uint32_t fcd : 1; /**< Flow Control Disable
5140 Prevents the PCI Express bus from sending FC DLLPs. */
5141 uint32_t ilst : 24; /**< Insert Lane Skew for Transmit
5142 Causes skew between lanes for test purposes. There are three
5143 bits per Lane. The value is in units of one symbol time. For
5144 example, the value 010b for a Lane forces a skew of two symbol
5145 times for that Lane. The maximum skew value for any Lane is 5
5150 uint32_t ack_nak : 1;
5151 uint32_t reserved_26_30 : 5;
5155 struct cvmx_pcieepx_cfg453_s cn52xx;
5156 struct cvmx_pcieepx_cfg453_s cn52xxp1;
5157 struct cvmx_pcieepx_cfg453_s cn56xx;
5158 struct cvmx_pcieepx_cfg453_s cn56xxp1;
5159 struct cvmx_pcieepx_cfg453_s cn61xx;
5160 struct cvmx_pcieepx_cfg453_s cn63xx;
5161 struct cvmx_pcieepx_cfg453_s cn63xxp1;
5162 struct cvmx_pcieepx_cfg453_s cn66xx;
5163 struct cvmx_pcieepx_cfg453_s cn68xx;
5164 struct cvmx_pcieepx_cfg453_s cn68xxp1;
5165 struct cvmx_pcieepx_cfg453_s cnf71xx;
5167 typedef union cvmx_pcieepx_cfg453 cvmx_pcieepx_cfg453_t;
5170 * cvmx_pcieep#_cfg454
5172 * PCIE_CFG454 = Four hundred fifty-fifth 32-bits of PCIE type 0 config space
5173 * (Symbol Number Register)
5175 union cvmx_pcieepx_cfg454 {
5177 struct cvmx_pcieepx_cfg454_s {
5178 #ifdef __BIG_ENDIAN_BITFIELD
5179 uint32_t cx_nfunc : 3; /**< Number of Functions (minus 1)
5180 Configuration Requests targeted at function numbers above this
5181 value will be returned with unsupported request */
5182 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
5183 Increases the timer value for the Flow Control watchdog timer,
5184 in increments of 16 clock cycles. */
5185 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
5186 Increases the timer value for the Ack/Nak latency timer, in
5187 increments of 64 clock cycles. */
5188 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
5189 Increases the timer value for the replay timer, in increments
5190 of 64 clock cycles. */
5191 uint32_t reserved_11_13 : 3;
5192 uint32_t nskps : 3; /**< Number of SKP Symbols */
5193 uint32_t reserved_0_7 : 8;
5195 uint32_t reserved_0_7 : 8;
5197 uint32_t reserved_11_13 : 3;
5199 uint32_t tmanlt : 5;
5200 uint32_t tmfcwt : 5;
5201 uint32_t cx_nfunc : 3;
5204 struct cvmx_pcieepx_cfg454_cn52xx {
5205 #ifdef __BIG_ENDIAN_BITFIELD
5206 uint32_t reserved_29_31 : 3;
5207 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
5208 Increases the timer value for the Flow Control watchdog timer,
5209 in increments of 16 clock cycles. */
5210 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
5211 Increases the timer value for the Ack/Nak latency timer, in
5212 increments of 64 clock cycles. */
5213 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
5214 Increases the timer value for the replay timer, in increments
5215 of 64 clock cycles. */
5216 uint32_t reserved_11_13 : 3;
5217 uint32_t nskps : 3; /**< Number of SKP Symbols */
5218 uint32_t reserved_4_7 : 4;
5219 uint32_t ntss : 4; /**< Number of TS Symbols
5220 Sets the number of TS identifier symbols that are sent in TS1
5221 and TS2 ordered sets. */
5224 uint32_t reserved_4_7 : 4;
5226 uint32_t reserved_11_13 : 3;
5228 uint32_t tmanlt : 5;
5229 uint32_t tmfcwt : 5;
5230 uint32_t reserved_29_31 : 3;
5233 struct cvmx_pcieepx_cfg454_cn52xx cn52xxp1;
5234 struct cvmx_pcieepx_cfg454_cn52xx cn56xx;
5235 struct cvmx_pcieepx_cfg454_cn52xx cn56xxp1;
5236 struct cvmx_pcieepx_cfg454_cn61xx {
5237 #ifdef __BIG_ENDIAN_BITFIELD
5238 uint32_t cx_nfunc : 3; /**< Number of Functions (minus 1)
5239 Configuration Requests targeted at function numbers above this
5240 value will be returned with unsupported request */
5241 uint32_t tmfcwt : 5; /**< Timer Modifier for Flow Control Watchdog Timer
5242 Increases the timer value for the Flow Control watchdog timer,
5243 in increments of 16 clock cycles. */
5244 uint32_t tmanlt : 5; /**< Timer Modifier for Ack/Nak Latency Timer
5245 Increases the timer value for the Ack/Nak latency timer, in
5246 increments of 64 clock cycles. */
5247 uint32_t tmrt : 5; /**< Timer Modifier for Replay Timer
5248 Increases the timer value for the replay timer, in increments
5249 of 64 clock cycles. */
5250 uint32_t reserved_8_13 : 6;
5251 uint32_t mfuncn : 8; /**< Max Number of Functions Supported */
5253 uint32_t mfuncn : 8;
5254 uint32_t reserved_8_13 : 6;
5256 uint32_t tmanlt : 5;
5257 uint32_t tmfcwt : 5;
5258 uint32_t cx_nfunc : 3;
5261 struct cvmx_pcieepx_cfg454_cn52xx cn63xx;
5262 struct cvmx_pcieepx_cfg454_cn52xx cn63xxp1;
5263 struct cvmx_pcieepx_cfg454_cn61xx cn66xx;
5264 struct cvmx_pcieepx_cfg454_cn61xx cn68xx;
5265 struct cvmx_pcieepx_cfg454_cn52xx cn68xxp1;
5266 struct cvmx_pcieepx_cfg454_cn61xx cnf71xx;
5268 typedef union cvmx_pcieepx_cfg454 cvmx_pcieepx_cfg454_t;
5271 * cvmx_pcieep#_cfg455
5273 * PCIE_CFG455 = Four hundred fifty-sixth 32-bits of PCIE type 0 config space
5274 * (Symbol Timer Register/Filter Mask Register 1)
5276 union cvmx_pcieepx_cfg455 {
5278 struct cvmx_pcieepx_cfg455_s {
5279 #ifdef __BIG_ENDIAN_BITFIELD
5280 uint32_t m_cfg0_filt : 1; /**< Mask filtering of received Configuration Requests (RC mode only) */
5281 uint32_t m_io_filt : 1; /**< Mask filtering of received I/O Requests (RC mode only) */
5282 uint32_t msg_ctrl : 1; /**< Message Control
5283 The application must not change this field. */
5284 uint32_t m_cpl_ecrc_filt : 1; /**< Mask ECRC error filtering for Completions */
5285 uint32_t m_ecrc_filt : 1; /**< Mask ECRC error filtering */
5286 uint32_t m_cpl_len_err : 1; /**< Mask Length mismatch error for received Completions */
5287 uint32_t m_cpl_attr_err : 1; /**< Mask Attributes mismatch error for received Completions */
5288 uint32_t m_cpl_tc_err : 1; /**< Mask Traffic Class mismatch error for received Completions */
5289 uint32_t m_cpl_fun_err : 1; /**< Mask function mismatch error for received Completions */
5290 uint32_t m_cpl_rid_err : 1; /**< Mask Requester ID mismatch error for received Completions */
5291 uint32_t m_cpl_tag_err : 1; /**< Mask Tag error rules for received Completions */
5292 uint32_t m_lk_filt : 1; /**< Mask Locked Request filtering */
5293 uint32_t m_cfg1_filt : 1; /**< Mask Type 1 Configuration Request filtering */
5294 uint32_t m_bar_match : 1; /**< Mask BAR match filtering */
5295 uint32_t m_pois_filt : 1; /**< Mask poisoned TLP filtering */
5296 uint32_t m_fun : 1; /**< Mask function */
5297 uint32_t dfcwt : 1; /**< Disable FC Watchdog Timer */
5298 uint32_t reserved_11_14 : 4;
5299 uint32_t skpiv : 11; /**< SKP Interval Value */
5301 uint32_t skpiv : 11;
5302 uint32_t reserved_11_14 : 4;
5305 uint32_t m_pois_filt : 1;
5306 uint32_t m_bar_match : 1;
5307 uint32_t m_cfg1_filt : 1;
5308 uint32_t m_lk_filt : 1;
5309 uint32_t m_cpl_tag_err : 1;
5310 uint32_t m_cpl_rid_err : 1;
5311 uint32_t m_cpl_fun_err : 1;
5312 uint32_t m_cpl_tc_err : 1;
5313 uint32_t m_cpl_attr_err : 1;
5314 uint32_t m_cpl_len_err : 1;
5315 uint32_t m_ecrc_filt : 1;
5316 uint32_t m_cpl_ecrc_filt : 1;
5317 uint32_t msg_ctrl : 1;
5318 uint32_t m_io_filt : 1;
5319 uint32_t m_cfg0_filt : 1;
5322 struct cvmx_pcieepx_cfg455_s cn52xx;
5323 struct cvmx_pcieepx_cfg455_s cn52xxp1;
5324 struct cvmx_pcieepx_cfg455_s cn56xx;
5325 struct cvmx_pcieepx_cfg455_s cn56xxp1;
5326 struct cvmx_pcieepx_cfg455_s cn61xx;
5327 struct cvmx_pcieepx_cfg455_s cn63xx;
5328 struct cvmx_pcieepx_cfg455_s cn63xxp1;
5329 struct cvmx_pcieepx_cfg455_s cn66xx;
5330 struct cvmx_pcieepx_cfg455_s cn68xx;
5331 struct cvmx_pcieepx_cfg455_s cn68xxp1;
5332 struct cvmx_pcieepx_cfg455_s cnf71xx;
5334 typedef union cvmx_pcieepx_cfg455 cvmx_pcieepx_cfg455_t;
5337 * cvmx_pcieep#_cfg456
5339 * PCIE_CFG456 = Four hundred fifty-seventh 32-bits of PCIE type 0 config space
5340 * (Filter Mask Register 2)
5342 union cvmx_pcieepx_cfg456 {
5344 struct cvmx_pcieepx_cfg456_s {
5345 #ifdef __BIG_ENDIAN_BITFIELD
5346 uint32_t reserved_4_31 : 28;
5347 uint32_t m_handle_flush : 1; /**< Mask Core Filter to handle flush request */
5348 uint32_t m_dabort_4ucpl : 1; /**< Mask DLLP abort for unexpected CPL */
5349 uint32_t m_vend1_drp : 1; /**< Mask Vendor MSG Type 1 dropped silently */
5350 uint32_t m_vend0_drp : 1; /**< Mask Vendor MSG Type 0 dropped with UR error reporting. */
5352 uint32_t m_vend0_drp : 1;
5353 uint32_t m_vend1_drp : 1;
5354 uint32_t m_dabort_4ucpl : 1;
5355 uint32_t m_handle_flush : 1;
5356 uint32_t reserved_4_31 : 28;
5359 struct cvmx_pcieepx_cfg456_cn52xx {
5360 #ifdef __BIG_ENDIAN_BITFIELD
5361 uint32_t reserved_2_31 : 30;
5362 uint32_t m_vend1_drp : 1; /**< Mask Vendor MSG Type 1 dropped silently */
5363 uint32_t m_vend0_drp : 1; /**< Mask Vendor MSG Type 0 dropped with UR error reporting. */
5365 uint32_t m_vend0_drp : 1;
5366 uint32_t m_vend1_drp : 1;
5367 uint32_t reserved_2_31 : 30;
5370 struct cvmx_pcieepx_cfg456_cn52xx cn52xxp1;
5371 struct cvmx_pcieepx_cfg456_cn52xx cn56xx;
5372 struct cvmx_pcieepx_cfg456_cn52xx cn56xxp1;
5373 struct cvmx_pcieepx_cfg456_s cn61xx;
5374 struct cvmx_pcieepx_cfg456_cn52xx cn63xx;
5375 struct cvmx_pcieepx_cfg456_cn52xx cn63xxp1;
5376 struct cvmx_pcieepx_cfg456_s cn66xx;
5377 struct cvmx_pcieepx_cfg456_s cn68xx;
5378 struct cvmx_pcieepx_cfg456_cn52xx cn68xxp1;
5379 struct cvmx_pcieepx_cfg456_s cnf71xx;
5381 typedef union cvmx_pcieepx_cfg456 cvmx_pcieepx_cfg456_t;
5384 * cvmx_pcieep#_cfg458
5386 * PCIE_CFG458 = Four hundred fifty-ninth 32-bits of PCIE type 0 config space
5387 * (Debug Register 0)
5389 union cvmx_pcieepx_cfg458 {
5391 struct cvmx_pcieepx_cfg458_s {
5392 #ifdef __BIG_ENDIAN_BITFIELD
5393 uint32_t dbg_info_l32 : 32; /**< Debug Info Lower 32 Bits */
5395 uint32_t dbg_info_l32 : 32;
5398 struct cvmx_pcieepx_cfg458_s cn52xx;
5399 struct cvmx_pcieepx_cfg458_s cn52xxp1;
5400 struct cvmx_pcieepx_cfg458_s cn56xx;
5401 struct cvmx_pcieepx_cfg458_s cn56xxp1;
5402 struct cvmx_pcieepx_cfg458_s cn61xx;
5403 struct cvmx_pcieepx_cfg458_s cn63xx;
5404 struct cvmx_pcieepx_cfg458_s cn63xxp1;
5405 struct cvmx_pcieepx_cfg458_s cn66xx;
5406 struct cvmx_pcieepx_cfg458_s cn68xx;
5407 struct cvmx_pcieepx_cfg458_s cn68xxp1;
5408 struct cvmx_pcieepx_cfg458_s cnf71xx;
5410 typedef union cvmx_pcieepx_cfg458 cvmx_pcieepx_cfg458_t;
5413 * cvmx_pcieep#_cfg459
5415 * PCIE_CFG459 = Four hundred sixtieth 32-bits of PCIE type 0 config space
5416 * (Debug Register 1)
5418 union cvmx_pcieepx_cfg459 {
5420 struct cvmx_pcieepx_cfg459_s {
5421 #ifdef __BIG_ENDIAN_BITFIELD
5422 uint32_t dbg_info_u32 : 32; /**< Debug Info Upper 32 Bits */
5424 uint32_t dbg_info_u32 : 32;
5427 struct cvmx_pcieepx_cfg459_s cn52xx;
5428 struct cvmx_pcieepx_cfg459_s cn52xxp1;
5429 struct cvmx_pcieepx_cfg459_s cn56xx;
5430 struct cvmx_pcieepx_cfg459_s cn56xxp1;
5431 struct cvmx_pcieepx_cfg459_s cn61xx;
5432 struct cvmx_pcieepx_cfg459_s cn63xx;
5433 struct cvmx_pcieepx_cfg459_s cn63xxp1;
5434 struct cvmx_pcieepx_cfg459_s cn66xx;
5435 struct cvmx_pcieepx_cfg459_s cn68xx;
5436 struct cvmx_pcieepx_cfg459_s cn68xxp1;
5437 struct cvmx_pcieepx_cfg459_s cnf71xx;
5439 typedef union cvmx_pcieepx_cfg459 cvmx_pcieepx_cfg459_t;
5442 * cvmx_pcieep#_cfg460
5444 * PCIE_CFG460 = Four hundred sixty-first 32-bits of PCIE type 0 config space
5445 * (Transmit Posted FC Credit Status)
5447 union cvmx_pcieepx_cfg460 {
5449 struct cvmx_pcieepx_cfg460_s {
5450 #ifdef __BIG_ENDIAN_BITFIELD
5451 uint32_t reserved_20_31 : 12;
5452 uint32_t tphfcc : 8; /**< Transmit Posted Header FC Credits
5453 The Posted Header credits advertised by the receiver at the
5454 other end of the Link, updated with each UpdateFC DLLP. */
5455 uint32_t tpdfcc : 12; /**< Transmit Posted Data FC Credits
5456 The Posted Data credits advertised by the receiver at the other
5457 end of the Link, updated with each UpdateFC DLLP. */
5459 uint32_t tpdfcc : 12;
5460 uint32_t tphfcc : 8;
5461 uint32_t reserved_20_31 : 12;
5464 struct cvmx_pcieepx_cfg460_s cn52xx;
5465 struct cvmx_pcieepx_cfg460_s cn52xxp1;
5466 struct cvmx_pcieepx_cfg460_s cn56xx;
5467 struct cvmx_pcieepx_cfg460_s cn56xxp1;
5468 struct cvmx_pcieepx_cfg460_s cn61xx;
5469 struct cvmx_pcieepx_cfg460_s cn63xx;
5470 struct cvmx_pcieepx_cfg460_s cn63xxp1;
5471 struct cvmx_pcieepx_cfg460_s cn66xx;
5472 struct cvmx_pcieepx_cfg460_s cn68xx;
5473 struct cvmx_pcieepx_cfg460_s cn68xxp1;
5474 struct cvmx_pcieepx_cfg460_s cnf71xx;
5476 typedef union cvmx_pcieepx_cfg460 cvmx_pcieepx_cfg460_t;
5479 * cvmx_pcieep#_cfg461
5481 * PCIE_CFG461 = Four hundred sixty-second 32-bits of PCIE type 0 config space
5482 * (Transmit Non-Posted FC Credit Status)
5484 union cvmx_pcieepx_cfg461 {
5486 struct cvmx_pcieepx_cfg461_s {
5487 #ifdef __BIG_ENDIAN_BITFIELD
5488 uint32_t reserved_20_31 : 12;
5489 uint32_t tchfcc : 8; /**< Transmit Non-Posted Header FC Credits
5490 The Non-Posted Header credits advertised by the receiver at the
5491 other end of the Link, updated with each UpdateFC DLLP. */
5492 uint32_t tcdfcc : 12; /**< Transmit Non-Posted Data FC Credits
5493 The Non-Posted Data credits advertised by the receiver at the
5494 other end of the Link, updated with each UpdateFC DLLP. */
5496 uint32_t tcdfcc : 12;
5497 uint32_t tchfcc : 8;
5498 uint32_t reserved_20_31 : 12;
5501 struct cvmx_pcieepx_cfg461_s cn52xx;
5502 struct cvmx_pcieepx_cfg461_s cn52xxp1;
5503 struct cvmx_pcieepx_cfg461_s cn56xx;
5504 struct cvmx_pcieepx_cfg461_s cn56xxp1;
5505 struct cvmx_pcieepx_cfg461_s cn61xx;
5506 struct cvmx_pcieepx_cfg461_s cn63xx;
5507 struct cvmx_pcieepx_cfg461_s cn63xxp1;
5508 struct cvmx_pcieepx_cfg461_s cn66xx;
5509 struct cvmx_pcieepx_cfg461_s cn68xx;
5510 struct cvmx_pcieepx_cfg461_s cn68xxp1;
5511 struct cvmx_pcieepx_cfg461_s cnf71xx;
5513 typedef union cvmx_pcieepx_cfg461 cvmx_pcieepx_cfg461_t;
5516 * cvmx_pcieep#_cfg462
5518 * PCIE_CFG462 = Four hundred sixty-third 32-bits of PCIE type 0 config space
5519 * (Transmit Completion FC Credit Status )
5521 union cvmx_pcieepx_cfg462 {
5523 struct cvmx_pcieepx_cfg462_s {
5524 #ifdef __BIG_ENDIAN_BITFIELD
5525 uint32_t reserved_20_31 : 12;
5526 uint32_t tchfcc : 8; /**< Transmit Completion Header FC Credits
5527 The Completion Header credits advertised by the receiver at the
5528 other end of the Link, updated with each UpdateFC DLLP. */
5529 uint32_t tcdfcc : 12; /**< Transmit Completion Data FC Credits
5530 The Completion Data credits advertised by the receiver at the
5531 other end of the Link, updated with each UpdateFC DLLP. */
5533 uint32_t tcdfcc : 12;
5534 uint32_t tchfcc : 8;
5535 uint32_t reserved_20_31 : 12;
5538 struct cvmx_pcieepx_cfg462_s cn52xx;
5539 struct cvmx_pcieepx_cfg462_s cn52xxp1;
5540 struct cvmx_pcieepx_cfg462_s cn56xx;
5541 struct cvmx_pcieepx_cfg462_s cn56xxp1;
5542 struct cvmx_pcieepx_cfg462_s cn61xx;
5543 struct cvmx_pcieepx_cfg462_s cn63xx;
5544 struct cvmx_pcieepx_cfg462_s cn63xxp1;
5545 struct cvmx_pcieepx_cfg462_s cn66xx;
5546 struct cvmx_pcieepx_cfg462_s cn68xx;
5547 struct cvmx_pcieepx_cfg462_s cn68xxp1;
5548 struct cvmx_pcieepx_cfg462_s cnf71xx;
5550 typedef union cvmx_pcieepx_cfg462 cvmx_pcieepx_cfg462_t;
5553 * cvmx_pcieep#_cfg463
5555 * PCIE_CFG463 = Four hundred sixty-fourth 32-bits of PCIE type 0 config space
5558 union cvmx_pcieepx_cfg463 {
5560 struct cvmx_pcieepx_cfg463_s {
5561 #ifdef __BIG_ENDIAN_BITFIELD
5562 uint32_t reserved_3_31 : 29;
5563 uint32_t rqne : 1; /**< Received Queue Not Empty
5564 Indicates there is data in one or more of the receive buffers. */
5565 uint32_t trbne : 1; /**< Transmit Retry Buffer Not Empty
5566 Indicates that there is data in the transmit retry buffer. */
5567 uint32_t rtlpfccnr : 1; /**< Received TLP FC Credits Not Returned
5568 Indicates that the PCI Express bus has sent a TLP but has not
5569 yet received an UpdateFC DLLP indicating that the credits for
5570 that TLP have been restored by the receiver at the other end of
5573 uint32_t rtlpfccnr : 1;
5576 uint32_t reserved_3_31 : 29;
5579 struct cvmx_pcieepx_cfg463_s cn52xx;
5580 struct cvmx_pcieepx_cfg463_s cn52xxp1;
5581 struct cvmx_pcieepx_cfg463_s cn56xx;
5582 struct cvmx_pcieepx_cfg463_s cn56xxp1;
5583 struct cvmx_pcieepx_cfg463_s cn61xx;
5584 struct cvmx_pcieepx_cfg463_s cn63xx;
5585 struct cvmx_pcieepx_cfg463_s cn63xxp1;
5586 struct cvmx_pcieepx_cfg463_s cn66xx;
5587 struct cvmx_pcieepx_cfg463_s cn68xx;
5588 struct cvmx_pcieepx_cfg463_s cn68xxp1;
5589 struct cvmx_pcieepx_cfg463_s cnf71xx;
5591 typedef union cvmx_pcieepx_cfg463 cvmx_pcieepx_cfg463_t;
5594 * cvmx_pcieep#_cfg464
5596 * PCIE_CFG464 = Four hundred sixty-fifth 32-bits of PCIE type 0 config space
5597 * (VC Transmit Arbitration Register 1)
5599 union cvmx_pcieepx_cfg464 {
5601 struct cvmx_pcieepx_cfg464_s {
5602 #ifdef __BIG_ENDIAN_BITFIELD
5603 uint32_t wrr_vc3 : 8; /**< WRR Weight for VC3 */
5604 uint32_t wrr_vc2 : 8; /**< WRR Weight for VC2 */
5605 uint32_t wrr_vc1 : 8; /**< WRR Weight for VC1 */
5606 uint32_t wrr_vc0 : 8; /**< WRR Weight for VC0 */
5608 uint32_t wrr_vc0 : 8;
5609 uint32_t wrr_vc1 : 8;
5610 uint32_t wrr_vc2 : 8;
5611 uint32_t wrr_vc3 : 8;
5614 struct cvmx_pcieepx_cfg464_s cn52xx;
5615 struct cvmx_pcieepx_cfg464_s cn52xxp1;
5616 struct cvmx_pcieepx_cfg464_s cn56xx;
5617 struct cvmx_pcieepx_cfg464_s cn56xxp1;
5618 struct cvmx_pcieepx_cfg464_s cn61xx;
5619 struct cvmx_pcieepx_cfg464_s cn63xx;
5620 struct cvmx_pcieepx_cfg464_s cn63xxp1;
5621 struct cvmx_pcieepx_cfg464_s cn66xx;
5622 struct cvmx_pcieepx_cfg464_s cn68xx;
5623 struct cvmx_pcieepx_cfg464_s cn68xxp1;
5624 struct cvmx_pcieepx_cfg464_s cnf71xx;
5626 typedef union cvmx_pcieepx_cfg464 cvmx_pcieepx_cfg464_t;
5629 * cvmx_pcieep#_cfg465
5631 * PCIE_CFG465 = Four hundred sixty-sixth 32-bits of PCIE type 0 config space
5632 * (VC Transmit Arbitration Register 2)
5634 union cvmx_pcieepx_cfg465 {
5636 struct cvmx_pcieepx_cfg465_s {
5637 #ifdef __BIG_ENDIAN_BITFIELD
5638 uint32_t wrr_vc7 : 8; /**< WRR Weight for VC7 */
5639 uint32_t wrr_vc6 : 8; /**< WRR Weight for VC6 */
5640 uint32_t wrr_vc5 : 8; /**< WRR Weight for VC5 */
5641 uint32_t wrr_vc4 : 8; /**< WRR Weight for VC4 */
5643 uint32_t wrr_vc4 : 8;
5644 uint32_t wrr_vc5 : 8;
5645 uint32_t wrr_vc6 : 8;
5646 uint32_t wrr_vc7 : 8;
5649 struct cvmx_pcieepx_cfg465_s cn52xx;
5650 struct cvmx_pcieepx_cfg465_s cn52xxp1;
5651 struct cvmx_pcieepx_cfg465_s cn56xx;
5652 struct cvmx_pcieepx_cfg465_s cn56xxp1;
5653 struct cvmx_pcieepx_cfg465_s cn61xx;
5654 struct cvmx_pcieepx_cfg465_s cn63xx;
5655 struct cvmx_pcieepx_cfg465_s cn63xxp1;
5656 struct cvmx_pcieepx_cfg465_s cn66xx;
5657 struct cvmx_pcieepx_cfg465_s cn68xx;
5658 struct cvmx_pcieepx_cfg465_s cn68xxp1;
5659 struct cvmx_pcieepx_cfg465_s cnf71xx;
5661 typedef union cvmx_pcieepx_cfg465 cvmx_pcieepx_cfg465_t;
5664 * cvmx_pcieep#_cfg466
5666 * PCIE_CFG466 = Four hundred sixty-seventh 32-bits of PCIE type 0 config space
5667 * (VC0 Posted Receive Queue Control)
5669 union cvmx_pcieepx_cfg466 {
5671 struct cvmx_pcieepx_cfg466_s {
5672 #ifdef __BIG_ENDIAN_BITFIELD
5673 uint32_t rx_queue_order : 1; /**< VC Ordering for Receive Queues
5674 Determines the VC ordering rule for the receive queues, used
5675 only in the segmented-buffer configuration,
5676 writable through PEM(0..1)_CFG_WR:
5677 o 1: Strict ordering, higher numbered VCs have higher priority
5679 However, the application must not change this field. */
5680 uint32_t type_ordering : 1; /**< TLP Type Ordering for VC0
5681 Determines the TLP type ordering rule for VC0 receive queues,
5682 used only in the segmented-buffer configuration, writable
5683 through PEM(0..1)_CFG_WR:
5684 o 1: Ordering of received TLPs follows the rules in
5685 PCI Express Base Specification
5686 o 0: Strict ordering for received TLPs: Posted, then
5687 Completion, then Non-Posted
5688 However, the application must not change this field. */
5689 uint32_t reserved_24_29 : 6;
5690 uint32_t queue_mode : 3; /**< VC0 Posted TLP Queue Mode
5691 The operating mode of the Posted receive queue for VC0, used
5692 only in the segmented-buffer configuration, writable through
5694 However, the application must not change this field.
5695 Only one bit can be set at a time:
5697 o Bit 22: Cut-through
5698 o Bit 21: Store-and-forward */
5699 uint32_t reserved_20_20 : 1;
5700 uint32_t header_credits : 8; /**< VC0 Posted Header Credits
5701 The number of initial Posted header credits for VC0, used for
5702 all receive queue buffer configurations.
5703 This field is writable through PEM(0..1)_CFG_WR.
5704 However, the application must not change this field. */
5705 uint32_t data_credits : 12; /**< VC0 Posted Data Credits
5706 The number of initial Posted data credits for VC0, used for all
5707 receive queue buffer configurations.
5708 This field is writable through PEM(0..1)_CFG_WR.
5709 However, the application must not change this field. */
5711 uint32_t data_credits : 12;
5712 uint32_t header_credits : 8;
5713 uint32_t reserved_20_20 : 1;
5714 uint32_t queue_mode : 3;
5715 uint32_t reserved_24_29 : 6;
5716 uint32_t type_ordering : 1;
5717 uint32_t rx_queue_order : 1;
5720 struct cvmx_pcieepx_cfg466_s cn52xx;
5721 struct cvmx_pcieepx_cfg466_s cn52xxp1;
5722 struct cvmx_pcieepx_cfg466_s cn56xx;
5723 struct cvmx_pcieepx_cfg466_s cn56xxp1;
5724 struct cvmx_pcieepx_cfg466_s cn61xx;
5725 struct cvmx_pcieepx_cfg466_s cn63xx;
5726 struct cvmx_pcieepx_cfg466_s cn63xxp1;
5727 struct cvmx_pcieepx_cfg466_s cn66xx;
5728 struct cvmx_pcieepx_cfg466_s cn68xx;
5729 struct cvmx_pcieepx_cfg466_s cn68xxp1;
5730 struct cvmx_pcieepx_cfg466_s cnf71xx;
5732 typedef union cvmx_pcieepx_cfg466 cvmx_pcieepx_cfg466_t;
5735 * cvmx_pcieep#_cfg467
5737 * PCIE_CFG467 = Four hundred sixty-eighth 32-bits of PCIE type 0 config space
5738 * (VC0 Non-Posted Receive Queue Control)
5740 union cvmx_pcieepx_cfg467 {
5742 struct cvmx_pcieepx_cfg467_s {
5743 #ifdef __BIG_ENDIAN_BITFIELD
5744 uint32_t reserved_24_31 : 8;
5745 uint32_t queue_mode : 3; /**< VC0 Non-Posted TLP Queue Mode
5746 The operating mode of the Non-Posted receive queue for VC0,
5747 used only in the segmented-buffer configuration, writable
5748 through PEM(0..1)_CFG_WR.
5749 Only one bit can be set at a time:
5751 o Bit 22: Cut-through
5752 o Bit 21: Store-and-forward
5753 However, the application must not change this field. */
5754 uint32_t reserved_20_20 : 1;
5755 uint32_t header_credits : 8; /**< VC0 Non-Posted Header Credits
5756 The number of initial Non-Posted header credits for VC0, used
5757 for all receive queue buffer configurations.
5758 This field is writable through PEM(0..1)_CFG_WR.
5759 However, the application must not change this field. */
5760 uint32_t data_credits : 12; /**< VC0 Non-Posted Data Credits
5761 The number of initial Non-Posted data credits for VC0, used for
5762 all receive queue buffer configurations.
5763 This field is writable through PEM(0..1)_CFG_WR.
5764 However, the application must not change this field. */
5766 uint32_t data_credits : 12;
5767 uint32_t header_credits : 8;
5768 uint32_t reserved_20_20 : 1;
5769 uint32_t queue_mode : 3;
5770 uint32_t reserved_24_31 : 8;
5773 struct cvmx_pcieepx_cfg467_s cn52xx;
5774 struct cvmx_pcieepx_cfg467_s cn52xxp1;
5775 struct cvmx_pcieepx_cfg467_s cn56xx;
5776 struct cvmx_pcieepx_cfg467_s cn56xxp1;
5777 struct cvmx_pcieepx_cfg467_s cn61xx;
5778 struct cvmx_pcieepx_cfg467_s cn63xx;
5779 struct cvmx_pcieepx_cfg467_s cn63xxp1;
5780 struct cvmx_pcieepx_cfg467_s cn66xx;
5781 struct cvmx_pcieepx_cfg467_s cn68xx;
5782 struct cvmx_pcieepx_cfg467_s cn68xxp1;
5783 struct cvmx_pcieepx_cfg467_s cnf71xx;
5785 typedef union cvmx_pcieepx_cfg467 cvmx_pcieepx_cfg467_t;
5788 * cvmx_pcieep#_cfg468
5790 * PCIE_CFG468 = Four hundred sixty-ninth 32-bits of PCIE type 0 config space
5791 * (VC0 Completion Receive Queue Control)
5793 union cvmx_pcieepx_cfg468 {
5795 struct cvmx_pcieepx_cfg468_s {
5796 #ifdef __BIG_ENDIAN_BITFIELD
5797 uint32_t reserved_24_31 : 8;
5798 uint32_t queue_mode : 3; /**< VC0 Completion TLP Queue Mode
5799 The operating mode of the Completion receive queue for VC0,
5800 used only in the segmented-buffer configuration, writable
5801 through PEM(0..1)_CFG_WR.
5802 Only one bit can be set at a time:
5804 o Bit 22: Cut-through
5805 o Bit 21: Store-and-forward
5806 However, the application must not change this field. */
5807 uint32_t reserved_20_20 : 1;
5808 uint32_t header_credits : 8; /**< VC0 Completion Header Credits
5809 The number of initial Completion header credits for VC0, used
5810 for all receive queue buffer configurations.
5811 This field is writable through PEM(0..1)_CFG_WR.
5812 However, the application must not change this field. */
5813 uint32_t data_credits : 12; /**< VC0 Completion Data Credits
5814 The number of initial Completion data credits for VC0, used for
5815 all receive queue buffer configurations.
5816 This field is writable through PEM(0..1)_CFG_WR.
5817 However, the application must not change this field. */
5819 uint32_t data_credits : 12;
5820 uint32_t header_credits : 8;
5821 uint32_t reserved_20_20 : 1;
5822 uint32_t queue_mode : 3;
5823 uint32_t reserved_24_31 : 8;
5826 struct cvmx_pcieepx_cfg468_s cn52xx;
5827 struct cvmx_pcieepx_cfg468_s cn52xxp1;
5828 struct cvmx_pcieepx_cfg468_s cn56xx;
5829 struct cvmx_pcieepx_cfg468_s cn56xxp1;
5830 struct cvmx_pcieepx_cfg468_s cn61xx;
5831 struct cvmx_pcieepx_cfg468_s cn63xx;
5832 struct cvmx_pcieepx_cfg468_s cn63xxp1;
5833 struct cvmx_pcieepx_cfg468_s cn66xx;
5834 struct cvmx_pcieepx_cfg468_s cn68xx;
5835 struct cvmx_pcieepx_cfg468_s cn68xxp1;
5836 struct cvmx_pcieepx_cfg468_s cnf71xx;
5838 typedef union cvmx_pcieepx_cfg468 cvmx_pcieepx_cfg468_t;
5841 * cvmx_pcieep#_cfg490
5843 * PCIE_CFG490 = Four hundred ninety-first 32-bits of PCIE type 0 config space
5844 * (VC0 Posted Buffer Depth)
5846 union cvmx_pcieepx_cfg490 {
5848 struct cvmx_pcieepx_cfg490_s {
5849 #ifdef __BIG_ENDIAN_BITFIELD
5850 uint32_t reserved_26_31 : 6;
5851 uint32_t header_depth : 10; /**< VC0 Posted Header Queue Depth
5852 Sets the number of entries in the Posted header queue for VC0
5853 when using the segmented-buffer configuration, writable through
5855 However, the application must not change this field. */
5856 uint32_t reserved_14_15 : 2;
5857 uint32_t data_depth : 14; /**< VC0 Posted Data Queue Depth
5858 Sets the number of entries in the Posted data queue for VC0
5859 when using the segmented-buffer configuration, writable
5860 through PEM(0..1)_CFG_WR.
5861 However, the application must not change this field. */
5863 uint32_t data_depth : 14;
5864 uint32_t reserved_14_15 : 2;
5865 uint32_t header_depth : 10;
5866 uint32_t reserved_26_31 : 6;
5869 struct cvmx_pcieepx_cfg490_s cn52xx;
5870 struct cvmx_pcieepx_cfg490_s cn52xxp1;
5871 struct cvmx_pcieepx_cfg490_s cn56xx;
5872 struct cvmx_pcieepx_cfg490_s cn56xxp1;
5873 struct cvmx_pcieepx_cfg490_s cn61xx;
5874 struct cvmx_pcieepx_cfg490_s cn63xx;
5875 struct cvmx_pcieepx_cfg490_s cn63xxp1;
5876 struct cvmx_pcieepx_cfg490_s cn66xx;
5877 struct cvmx_pcieepx_cfg490_s cn68xx;
5878 struct cvmx_pcieepx_cfg490_s cn68xxp1;
5879 struct cvmx_pcieepx_cfg490_s cnf71xx;
5881 typedef union cvmx_pcieepx_cfg490 cvmx_pcieepx_cfg490_t;
5884 * cvmx_pcieep#_cfg491
5886 * PCIE_CFG491 = Four hundred ninety-second 32-bits of PCIE type 0 config space
5887 * (VC0 Non-Posted Buffer Depth)
5889 union cvmx_pcieepx_cfg491 {
5891 struct cvmx_pcieepx_cfg491_s {
5892 #ifdef __BIG_ENDIAN_BITFIELD
5893 uint32_t reserved_26_31 : 6;
5894 uint32_t header_depth : 10; /**< VC0 Non-Posted Header Queue Depth
5895 Sets the number of entries in the Non-Posted header queue for
5896 VC0 when using the segmented-buffer configuration, writable
5897 through PEM(0..1)_CFG_WR.
5898 However, the application must not change this field. */
5899 uint32_t reserved_14_15 : 2;
5900 uint32_t data_depth : 14; /**< VC0 Non-Posted Data Queue Depth
5901 Sets the number of entries in the Non-Posted data queue for VC0
5902 when using the segmented-buffer configuration, writable
5903 through PEM(0..1)_CFG_WR.
5904 However, the application must not change this field. */
5906 uint32_t data_depth : 14;
5907 uint32_t reserved_14_15 : 2;
5908 uint32_t header_depth : 10;
5909 uint32_t reserved_26_31 : 6;
5912 struct cvmx_pcieepx_cfg491_s cn52xx;
5913 struct cvmx_pcieepx_cfg491_s cn52xxp1;
5914 struct cvmx_pcieepx_cfg491_s cn56xx;
5915 struct cvmx_pcieepx_cfg491_s cn56xxp1;
5916 struct cvmx_pcieepx_cfg491_s cn61xx;
5917 struct cvmx_pcieepx_cfg491_s cn63xx;
5918 struct cvmx_pcieepx_cfg491_s cn63xxp1;
5919 struct cvmx_pcieepx_cfg491_s cn66xx;
5920 struct cvmx_pcieepx_cfg491_s cn68xx;
5921 struct cvmx_pcieepx_cfg491_s cn68xxp1;
5922 struct cvmx_pcieepx_cfg491_s cnf71xx;
5924 typedef union cvmx_pcieepx_cfg491 cvmx_pcieepx_cfg491_t;
5927 * cvmx_pcieep#_cfg492
5929 * PCIE_CFG492 = Four hundred ninety-third 32-bits of PCIE type 0 config space
5930 * (VC0 Completion Buffer Depth)
5932 union cvmx_pcieepx_cfg492 {
5934 struct cvmx_pcieepx_cfg492_s {
5935 #ifdef __BIG_ENDIAN_BITFIELD
5936 uint32_t reserved_26_31 : 6;
5937 uint32_t header_depth : 10; /**< VC0 Completion Header Queue Depth
5938 Sets the number of entries in the Completion header queue for
5939 VC0 when using the segmented-buffer configuration, writable
5940 through PEM(0..1)_CFG_WR.
5941 However, the application must not change this field. */
5942 uint32_t reserved_14_15 : 2;
5943 uint32_t data_depth : 14; /**< VC0 Completion Data Queue Depth
5944 Sets the number of entries in the Completion data queue for VC0
5945 when using the segmented-buffer configuration, writable
5946 through PEM(0..1)_CFG_WR.
5947 However, the application must not change this field. */
5949 uint32_t data_depth : 14;
5950 uint32_t reserved_14_15 : 2;
5951 uint32_t header_depth : 10;
5952 uint32_t reserved_26_31 : 6;
5955 struct cvmx_pcieepx_cfg492_s cn52xx;
5956 struct cvmx_pcieepx_cfg492_s cn52xxp1;
5957 struct cvmx_pcieepx_cfg492_s cn56xx;
5958 struct cvmx_pcieepx_cfg492_s cn56xxp1;
5959 struct cvmx_pcieepx_cfg492_s cn61xx;
5960 struct cvmx_pcieepx_cfg492_s cn63xx;
5961 struct cvmx_pcieepx_cfg492_s cn63xxp1;
5962 struct cvmx_pcieepx_cfg492_s cn66xx;
5963 struct cvmx_pcieepx_cfg492_s cn68xx;
5964 struct cvmx_pcieepx_cfg492_s cn68xxp1;
5965 struct cvmx_pcieepx_cfg492_s cnf71xx;
5967 typedef union cvmx_pcieepx_cfg492 cvmx_pcieepx_cfg492_t;
5970 * cvmx_pcieep#_cfg515
5972 * PCIE_CFG515 = Five hundred sixteenth 32-bits of PCIE type 0 config space
5973 * (Port Logic Register (Gen2))
5975 union cvmx_pcieepx_cfg515 {
5977 struct cvmx_pcieepx_cfg515_s {
5978 #ifdef __BIG_ENDIAN_BITFIELD
5979 uint32_t reserved_21_31 : 11;
5980 uint32_t s_d_e : 1; /**< SEL_DE_EMPHASIS
5981 Used to set the de-emphasis level for upstream ports. */
5982 uint32_t ctcrb : 1; /**< Config Tx Compliance Receive Bit
5983 When set to 1, signals LTSSM to transmit TS ordered sets
5984 with the compliance receive bit assert (equal to 1). */
5985 uint32_t cpyts : 1; /**< Config PHY Tx Swing
5986 Indicates the voltage level the PHY should drive. When set to
5987 1, indicates Full Swing. When set to 0, indicates Low Swing */
5988 uint32_t dsc : 1; /**< Directed Speed Change
5989 o a write of '1' will initiate a speed change
5990 o always reads a zero */
5991 uint32_t le : 9; /**< Lane Enable
5992 Indicates the number of lanes to check for exit from electrical
5993 idle in Polling.Active and Polling.Compliance. 1 = x1, 2 = x2,
5994 etc. Used to limit the maximum link width to ignore broken
5995 lanes that detect a receiver, but will not exit electrical
5997 would otherwise prevent a valid link from being configured. */
5998 uint32_t n_fts : 8; /**< N_FTS
5999 Sets the Number of Fast Training Sequences (N_FTS) that
6000 the core advertises as its N_FTS during GEN2 Link training.
6001 This value is used to inform the Link partner about the PHYs
6002 ability to recover synchronization after a low power state.
6003 Note: Do not set N_FTS to zero; doing so can cause the
6004 LTSSM to go into the recovery state when exiting from
6013 uint32_t reserved_21_31 : 11;
6016 struct cvmx_pcieepx_cfg515_s cn61xx;
6017 struct cvmx_pcieepx_cfg515_s cn63xx;
6018 struct cvmx_pcieepx_cfg515_s cn63xxp1;
6019 struct cvmx_pcieepx_cfg515_s cn66xx;
6020 struct cvmx_pcieepx_cfg515_s cn68xx;
6021 struct cvmx_pcieepx_cfg515_s cn68xxp1;
6022 struct cvmx_pcieepx_cfg515_s cnf71xx;
6024 typedef union cvmx_pcieepx_cfg515 cvmx_pcieepx_cfg515_t;
6027 * cvmx_pcieep#_cfg516
6029 * PCIE_CFG516 = Five hundred seventeenth 32-bits of PCIE type 0 config space
6030 * (PHY Status Register)
6032 union cvmx_pcieepx_cfg516 {
6034 struct cvmx_pcieepx_cfg516_s {
6035 #ifdef __BIG_ENDIAN_BITFIELD
6036 uint32_t phy_stat : 32; /**< PHY Status */
6038 uint32_t phy_stat : 32;
6041 struct cvmx_pcieepx_cfg516_s cn52xx;
6042 struct cvmx_pcieepx_cfg516_s cn52xxp1;
6043 struct cvmx_pcieepx_cfg516_s cn56xx;
6044 struct cvmx_pcieepx_cfg516_s cn56xxp1;
6045 struct cvmx_pcieepx_cfg516_s cn61xx;
6046 struct cvmx_pcieepx_cfg516_s cn63xx;
6047 struct cvmx_pcieepx_cfg516_s cn63xxp1;
6048 struct cvmx_pcieepx_cfg516_s cn66xx;
6049 struct cvmx_pcieepx_cfg516_s cn68xx;
6050 struct cvmx_pcieepx_cfg516_s cn68xxp1;
6051 struct cvmx_pcieepx_cfg516_s cnf71xx;
6053 typedef union cvmx_pcieepx_cfg516 cvmx_pcieepx_cfg516_t;
6056 * cvmx_pcieep#_cfg517
6058 * PCIE_CFG517 = Five hundred eighteenth 32-bits of PCIE type 0 config space
6059 * (PHY Control Register)
6061 union cvmx_pcieepx_cfg517 {
6063 struct cvmx_pcieepx_cfg517_s {
6064 #ifdef __BIG_ENDIAN_BITFIELD
6065 uint32_t phy_ctrl : 32; /**< PHY Control */
6067 uint32_t phy_ctrl : 32;
6070 struct cvmx_pcieepx_cfg517_s cn52xx;
6071 struct cvmx_pcieepx_cfg517_s cn52xxp1;
6072 struct cvmx_pcieepx_cfg517_s cn56xx;
6073 struct cvmx_pcieepx_cfg517_s cn56xxp1;
6074 struct cvmx_pcieepx_cfg517_s cn61xx;
6075 struct cvmx_pcieepx_cfg517_s cn63xx;
6076 struct cvmx_pcieepx_cfg517_s cn63xxp1;
6077 struct cvmx_pcieepx_cfg517_s cn66xx;
6078 struct cvmx_pcieepx_cfg517_s cn68xx;
6079 struct cvmx_pcieepx_cfg517_s cn68xxp1;
6080 struct cvmx_pcieepx_cfg517_s cnf71xx;
6082 typedef union cvmx_pcieepx_cfg517 cvmx_pcieepx_cfg517_t;