]> CyberLeo.Net >> Repos - FreeBSD/releng/8.2.git/blob - sys/contrib/octeon-sdk/cvmx-csr-addresses.h
Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.
[FreeBSD/releng/8.2.git] / sys / contrib / octeon-sdk / cvmx-csr-addresses.h
1 /***********************license start***************
2  *  Copyright (c) 2003-2009 Cavium Networks (support@cavium.com). All rights
3  *  reserved.
4  *
5  *
6  *  Redistribution and use in source and binary forms, with or without
7  *  modification, are permitted provided that the following conditions are
8  *  met:
9  *
10  *      * Redistributions of source code must retain the above copyright
11  *        notice, this list of conditions and the following disclaimer.
12  *
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.
17  *
18  *      * Neither the name of Cavium Networks nor the names of
19  *        its contributors may be used to endorse or promote products
20  *        derived from this software without specific prior written
21  *        permission.
22  *
23  *  TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
24  *  AND WITH ALL FAULTS AND CAVIUM NETWORKS MAKES NO PROMISES, REPRESENTATIONS
25  *  OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH
26  *  RESPECT TO THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY
27  *  REPRESENTATION OR DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT
28  *  DEFECTS, AND CAVIUM SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES
29  *  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR
30  *  PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET
31  *  POSSESSION OR CORRESPONDENCE TO DESCRIPTION.  THE ENTIRE RISK ARISING OUT
32  *  OF USE OR PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
33  *
34  *
35  *  For any questions regarding licensing please contact marketing@caviumnetworks.com
36  *
37  ***********************license end**************************************/
38
39 /**
40  * @file
41  *
42  * Configuration and status register (CSR) address and for
43  * Octeon. Include cvmx-csr.h instead of this file directly.
44  *
45  * This file is auto generated. Do not edit.
46  *
47  * <hr>$Revision: 41586 $<hr>
48  *
49  */
50 #ifndef __CVMX_CSR_ADDRESSES_H__
51 #define __CVMX_CSR_ADDRESSES_H__
52
53 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
54 #include "cvmx-warn.h"
55 #endif
56
57 #define CVMX_AGL_GMX_BAD_REG CVMX_AGL_GMX_BAD_REG_FUNC()
58 static inline uint64_t CVMX_AGL_GMX_BAD_REG_FUNC(void)
59 {
60 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
61     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
62         cvmx_warn("CVMX_AGL_GMX_BAD_REG not supported on this chip\n");
63 #endif
64     return CVMX_ADD_IO_SEG(0x00011800E0000518ull);
65 }
66
67 #define CVMX_AGL_GMX_BIST CVMX_AGL_GMX_BIST_FUNC()
68 static inline uint64_t CVMX_AGL_GMX_BIST_FUNC(void)
69 {
70 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
71     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
72         cvmx_warn("CVMX_AGL_GMX_BIST not supported on this chip\n");
73 #endif
74     return CVMX_ADD_IO_SEG(0x00011800E0000400ull);
75 }
76
77 #define CVMX_AGL_GMX_DRV_CTL CVMX_AGL_GMX_DRV_CTL_FUNC()
78 static inline uint64_t CVMX_AGL_GMX_DRV_CTL_FUNC(void)
79 {
80 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
81     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
82         cvmx_warn("CVMX_AGL_GMX_DRV_CTL not supported on this chip\n");
83 #endif
84     return CVMX_ADD_IO_SEG(0x00011800E00007F0ull);
85 }
86
87 #define CVMX_AGL_GMX_INF_MODE CVMX_AGL_GMX_INF_MODE_FUNC()
88 static inline uint64_t CVMX_AGL_GMX_INF_MODE_FUNC(void)
89 {
90 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
91     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
92         cvmx_warn("CVMX_AGL_GMX_INF_MODE not supported on this chip\n");
93 #endif
94     return CVMX_ADD_IO_SEG(0x00011800E00007F8ull);
95 }
96
97 static inline uint64_t CVMX_AGL_GMX_PRTX_CFG(unsigned long offset)
98 {
99 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
100     if (!(
101         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
102         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
103         cvmx_warn("CVMX_AGL_GMX_PRTX_CFG(%lu) is invalid on this chip\n", offset);
104 #endif
105     return CVMX_ADD_IO_SEG(0x00011800E0000010ull) + (offset&1)*2048;
106 }
107
108 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM0(unsigned long offset)
109 {
110 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
111     if (!(
112         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
113         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
114         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM0(%lu) is invalid on this chip\n", offset);
115 #endif
116     return CVMX_ADD_IO_SEG(0x00011800E0000180ull) + (offset&1)*2048;
117 }
118
119 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM1(unsigned long offset)
120 {
121 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
122     if (!(
123         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
124         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
125         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM1(%lu) is invalid on this chip\n", offset);
126 #endif
127     return CVMX_ADD_IO_SEG(0x00011800E0000188ull) + (offset&1)*2048;
128 }
129
130 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM2(unsigned long offset)
131 {
132 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
133     if (!(
134         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
135         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
136         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM2(%lu) is invalid on this chip\n", offset);
137 #endif
138     return CVMX_ADD_IO_SEG(0x00011800E0000190ull) + (offset&1)*2048;
139 }
140
141 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM3(unsigned long offset)
142 {
143 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
144     if (!(
145         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
146         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
147         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM3(%lu) is invalid on this chip\n", offset);
148 #endif
149     return CVMX_ADD_IO_SEG(0x00011800E0000198ull) + (offset&1)*2048;
150 }
151
152 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM4(unsigned long offset)
153 {
154 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
155     if (!(
156         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
157         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
158         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM4(%lu) is invalid on this chip\n", offset);
159 #endif
160     return CVMX_ADD_IO_SEG(0x00011800E00001A0ull) + (offset&1)*2048;
161 }
162
163 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM5(unsigned long offset)
164 {
165 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
166     if (!(
167         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
168         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
169         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM5(%lu) is invalid on this chip\n", offset);
170 #endif
171     return CVMX_ADD_IO_SEG(0x00011800E00001A8ull) + (offset&1)*2048;
172 }
173
174 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CAM_EN(unsigned long offset)
175 {
176 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
177     if (!(
178         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
179         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
180         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CAM_EN(%lu) is invalid on this chip\n", offset);
181 #endif
182     return CVMX_ADD_IO_SEG(0x00011800E0000108ull) + (offset&1)*2048;
183 }
184
185 static inline uint64_t CVMX_AGL_GMX_RXX_ADR_CTL(unsigned long offset)
186 {
187 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
188     if (!(
189         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
190         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
191         cvmx_warn("CVMX_AGL_GMX_RXX_ADR_CTL(%lu) is invalid on this chip\n", offset);
192 #endif
193     return CVMX_ADD_IO_SEG(0x00011800E0000100ull) + (offset&1)*2048;
194 }
195
196 static inline uint64_t CVMX_AGL_GMX_RXX_DECISION(unsigned long offset)
197 {
198 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
199     if (!(
200         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
201         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
202         cvmx_warn("CVMX_AGL_GMX_RXX_DECISION(%lu) is invalid on this chip\n", offset);
203 #endif
204     return CVMX_ADD_IO_SEG(0x00011800E0000040ull) + (offset&1)*2048;
205 }
206
207 static inline uint64_t CVMX_AGL_GMX_RXX_FRM_CHK(unsigned long offset)
208 {
209 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
210     if (!(
211         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
212         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
213         cvmx_warn("CVMX_AGL_GMX_RXX_FRM_CHK(%lu) is invalid on this chip\n", offset);
214 #endif
215     return CVMX_ADD_IO_SEG(0x00011800E0000020ull) + (offset&1)*2048;
216 }
217
218 static inline uint64_t CVMX_AGL_GMX_RXX_FRM_CTL(unsigned long offset)
219 {
220 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
221     if (!(
222         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
223         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
224         cvmx_warn("CVMX_AGL_GMX_RXX_FRM_CTL(%lu) is invalid on this chip\n", offset);
225 #endif
226     return CVMX_ADD_IO_SEG(0x00011800E0000018ull) + (offset&1)*2048;
227 }
228
229 static inline uint64_t CVMX_AGL_GMX_RXX_FRM_MAX(unsigned long offset)
230 {
231 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
232     if (!(
233         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
234         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
235         cvmx_warn("CVMX_AGL_GMX_RXX_FRM_MAX(%lu) is invalid on this chip\n", offset);
236 #endif
237     return CVMX_ADD_IO_SEG(0x00011800E0000030ull) + (offset&1)*2048;
238 }
239
240 static inline uint64_t CVMX_AGL_GMX_RXX_FRM_MIN(unsigned long offset)
241 {
242 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
243     if (!(
244         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
245         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
246         cvmx_warn("CVMX_AGL_GMX_RXX_FRM_MIN(%lu) is invalid on this chip\n", offset);
247 #endif
248     return CVMX_ADD_IO_SEG(0x00011800E0000028ull) + (offset&1)*2048;
249 }
250
251 static inline uint64_t CVMX_AGL_GMX_RXX_IFG(unsigned long offset)
252 {
253 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
254     if (!(
255         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
256         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
257         cvmx_warn("CVMX_AGL_GMX_RXX_IFG(%lu) is invalid on this chip\n", offset);
258 #endif
259     return CVMX_ADD_IO_SEG(0x00011800E0000058ull) + (offset&1)*2048;
260 }
261
262 static inline uint64_t CVMX_AGL_GMX_RXX_INT_EN(unsigned long offset)
263 {
264 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
265     if (!(
266         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
267         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
268         cvmx_warn("CVMX_AGL_GMX_RXX_INT_EN(%lu) is invalid on this chip\n", offset);
269 #endif
270     return CVMX_ADD_IO_SEG(0x00011800E0000008ull) + (offset&1)*2048;
271 }
272
273 static inline uint64_t CVMX_AGL_GMX_RXX_INT_REG(unsigned long offset)
274 {
275 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
276     if (!(
277         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
278         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
279         cvmx_warn("CVMX_AGL_GMX_RXX_INT_REG(%lu) is invalid on this chip\n", offset);
280 #endif
281     return CVMX_ADD_IO_SEG(0x00011800E0000000ull) + (offset&1)*2048;
282 }
283
284 static inline uint64_t CVMX_AGL_GMX_RXX_JABBER(unsigned long offset)
285 {
286 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
287     if (!(
288         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
289         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
290         cvmx_warn("CVMX_AGL_GMX_RXX_JABBER(%lu) is invalid on this chip\n", offset);
291 #endif
292     return CVMX_ADD_IO_SEG(0x00011800E0000038ull) + (offset&1)*2048;
293 }
294
295 static inline uint64_t CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(unsigned long offset)
296 {
297 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
298     if (!(
299         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
300         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
301         cvmx_warn("CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(%lu) is invalid on this chip\n", offset);
302 #endif
303     return CVMX_ADD_IO_SEG(0x00011800E0000068ull) + (offset&1)*2048;
304 }
305
306 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_CTL(unsigned long offset)
307 {
308 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
309     if (!(
310         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
311         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
312         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_CTL(%lu) is invalid on this chip\n", offset);
313 #endif
314     return CVMX_ADD_IO_SEG(0x00011800E0000050ull) + (offset&1)*2048;
315 }
316
317 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_OCTS(unsigned long offset)
318 {
319 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
320     if (!(
321         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
322         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
323         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_OCTS(%lu) is invalid on this chip\n", offset);
324 #endif
325     return CVMX_ADD_IO_SEG(0x00011800E0000088ull) + (offset&1)*2048;
326 }
327
328 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(unsigned long offset)
329 {
330 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
331     if (!(
332         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
333         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
334         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(%lu) is invalid on this chip\n", offset);
335 #endif
336     return CVMX_ADD_IO_SEG(0x00011800E0000098ull) + (offset&1)*2048;
337 }
338
339 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(unsigned long offset)
340 {
341 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
342     if (!(
343         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
344         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
345         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(%lu) is invalid on this chip\n", offset);
346 #endif
347     return CVMX_ADD_IO_SEG(0x00011800E00000A8ull) + (offset&1)*2048;
348 }
349
350 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(unsigned long offset)
351 {
352 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
353     if (!(
354         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
355         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
356         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(%lu) is invalid on this chip\n", offset);
357 #endif
358     return CVMX_ADD_IO_SEG(0x00011800E00000B8ull) + (offset&1)*2048;
359 }
360
361 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_PKTS(unsigned long offset)
362 {
363 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
364     if (!(
365         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
366         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
367         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_PKTS(%lu) is invalid on this chip\n", offset);
368 #endif
369     return CVMX_ADD_IO_SEG(0x00011800E0000080ull) + (offset&1)*2048;
370 }
371
372 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(unsigned long offset)
373 {
374 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
375     if (!(
376         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
377         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
378         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(%lu) is invalid on this chip\n", offset);
379 #endif
380     return CVMX_ADD_IO_SEG(0x00011800E00000C0ull) + (offset&1)*2048;
381 }
382
383 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(unsigned long offset)
384 {
385 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
386     if (!(
387         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
388         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
389         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(%lu) is invalid on this chip\n", offset);
390 #endif
391     return CVMX_ADD_IO_SEG(0x00011800E0000090ull) + (offset&1)*2048;
392 }
393
394 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(unsigned long offset)
395 {
396 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
397     if (!(
398         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
399         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
400         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(%lu) is invalid on this chip\n", offset);
401 #endif
402     return CVMX_ADD_IO_SEG(0x00011800E00000A0ull) + (offset&1)*2048;
403 }
404
405 static inline uint64_t CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(unsigned long offset)
406 {
407 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
408     if (!(
409         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
410         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
411         cvmx_warn("CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(%lu) is invalid on this chip\n", offset);
412 #endif
413     return CVMX_ADD_IO_SEG(0x00011800E00000B0ull) + (offset&1)*2048;
414 }
415
416 static inline uint64_t CVMX_AGL_GMX_RXX_UDD_SKP(unsigned long offset)
417 {
418 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
419     if (!(
420         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
421         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
422         cvmx_warn("CVMX_AGL_GMX_RXX_UDD_SKP(%lu) is invalid on this chip\n", offset);
423 #endif
424     return CVMX_ADD_IO_SEG(0x00011800E0000048ull) + (offset&1)*2048;
425 }
426
427 static inline uint64_t CVMX_AGL_GMX_RX_BP_DROPX(unsigned long offset)
428 {
429 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
430     if (!(
431         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
432         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
433         cvmx_warn("CVMX_AGL_GMX_RX_BP_DROPX(%lu) is invalid on this chip\n", offset);
434 #endif
435     return CVMX_ADD_IO_SEG(0x00011800E0000420ull) + (offset&1)*8;
436 }
437
438 static inline uint64_t CVMX_AGL_GMX_RX_BP_OFFX(unsigned long offset)
439 {
440 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
441     if (!(
442         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
443         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
444         cvmx_warn("CVMX_AGL_GMX_RX_BP_OFFX(%lu) is invalid on this chip\n", offset);
445 #endif
446     return CVMX_ADD_IO_SEG(0x00011800E0000460ull) + (offset&1)*8;
447 }
448
449 static inline uint64_t CVMX_AGL_GMX_RX_BP_ONX(unsigned long offset)
450 {
451 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
452     if (!(
453         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
454         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
455         cvmx_warn("CVMX_AGL_GMX_RX_BP_ONX(%lu) is invalid on this chip\n", offset);
456 #endif
457     return CVMX_ADD_IO_SEG(0x00011800E0000440ull) + (offset&1)*8;
458 }
459
460 #define CVMX_AGL_GMX_RX_PRT_INFO CVMX_AGL_GMX_RX_PRT_INFO_FUNC()
461 static inline uint64_t CVMX_AGL_GMX_RX_PRT_INFO_FUNC(void)
462 {
463 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
464     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
465         cvmx_warn("CVMX_AGL_GMX_RX_PRT_INFO not supported on this chip\n");
466 #endif
467     return CVMX_ADD_IO_SEG(0x00011800E00004E8ull);
468 }
469
470 #define CVMX_AGL_GMX_RX_TX_STATUS CVMX_AGL_GMX_RX_TX_STATUS_FUNC()
471 static inline uint64_t CVMX_AGL_GMX_RX_TX_STATUS_FUNC(void)
472 {
473 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
474     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
475         cvmx_warn("CVMX_AGL_GMX_RX_TX_STATUS not supported on this chip\n");
476 #endif
477     return CVMX_ADD_IO_SEG(0x00011800E00007E8ull);
478 }
479
480 static inline uint64_t CVMX_AGL_GMX_SMACX(unsigned long offset)
481 {
482 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
483     if (!(
484         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
485         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
486         cvmx_warn("CVMX_AGL_GMX_SMACX(%lu) is invalid on this chip\n", offset);
487 #endif
488     return CVMX_ADD_IO_SEG(0x00011800E0000230ull) + (offset&1)*2048;
489 }
490
491 #define CVMX_AGL_GMX_STAT_BP CVMX_AGL_GMX_STAT_BP_FUNC()
492 static inline uint64_t CVMX_AGL_GMX_STAT_BP_FUNC(void)
493 {
494 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
495     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
496         cvmx_warn("CVMX_AGL_GMX_STAT_BP not supported on this chip\n");
497 #endif
498     return CVMX_ADD_IO_SEG(0x00011800E0000520ull);
499 }
500
501 static inline uint64_t CVMX_AGL_GMX_TXX_APPEND(unsigned long offset)
502 {
503 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
504     if (!(
505         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
506         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
507         cvmx_warn("CVMX_AGL_GMX_TXX_APPEND(%lu) is invalid on this chip\n", offset);
508 #endif
509     return CVMX_ADD_IO_SEG(0x00011800E0000218ull) + (offset&1)*2048;
510 }
511
512 static inline uint64_t CVMX_AGL_GMX_TXX_CTL(unsigned long offset)
513 {
514 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
515     if (!(
516         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
517         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
518         cvmx_warn("CVMX_AGL_GMX_TXX_CTL(%lu) is invalid on this chip\n", offset);
519 #endif
520     return CVMX_ADD_IO_SEG(0x00011800E0000270ull) + (offset&1)*2048;
521 }
522
523 static inline uint64_t CVMX_AGL_GMX_TXX_MIN_PKT(unsigned long offset)
524 {
525 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
526     if (!(
527         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
528         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
529         cvmx_warn("CVMX_AGL_GMX_TXX_MIN_PKT(%lu) is invalid on this chip\n", offset);
530 #endif
531     return CVMX_ADD_IO_SEG(0x00011800E0000240ull) + (offset&1)*2048;
532 }
533
534 static inline uint64_t CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset)
535 {
536 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
537     if (!(
538         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
539         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
540         cvmx_warn("CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(%lu) is invalid on this chip\n", offset);
541 #endif
542     return CVMX_ADD_IO_SEG(0x00011800E0000248ull) + (offset&1)*2048;
543 }
544
545 static inline uint64_t CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(unsigned long offset)
546 {
547 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
548     if (!(
549         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
550         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
551         cvmx_warn("CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(%lu) is invalid on this chip\n", offset);
552 #endif
553     return CVMX_ADD_IO_SEG(0x00011800E0000238ull) + (offset&1)*2048;
554 }
555
556 static inline uint64_t CVMX_AGL_GMX_TXX_PAUSE_TOGO(unsigned long offset)
557 {
558 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
559     if (!(
560         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
561         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
562         cvmx_warn("CVMX_AGL_GMX_TXX_PAUSE_TOGO(%lu) is invalid on this chip\n", offset);
563 #endif
564     return CVMX_ADD_IO_SEG(0x00011800E0000258ull) + (offset&1)*2048;
565 }
566
567 static inline uint64_t CVMX_AGL_GMX_TXX_PAUSE_ZERO(unsigned long offset)
568 {
569 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
570     if (!(
571         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
572         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
573         cvmx_warn("CVMX_AGL_GMX_TXX_PAUSE_ZERO(%lu) is invalid on this chip\n", offset);
574 #endif
575     return CVMX_ADD_IO_SEG(0x00011800E0000260ull) + (offset&1)*2048;
576 }
577
578 static inline uint64_t CVMX_AGL_GMX_TXX_SOFT_PAUSE(unsigned long offset)
579 {
580 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
581     if (!(
582         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
583         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
584         cvmx_warn("CVMX_AGL_GMX_TXX_SOFT_PAUSE(%lu) is invalid on this chip\n", offset);
585 #endif
586     return CVMX_ADD_IO_SEG(0x00011800E0000250ull) + (offset&1)*2048;
587 }
588
589 static inline uint64_t CVMX_AGL_GMX_TXX_STAT0(unsigned long offset)
590 {
591 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
592     if (!(
593         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
594         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
595         cvmx_warn("CVMX_AGL_GMX_TXX_STAT0(%lu) is invalid on this chip\n", offset);
596 #endif
597     return CVMX_ADD_IO_SEG(0x00011800E0000280ull) + (offset&1)*2048;
598 }
599
600 static inline uint64_t CVMX_AGL_GMX_TXX_STAT1(unsigned long offset)
601 {
602 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
603     if (!(
604         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
605         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
606         cvmx_warn("CVMX_AGL_GMX_TXX_STAT1(%lu) is invalid on this chip\n", offset);
607 #endif
608     return CVMX_ADD_IO_SEG(0x00011800E0000288ull) + (offset&1)*2048;
609 }
610
611 static inline uint64_t CVMX_AGL_GMX_TXX_STAT2(unsigned long offset)
612 {
613 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
614     if (!(
615         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
616         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
617         cvmx_warn("CVMX_AGL_GMX_TXX_STAT2(%lu) is invalid on this chip\n", offset);
618 #endif
619     return CVMX_ADD_IO_SEG(0x00011800E0000290ull) + (offset&1)*2048;
620 }
621
622 static inline uint64_t CVMX_AGL_GMX_TXX_STAT3(unsigned long offset)
623 {
624 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
625     if (!(
626         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
627         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
628         cvmx_warn("CVMX_AGL_GMX_TXX_STAT3(%lu) is invalid on this chip\n", offset);
629 #endif
630     return CVMX_ADD_IO_SEG(0x00011800E0000298ull) + (offset&1)*2048;
631 }
632
633 static inline uint64_t CVMX_AGL_GMX_TXX_STAT4(unsigned long offset)
634 {
635 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
636     if (!(
637         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
638         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
639         cvmx_warn("CVMX_AGL_GMX_TXX_STAT4(%lu) is invalid on this chip\n", offset);
640 #endif
641     return CVMX_ADD_IO_SEG(0x00011800E00002A0ull) + (offset&1)*2048;
642 }
643
644 static inline uint64_t CVMX_AGL_GMX_TXX_STAT5(unsigned long offset)
645 {
646 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
647     if (!(
648         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
649         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
650         cvmx_warn("CVMX_AGL_GMX_TXX_STAT5(%lu) is invalid on this chip\n", offset);
651 #endif
652     return CVMX_ADD_IO_SEG(0x00011800E00002A8ull) + (offset&1)*2048;
653 }
654
655 static inline uint64_t CVMX_AGL_GMX_TXX_STAT6(unsigned long offset)
656 {
657 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
658     if (!(
659         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
660         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
661         cvmx_warn("CVMX_AGL_GMX_TXX_STAT6(%lu) is invalid on this chip\n", offset);
662 #endif
663     return CVMX_ADD_IO_SEG(0x00011800E00002B0ull) + (offset&1)*2048;
664 }
665
666 static inline uint64_t CVMX_AGL_GMX_TXX_STAT7(unsigned long offset)
667 {
668 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
669     if (!(
670         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
671         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
672         cvmx_warn("CVMX_AGL_GMX_TXX_STAT7(%lu) is invalid on this chip\n", offset);
673 #endif
674     return CVMX_ADD_IO_SEG(0x00011800E00002B8ull) + (offset&1)*2048;
675 }
676
677 static inline uint64_t CVMX_AGL_GMX_TXX_STAT8(unsigned long offset)
678 {
679 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
680     if (!(
681         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
682         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
683         cvmx_warn("CVMX_AGL_GMX_TXX_STAT8(%lu) is invalid on this chip\n", offset);
684 #endif
685     return CVMX_ADD_IO_SEG(0x00011800E00002C0ull) + (offset&1)*2048;
686 }
687
688 static inline uint64_t CVMX_AGL_GMX_TXX_STAT9(unsigned long offset)
689 {
690 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
691     if (!(
692         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
693         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
694         cvmx_warn("CVMX_AGL_GMX_TXX_STAT9(%lu) is invalid on this chip\n", offset);
695 #endif
696     return CVMX_ADD_IO_SEG(0x00011800E00002C8ull) + (offset&1)*2048;
697 }
698
699 static inline uint64_t CVMX_AGL_GMX_TXX_STATS_CTL(unsigned long offset)
700 {
701 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
702     if (!(
703         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
704         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
705         cvmx_warn("CVMX_AGL_GMX_TXX_STATS_CTL(%lu) is invalid on this chip\n", offset);
706 #endif
707     return CVMX_ADD_IO_SEG(0x00011800E0000268ull) + (offset&1)*2048;
708 }
709
710 static inline uint64_t CVMX_AGL_GMX_TXX_THRESH(unsigned long offset)
711 {
712 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
713     if (!(
714         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
715         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
716         cvmx_warn("CVMX_AGL_GMX_TXX_THRESH(%lu) is invalid on this chip\n", offset);
717 #endif
718     return CVMX_ADD_IO_SEG(0x00011800E0000210ull) + (offset&1)*2048;
719 }
720
721 #define CVMX_AGL_GMX_TX_BP CVMX_AGL_GMX_TX_BP_FUNC()
722 static inline uint64_t CVMX_AGL_GMX_TX_BP_FUNC(void)
723 {
724 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
725     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
726         cvmx_warn("CVMX_AGL_GMX_TX_BP not supported on this chip\n");
727 #endif
728     return CVMX_ADD_IO_SEG(0x00011800E00004D0ull);
729 }
730
731 #define CVMX_AGL_GMX_TX_COL_ATTEMPT CVMX_AGL_GMX_TX_COL_ATTEMPT_FUNC()
732 static inline uint64_t CVMX_AGL_GMX_TX_COL_ATTEMPT_FUNC(void)
733 {
734 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
735     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
736         cvmx_warn("CVMX_AGL_GMX_TX_COL_ATTEMPT not supported on this chip\n");
737 #endif
738     return CVMX_ADD_IO_SEG(0x00011800E0000498ull);
739 }
740
741 #define CVMX_AGL_GMX_TX_IFG CVMX_AGL_GMX_TX_IFG_FUNC()
742 static inline uint64_t CVMX_AGL_GMX_TX_IFG_FUNC(void)
743 {
744 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
745     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
746         cvmx_warn("CVMX_AGL_GMX_TX_IFG not supported on this chip\n");
747 #endif
748     return CVMX_ADD_IO_SEG(0x00011800E0000488ull);
749 }
750
751 #define CVMX_AGL_GMX_TX_INT_EN CVMX_AGL_GMX_TX_INT_EN_FUNC()
752 static inline uint64_t CVMX_AGL_GMX_TX_INT_EN_FUNC(void)
753 {
754 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
755     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
756         cvmx_warn("CVMX_AGL_GMX_TX_INT_EN not supported on this chip\n");
757 #endif
758     return CVMX_ADD_IO_SEG(0x00011800E0000508ull);
759 }
760
761 #define CVMX_AGL_GMX_TX_INT_REG CVMX_AGL_GMX_TX_INT_REG_FUNC()
762 static inline uint64_t CVMX_AGL_GMX_TX_INT_REG_FUNC(void)
763 {
764 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
765     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
766         cvmx_warn("CVMX_AGL_GMX_TX_INT_REG not supported on this chip\n");
767 #endif
768     return CVMX_ADD_IO_SEG(0x00011800E0000500ull);
769 }
770
771 #define CVMX_AGL_GMX_TX_JAM CVMX_AGL_GMX_TX_JAM_FUNC()
772 static inline uint64_t CVMX_AGL_GMX_TX_JAM_FUNC(void)
773 {
774 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
775     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
776         cvmx_warn("CVMX_AGL_GMX_TX_JAM not supported on this chip\n");
777 #endif
778     return CVMX_ADD_IO_SEG(0x00011800E0000490ull);
779 }
780
781 #define CVMX_AGL_GMX_TX_LFSR CVMX_AGL_GMX_TX_LFSR_FUNC()
782 static inline uint64_t CVMX_AGL_GMX_TX_LFSR_FUNC(void)
783 {
784 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
785     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
786         cvmx_warn("CVMX_AGL_GMX_TX_LFSR not supported on this chip\n");
787 #endif
788     return CVMX_ADD_IO_SEG(0x00011800E00004F8ull);
789 }
790
791 #define CVMX_AGL_GMX_TX_OVR_BP CVMX_AGL_GMX_TX_OVR_BP_FUNC()
792 static inline uint64_t CVMX_AGL_GMX_TX_OVR_BP_FUNC(void)
793 {
794 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
795     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
796         cvmx_warn("CVMX_AGL_GMX_TX_OVR_BP not supported on this chip\n");
797 #endif
798     return CVMX_ADD_IO_SEG(0x00011800E00004C8ull);
799 }
800
801 #define CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC_FUNC()
802 static inline uint64_t CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC_FUNC(void)
803 {
804 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
805     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
806         cvmx_warn("CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC not supported on this chip\n");
807 #endif
808     return CVMX_ADD_IO_SEG(0x00011800E00004A0ull);
809 }
810
811 #define CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE_FUNC()
812 static inline uint64_t CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE_FUNC(void)
813 {
814 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
815     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
816         cvmx_warn("CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE not supported on this chip\n");
817 #endif
818     return CVMX_ADD_IO_SEG(0x00011800E00004A8ull);
819 }
820
821 #define CVMX_ASX0_DBG_DATA_DRV CVMX_ASX0_DBG_DATA_DRV_FUNC()
822 static inline uint64_t CVMX_ASX0_DBG_DATA_DRV_FUNC(void)
823 {
824 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
825     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
826         cvmx_warn("CVMX_ASX0_DBG_DATA_DRV not supported on this chip\n");
827 #endif
828     return CVMX_ADD_IO_SEG(0x00011800B0000208ull);
829 }
830
831 #define CVMX_ASX0_DBG_DATA_ENABLE CVMX_ASX0_DBG_DATA_ENABLE_FUNC()
832 static inline uint64_t CVMX_ASX0_DBG_DATA_ENABLE_FUNC(void)
833 {
834 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
835     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
836         cvmx_warn("CVMX_ASX0_DBG_DATA_ENABLE not supported on this chip\n");
837 #endif
838     return CVMX_ADD_IO_SEG(0x00011800B0000200ull);
839 }
840
841 static inline uint64_t CVMX_ASXX_GMII_RX_CLK_SET(unsigned long block_id)
842 {
843 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
844     if (!(
845         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
846         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
847         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0)))))
848         cvmx_warn("CVMX_ASXX_GMII_RX_CLK_SET(%lu) is invalid on this chip\n", block_id);
849 #endif
850     return CVMX_ADD_IO_SEG(0x00011800B0000180ull) + (block_id&0)*0x8000000ull;
851 }
852
853 static inline uint64_t CVMX_ASXX_GMII_RX_DAT_SET(unsigned long block_id)
854 {
855 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
856     if (!(
857         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
858         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
859         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0)))))
860         cvmx_warn("CVMX_ASXX_GMII_RX_DAT_SET(%lu) is invalid on this chip\n", block_id);
861 #endif
862     return CVMX_ADD_IO_SEG(0x00011800B0000188ull) + (block_id&0)*0x8000000ull;
863 }
864
865 static inline uint64_t CVMX_ASXX_INT_EN(unsigned long block_id)
866 {
867 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
868     if (!(
869         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
870         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
871         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
872         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
873         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
874         cvmx_warn("CVMX_ASXX_INT_EN(%lu) is invalid on this chip\n", block_id);
875 #endif
876     return CVMX_ADD_IO_SEG(0x00011800B0000018ull) + (block_id&1)*0x8000000ull;
877 }
878
879 static inline uint64_t CVMX_ASXX_INT_REG(unsigned long block_id)
880 {
881 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
882     if (!(
883         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
884         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
885         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
886         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
887         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
888         cvmx_warn("CVMX_ASXX_INT_REG(%lu) is invalid on this chip\n", block_id);
889 #endif
890     return CVMX_ADD_IO_SEG(0x00011800B0000010ull) + (block_id&1)*0x8000000ull;
891 }
892
893 static inline uint64_t CVMX_ASXX_MII_RX_DAT_SET(unsigned long block_id)
894 {
895 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
896     if (!(
897         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
898         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0)))))
899         cvmx_warn("CVMX_ASXX_MII_RX_DAT_SET(%lu) is invalid on this chip\n", block_id);
900 #endif
901     return CVMX_ADD_IO_SEG(0x00011800B0000190ull) + (block_id&0)*0x8000000ull;
902 }
903
904 static inline uint64_t CVMX_ASXX_PRT_LOOP(unsigned long block_id)
905 {
906 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
907     if (!(
908         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
909         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
910         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
911         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
912         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
913         cvmx_warn("CVMX_ASXX_PRT_LOOP(%lu) is invalid on this chip\n", block_id);
914 #endif
915     return CVMX_ADD_IO_SEG(0x00011800B0000040ull) + (block_id&1)*0x8000000ull;
916 }
917
918 static inline uint64_t CVMX_ASXX_RLD_BYPASS(unsigned long block_id)
919 {
920 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
921     if (!(
922         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
923         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
924         cvmx_warn("CVMX_ASXX_RLD_BYPASS(%lu) is invalid on this chip\n", block_id);
925 #endif
926     return CVMX_ADD_IO_SEG(0x00011800B0000248ull) + (block_id&1)*0x8000000ull;
927 }
928
929 static inline uint64_t CVMX_ASXX_RLD_BYPASS_SETTING(unsigned long block_id)
930 {
931 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
932     if (!(
933         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
934         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
935         cvmx_warn("CVMX_ASXX_RLD_BYPASS_SETTING(%lu) is invalid on this chip\n", block_id);
936 #endif
937     return CVMX_ADD_IO_SEG(0x00011800B0000250ull) + (block_id&1)*0x8000000ull;
938 }
939
940 static inline uint64_t CVMX_ASXX_RLD_COMP(unsigned long block_id)
941 {
942 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
943     if (!(
944         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
945         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
946         cvmx_warn("CVMX_ASXX_RLD_COMP(%lu) is invalid on this chip\n", block_id);
947 #endif
948     return CVMX_ADD_IO_SEG(0x00011800B0000220ull) + (block_id&1)*0x8000000ull;
949 }
950
951 static inline uint64_t CVMX_ASXX_RLD_DATA_DRV(unsigned long block_id)
952 {
953 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
954     if (!(
955         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
956         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
957         cvmx_warn("CVMX_ASXX_RLD_DATA_DRV(%lu) is invalid on this chip\n", block_id);
958 #endif
959     return CVMX_ADD_IO_SEG(0x00011800B0000218ull) + (block_id&1)*0x8000000ull;
960 }
961
962 static inline uint64_t CVMX_ASXX_RLD_FCRAM_MODE(unsigned long block_id)
963 {
964 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
965     if (!(
966         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1)))))
967         cvmx_warn("CVMX_ASXX_RLD_FCRAM_MODE(%lu) is invalid on this chip\n", block_id);
968 #endif
969     return CVMX_ADD_IO_SEG(0x00011800B0000210ull) + (block_id&1)*0x8000000ull;
970 }
971
972 static inline uint64_t CVMX_ASXX_RLD_NCTL_STRONG(unsigned long block_id)
973 {
974 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
975     if (!(
976         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
977         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
978         cvmx_warn("CVMX_ASXX_RLD_NCTL_STRONG(%lu) is invalid on this chip\n", block_id);
979 #endif
980     return CVMX_ADD_IO_SEG(0x00011800B0000230ull) + (block_id&1)*0x8000000ull;
981 }
982
983 static inline uint64_t CVMX_ASXX_RLD_NCTL_WEAK(unsigned long block_id)
984 {
985 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
986     if (!(
987         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
988         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
989         cvmx_warn("CVMX_ASXX_RLD_NCTL_WEAK(%lu) is invalid on this chip\n", block_id);
990 #endif
991     return CVMX_ADD_IO_SEG(0x00011800B0000240ull) + (block_id&1)*0x8000000ull;
992 }
993
994 static inline uint64_t CVMX_ASXX_RLD_PCTL_STRONG(unsigned long block_id)
995 {
996 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
997     if (!(
998         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
999         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1000         cvmx_warn("CVMX_ASXX_RLD_PCTL_STRONG(%lu) is invalid on this chip\n", block_id);
1001 #endif
1002     return CVMX_ADD_IO_SEG(0x00011800B0000228ull) + (block_id&1)*0x8000000ull;
1003 }
1004
1005 static inline uint64_t CVMX_ASXX_RLD_PCTL_WEAK(unsigned long block_id)
1006 {
1007 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1008     if (!(
1009         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1010         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1011         cvmx_warn("CVMX_ASXX_RLD_PCTL_WEAK(%lu) is invalid on this chip\n", block_id);
1012 #endif
1013     return CVMX_ADD_IO_SEG(0x00011800B0000238ull) + (block_id&1)*0x8000000ull;
1014 }
1015
1016 static inline uint64_t CVMX_ASXX_RLD_SETTING(unsigned long block_id)
1017 {
1018 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1019     if (!(
1020         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1021         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1022         cvmx_warn("CVMX_ASXX_RLD_SETTING(%lu) is invalid on this chip\n", block_id);
1023 #endif
1024     return CVMX_ADD_IO_SEG(0x00011800B0000258ull) + (block_id&1)*0x8000000ull;
1025 }
1026
1027 static inline uint64_t CVMX_ASXX_RX_CLK_SETX(unsigned long offset, unsigned long block_id)
1028 {
1029 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1030     if (!(
1031         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1032         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1033         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
1034         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1035         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
1036         cvmx_warn("CVMX_ASXX_RX_CLK_SETX(%lu,%lu) is invalid on this chip\n", offset, block_id);
1037 #endif
1038     return CVMX_ADD_IO_SEG(0x00011800B0000020ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
1039 }
1040
1041 static inline uint64_t CVMX_ASXX_RX_PRT_EN(unsigned long block_id)
1042 {
1043 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1044     if (!(
1045         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
1046         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
1047         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1048         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
1049         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1050         cvmx_warn("CVMX_ASXX_RX_PRT_EN(%lu) is invalid on this chip\n", block_id);
1051 #endif
1052     return CVMX_ADD_IO_SEG(0x00011800B0000000ull) + (block_id&1)*0x8000000ull;
1053 }
1054
1055 static inline uint64_t CVMX_ASXX_RX_WOL(unsigned long block_id)
1056 {
1057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1058     if (!(
1059         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1)))))
1060         cvmx_warn("CVMX_ASXX_RX_WOL(%lu) is invalid on this chip\n", block_id);
1061 #endif
1062     return CVMX_ADD_IO_SEG(0x00011800B0000100ull) + (block_id&1)*0x8000000ull;
1063 }
1064
1065 static inline uint64_t CVMX_ASXX_RX_WOL_MSK(unsigned long block_id)
1066 {
1067 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1068     if (!(
1069         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1)))))
1070         cvmx_warn("CVMX_ASXX_RX_WOL_MSK(%lu) is invalid on this chip\n", block_id);
1071 #endif
1072     return CVMX_ADD_IO_SEG(0x00011800B0000108ull) + (block_id&1)*0x8000000ull;
1073 }
1074
1075 static inline uint64_t CVMX_ASXX_RX_WOL_POWOK(unsigned long block_id)
1076 {
1077 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1078     if (!(
1079         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1)))))
1080         cvmx_warn("CVMX_ASXX_RX_WOL_POWOK(%lu) is invalid on this chip\n", block_id);
1081 #endif
1082     return CVMX_ADD_IO_SEG(0x00011800B0000118ull) + (block_id&1)*0x8000000ull;
1083 }
1084
1085 static inline uint64_t CVMX_ASXX_RX_WOL_SIG(unsigned long block_id)
1086 {
1087 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1088     if (!(
1089         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1)))))
1090         cvmx_warn("CVMX_ASXX_RX_WOL_SIG(%lu) is invalid on this chip\n", block_id);
1091 #endif
1092     return CVMX_ADD_IO_SEG(0x00011800B0000110ull) + (block_id&1)*0x8000000ull;
1093 }
1094
1095 static inline uint64_t CVMX_ASXX_TX_CLK_SETX(unsigned long offset, unsigned long block_id)
1096 {
1097 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1098     if (!(
1099         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1100         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1101         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
1102         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1103         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
1104         cvmx_warn("CVMX_ASXX_TX_CLK_SETX(%lu,%lu) is invalid on this chip\n", offset, block_id);
1105 #endif
1106     return CVMX_ADD_IO_SEG(0x00011800B0000048ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
1107 }
1108
1109 static inline uint64_t CVMX_ASXX_TX_COMP_BYP(unsigned long block_id)
1110 {
1111 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1112     if (!(
1113         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
1114         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
1115         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1116         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
1117         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1118         cvmx_warn("CVMX_ASXX_TX_COMP_BYP(%lu) is invalid on this chip\n", block_id);
1119 #endif
1120     return CVMX_ADD_IO_SEG(0x00011800B0000068ull) + (block_id&1)*0x8000000ull;
1121 }
1122
1123 static inline uint64_t CVMX_ASXX_TX_HI_WATERX(unsigned long offset, unsigned long block_id)
1124 {
1125 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1126     if (!(
1127         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1128         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1129         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
1130         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
1131         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
1132         cvmx_warn("CVMX_ASXX_TX_HI_WATERX(%lu,%lu) is invalid on this chip\n", offset, block_id);
1133 #endif
1134     return CVMX_ADD_IO_SEG(0x00011800B0000080ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
1135 }
1136
1137 static inline uint64_t CVMX_ASXX_TX_PRT_EN(unsigned long block_id)
1138 {
1139 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1140     if (!(
1141         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
1142         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
1143         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1144         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
1145         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
1146         cvmx_warn("CVMX_ASXX_TX_PRT_EN(%lu) is invalid on this chip\n", block_id);
1147 #endif
1148     return CVMX_ADD_IO_SEG(0x00011800B0000008ull) + (block_id&1)*0x8000000ull;
1149 }
1150
1151 #define CVMX_CIU_BIST CVMX_CIU_BIST_FUNC()
1152 static inline uint64_t CVMX_CIU_BIST_FUNC(void)
1153 {
1154     return CVMX_ADD_IO_SEG(0x0001070000000730ull);
1155 }
1156
1157 #define CVMX_CIU_DINT CVMX_CIU_DINT_FUNC()
1158 static inline uint64_t CVMX_CIU_DINT_FUNC(void)
1159 {
1160     return CVMX_ADD_IO_SEG(0x0001070000000720ull);
1161 }
1162
1163 #define CVMX_CIU_FUSE CVMX_CIU_FUSE_FUNC()
1164 static inline uint64_t CVMX_CIU_FUSE_FUNC(void)
1165 {
1166     return CVMX_ADD_IO_SEG(0x0001070000000728ull);
1167 }
1168
1169 #define CVMX_CIU_GSTOP CVMX_CIU_GSTOP_FUNC()
1170 static inline uint64_t CVMX_CIU_GSTOP_FUNC(void)
1171 {
1172     return CVMX_ADD_IO_SEG(0x0001070000000710ull);
1173 }
1174
1175 static inline uint64_t CVMX_CIU_INTX_EN0(unsigned long offset)
1176 {
1177 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1178     if (!(
1179         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1180         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
1181         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
1182         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
1183         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
1184         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
1185         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32)))))
1186         cvmx_warn("CVMX_CIU_INTX_EN0(%lu) is invalid on this chip\n", offset);
1187 #endif
1188     return CVMX_ADD_IO_SEG(0x0001070000000200ull) + (offset&63)*16;
1189 }
1190
1191 static inline uint64_t CVMX_CIU_INTX_EN0_W1C(unsigned long offset)
1192 {
1193 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1194     if (!(
1195         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1196         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
1197         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32)))))
1198         cvmx_warn("CVMX_CIU_INTX_EN0_W1C(%lu) is invalid on this chip\n", offset);
1199 #endif
1200     return CVMX_ADD_IO_SEG(0x0001070000002200ull) + (offset&63)*16;
1201 }
1202
1203 static inline uint64_t CVMX_CIU_INTX_EN0_W1S(unsigned long offset)
1204 {
1205 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1206     if (!(
1207         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1208         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
1209         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32)))))
1210         cvmx_warn("CVMX_CIU_INTX_EN0_W1S(%lu) is invalid on this chip\n", offset);
1211 #endif
1212     return CVMX_ADD_IO_SEG(0x0001070000006200ull) + (offset&63)*16;
1213 }
1214
1215 static inline uint64_t CVMX_CIU_INTX_EN1(unsigned long offset)
1216 {
1217 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1218     if (!(
1219         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1220         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
1221         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
1222         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
1223         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
1224         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
1225         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32)))))
1226         cvmx_warn("CVMX_CIU_INTX_EN1(%lu) is invalid on this chip\n", offset);
1227 #endif
1228     return CVMX_ADD_IO_SEG(0x0001070000000208ull) + (offset&63)*16;
1229 }
1230
1231 static inline uint64_t CVMX_CIU_INTX_EN1_W1C(unsigned long offset)
1232 {
1233 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1234     if (!(
1235         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1236         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
1237         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32)))))
1238         cvmx_warn("CVMX_CIU_INTX_EN1_W1C(%lu) is invalid on this chip\n", offset);
1239 #endif
1240     return CVMX_ADD_IO_SEG(0x0001070000002208ull) + (offset&63)*16;
1241 }
1242
1243 static inline uint64_t CVMX_CIU_INTX_EN1_W1S(unsigned long offset)
1244 {
1245 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1246     if (!(
1247         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1248         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32))) ||
1249         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32)))))
1250         cvmx_warn("CVMX_CIU_INTX_EN1_W1S(%lu) is invalid on this chip\n", offset);
1251 #endif
1252     return CVMX_ADD_IO_SEG(0x0001070000006208ull) + (offset&63)*16;
1253 }
1254
1255 static inline uint64_t CVMX_CIU_INTX_EN4_0(unsigned long offset)
1256 {
1257 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1258     if (!(
1259         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1260         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1261         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1262         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1263         cvmx_warn("CVMX_CIU_INTX_EN4_0(%lu) is invalid on this chip\n", offset);
1264 #endif
1265     return CVMX_ADD_IO_SEG(0x0001070000000C80ull) + (offset&15)*16;
1266 }
1267
1268 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1C(unsigned long offset)
1269 {
1270 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1271     if (!(
1272         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1273         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
1274         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15)))))
1275         cvmx_warn("CVMX_CIU_INTX_EN4_0_W1C(%lu) is invalid on this chip\n", offset);
1276 #endif
1277     return CVMX_ADD_IO_SEG(0x0001070000002C80ull) + (offset&15)*16;
1278 }
1279
1280 static inline uint64_t CVMX_CIU_INTX_EN4_0_W1S(unsigned long offset)
1281 {
1282 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1283     if (!(
1284         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1285         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
1286         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15)))))
1287         cvmx_warn("CVMX_CIU_INTX_EN4_0_W1S(%lu) is invalid on this chip\n", offset);
1288 #endif
1289     return CVMX_ADD_IO_SEG(0x0001070000006C80ull) + (offset&15)*16;
1290 }
1291
1292 static inline uint64_t CVMX_CIU_INTX_EN4_1(unsigned long offset)
1293 {
1294 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1295     if (!(
1296         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1297         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1298         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1299         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1300         cvmx_warn("CVMX_CIU_INTX_EN4_1(%lu) is invalid on this chip\n", offset);
1301 #endif
1302     return CVMX_ADD_IO_SEG(0x0001070000000C88ull) + (offset&15)*16;
1303 }
1304
1305 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1C(unsigned long offset)
1306 {
1307 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1308     if (!(
1309         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1310         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
1311         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15)))))
1312         cvmx_warn("CVMX_CIU_INTX_EN4_1_W1C(%lu) is invalid on this chip\n", offset);
1313 #endif
1314     return CVMX_ADD_IO_SEG(0x0001070000002C88ull) + (offset&15)*16;
1315 }
1316
1317 static inline uint64_t CVMX_CIU_INTX_EN4_1_W1S(unsigned long offset)
1318 {
1319 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1320     if (!(
1321         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1322         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3))) ||
1323         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15)))))
1324         cvmx_warn("CVMX_CIU_INTX_EN4_1_W1S(%lu) is invalid on this chip\n", offset);
1325 #endif
1326     return CVMX_ADD_IO_SEG(0x0001070000006C88ull) + (offset&15)*16;
1327 }
1328
1329 static inline uint64_t CVMX_CIU_INTX_SUM0(unsigned long offset)
1330 {
1331 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1332     if (!(
1333         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 23) || (offset == 32))) ||
1334         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1) || (offset == 32))) ||
1335         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3) || (offset == 32))) ||
1336         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 32))) ||
1337         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3) || (offset == 32))) ||
1338         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 32))) ||
1339         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7) || (offset == 32)))))
1340         cvmx_warn("CVMX_CIU_INTX_SUM0(%lu) is invalid on this chip\n", offset);
1341 #endif
1342     return CVMX_ADD_IO_SEG(0x0001070000000000ull) + (offset&63)*8;
1343 }
1344
1345 static inline uint64_t CVMX_CIU_INTX_SUM4(unsigned long offset)
1346 {
1347 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1348     if (!(
1349         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1350         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1351         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1352         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1353         cvmx_warn("CVMX_CIU_INTX_SUM4(%lu) is invalid on this chip\n", offset);
1354 #endif
1355     return CVMX_ADD_IO_SEG(0x0001070000000C00ull) + (offset&15)*8;
1356 }
1357
1358 #define CVMX_CIU_INT_SUM1 CVMX_CIU_INT_SUM1_FUNC()
1359 static inline uint64_t CVMX_CIU_INT_SUM1_FUNC(void)
1360 {
1361     return CVMX_ADD_IO_SEG(0x0001070000000108ull);
1362 }
1363
1364 static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
1365 {
1366 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1367     if (!(
1368         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1369         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
1370         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1371         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
1372         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
1373         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1374         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1375         cvmx_warn("CVMX_CIU_MBOX_CLRX(%lu) is invalid on this chip\n", offset);
1376 #endif
1377     return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset&15)*8;
1378 }
1379
1380 static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
1381 {
1382 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1383     if (!(
1384         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1385         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
1386         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1387         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
1388         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
1389         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1390         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1391         cvmx_warn("CVMX_CIU_MBOX_SETX(%lu) is invalid on this chip\n", offset);
1392 #endif
1393     return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset&15)*8;
1394 }
1395
1396 #define CVMX_CIU_NMI CVMX_CIU_NMI_FUNC()
1397 static inline uint64_t CVMX_CIU_NMI_FUNC(void)
1398 {
1399     return CVMX_ADD_IO_SEG(0x0001070000000718ull);
1400 }
1401
1402 #define CVMX_CIU_PCI_INTA CVMX_CIU_PCI_INTA_FUNC()
1403 static inline uint64_t CVMX_CIU_PCI_INTA_FUNC(void)
1404 {
1405     return CVMX_ADD_IO_SEG(0x0001070000000750ull);
1406 }
1407
1408 #define CVMX_CIU_PP_DBG CVMX_CIU_PP_DBG_FUNC()
1409 static inline uint64_t CVMX_CIU_PP_DBG_FUNC(void)
1410 {
1411     return CVMX_ADD_IO_SEG(0x0001070000000708ull);
1412 }
1413
1414 static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
1415 {
1416 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1417     if (!(
1418         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1419         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
1420         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1421         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
1422         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
1423         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1424         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1425         cvmx_warn("CVMX_CIU_PP_POKEX(%lu) is invalid on this chip\n", offset);
1426 #endif
1427     return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset&15)*8;
1428 }
1429
1430 #define CVMX_CIU_PP_RST CVMX_CIU_PP_RST_FUNC()
1431 static inline uint64_t CVMX_CIU_PP_RST_FUNC(void)
1432 {
1433     return CVMX_ADD_IO_SEG(0x0001070000000700ull);
1434 }
1435
1436 #define CVMX_CIU_QLM_DCOK CVMX_CIU_QLM_DCOK_FUNC()
1437 static inline uint64_t CVMX_CIU_QLM_DCOK_FUNC(void)
1438 {
1439 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1440     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
1441         cvmx_warn("CVMX_CIU_QLM_DCOK not supported on this chip\n");
1442 #endif
1443     return CVMX_ADD_IO_SEG(0x0001070000000760ull);
1444 }
1445
1446 #define CVMX_CIU_QLM_JTGC CVMX_CIU_QLM_JTGC_FUNC()
1447 static inline uint64_t CVMX_CIU_QLM_JTGC_FUNC(void)
1448 {
1449 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1450     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
1451         cvmx_warn("CVMX_CIU_QLM_JTGC not supported on this chip\n");
1452 #endif
1453     return CVMX_ADD_IO_SEG(0x0001070000000768ull);
1454 }
1455
1456 #define CVMX_CIU_QLM_JTGD CVMX_CIU_QLM_JTGD_FUNC()
1457 static inline uint64_t CVMX_CIU_QLM_JTGD_FUNC(void)
1458 {
1459 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1460     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
1461         cvmx_warn("CVMX_CIU_QLM_JTGD not supported on this chip\n");
1462 #endif
1463     return CVMX_ADD_IO_SEG(0x0001070000000770ull);
1464 }
1465
1466 #define CVMX_CIU_SOFT_BIST CVMX_CIU_SOFT_BIST_FUNC()
1467 static inline uint64_t CVMX_CIU_SOFT_BIST_FUNC(void)
1468 {
1469     return CVMX_ADD_IO_SEG(0x0001070000000738ull);
1470 }
1471
1472 #define CVMX_CIU_SOFT_PRST CVMX_CIU_SOFT_PRST_FUNC()
1473 static inline uint64_t CVMX_CIU_SOFT_PRST_FUNC(void)
1474 {
1475     return CVMX_ADD_IO_SEG(0x0001070000000748ull);
1476 }
1477
1478 #define CVMX_CIU_SOFT_PRST1 CVMX_CIU_SOFT_PRST1_FUNC()
1479 static inline uint64_t CVMX_CIU_SOFT_PRST1_FUNC(void)
1480 {
1481 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1482     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
1483         cvmx_warn("CVMX_CIU_SOFT_PRST1 not supported on this chip\n");
1484 #endif
1485     return CVMX_ADD_IO_SEG(0x0001070000000758ull);
1486 }
1487
1488 #define CVMX_CIU_SOFT_RST CVMX_CIU_SOFT_RST_FUNC()
1489 static inline uint64_t CVMX_CIU_SOFT_RST_FUNC(void)
1490 {
1491     return CVMX_ADD_IO_SEG(0x0001070000000740ull);
1492 }
1493
1494 static inline uint64_t CVMX_CIU_TIMX(unsigned long offset)
1495 {
1496 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1497     if (!(
1498         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
1499         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
1500         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
1501         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
1502         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
1503         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
1504         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1505         cvmx_warn("CVMX_CIU_TIMX(%lu) is invalid on this chip\n", offset);
1506 #endif
1507     return CVMX_ADD_IO_SEG(0x0001070000000480ull) + (offset&3)*8;
1508 }
1509
1510 static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
1511 {
1512 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1513     if (!(
1514         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
1515         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
1516         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
1517         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
1518         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
1519         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
1520         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
1521         cvmx_warn("CVMX_CIU_WDOGX(%lu) is invalid on this chip\n", offset);
1522 #endif
1523     return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset&15)*8;
1524 }
1525
1526 #define CVMX_DBG_DATA CVMX_DBG_DATA_FUNC()
1527 static inline uint64_t CVMX_DBG_DATA_FUNC(void)
1528 {
1529 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1530     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1531         cvmx_warn("CVMX_DBG_DATA not supported on this chip\n");
1532 #endif
1533     return CVMX_ADD_IO_SEG(0x00011F00000001E8ull);
1534 }
1535
1536 #define CVMX_DFA_BST0 CVMX_DFA_BST0_FUNC()
1537 static inline uint64_t CVMX_DFA_BST0_FUNC(void)
1538 {
1539 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1540     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1541         cvmx_warn("CVMX_DFA_BST0 not supported on this chip\n");
1542 #endif
1543     return CVMX_ADD_IO_SEG(0x00011800300007F0ull);
1544 }
1545
1546 #define CVMX_DFA_BST1 CVMX_DFA_BST1_FUNC()
1547 static inline uint64_t CVMX_DFA_BST1_FUNC(void)
1548 {
1549 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1550     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1551         cvmx_warn("CVMX_DFA_BST1 not supported on this chip\n");
1552 #endif
1553     return CVMX_ADD_IO_SEG(0x00011800300007F8ull);
1554 }
1555
1556 #define CVMX_DFA_CFG CVMX_DFA_CFG_FUNC()
1557 static inline uint64_t CVMX_DFA_CFG_FUNC(void)
1558 {
1559 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1560     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1561         cvmx_warn("CVMX_DFA_CFG not supported on this chip\n");
1562 #endif
1563     return CVMX_ADD_IO_SEG(0x0001180030000000ull);
1564 }
1565
1566 #define CVMX_DFA_DBELL CVMX_DFA_DBELL_FUNC()
1567 static inline uint64_t CVMX_DFA_DBELL_FUNC(void)
1568 {
1569 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1570     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1571         cvmx_warn("CVMX_DFA_DBELL not supported on this chip\n");
1572 #endif
1573     return CVMX_ADD_IO_SEG(0x0001370000000000ull);
1574 }
1575
1576 #define CVMX_DFA_DDR2_ADDR CVMX_DFA_DDR2_ADDR_FUNC()
1577 static inline uint64_t CVMX_DFA_DDR2_ADDR_FUNC(void)
1578 {
1579 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1580     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1581         cvmx_warn("CVMX_DFA_DDR2_ADDR not supported on this chip\n");
1582 #endif
1583     return CVMX_ADD_IO_SEG(0x0001180030000210ull);
1584 }
1585
1586 #define CVMX_DFA_DDR2_BUS CVMX_DFA_DDR2_BUS_FUNC()
1587 static inline uint64_t CVMX_DFA_DDR2_BUS_FUNC(void)
1588 {
1589 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1590     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1591         cvmx_warn("CVMX_DFA_DDR2_BUS not supported on this chip\n");
1592 #endif
1593     return CVMX_ADD_IO_SEG(0x0001180030000080ull);
1594 }
1595
1596 #define CVMX_DFA_DDR2_CFG CVMX_DFA_DDR2_CFG_FUNC()
1597 static inline uint64_t CVMX_DFA_DDR2_CFG_FUNC(void)
1598 {
1599 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1600     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1601         cvmx_warn("CVMX_DFA_DDR2_CFG not supported on this chip\n");
1602 #endif
1603     return CVMX_ADD_IO_SEG(0x0001180030000208ull);
1604 }
1605
1606 #define CVMX_DFA_DDR2_COMP CVMX_DFA_DDR2_COMP_FUNC()
1607 static inline uint64_t CVMX_DFA_DDR2_COMP_FUNC(void)
1608 {
1609 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1610     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1611         cvmx_warn("CVMX_DFA_DDR2_COMP not supported on this chip\n");
1612 #endif
1613     return CVMX_ADD_IO_SEG(0x0001180030000090ull);
1614 }
1615
1616 #define CVMX_DFA_DDR2_EMRS CVMX_DFA_DDR2_EMRS_FUNC()
1617 static inline uint64_t CVMX_DFA_DDR2_EMRS_FUNC(void)
1618 {
1619 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1620     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1621         cvmx_warn("CVMX_DFA_DDR2_EMRS not supported on this chip\n");
1622 #endif
1623     return CVMX_ADD_IO_SEG(0x0001180030000268ull);
1624 }
1625
1626 #define CVMX_DFA_DDR2_FCNT CVMX_DFA_DDR2_FCNT_FUNC()
1627 static inline uint64_t CVMX_DFA_DDR2_FCNT_FUNC(void)
1628 {
1629 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1630     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1631         cvmx_warn("CVMX_DFA_DDR2_FCNT not supported on this chip\n");
1632 #endif
1633     return CVMX_ADD_IO_SEG(0x0001180030000078ull);
1634 }
1635
1636 #define CVMX_DFA_DDR2_MRS CVMX_DFA_DDR2_MRS_FUNC()
1637 static inline uint64_t CVMX_DFA_DDR2_MRS_FUNC(void)
1638 {
1639 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1640     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1641         cvmx_warn("CVMX_DFA_DDR2_MRS not supported on this chip\n");
1642 #endif
1643     return CVMX_ADD_IO_SEG(0x0001180030000260ull);
1644 }
1645
1646 #define CVMX_DFA_DDR2_OPT CVMX_DFA_DDR2_OPT_FUNC()
1647 static inline uint64_t CVMX_DFA_DDR2_OPT_FUNC(void)
1648 {
1649 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1650     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1651         cvmx_warn("CVMX_DFA_DDR2_OPT not supported on this chip\n");
1652 #endif
1653     return CVMX_ADD_IO_SEG(0x0001180030000070ull);
1654 }
1655
1656 #define CVMX_DFA_DDR2_PLL CVMX_DFA_DDR2_PLL_FUNC()
1657 static inline uint64_t CVMX_DFA_DDR2_PLL_FUNC(void)
1658 {
1659 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1660     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1661         cvmx_warn("CVMX_DFA_DDR2_PLL not supported on this chip\n");
1662 #endif
1663     return CVMX_ADD_IO_SEG(0x0001180030000088ull);
1664 }
1665
1666 #define CVMX_DFA_DDR2_TMG CVMX_DFA_DDR2_TMG_FUNC()
1667 static inline uint64_t CVMX_DFA_DDR2_TMG_FUNC(void)
1668 {
1669 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1670     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1671         cvmx_warn("CVMX_DFA_DDR2_TMG not supported on this chip\n");
1672 #endif
1673     return CVMX_ADD_IO_SEG(0x0001180030000218ull);
1674 }
1675
1676 #define CVMX_DFA_DIFCTL CVMX_DFA_DIFCTL_FUNC()
1677 static inline uint64_t CVMX_DFA_DIFCTL_FUNC(void)
1678 {
1679 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1680     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1681         cvmx_warn("CVMX_DFA_DIFCTL not supported on this chip\n");
1682 #endif
1683     return CVMX_ADD_IO_SEG(0x0001370600000000ull);
1684 }
1685
1686 #define CVMX_DFA_DIFRDPTR CVMX_DFA_DIFRDPTR_FUNC()
1687 static inline uint64_t CVMX_DFA_DIFRDPTR_FUNC(void)
1688 {
1689 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1690     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1691         cvmx_warn("CVMX_DFA_DIFRDPTR not supported on this chip\n");
1692 #endif
1693     return CVMX_ADD_IO_SEG(0x0001370200000000ull);
1694 }
1695
1696 #define CVMX_DFA_ECLKCFG CVMX_DFA_ECLKCFG_FUNC()
1697 static inline uint64_t CVMX_DFA_ECLKCFG_FUNC(void)
1698 {
1699 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1700     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX)))
1701         cvmx_warn("CVMX_DFA_ECLKCFG not supported on this chip\n");
1702 #endif
1703     return CVMX_ADD_IO_SEG(0x0001180030000200ull);
1704 }
1705
1706 #define CVMX_DFA_ERR CVMX_DFA_ERR_FUNC()
1707 static inline uint64_t CVMX_DFA_ERR_FUNC(void)
1708 {
1709 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1710     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1711         cvmx_warn("CVMX_DFA_ERR not supported on this chip\n");
1712 #endif
1713     return CVMX_ADD_IO_SEG(0x0001180030000028ull);
1714 }
1715
1716 #define CVMX_DFA_MEMCFG0 CVMX_DFA_MEMCFG0_FUNC()
1717 static inline uint64_t CVMX_DFA_MEMCFG0_FUNC(void)
1718 {
1719 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1720     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1721         cvmx_warn("CVMX_DFA_MEMCFG0 not supported on this chip\n");
1722 #endif
1723     return CVMX_ADD_IO_SEG(0x0001180030000008ull);
1724 }
1725
1726 #define CVMX_DFA_MEMCFG1 CVMX_DFA_MEMCFG1_FUNC()
1727 static inline uint64_t CVMX_DFA_MEMCFG1_FUNC(void)
1728 {
1729 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1730     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1731         cvmx_warn("CVMX_DFA_MEMCFG1 not supported on this chip\n");
1732 #endif
1733     return CVMX_ADD_IO_SEG(0x0001180030000010ull);
1734 }
1735
1736 #define CVMX_DFA_MEMCFG2 CVMX_DFA_MEMCFG2_FUNC()
1737 static inline uint64_t CVMX_DFA_MEMCFG2_FUNC(void)
1738 {
1739 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1740     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1741         cvmx_warn("CVMX_DFA_MEMCFG2 not supported on this chip\n");
1742 #endif
1743     return CVMX_ADD_IO_SEG(0x0001180030000060ull);
1744 }
1745
1746 #define CVMX_DFA_MEMFADR CVMX_DFA_MEMFADR_FUNC()
1747 static inline uint64_t CVMX_DFA_MEMFADR_FUNC(void)
1748 {
1749 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1750     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1751         cvmx_warn("CVMX_DFA_MEMFADR not supported on this chip\n");
1752 #endif
1753     return CVMX_ADD_IO_SEG(0x0001180030000030ull);
1754 }
1755
1756 #define CVMX_DFA_MEMFCR CVMX_DFA_MEMFCR_FUNC()
1757 static inline uint64_t CVMX_DFA_MEMFCR_FUNC(void)
1758 {
1759 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1760     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1761         cvmx_warn("CVMX_DFA_MEMFCR not supported on this chip\n");
1762 #endif
1763     return CVMX_ADD_IO_SEG(0x0001180030000038ull);
1764 }
1765
1766 #define CVMX_DFA_MEMRLD CVMX_DFA_MEMRLD_FUNC()
1767 static inline uint64_t CVMX_DFA_MEMRLD_FUNC(void)
1768 {
1769 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1770     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1771         cvmx_warn("CVMX_DFA_MEMRLD not supported on this chip\n");
1772 #endif
1773     return CVMX_ADD_IO_SEG(0x0001180030000018ull);
1774 }
1775
1776 #define CVMX_DFA_NCBCTL CVMX_DFA_NCBCTL_FUNC()
1777 static inline uint64_t CVMX_DFA_NCBCTL_FUNC(void)
1778 {
1779 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1780     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1781         cvmx_warn("CVMX_DFA_NCBCTL not supported on this chip\n");
1782 #endif
1783     return CVMX_ADD_IO_SEG(0x0001180030000020ull);
1784 }
1785
1786 #define CVMX_DFA_RODT_COMP_CTL CVMX_DFA_RODT_COMP_CTL_FUNC()
1787 static inline uint64_t CVMX_DFA_RODT_COMP_CTL_FUNC(void)
1788 {
1789 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1790     if (!(OCTEON_IS_MODEL(OCTEON_CN58XX)))
1791         cvmx_warn("CVMX_DFA_RODT_COMP_CTL not supported on this chip\n");
1792 #endif
1793     return CVMX_ADD_IO_SEG(0x0001180030000068ull);
1794 }
1795
1796 #define CVMX_DFA_SBD_DBG0 CVMX_DFA_SBD_DBG0_FUNC()
1797 static inline uint64_t CVMX_DFA_SBD_DBG0_FUNC(void)
1798 {
1799 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1800     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1801         cvmx_warn("CVMX_DFA_SBD_DBG0 not supported on this chip\n");
1802 #endif
1803     return CVMX_ADD_IO_SEG(0x0001180030000040ull);
1804 }
1805
1806 #define CVMX_DFA_SBD_DBG1 CVMX_DFA_SBD_DBG1_FUNC()
1807 static inline uint64_t CVMX_DFA_SBD_DBG1_FUNC(void)
1808 {
1809 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1810     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1811         cvmx_warn("CVMX_DFA_SBD_DBG1 not supported on this chip\n");
1812 #endif
1813     return CVMX_ADD_IO_SEG(0x0001180030000048ull);
1814 }
1815
1816 #define CVMX_DFA_SBD_DBG2 CVMX_DFA_SBD_DBG2_FUNC()
1817 static inline uint64_t CVMX_DFA_SBD_DBG2_FUNC(void)
1818 {
1819 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1820     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1821         cvmx_warn("CVMX_DFA_SBD_DBG2 not supported on this chip\n");
1822 #endif
1823     return CVMX_ADD_IO_SEG(0x0001180030000050ull);
1824 }
1825
1826 #define CVMX_DFA_SBD_DBG3 CVMX_DFA_SBD_DBG3_FUNC()
1827 static inline uint64_t CVMX_DFA_SBD_DBG3_FUNC(void)
1828 {
1829 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1830     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1831         cvmx_warn("CVMX_DFA_SBD_DBG3 not supported on this chip\n");
1832 #endif
1833     return CVMX_ADD_IO_SEG(0x0001180030000058ull);
1834 }
1835
1836 #define CVMX_FPA_BIST_STATUS CVMX_FPA_BIST_STATUS_FUNC()
1837 static inline uint64_t CVMX_FPA_BIST_STATUS_FUNC(void)
1838 {
1839     return CVMX_ADD_IO_SEG(0x00011800280000E8ull);
1840 }
1841
1842 #define CVMX_FPA_CTL_STATUS CVMX_FPA_CTL_STATUS_FUNC()
1843 static inline uint64_t CVMX_FPA_CTL_STATUS_FUNC(void)
1844 {
1845     return CVMX_ADD_IO_SEG(0x0001180028000050ull);
1846 }
1847
1848 #define CVMX_FPA_FPF0_MARKS CVMX_FPA_FPF0_MARKS_FUNC()
1849 static inline uint64_t CVMX_FPA_FPF0_MARKS_FUNC(void)
1850 {
1851 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1852     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1853         cvmx_warn("CVMX_FPA_FPF0_MARKS not supported on this chip\n");
1854 #endif
1855     return CVMX_ADD_IO_SEG(0x0001180028000000ull);
1856 }
1857
1858 #define CVMX_FPA_FPF0_SIZE CVMX_FPA_FPF0_SIZE_FUNC()
1859 static inline uint64_t CVMX_FPA_FPF0_SIZE_FUNC(void)
1860 {
1861 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1862     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
1863         cvmx_warn("CVMX_FPA_FPF0_SIZE not supported on this chip\n");
1864 #endif
1865     return CVMX_ADD_IO_SEG(0x0001180028000058ull);
1866 }
1867
1868 #define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1)
1869 #define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2)
1870 #define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3)
1871 #define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4)
1872 #define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5)
1873 #define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6)
1874 #define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7)
1875 static inline uint64_t CVMX_FPA_FPFX_MARKS(unsigned long offset)
1876 {
1877 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1878     if (!(
1879         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 1) && (offset <= 7)))) ||
1880         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset >= 1) && (offset <= 7)))) ||
1881         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset >= 1) && (offset <= 7))))))
1882         cvmx_warn("CVMX_FPA_FPFX_MARKS(%lu) is invalid on this chip\n", offset);
1883 #endif
1884     return CVMX_ADD_IO_SEG(0x0001180028000008ull) + (offset&7)*8 - 8*1;
1885 }
1886
1887 static inline uint64_t CVMX_FPA_FPFX_SIZE(unsigned long offset)
1888 {
1889 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1890     if (!(
1891         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 1) && (offset <= 7)))) ||
1892         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset >= 1) && (offset <= 7)))) ||
1893         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset >= 1) && (offset <= 7))))))
1894         cvmx_warn("CVMX_FPA_FPFX_SIZE(%lu) is invalid on this chip\n", offset);
1895 #endif
1896     return CVMX_ADD_IO_SEG(0x0001180028000060ull) + (offset&7)*8 - 8*1;
1897 }
1898
1899 #define CVMX_FPA_INT_ENB CVMX_FPA_INT_ENB_FUNC()
1900 static inline uint64_t CVMX_FPA_INT_ENB_FUNC(void)
1901 {
1902     return CVMX_ADD_IO_SEG(0x0001180028000048ull);
1903 }
1904
1905 #define CVMX_FPA_INT_SUM CVMX_FPA_INT_SUM_FUNC()
1906 static inline uint64_t CVMX_FPA_INT_SUM_FUNC(void)
1907 {
1908     return CVMX_ADD_IO_SEG(0x0001180028000040ull);
1909 }
1910
1911 #define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0)
1912 #define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1)
1913 #define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2)
1914 #define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3)
1915 #define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4)
1916 #define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5)
1917 #define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6)
1918 #define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7)
1919 static inline uint64_t CVMX_FPA_QUEX_AVAILABLE(unsigned long offset)
1920 {
1921 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1922     if (!(
1923         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
1924         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
1925         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
1926         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
1927         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
1928         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
1929         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
1930         cvmx_warn("CVMX_FPA_QUEX_AVAILABLE(%lu) is invalid on this chip\n", offset);
1931 #endif
1932     return CVMX_ADD_IO_SEG(0x0001180028000098ull) + (offset&7)*8;
1933 }
1934
1935 static inline uint64_t CVMX_FPA_QUEX_PAGE_INDEX(unsigned long offset)
1936 {
1937 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1938     if (!(
1939         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
1940         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
1941         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
1942         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
1943         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
1944         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
1945         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
1946         cvmx_warn("CVMX_FPA_QUEX_PAGE_INDEX(%lu) is invalid on this chip\n", offset);
1947 #endif
1948     return CVMX_ADD_IO_SEG(0x00011800280000F0ull) + (offset&7)*8;
1949 }
1950
1951 #define CVMX_FPA_QUE_ACT CVMX_FPA_QUE_ACT_FUNC()
1952 static inline uint64_t CVMX_FPA_QUE_ACT_FUNC(void)
1953 {
1954     return CVMX_ADD_IO_SEG(0x0001180028000138ull);
1955 }
1956
1957 #define CVMX_FPA_QUE_EXP CVMX_FPA_QUE_EXP_FUNC()
1958 static inline uint64_t CVMX_FPA_QUE_EXP_FUNC(void)
1959 {
1960     return CVMX_ADD_IO_SEG(0x0001180028000130ull);
1961 }
1962
1963 #define CVMX_FPA_WART_CTL CVMX_FPA_WART_CTL_FUNC()
1964 static inline uint64_t CVMX_FPA_WART_CTL_FUNC(void)
1965 {
1966     return CVMX_ADD_IO_SEG(0x00011800280000D8ull);
1967 }
1968
1969 #define CVMX_FPA_WART_STATUS CVMX_FPA_WART_STATUS_FUNC()
1970 static inline uint64_t CVMX_FPA_WART_STATUS_FUNC(void)
1971 {
1972     return CVMX_ADD_IO_SEG(0x00011800280000E0ull);
1973 }
1974
1975 static inline uint64_t CVMX_GMXX_BAD_REG(unsigned long block_id)
1976 {
1977 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1978     if (!(
1979         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1980         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
1981         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
1982         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1983         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
1984         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
1985         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
1986         cvmx_warn("CVMX_GMXX_BAD_REG(%lu) is invalid on this chip\n", block_id);
1987 #endif
1988     return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id&1)*0x8000000ull;
1989 }
1990
1991 static inline uint64_t CVMX_GMXX_BIST(unsigned long block_id)
1992 {
1993 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
1994     if (!(
1995         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
1996         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
1997         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
1998         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
1999         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2000         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2001         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2002         cvmx_warn("CVMX_GMXX_BIST(%lu) is invalid on this chip\n", block_id);
2003 #endif
2004     return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id&1)*0x8000000ull;
2005 }
2006
2007 static inline uint64_t CVMX_GMXX_CLK_EN(unsigned long block_id)
2008 {
2009 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2010     if (!(
2011         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2012         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2013         cvmx_warn("CVMX_GMXX_CLK_EN(%lu) is invalid on this chip\n", block_id);
2014 #endif
2015     return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id&1)*0x8000000ull;
2016 }
2017
2018 static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
2019 {
2020 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2021     if (!(
2022         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2023         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2024         cvmx_warn("CVMX_GMXX_HG2_CONTROL(%lu) is invalid on this chip\n", block_id);
2025 #endif
2026     return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id&1)*0x8000000ull;
2027 }
2028
2029 static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
2030 {
2031 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2032     if (!(
2033         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2034         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2035         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
2036         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2037         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2038         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2039         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2040         cvmx_warn("CVMX_GMXX_INF_MODE(%lu) is invalid on this chip\n", block_id);
2041 #endif
2042     return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id&1)*0x8000000ull;
2043 }
2044
2045 static inline uint64_t CVMX_GMXX_NXA_ADR(unsigned long block_id)
2046 {
2047 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2048     if (!(
2049         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2050         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2051         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
2052         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2053         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2054         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2055         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2056         cvmx_warn("CVMX_GMXX_NXA_ADR(%lu) is invalid on this chip\n", block_id);
2057 #endif
2058     return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id&1)*0x8000000ull;
2059 }
2060
2061 static inline uint64_t CVMX_GMXX_PRTX_CBFC_CTL(unsigned long offset, unsigned long block_id)
2062 {
2063 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2064     if (!(
2065         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset == 0)) && ((block_id <= 1)))) ||
2066         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset == 0)) && ((block_id == 0))))))
2067         cvmx_warn("CVMX_GMXX_PRTX_CBFC_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2068 #endif
2069     return CVMX_ADD_IO_SEG(0x0001180008000580ull) + ((offset&0) + (block_id&1)*0x1000000ull)*8;
2070 }
2071
2072 static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
2073 {
2074 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2075     if (!(
2076         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2077         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2078         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2079         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2080         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2081         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2082         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2083         cvmx_warn("CVMX_GMXX_PRTX_CFG(%lu,%lu) is invalid on this chip\n", offset, block_id);
2084 #endif
2085     return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2086 }
2087
2088 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
2089 {
2090 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2091     if (!(
2092         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2093         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2094         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2095         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2096         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2097         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2098         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2099         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM0(%lu,%lu) is invalid on this chip\n", offset, block_id);
2100 #endif
2101     return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2102 }
2103
2104 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
2105 {
2106 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2107     if (!(
2108         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2109         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2110         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2111         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2112         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2113         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2114         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2115         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM1(%lu,%lu) is invalid on this chip\n", offset, block_id);
2116 #endif
2117     return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2118 }
2119
2120 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
2121 {
2122 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2123     if (!(
2124         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2125         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2126         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2127         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2128         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2129         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2130         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2131         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM2(%lu,%lu) is invalid on this chip\n", offset, block_id);
2132 #endif
2133     return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2134 }
2135
2136 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
2137 {
2138 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2139     if (!(
2140         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2141         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2142         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2143         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2144         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2145         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2146         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2147         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM3(%lu,%lu) is invalid on this chip\n", offset, block_id);
2148 #endif
2149     return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2150 }
2151
2152 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
2153 {
2154 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2155     if (!(
2156         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2157         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2158         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2159         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2160         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2161         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2162         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2163         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM4(%lu,%lu) is invalid on this chip\n", offset, block_id);
2164 #endif
2165     return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2166 }
2167
2168 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
2169 {
2170 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2171     if (!(
2172         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2173         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2174         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2175         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2176         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2177         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2178         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2179         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM5(%lu,%lu) is invalid on this chip\n", offset, block_id);
2180 #endif
2181     return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2182 }
2183
2184 static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
2185 {
2186 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2187     if (!(
2188         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2189         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2190         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2191         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2192         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2193         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2194         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2195         cvmx_warn("CVMX_GMXX_RXX_ADR_CAM_EN(%lu,%lu) is invalid on this chip\n", offset, block_id);
2196 #endif
2197     return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2198 }
2199
2200 static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
2201 {
2202 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2203     if (!(
2204         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2205         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2206         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2207         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2208         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2209         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2210         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2211         cvmx_warn("CVMX_GMXX_RXX_ADR_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2212 #endif
2213     return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2214 }
2215
2216 static inline uint64_t CVMX_GMXX_RXX_DECISION(unsigned long offset, unsigned long block_id)
2217 {
2218 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2219     if (!(
2220         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2221         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2222         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2223         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2224         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2225         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2226         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2227         cvmx_warn("CVMX_GMXX_RXX_DECISION(%lu,%lu) is invalid on this chip\n", offset, block_id);
2228 #endif
2229     return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2230 }
2231
2232 static inline uint64_t CVMX_GMXX_RXX_FRM_CHK(unsigned long offset, unsigned long block_id)
2233 {
2234 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2235     if (!(
2236         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2237         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2238         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2239         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2240         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2241         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2242         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2243         cvmx_warn("CVMX_GMXX_RXX_FRM_CHK(%lu,%lu) is invalid on this chip\n", offset, block_id);
2244 #endif
2245     return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2246 }
2247
2248 static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
2249 {
2250 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2251     if (!(
2252         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2253         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2254         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2255         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2256         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2257         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2258         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2259         cvmx_warn("CVMX_GMXX_RXX_FRM_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2260 #endif
2261     return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2262 }
2263
2264 static inline uint64_t CVMX_GMXX_RXX_FRM_MAX(unsigned long offset, unsigned long block_id)
2265 {
2266 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2267     if (!(
2268         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2269         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2270         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2271         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
2272         cvmx_warn("CVMX_GMXX_RXX_FRM_MAX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2273 #endif
2274     return CVMX_ADD_IO_SEG(0x0001180008000030ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2275 }
2276
2277 static inline uint64_t CVMX_GMXX_RXX_FRM_MIN(unsigned long offset, unsigned long block_id)
2278 {
2279 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2280     if (!(
2281         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2282         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2283         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2284         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
2285         cvmx_warn("CVMX_GMXX_RXX_FRM_MIN(%lu,%lu) is invalid on this chip\n", offset, block_id);
2286 #endif
2287     return CVMX_ADD_IO_SEG(0x0001180008000028ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2288 }
2289
2290 static inline uint64_t CVMX_GMXX_RXX_IFG(unsigned long offset, unsigned long block_id)
2291 {
2292 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2293     if (!(
2294         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2295         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2296         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2297         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2298         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2299         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2300         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2301         cvmx_warn("CVMX_GMXX_RXX_IFG(%lu,%lu) is invalid on this chip\n", offset, block_id);
2302 #endif
2303     return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2304 }
2305
2306 static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
2307 {
2308 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2309     if (!(
2310         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2311         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2312         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2313         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2314         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2315         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2316         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2317         cvmx_warn("CVMX_GMXX_RXX_INT_EN(%lu,%lu) is invalid on this chip\n", offset, block_id);
2318 #endif
2319     return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2320 }
2321
2322 static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
2323 {
2324 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2325     if (!(
2326         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2327         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2328         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2329         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2330         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2331         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2332         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2333         cvmx_warn("CVMX_GMXX_RXX_INT_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
2334 #endif
2335     return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2336 }
2337
2338 static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
2339 {
2340 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2341     if (!(
2342         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2343         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2344         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2345         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2346         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2347         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2348         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2349         cvmx_warn("CVMX_GMXX_RXX_JABBER(%lu,%lu) is invalid on this chip\n", offset, block_id);
2350 #endif
2351     return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2352 }
2353
2354 static inline uint64_t CVMX_GMXX_RXX_PAUSE_DROP_TIME(unsigned long offset, unsigned long block_id)
2355 {
2356 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2357     if (!(
2358         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2359         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2360         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2361         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2362         cvmx_warn("CVMX_GMXX_RXX_PAUSE_DROP_TIME(%lu,%lu) is invalid on this chip\n", offset, block_id);
2363 #endif
2364     return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2365 }
2366
2367 static inline uint64_t CVMX_GMXX_RXX_RX_INBND(unsigned long offset, unsigned long block_id)
2368 {
2369 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2370     if (!(
2371         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2372         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2373         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2374         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2375         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
2376         cvmx_warn("CVMX_GMXX_RXX_RX_INBND(%lu,%lu) is invalid on this chip\n", offset, block_id);
2377 #endif
2378     return CVMX_ADD_IO_SEG(0x0001180008000060ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2379 }
2380
2381 static inline uint64_t CVMX_GMXX_RXX_STATS_CTL(unsigned long offset, unsigned long block_id)
2382 {
2383 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2384     if (!(
2385         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2386         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2387         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2388         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2389         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2390         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2391         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2392         cvmx_warn("CVMX_GMXX_RXX_STATS_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2393 #endif
2394     return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2395 }
2396
2397 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS(unsigned long offset, unsigned long block_id)
2398 {
2399 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2400     if (!(
2401         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2402         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2403         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2404         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2405         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2406         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2407         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2408         cvmx_warn("CVMX_GMXX_RXX_STATS_OCTS(%lu,%lu) is invalid on this chip\n", offset, block_id);
2409 #endif
2410     return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2411 }
2412
2413 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_CTL(unsigned long offset, unsigned long block_id)
2414 {
2415 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2416     if (!(
2417         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2418         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2419         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2420         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2421         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2422         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2423         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2424         cvmx_warn("CVMX_GMXX_RXX_STATS_OCTS_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2425 #endif
2426     return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2427 }
2428
2429 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DMAC(unsigned long offset, unsigned long block_id)
2430 {
2431 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2432     if (!(
2433         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2434         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2435         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2436         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2437         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2438         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2439         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2440         cvmx_warn("CVMX_GMXX_RXX_STATS_OCTS_DMAC(%lu,%lu) is invalid on this chip\n", offset, block_id);
2441 #endif
2442     return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2443 }
2444
2445 static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DRP(unsigned long offset, unsigned long block_id)
2446 {
2447 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2448     if (!(
2449         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2450         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2451         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2452         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2453         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2454         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2455         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2456         cvmx_warn("CVMX_GMXX_RXX_STATS_OCTS_DRP(%lu,%lu) is invalid on this chip\n", offset, block_id);
2457 #endif
2458     return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2459 }
2460
2461 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS(unsigned long offset, unsigned long block_id)
2462 {
2463 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2464     if (!(
2465         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2466         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2467         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2468         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2469         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2470         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2471         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2472         cvmx_warn("CVMX_GMXX_RXX_STATS_PKTS(%lu,%lu) is invalid on this chip\n", offset, block_id);
2473 #endif
2474     return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2475 }
2476
2477 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_BAD(unsigned long offset, unsigned long block_id)
2478 {
2479 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2480     if (!(
2481         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2482         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2483         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2484         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2485         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2486         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2487         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2488         cvmx_warn("CVMX_GMXX_RXX_STATS_PKTS_BAD(%lu,%lu) is invalid on this chip\n", offset, block_id);
2489 #endif
2490     return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2491 }
2492
2493 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_CTL(unsigned long offset, unsigned long block_id)
2494 {
2495 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2496     if (!(
2497         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2498         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2499         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2500         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2501         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2502         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2503         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2504         cvmx_warn("CVMX_GMXX_RXX_STATS_PKTS_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2505 #endif
2506     return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2507 }
2508
2509 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DMAC(unsigned long offset, unsigned long block_id)
2510 {
2511 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2512     if (!(
2513         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2514         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2515         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2516         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2517         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2518         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2519         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2520         cvmx_warn("CVMX_GMXX_RXX_STATS_PKTS_DMAC(%lu,%lu) is invalid on this chip\n", offset, block_id);
2521 #endif
2522     return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2523 }
2524
2525 static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DRP(unsigned long offset, unsigned long block_id)
2526 {
2527 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2528     if (!(
2529         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2530         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2531         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2532         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2533         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2534         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2535         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2536         cvmx_warn("CVMX_GMXX_RXX_STATS_PKTS_DRP(%lu,%lu) is invalid on this chip\n", offset, block_id);
2537 #endif
2538     return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2539 }
2540
2541 static inline uint64_t CVMX_GMXX_RXX_UDD_SKP(unsigned long offset, unsigned long block_id)
2542 {
2543 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2544     if (!(
2545         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2546         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2547         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2548         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2549         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2550         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2551         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2552         cvmx_warn("CVMX_GMXX_RXX_UDD_SKP(%lu,%lu) is invalid on this chip\n", offset, block_id);
2553 #endif
2554     return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2555 }
2556
2557 static inline uint64_t CVMX_GMXX_RX_BP_DROPX(unsigned long offset, unsigned long block_id)
2558 {
2559 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2560     if (!(
2561         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2562         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2563         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2564         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2565         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2566         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2567         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2568         cvmx_warn("CVMX_GMXX_RX_BP_DROPX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2569 #endif
2570     return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
2571 }
2572
2573 static inline uint64_t CVMX_GMXX_RX_BP_OFFX(unsigned long offset, unsigned long block_id)
2574 {
2575 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2576     if (!(
2577         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2578         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2579         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2580         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2581         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2582         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2583         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2584         cvmx_warn("CVMX_GMXX_RX_BP_OFFX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2585 #endif
2586     return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
2587 }
2588
2589 static inline uint64_t CVMX_GMXX_RX_BP_ONX(unsigned long offset, unsigned long block_id)
2590 {
2591 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2592     if (!(
2593         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2594         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2595         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2596         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2597         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2598         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2599         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2600         cvmx_warn("CVMX_GMXX_RX_BP_ONX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2601 #endif
2602     return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset&3) + (block_id&1)*0x1000000ull)*8;
2603 }
2604
2605 static inline uint64_t CVMX_GMXX_RX_HG2_STATUS(unsigned long block_id)
2606 {
2607 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2608     if (!(
2609         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2610         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2611         cvmx_warn("CVMX_GMXX_RX_HG2_STATUS(%lu) is invalid on this chip\n", block_id);
2612 #endif
2613     return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id&1)*0x8000000ull;
2614 }
2615
2616 static inline uint64_t CVMX_GMXX_RX_PASS_EN(unsigned long block_id)
2617 {
2618 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2619     if (!(
2620         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2621         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
2622         cvmx_warn("CVMX_GMXX_RX_PASS_EN(%lu) is invalid on this chip\n", block_id);
2623 #endif
2624     return CVMX_ADD_IO_SEG(0x00011800080005F8ull) + (block_id&1)*0x8000000ull;
2625 }
2626
2627 static inline uint64_t CVMX_GMXX_RX_PASS_MAPX(unsigned long offset, unsigned long block_id)
2628 {
2629 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2630     if (!(
2631         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 15)) && ((block_id <= 1)))) ||
2632         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 15)) && ((block_id <= 1))))))
2633         cvmx_warn("CVMX_GMXX_RX_PASS_MAPX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2634 #endif
2635     return CVMX_ADD_IO_SEG(0x0001180008000600ull) + ((offset&15) + (block_id&1)*0x1000000ull)*8;
2636 }
2637
2638 static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id)
2639 {
2640 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2641     if (!(
2642         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2643         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2644         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
2645         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2646         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2647         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2648         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2649         cvmx_warn("CVMX_GMXX_RX_PRTS(%lu) is invalid on this chip\n", block_id);
2650 #endif
2651     return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id&1)*0x8000000ull;
2652 }
2653
2654 static inline uint64_t CVMX_GMXX_RX_PRT_INFO(unsigned long block_id)
2655 {
2656 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2657     if (!(
2658         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2659         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
2660         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2661         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2662         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2663         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2664         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2665         cvmx_warn("CVMX_GMXX_RX_PRT_INFO(%lu) is invalid on this chip\n", block_id);
2666 #endif
2667     return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id&1)*0x8000000ull;
2668 }
2669
2670 static inline uint64_t CVMX_GMXX_RX_TX_STATUS(unsigned long block_id)
2671 {
2672 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2673     if (!(
2674         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2675         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2676         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0)))))
2677         cvmx_warn("CVMX_GMXX_RX_TX_STATUS(%lu) is invalid on this chip\n", block_id);
2678 #endif
2679     return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id&0)*0x8000000ull;
2680 }
2681
2682 static inline uint64_t CVMX_GMXX_RX_XAUI_BAD_COL(unsigned long block_id)
2683 {
2684 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2685     if (!(
2686         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2687         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2688         cvmx_warn("CVMX_GMXX_RX_XAUI_BAD_COL(%lu) is invalid on this chip\n", block_id);
2689 #endif
2690     return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id&1)*0x8000000ull;
2691 }
2692
2693 static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id)
2694 {
2695 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2696     if (!(
2697         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2698         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2699         cvmx_warn("CVMX_GMXX_RX_XAUI_CTL(%lu) is invalid on this chip\n", block_id);
2700 #endif
2701     return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id&1)*0x8000000ull;
2702 }
2703
2704 static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
2705 {
2706 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2707     if (!(
2708         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2709         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2710         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2711         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2712         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2713         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2714         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2715         cvmx_warn("CVMX_GMXX_SMACX(%lu,%lu) is invalid on this chip\n", offset, block_id);
2716 #endif
2717     return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2718 }
2719
2720 static inline uint64_t CVMX_GMXX_STAT_BP(unsigned long block_id)
2721 {
2722 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2723     if (!(
2724         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
2725         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
2726         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
2727         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
2728         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
2729         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
2730         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
2731         cvmx_warn("CVMX_GMXX_STAT_BP(%lu) is invalid on this chip\n", block_id);
2732 #endif
2733     return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id&1)*0x8000000ull;
2734 }
2735
2736 static inline uint64_t CVMX_GMXX_TXX_APPEND(unsigned long offset, unsigned long block_id)
2737 {
2738 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2739     if (!(
2740         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2741         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2742         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2743         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2744         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2745         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2746         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2747         cvmx_warn("CVMX_GMXX_TXX_APPEND(%lu,%lu) is invalid on this chip\n", offset, block_id);
2748 #endif
2749     return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2750 }
2751
2752 static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
2753 {
2754 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2755     if (!(
2756         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2757         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2758         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2759         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2760         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2761         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2762         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2763         cvmx_warn("CVMX_GMXX_TXX_BURST(%lu,%lu) is invalid on this chip\n", offset, block_id);
2764 #endif
2765     return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2766 }
2767
2768 static inline uint64_t CVMX_GMXX_TXX_CBFC_XOFF(unsigned long offset, unsigned long block_id)
2769 {
2770 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2771     if (!(
2772         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset == 0)) && ((block_id <= 1)))) ||
2773         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset == 0)) && ((block_id == 0))))))
2774         cvmx_warn("CVMX_GMXX_TXX_CBFC_XOFF(%lu,%lu) is invalid on this chip\n", offset, block_id);
2775 #endif
2776     return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + ((offset&0) + (block_id&1)*0x1000000ull)*8;
2777 }
2778
2779 static inline uint64_t CVMX_GMXX_TXX_CBFC_XON(unsigned long offset, unsigned long block_id)
2780 {
2781 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2782     if (!(
2783         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset == 0)) && ((block_id <= 1)))) ||
2784         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset == 0)) && ((block_id == 0))))))
2785         cvmx_warn("CVMX_GMXX_TXX_CBFC_XON(%lu,%lu) is invalid on this chip\n", offset, block_id);
2786 #endif
2787     return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + ((offset&0) + (block_id&1)*0x1000000ull)*8;
2788 }
2789
2790 static inline uint64_t CVMX_GMXX_TXX_CLK(unsigned long offset, unsigned long block_id)
2791 {
2792 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2793     if (!(
2794         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2795         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2796         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2797         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2798         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1))))))
2799         cvmx_warn("CVMX_GMXX_TXX_CLK(%lu,%lu) is invalid on this chip\n", offset, block_id);
2800 #endif
2801     return CVMX_ADD_IO_SEG(0x0001180008000208ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2802 }
2803
2804 static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
2805 {
2806 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2807     if (!(
2808         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2809         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2810         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2811         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2812         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2813         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2814         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2815         cvmx_warn("CVMX_GMXX_TXX_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2816 #endif
2817     return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2818 }
2819
2820 static inline uint64_t CVMX_GMXX_TXX_MIN_PKT(unsigned long offset, unsigned long block_id)
2821 {
2822 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2823     if (!(
2824         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2825         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2826         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2827         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2828         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2829         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2830         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2831         cvmx_warn("CVMX_GMXX_TXX_MIN_PKT(%lu,%lu) is invalid on this chip\n", offset, block_id);
2832 #endif
2833     return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2834 }
2835
2836 static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
2837 {
2838 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2839     if (!(
2840         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2841         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2842         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2843         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2844         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2845         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2846         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2847         cvmx_warn("CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2848 #endif
2849     return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2850 }
2851
2852 static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
2853 {
2854 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2855     if (!(
2856         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2857         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2858         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2859         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2860         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2861         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2862         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2863         cvmx_warn("CVMX_GMXX_TXX_PAUSE_PKT_TIME(%lu,%lu) is invalid on this chip\n", offset, block_id);
2864 #endif
2865     return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2866 }
2867
2868 static inline uint64_t CVMX_GMXX_TXX_PAUSE_TOGO(unsigned long offset, unsigned long block_id)
2869 {
2870 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2871     if (!(
2872         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2873         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2874         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2875         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2876         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2877         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2878         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2879         cvmx_warn("CVMX_GMXX_TXX_PAUSE_TOGO(%lu,%lu) is invalid on this chip\n", offset, block_id);
2880 #endif
2881     return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2882 }
2883
2884 static inline uint64_t CVMX_GMXX_TXX_PAUSE_ZERO(unsigned long offset, unsigned long block_id)
2885 {
2886 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2887     if (!(
2888         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2889         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2890         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2891         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2892         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2893         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2894         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2895         cvmx_warn("CVMX_GMXX_TXX_PAUSE_ZERO(%lu,%lu) is invalid on this chip\n", offset, block_id);
2896 #endif
2897     return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2898 }
2899
2900 static inline uint64_t CVMX_GMXX_TXX_SGMII_CTL(unsigned long offset, unsigned long block_id)
2901 {
2902 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2903     if (!(
2904         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2905         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2906         cvmx_warn("CVMX_GMXX_TXX_SGMII_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
2907 #endif
2908     return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2909 }
2910
2911 static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
2912 {
2913 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2914     if (!(
2915         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2916         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2917         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2918         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2919         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2920         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2921         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2922         cvmx_warn("CVMX_GMXX_TXX_SLOT(%lu,%lu) is invalid on this chip\n", offset, block_id);
2923 #endif
2924     return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2925 }
2926
2927 static inline uint64_t CVMX_GMXX_TXX_SOFT_PAUSE(unsigned long offset, unsigned long block_id)
2928 {
2929 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2930     if (!(
2931         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2932         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2933         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2934         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2935         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2936         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2937         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2938         cvmx_warn("CVMX_GMXX_TXX_SOFT_PAUSE(%lu,%lu) is invalid on this chip\n", offset, block_id);
2939 #endif
2940     return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2941 }
2942
2943 static inline uint64_t CVMX_GMXX_TXX_STAT0(unsigned long offset, unsigned long block_id)
2944 {
2945 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2946     if (!(
2947         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2948         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2949         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2950         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2951         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2952         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2953         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2954         cvmx_warn("CVMX_GMXX_TXX_STAT0(%lu,%lu) is invalid on this chip\n", offset, block_id);
2955 #endif
2956     return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2957 }
2958
2959 static inline uint64_t CVMX_GMXX_TXX_STAT1(unsigned long offset, unsigned long block_id)
2960 {
2961 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2962     if (!(
2963         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2964         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2965         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2966         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2967         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2968         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2969         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2970         cvmx_warn("CVMX_GMXX_TXX_STAT1(%lu,%lu) is invalid on this chip\n", offset, block_id);
2971 #endif
2972     return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2973 }
2974
2975 static inline uint64_t CVMX_GMXX_TXX_STAT2(unsigned long offset, unsigned long block_id)
2976 {
2977 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2978     if (!(
2979         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2980         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2981         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2982         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2983         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2984         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2985         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
2986         cvmx_warn("CVMX_GMXX_TXX_STAT2(%lu,%lu) is invalid on this chip\n", offset, block_id);
2987 #endif
2988     return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
2989 }
2990
2991 static inline uint64_t CVMX_GMXX_TXX_STAT3(unsigned long offset, unsigned long block_id)
2992 {
2993 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
2994     if (!(
2995         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2996         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2997         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
2998         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
2999         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3000         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3001         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3002         cvmx_warn("CVMX_GMXX_TXX_STAT3(%lu,%lu) is invalid on this chip\n", offset, block_id);
3003 #endif
3004     return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3005 }
3006
3007 static inline uint64_t CVMX_GMXX_TXX_STAT4(unsigned long offset, unsigned long block_id)
3008 {
3009 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3010     if (!(
3011         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3012         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3013         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3014         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3015         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3016         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3017         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3018         cvmx_warn("CVMX_GMXX_TXX_STAT4(%lu,%lu) is invalid on this chip\n", offset, block_id);
3019 #endif
3020     return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3021 }
3022
3023 static inline uint64_t CVMX_GMXX_TXX_STAT5(unsigned long offset, unsigned long block_id)
3024 {
3025 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3026     if (!(
3027         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3028         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3029         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3030         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3031         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3032         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3033         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3034         cvmx_warn("CVMX_GMXX_TXX_STAT5(%lu,%lu) is invalid on this chip\n", offset, block_id);
3035 #endif
3036     return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3037 }
3038
3039 static inline uint64_t CVMX_GMXX_TXX_STAT6(unsigned long offset, unsigned long block_id)
3040 {
3041 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3042     if (!(
3043         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3044         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3045         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3046         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3047         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3048         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3049         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3050         cvmx_warn("CVMX_GMXX_TXX_STAT6(%lu,%lu) is invalid on this chip\n", offset, block_id);
3051 #endif
3052     return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3053 }
3054
3055 static inline uint64_t CVMX_GMXX_TXX_STAT7(unsigned long offset, unsigned long block_id)
3056 {
3057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3058     if (!(
3059         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3060         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3061         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3062         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3063         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3064         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3065         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3066         cvmx_warn("CVMX_GMXX_TXX_STAT7(%lu,%lu) is invalid on this chip\n", offset, block_id);
3067 #endif
3068     return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3069 }
3070
3071 static inline uint64_t CVMX_GMXX_TXX_STAT8(unsigned long offset, unsigned long block_id)
3072 {
3073 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3074     if (!(
3075         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3076         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3077         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3078         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3079         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3080         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3081         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3082         cvmx_warn("CVMX_GMXX_TXX_STAT8(%lu,%lu) is invalid on this chip\n", offset, block_id);
3083 #endif
3084     return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3085 }
3086
3087 static inline uint64_t CVMX_GMXX_TXX_STAT9(unsigned long offset, unsigned long block_id)
3088 {
3089 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3090     if (!(
3091         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3092         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3093         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3094         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3095         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3096         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3097         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3098         cvmx_warn("CVMX_GMXX_TXX_STAT9(%lu,%lu) is invalid on this chip\n", offset, block_id);
3099 #endif
3100     return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3101 }
3102
3103 static inline uint64_t CVMX_GMXX_TXX_STATS_CTL(unsigned long offset, unsigned long block_id)
3104 {
3105 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3106     if (!(
3107         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3108         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3109         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3110         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3111         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3112         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3113         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3114         cvmx_warn("CVMX_GMXX_TXX_STATS_CTL(%lu,%lu) is invalid on this chip\n", offset, block_id);
3115 #endif
3116     return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3117 }
3118
3119 static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
3120 {
3121 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3122     if (!(
3123         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3124         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3125         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3126         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3127         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 2)) && ((block_id == 0)))) ||
3128         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
3129         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
3130         cvmx_warn("CVMX_GMXX_TXX_THRESH(%lu,%lu) is invalid on this chip\n", offset, block_id);
3131 #endif
3132     return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset&3) + (block_id&1)*0x10000ull)*2048;
3133 }
3134
3135 static inline uint64_t CVMX_GMXX_TX_BP(unsigned long block_id)
3136 {
3137 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3138     if (!(
3139         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3140         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3141         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3142         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3143         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3144         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3145         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3146         cvmx_warn("CVMX_GMXX_TX_BP(%lu) is invalid on this chip\n", block_id);
3147 #endif
3148     return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id&1)*0x8000000ull;
3149 }
3150
3151 static inline uint64_t CVMX_GMXX_TX_CLK_MSKX(unsigned long offset, unsigned long block_id)
3152 {
3153 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3154     if (!(
3155         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 1)) && ((block_id == 0)))) ||
3156         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 1)) && ((block_id == 0))))))
3157         cvmx_warn("CVMX_GMXX_TX_CLK_MSKX(%lu,%lu) is invalid on this chip\n", offset, block_id);
3158 #endif
3159     return CVMX_ADD_IO_SEG(0x0001180008000780ull) + ((offset&1) + (block_id&0)*0x0ull)*8;
3160 }
3161
3162 static inline uint64_t CVMX_GMXX_TX_COL_ATTEMPT(unsigned long block_id)
3163 {
3164 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3165     if (!(
3166         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3167         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3168         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3169         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3170         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3171         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3172         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3173         cvmx_warn("CVMX_GMXX_TX_COL_ATTEMPT(%lu) is invalid on this chip\n", block_id);
3174 #endif
3175     return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id&1)*0x8000000ull;
3176 }
3177
3178 static inline uint64_t CVMX_GMXX_TX_CORRUPT(unsigned long block_id)
3179 {
3180 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3181     if (!(
3182         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3183         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3184         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3185         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3186         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3187         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3188         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3189         cvmx_warn("CVMX_GMXX_TX_CORRUPT(%lu) is invalid on this chip\n", block_id);
3190 #endif
3191     return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id&1)*0x8000000ull;
3192 }
3193
3194 static inline uint64_t CVMX_GMXX_TX_HG2_REG1(unsigned long block_id)
3195 {
3196 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3197     if (!(
3198         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3199         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3200         cvmx_warn("CVMX_GMXX_TX_HG2_REG1(%lu) is invalid on this chip\n", block_id);
3201 #endif
3202     return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id&1)*0x8000000ull;
3203 }
3204
3205 static inline uint64_t CVMX_GMXX_TX_HG2_REG2(unsigned long block_id)
3206 {
3207 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3208     if (!(
3209         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3210         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3211         cvmx_warn("CVMX_GMXX_TX_HG2_REG2(%lu) is invalid on this chip\n", block_id);
3212 #endif
3213     return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id&1)*0x8000000ull;
3214 }
3215
3216 static inline uint64_t CVMX_GMXX_TX_IFG(unsigned long block_id)
3217 {
3218 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3219     if (!(
3220         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3221         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3222         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3223         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3224         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3225         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3226         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3227         cvmx_warn("CVMX_GMXX_TX_IFG(%lu) is invalid on this chip\n", block_id);
3228 #endif
3229     return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id&1)*0x8000000ull;
3230 }
3231
3232 static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id)
3233 {
3234 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3235     if (!(
3236         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3237         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3238         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3239         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3240         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3241         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3242         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3243         cvmx_warn("CVMX_GMXX_TX_INT_EN(%lu) is invalid on this chip\n", block_id);
3244 #endif
3245     return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id&1)*0x8000000ull;
3246 }
3247
3248 static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id)
3249 {
3250 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3251     if (!(
3252         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3253         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3254         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3255         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3256         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3257         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3258         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3259         cvmx_warn("CVMX_GMXX_TX_INT_REG(%lu) is invalid on this chip\n", block_id);
3260 #endif
3261     return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id&1)*0x8000000ull;
3262 }
3263
3264 static inline uint64_t CVMX_GMXX_TX_JAM(unsigned long block_id)
3265 {
3266 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3267     if (!(
3268         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3269         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3270         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3271         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3272         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3273         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3274         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3275         cvmx_warn("CVMX_GMXX_TX_JAM(%lu) is invalid on this chip\n", block_id);
3276 #endif
3277     return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id&1)*0x8000000ull;
3278 }
3279
3280 static inline uint64_t CVMX_GMXX_TX_LFSR(unsigned long block_id)
3281 {
3282 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3283     if (!(
3284         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3285         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3286         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3287         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3288         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3289         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3290         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3291         cvmx_warn("CVMX_GMXX_TX_LFSR(%lu) is invalid on this chip\n", block_id);
3292 #endif
3293     return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id&1)*0x8000000ull;
3294 }
3295
3296 static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id)
3297 {
3298 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3299     if (!(
3300         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3301         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3302         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3303         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3304         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3305         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3306         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3307         cvmx_warn("CVMX_GMXX_TX_OVR_BP(%lu) is invalid on this chip\n", block_id);
3308 #endif
3309     return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id&1)*0x8000000ull;
3310 }
3311
3312 static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_DMAC(unsigned long block_id)
3313 {
3314 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3315     if (!(
3316         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3317         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3318         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3319         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3320         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3321         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3322         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3323         cvmx_warn("CVMX_GMXX_TX_PAUSE_PKT_DMAC(%lu) is invalid on this chip\n", block_id);
3324 #endif
3325     return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id&1)*0x8000000ull;
3326 }
3327
3328 static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_TYPE(unsigned long block_id)
3329 {
3330 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3331     if (!(
3332         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3333         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3334         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3335         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3336         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3337         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3338         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3339         cvmx_warn("CVMX_GMXX_TX_PAUSE_PKT_TYPE(%lu) is invalid on this chip\n", block_id);
3340 #endif
3341     return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id&1)*0x8000000ull;
3342 }
3343
3344 static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id)
3345 {
3346 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3347     if (!(
3348         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3349         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
3350         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
3351         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3352         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
3353         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1))) ||
3354         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3355         cvmx_warn("CVMX_GMXX_TX_PRTS(%lu) is invalid on this chip\n", block_id);
3356 #endif
3357     return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id&1)*0x8000000ull;
3358 }
3359
3360 static inline uint64_t CVMX_GMXX_TX_SPI_CTL(unsigned long block_id)
3361 {
3362 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3363     if (!(
3364         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3365         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
3366         cvmx_warn("CVMX_GMXX_TX_SPI_CTL(%lu) is invalid on this chip\n", block_id);
3367 #endif
3368     return CVMX_ADD_IO_SEG(0x00011800080004C0ull) + (block_id&1)*0x8000000ull;
3369 }
3370
3371 static inline uint64_t CVMX_GMXX_TX_SPI_DRAIN(unsigned long block_id)
3372 {
3373 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3374     if (!(
3375         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3376         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
3377         cvmx_warn("CVMX_GMXX_TX_SPI_DRAIN(%lu) is invalid on this chip\n", block_id);
3378 #endif
3379     return CVMX_ADD_IO_SEG(0x00011800080004E0ull) + (block_id&1)*0x8000000ull;
3380 }
3381
3382 static inline uint64_t CVMX_GMXX_TX_SPI_MAX(unsigned long block_id)
3383 {
3384 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3385     if (!(
3386         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3387         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
3388         cvmx_warn("CVMX_GMXX_TX_SPI_MAX(%lu) is invalid on this chip\n", block_id);
3389 #endif
3390     return CVMX_ADD_IO_SEG(0x00011800080004B0ull) + (block_id&1)*0x8000000ull;
3391 }
3392
3393 static inline uint64_t CVMX_GMXX_TX_SPI_ROUNDX(unsigned long offset, unsigned long block_id)
3394 {
3395 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3396     if (!(
3397         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 31)) && ((block_id <= 1))))))
3398         cvmx_warn("CVMX_GMXX_TX_SPI_ROUNDX(%lu,%lu) is invalid on this chip\n", offset, block_id);
3399 #endif
3400     return CVMX_ADD_IO_SEG(0x0001180008000680ull) + ((offset&31) + (block_id&1)*0x1000000ull)*8;
3401 }
3402
3403 static inline uint64_t CVMX_GMXX_TX_SPI_THRESH(unsigned long block_id)
3404 {
3405 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3406     if (!(
3407         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
3408         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
3409         cvmx_warn("CVMX_GMXX_TX_SPI_THRESH(%lu) is invalid on this chip\n", block_id);
3410 #endif
3411     return CVMX_ADD_IO_SEG(0x00011800080004B8ull) + (block_id&1)*0x8000000ull;
3412 }
3413
3414 static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id)
3415 {
3416 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3417     if (!(
3418         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3419         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3420         cvmx_warn("CVMX_GMXX_TX_XAUI_CTL(%lu) is invalid on this chip\n", block_id);
3421 #endif
3422     return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id&1)*0x8000000ull;
3423 }
3424
3425 static inline uint64_t CVMX_GMXX_XAUI_EXT_LOOPBACK(unsigned long block_id)
3426 {
3427 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3428     if (!(
3429         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
3430         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
3431         cvmx_warn("CVMX_GMXX_XAUI_EXT_LOOPBACK(%lu) is invalid on this chip\n", block_id);
3432 #endif
3433     return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id&1)*0x8000000ull;
3434 }
3435
3436 static inline uint64_t CVMX_GPIO_BIT_CFGX(unsigned long offset)
3437 {
3438 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3439     if (!(
3440         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 15))) ||
3441         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 15))) ||
3442         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 15))) ||
3443         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
3444         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 15))) ||
3445         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
3446         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 15)))))
3447         cvmx_warn("CVMX_GPIO_BIT_CFGX(%lu) is invalid on this chip\n", offset);
3448 #endif
3449     return CVMX_ADD_IO_SEG(0x0001070000000800ull) + (offset&15)*8;
3450 }
3451
3452 #define CVMX_GPIO_BOOT_ENA CVMX_GPIO_BOOT_ENA_FUNC()
3453 static inline uint64_t CVMX_GPIO_BOOT_ENA_FUNC(void)
3454 {
3455 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3456     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN50XX)))
3457         cvmx_warn("CVMX_GPIO_BOOT_ENA not supported on this chip\n");
3458 #endif
3459     return CVMX_ADD_IO_SEG(0x00010700000008A8ull);
3460 }
3461
3462 static inline uint64_t CVMX_GPIO_CLK_GENX(unsigned long offset)
3463 {
3464 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3465     if (!(
3466         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
3467         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
3468         cvmx_warn("CVMX_GPIO_CLK_GENX(%lu) is invalid on this chip\n", offset);
3469 #endif
3470     return CVMX_ADD_IO_SEG(0x00010700000008C0ull) + (offset&3)*8;
3471 }
3472
3473 #define CVMX_GPIO_DBG_ENA CVMX_GPIO_DBG_ENA_FUNC()
3474 static inline uint64_t CVMX_GPIO_DBG_ENA_FUNC(void)
3475 {
3476 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3477     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN50XX)))
3478         cvmx_warn("CVMX_GPIO_DBG_ENA not supported on this chip\n");
3479 #endif
3480     return CVMX_ADD_IO_SEG(0x00010700000008A0ull);
3481 }
3482
3483 #define CVMX_GPIO_INT_CLR CVMX_GPIO_INT_CLR_FUNC()
3484 static inline uint64_t CVMX_GPIO_INT_CLR_FUNC(void)
3485 {
3486     return CVMX_ADD_IO_SEG(0x0001070000000898ull);
3487 }
3488
3489 #define CVMX_GPIO_RX_DAT CVMX_GPIO_RX_DAT_FUNC()
3490 static inline uint64_t CVMX_GPIO_RX_DAT_FUNC(void)
3491 {
3492     return CVMX_ADD_IO_SEG(0x0001070000000880ull);
3493 }
3494
3495 #define CVMX_GPIO_TX_CLR CVMX_GPIO_TX_CLR_FUNC()
3496 static inline uint64_t CVMX_GPIO_TX_CLR_FUNC(void)
3497 {
3498     return CVMX_ADD_IO_SEG(0x0001070000000890ull);
3499 }
3500
3501 #define CVMX_GPIO_TX_SET CVMX_GPIO_TX_SET_FUNC()
3502 static inline uint64_t CVMX_GPIO_TX_SET_FUNC(void)
3503 {
3504     return CVMX_ADD_IO_SEG(0x0001070000000888ull);
3505 }
3506
3507 static inline uint64_t CVMX_GPIO_XBIT_CFGX(unsigned long offset)
3508 {
3509 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3510     if (!(
3511         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset >= 16) && (offset <= 23)))) ||
3512         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset >= 16) && (offset <= 23)))) ||
3513         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset >= 16) && (offset <= 23))))))
3514         cvmx_warn("CVMX_GPIO_XBIT_CFGX(%lu) is invalid on this chip\n", offset);
3515 #endif
3516     return CVMX_ADD_IO_SEG(0x0001070000000900ull) + (offset&31)*8 - 8*16;
3517 }
3518
3519 #define CVMX_IOB_BIST_STATUS CVMX_IOB_BIST_STATUS_FUNC()
3520 static inline uint64_t CVMX_IOB_BIST_STATUS_FUNC(void)
3521 {
3522     return CVMX_ADD_IO_SEG(0x00011800F00007F8ull);
3523 }
3524
3525 #define CVMX_IOB_CTL_STATUS CVMX_IOB_CTL_STATUS_FUNC()
3526 static inline uint64_t CVMX_IOB_CTL_STATUS_FUNC(void)
3527 {
3528     return CVMX_ADD_IO_SEG(0x00011800F0000050ull);
3529 }
3530
3531 #define CVMX_IOB_DWB_PRI_CNT CVMX_IOB_DWB_PRI_CNT_FUNC()
3532 static inline uint64_t CVMX_IOB_DWB_PRI_CNT_FUNC(void)
3533 {
3534 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3535     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3536         cvmx_warn("CVMX_IOB_DWB_PRI_CNT not supported on this chip\n");
3537 #endif
3538     return CVMX_ADD_IO_SEG(0x00011800F0000028ull);
3539 }
3540
3541 #define CVMX_IOB_FAU_TIMEOUT CVMX_IOB_FAU_TIMEOUT_FUNC()
3542 static inline uint64_t CVMX_IOB_FAU_TIMEOUT_FUNC(void)
3543 {
3544     return CVMX_ADD_IO_SEG(0x00011800F0000000ull);
3545 }
3546
3547 #define CVMX_IOB_I2C_PRI_CNT CVMX_IOB_I2C_PRI_CNT_FUNC()
3548 static inline uint64_t CVMX_IOB_I2C_PRI_CNT_FUNC(void)
3549 {
3550 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3551     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3552         cvmx_warn("CVMX_IOB_I2C_PRI_CNT not supported on this chip\n");
3553 #endif
3554     return CVMX_ADD_IO_SEG(0x00011800F0000010ull);
3555 }
3556
3557 #define CVMX_IOB_INB_CONTROL_MATCH CVMX_IOB_INB_CONTROL_MATCH_FUNC()
3558 static inline uint64_t CVMX_IOB_INB_CONTROL_MATCH_FUNC(void)
3559 {
3560     return CVMX_ADD_IO_SEG(0x00011800F0000078ull);
3561 }
3562
3563 #define CVMX_IOB_INB_CONTROL_MATCH_ENB CVMX_IOB_INB_CONTROL_MATCH_ENB_FUNC()
3564 static inline uint64_t CVMX_IOB_INB_CONTROL_MATCH_ENB_FUNC(void)
3565 {
3566     return CVMX_ADD_IO_SEG(0x00011800F0000088ull);
3567 }
3568
3569 #define CVMX_IOB_INB_DATA_MATCH CVMX_IOB_INB_DATA_MATCH_FUNC()
3570 static inline uint64_t CVMX_IOB_INB_DATA_MATCH_FUNC(void)
3571 {
3572     return CVMX_ADD_IO_SEG(0x00011800F0000070ull);
3573 }
3574
3575 #define CVMX_IOB_INB_DATA_MATCH_ENB CVMX_IOB_INB_DATA_MATCH_ENB_FUNC()
3576 static inline uint64_t CVMX_IOB_INB_DATA_MATCH_ENB_FUNC(void)
3577 {
3578     return CVMX_ADD_IO_SEG(0x00011800F0000080ull);
3579 }
3580
3581 #define CVMX_IOB_INT_ENB CVMX_IOB_INT_ENB_FUNC()
3582 static inline uint64_t CVMX_IOB_INT_ENB_FUNC(void)
3583 {
3584     return CVMX_ADD_IO_SEG(0x00011800F0000060ull);
3585 }
3586
3587 #define CVMX_IOB_INT_SUM CVMX_IOB_INT_SUM_FUNC()
3588 static inline uint64_t CVMX_IOB_INT_SUM_FUNC(void)
3589 {
3590     return CVMX_ADD_IO_SEG(0x00011800F0000058ull);
3591 }
3592
3593 #define CVMX_IOB_N2C_L2C_PRI_CNT CVMX_IOB_N2C_L2C_PRI_CNT_FUNC()
3594 static inline uint64_t CVMX_IOB_N2C_L2C_PRI_CNT_FUNC(void)
3595 {
3596 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3597     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3598         cvmx_warn("CVMX_IOB_N2C_L2C_PRI_CNT not supported on this chip\n");
3599 #endif
3600     return CVMX_ADD_IO_SEG(0x00011800F0000020ull);
3601 }
3602
3603 #define CVMX_IOB_N2C_RSP_PRI_CNT CVMX_IOB_N2C_RSP_PRI_CNT_FUNC()
3604 static inline uint64_t CVMX_IOB_N2C_RSP_PRI_CNT_FUNC(void)
3605 {
3606 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3607     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3608         cvmx_warn("CVMX_IOB_N2C_RSP_PRI_CNT not supported on this chip\n");
3609 #endif
3610     return CVMX_ADD_IO_SEG(0x00011800F0000008ull);
3611 }
3612
3613 #define CVMX_IOB_OUTB_COM_PRI_CNT CVMX_IOB_OUTB_COM_PRI_CNT_FUNC()
3614 static inline uint64_t CVMX_IOB_OUTB_COM_PRI_CNT_FUNC(void)
3615 {
3616 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3617     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3618         cvmx_warn("CVMX_IOB_OUTB_COM_PRI_CNT not supported on this chip\n");
3619 #endif
3620     return CVMX_ADD_IO_SEG(0x00011800F0000040ull);
3621 }
3622
3623 #define CVMX_IOB_OUTB_CONTROL_MATCH CVMX_IOB_OUTB_CONTROL_MATCH_FUNC()
3624 static inline uint64_t CVMX_IOB_OUTB_CONTROL_MATCH_FUNC(void)
3625 {
3626     return CVMX_ADD_IO_SEG(0x00011800F0000098ull);
3627 }
3628
3629 #define CVMX_IOB_OUTB_CONTROL_MATCH_ENB CVMX_IOB_OUTB_CONTROL_MATCH_ENB_FUNC()
3630 static inline uint64_t CVMX_IOB_OUTB_CONTROL_MATCH_ENB_FUNC(void)
3631 {
3632     return CVMX_ADD_IO_SEG(0x00011800F00000A8ull);
3633 }
3634
3635 #define CVMX_IOB_OUTB_DATA_MATCH CVMX_IOB_OUTB_DATA_MATCH_FUNC()
3636 static inline uint64_t CVMX_IOB_OUTB_DATA_MATCH_FUNC(void)
3637 {
3638     return CVMX_ADD_IO_SEG(0x00011800F0000090ull);
3639 }
3640
3641 #define CVMX_IOB_OUTB_DATA_MATCH_ENB CVMX_IOB_OUTB_DATA_MATCH_ENB_FUNC()
3642 static inline uint64_t CVMX_IOB_OUTB_DATA_MATCH_ENB_FUNC(void)
3643 {
3644     return CVMX_ADD_IO_SEG(0x00011800F00000A0ull);
3645 }
3646
3647 #define CVMX_IOB_OUTB_FPA_PRI_CNT CVMX_IOB_OUTB_FPA_PRI_CNT_FUNC()
3648 static inline uint64_t CVMX_IOB_OUTB_FPA_PRI_CNT_FUNC(void)
3649 {
3650 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3651     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3652         cvmx_warn("CVMX_IOB_OUTB_FPA_PRI_CNT not supported on this chip\n");
3653 #endif
3654     return CVMX_ADD_IO_SEG(0x00011800F0000048ull);
3655 }
3656
3657 #define CVMX_IOB_OUTB_REQ_PRI_CNT CVMX_IOB_OUTB_REQ_PRI_CNT_FUNC()
3658 static inline uint64_t CVMX_IOB_OUTB_REQ_PRI_CNT_FUNC(void)
3659 {
3660 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3661     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3662         cvmx_warn("CVMX_IOB_OUTB_REQ_PRI_CNT not supported on this chip\n");
3663 #endif
3664     return CVMX_ADD_IO_SEG(0x00011800F0000038ull);
3665 }
3666
3667 #define CVMX_IOB_P2C_REQ_PRI_CNT CVMX_IOB_P2C_REQ_PRI_CNT_FUNC()
3668 static inline uint64_t CVMX_IOB_P2C_REQ_PRI_CNT_FUNC(void)
3669 {
3670 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3671     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3672         cvmx_warn("CVMX_IOB_P2C_REQ_PRI_CNT not supported on this chip\n");
3673 #endif
3674     return CVMX_ADD_IO_SEG(0x00011800F0000018ull);
3675 }
3676
3677 #define CVMX_IOB_PKT_ERR CVMX_IOB_PKT_ERR_FUNC()
3678 static inline uint64_t CVMX_IOB_PKT_ERR_FUNC(void)
3679 {
3680     return CVMX_ADD_IO_SEG(0x00011800F0000068ull);
3681 }
3682
3683 #define CVMX_IOB_TO_CMB_CREDITS CVMX_IOB_TO_CMB_CREDITS_FUNC()
3684 static inline uint64_t CVMX_IOB_TO_CMB_CREDITS_FUNC(void)
3685 {
3686 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3687     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
3688         cvmx_warn("CVMX_IOB_TO_CMB_CREDITS not supported on this chip\n");
3689 #endif
3690     return CVMX_ADD_IO_SEG(0x00011800F00000B0ull);
3691 }
3692
3693 #define CVMX_IPD_1ST_MBUFF_SKIP CVMX_IPD_1ST_MBUFF_SKIP_FUNC()
3694 static inline uint64_t CVMX_IPD_1ST_MBUFF_SKIP_FUNC(void)
3695 {
3696     return CVMX_ADD_IO_SEG(0x00014F0000000000ull);
3697 }
3698
3699 #define CVMX_IPD_1st_NEXT_PTR_BACK CVMX_IPD_1st_NEXT_PTR_BACK_FUNC()
3700 static inline uint64_t CVMX_IPD_1st_NEXT_PTR_BACK_FUNC(void)
3701 {
3702     return CVMX_ADD_IO_SEG(0x00014F0000000150ull);
3703 }
3704
3705 #define CVMX_IPD_2nd_NEXT_PTR_BACK CVMX_IPD_2nd_NEXT_PTR_BACK_FUNC()
3706 static inline uint64_t CVMX_IPD_2nd_NEXT_PTR_BACK_FUNC(void)
3707 {
3708     return CVMX_ADD_IO_SEG(0x00014F0000000158ull);
3709 }
3710
3711 #define CVMX_IPD_BIST_STATUS CVMX_IPD_BIST_STATUS_FUNC()
3712 static inline uint64_t CVMX_IPD_BIST_STATUS_FUNC(void)
3713 {
3714     return CVMX_ADD_IO_SEG(0x00014F00000007F8ull);
3715 }
3716
3717 #define CVMX_IPD_BP_PRT_RED_END CVMX_IPD_BP_PRT_RED_END_FUNC()
3718 static inline uint64_t CVMX_IPD_BP_PRT_RED_END_FUNC(void)
3719 {
3720     return CVMX_ADD_IO_SEG(0x00014F0000000328ull);
3721 }
3722
3723 #define CVMX_IPD_CLK_COUNT CVMX_IPD_CLK_COUNT_FUNC()
3724 static inline uint64_t CVMX_IPD_CLK_COUNT_FUNC(void)
3725 {
3726     return CVMX_ADD_IO_SEG(0x00014F0000000338ull);
3727 }
3728
3729 #define CVMX_IPD_CTL_STATUS CVMX_IPD_CTL_STATUS_FUNC()
3730 static inline uint64_t CVMX_IPD_CTL_STATUS_FUNC(void)
3731 {
3732     return CVMX_ADD_IO_SEG(0x00014F0000000018ull);
3733 }
3734
3735 #define CVMX_IPD_INT_ENB CVMX_IPD_INT_ENB_FUNC()
3736 static inline uint64_t CVMX_IPD_INT_ENB_FUNC(void)
3737 {
3738     return CVMX_ADD_IO_SEG(0x00014F0000000160ull);
3739 }
3740
3741 #define CVMX_IPD_INT_SUM CVMX_IPD_INT_SUM_FUNC()
3742 static inline uint64_t CVMX_IPD_INT_SUM_FUNC(void)
3743 {
3744     return CVMX_ADD_IO_SEG(0x00014F0000000168ull);
3745 }
3746
3747 #define CVMX_IPD_NOT_1ST_MBUFF_SKIP CVMX_IPD_NOT_1ST_MBUFF_SKIP_FUNC()
3748 static inline uint64_t CVMX_IPD_NOT_1ST_MBUFF_SKIP_FUNC(void)
3749 {
3750     return CVMX_ADD_IO_SEG(0x00014F0000000008ull);
3751 }
3752
3753 #define CVMX_IPD_PACKET_MBUFF_SIZE CVMX_IPD_PACKET_MBUFF_SIZE_FUNC()
3754 static inline uint64_t CVMX_IPD_PACKET_MBUFF_SIZE_FUNC(void)
3755 {
3756     return CVMX_ADD_IO_SEG(0x00014F0000000010ull);
3757 }
3758
3759 #define CVMX_IPD_PKT_PTR_VALID CVMX_IPD_PKT_PTR_VALID_FUNC()
3760 static inline uint64_t CVMX_IPD_PKT_PTR_VALID_FUNC(void)
3761 {
3762     return CVMX_ADD_IO_SEG(0x00014F0000000358ull);
3763 }
3764
3765 static inline uint64_t CVMX_IPD_PORTX_BP_PAGE_CNT(unsigned long offset)
3766 {
3767 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3768     if (!(
3769         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)))) ||
3770         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || (offset == 32))) ||
3771         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
3772         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
3773         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
3774         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
3775         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35))))))
3776         cvmx_warn("CVMX_IPD_PORTX_BP_PAGE_CNT(%lu) is invalid on this chip\n", offset);
3777 #endif
3778     return CVMX_ADD_IO_SEG(0x00014F0000000028ull) + (offset&63)*8;
3779 }
3780
3781 static inline uint64_t CVMX_IPD_PORTX_BP_PAGE_CNT2(unsigned long offset)
3782 {
3783 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3784     if (!(
3785         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 36) && (offset <= 39)))) ||
3786         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset >= 36) && (offset <= 39))))))
3787         cvmx_warn("CVMX_IPD_PORTX_BP_PAGE_CNT2(%lu) is invalid on this chip\n", offset);
3788 #endif
3789     return CVMX_ADD_IO_SEG(0x00014F0000000368ull) + (offset&63)*8 - 8*36;
3790 }
3791
3792 static inline uint64_t CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(unsigned long offset)
3793 {
3794 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3795     if (!(
3796         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 36) && (offset <= 39)))) ||
3797         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset >= 36) && (offset <= 39))))))
3798         cvmx_warn("CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(%lu) is invalid on this chip\n", offset);
3799 #endif
3800     return CVMX_ADD_IO_SEG(0x00014F0000000388ull) + (offset&63)*8 - 8*36;
3801 }
3802
3803 static inline uint64_t CVMX_IPD_PORT_BP_COUNTERS_PAIRX(unsigned long offset)
3804 {
3805 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3806     if (!(
3807         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)))) ||
3808         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || (offset == 32))) ||
3809         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
3810         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
3811         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
3812         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
3813         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35))))))
3814         cvmx_warn("CVMX_IPD_PORT_BP_COUNTERS_PAIRX(%lu) is invalid on this chip\n", offset);
3815 #endif
3816     return CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + (offset&63)*8;
3817 }
3818
3819 static inline uint64_t CVMX_IPD_PORT_QOS_INTX(unsigned long offset)
3820 {
3821 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3822     if (!(
3823         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0) || (offset == 2) || (offset == 4))) ||
3824         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset == 0) || (offset == 4)))))
3825         cvmx_warn("CVMX_IPD_PORT_QOS_INTX(%lu) is invalid on this chip\n", offset);
3826 #endif
3827     return CVMX_ADD_IO_SEG(0x00014F0000000808ull) + (offset&7)*8;
3828 }
3829
3830 static inline uint64_t CVMX_IPD_PORT_QOS_INT_ENBX(unsigned long offset)
3831 {
3832 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3833     if (!(
3834         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0) || (offset == 2) || (offset == 4))) ||
3835         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset == 0) || (offset == 4)))))
3836         cvmx_warn("CVMX_IPD_PORT_QOS_INT_ENBX(%lu) is invalid on this chip\n", offset);
3837 #endif
3838     return CVMX_ADD_IO_SEG(0x00014F0000000848ull) + (offset&7)*8;
3839 }
3840
3841 static inline uint64_t CVMX_IPD_PORT_QOS_X_CNT(unsigned long offset)
3842 {
3843 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3844     if (!(
3845         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31) || ((offset >= 128) && (offset <= 159)) || ((offset >= 256) && (offset <= 319)))) ||
3846         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31) || ((offset >= 256) && (offset <= 319))))))
3847         cvmx_warn("CVMX_IPD_PORT_QOS_X_CNT(%lu) is invalid on this chip\n", offset);
3848 #endif
3849     return CVMX_ADD_IO_SEG(0x00014F0000000888ull) + (offset&511)*8;
3850 }
3851
3852 #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL_FUNC()
3853 static inline uint64_t CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL_FUNC(void)
3854 {
3855     return CVMX_ADD_IO_SEG(0x00014F0000000348ull);
3856 }
3857
3858 #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL CVMX_IPD_PRC_PORT_PTR_FIFO_CTL_FUNC()
3859 static inline uint64_t CVMX_IPD_PRC_PORT_PTR_FIFO_CTL_FUNC(void)
3860 {
3861     return CVMX_ADD_IO_SEG(0x00014F0000000350ull);
3862 }
3863
3864 #define CVMX_IPD_PTR_COUNT CVMX_IPD_PTR_COUNT_FUNC()
3865 static inline uint64_t CVMX_IPD_PTR_COUNT_FUNC(void)
3866 {
3867     return CVMX_ADD_IO_SEG(0x00014F0000000320ull);
3868 }
3869
3870 #define CVMX_IPD_PWP_PTR_FIFO_CTL CVMX_IPD_PWP_PTR_FIFO_CTL_FUNC()
3871 static inline uint64_t CVMX_IPD_PWP_PTR_FIFO_CTL_FUNC(void)
3872 {
3873     return CVMX_ADD_IO_SEG(0x00014F0000000340ull);
3874 }
3875
3876 #define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
3877 #define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
3878 #define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
3879 #define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
3880 #define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
3881 #define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
3882 #define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
3883 #define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
3884 static inline uint64_t CVMX_IPD_QOSX_RED_MARKS(unsigned long offset)
3885 {
3886 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3887     if (!(
3888         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
3889         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
3890         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
3891         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
3892         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
3893         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
3894         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
3895         cvmx_warn("CVMX_IPD_QOSX_RED_MARKS(%lu) is invalid on this chip\n", offset);
3896 #endif
3897     return CVMX_ADD_IO_SEG(0x00014F0000000178ull) + (offset&7)*8;
3898 }
3899
3900 #define CVMX_IPD_QUE0_FREE_PAGE_CNT CVMX_IPD_QUE0_FREE_PAGE_CNT_FUNC()
3901 static inline uint64_t CVMX_IPD_QUE0_FREE_PAGE_CNT_FUNC(void)
3902 {
3903     return CVMX_ADD_IO_SEG(0x00014F0000000330ull);
3904 }
3905
3906 #define CVMX_IPD_RED_PORT_ENABLE CVMX_IPD_RED_PORT_ENABLE_FUNC()
3907 static inline uint64_t CVMX_IPD_RED_PORT_ENABLE_FUNC(void)
3908 {
3909     return CVMX_ADD_IO_SEG(0x00014F00000002D8ull);
3910 }
3911
3912 #define CVMX_IPD_RED_PORT_ENABLE2 CVMX_IPD_RED_PORT_ENABLE2_FUNC()
3913 static inline uint64_t CVMX_IPD_RED_PORT_ENABLE2_FUNC(void)
3914 {
3915 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3916     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
3917         cvmx_warn("CVMX_IPD_RED_PORT_ENABLE2 not supported on this chip\n");
3918 #endif
3919     return CVMX_ADD_IO_SEG(0x00014F00000003A8ull);
3920 }
3921
3922 #define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
3923 #define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
3924 #define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
3925 #define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
3926 #define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
3927 #define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
3928 #define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
3929 #define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
3930 static inline uint64_t CVMX_IPD_RED_QUEX_PARAM(unsigned long offset)
3931 {
3932 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3933     if (!(
3934         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
3935         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
3936         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
3937         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
3938         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
3939         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
3940         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
3941         cvmx_warn("CVMX_IPD_RED_QUEX_PARAM(%lu) is invalid on this chip\n", offset);
3942 #endif
3943     return CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + (offset&7)*8;
3944 }
3945
3946 #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT CVMX_IPD_SUB_PORT_BP_PAGE_CNT_FUNC()
3947 static inline uint64_t CVMX_IPD_SUB_PORT_BP_PAGE_CNT_FUNC(void)
3948 {
3949     return CVMX_ADD_IO_SEG(0x00014F0000000148ull);
3950 }
3951
3952 #define CVMX_IPD_SUB_PORT_FCS CVMX_IPD_SUB_PORT_FCS_FUNC()
3953 static inline uint64_t CVMX_IPD_SUB_PORT_FCS_FUNC(void)
3954 {
3955     return CVMX_ADD_IO_SEG(0x00014F0000000170ull);
3956 }
3957
3958 #define CVMX_IPD_SUB_PORT_QOS_CNT CVMX_IPD_SUB_PORT_QOS_CNT_FUNC()
3959 static inline uint64_t CVMX_IPD_SUB_PORT_QOS_CNT_FUNC(void)
3960 {
3961 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3962     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
3963         cvmx_warn("CVMX_IPD_SUB_PORT_QOS_CNT not supported on this chip\n");
3964 #endif
3965     return CVMX_ADD_IO_SEG(0x00014F0000000800ull);
3966 }
3967
3968 #define CVMX_IPD_WQE_FPA_QUEUE CVMX_IPD_WQE_FPA_QUEUE_FUNC()
3969 static inline uint64_t CVMX_IPD_WQE_FPA_QUEUE_FUNC(void)
3970 {
3971     return CVMX_ADD_IO_SEG(0x00014F0000000020ull);
3972 }
3973
3974 #define CVMX_IPD_WQE_PTR_VALID CVMX_IPD_WQE_PTR_VALID_FUNC()
3975 static inline uint64_t CVMX_IPD_WQE_PTR_VALID_FUNC(void)
3976 {
3977     return CVMX_ADD_IO_SEG(0x00014F0000000360ull);
3978 }
3979
3980 #define CVMX_KEY_BIST_REG CVMX_KEY_BIST_REG_FUNC()
3981 static inline uint64_t CVMX_KEY_BIST_REG_FUNC(void)
3982 {
3983 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3984     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3985         cvmx_warn("CVMX_KEY_BIST_REG not supported on this chip\n");
3986 #endif
3987     return CVMX_ADD_IO_SEG(0x0001180020000018ull);
3988 }
3989
3990 #define CVMX_KEY_CTL_STATUS CVMX_KEY_CTL_STATUS_FUNC()
3991 static inline uint64_t CVMX_KEY_CTL_STATUS_FUNC(void)
3992 {
3993 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
3994     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
3995         cvmx_warn("CVMX_KEY_CTL_STATUS not supported on this chip\n");
3996 #endif
3997     return CVMX_ADD_IO_SEG(0x0001180020000010ull);
3998 }
3999
4000 #define CVMX_KEY_INT_ENB CVMX_KEY_INT_ENB_FUNC()
4001 static inline uint64_t CVMX_KEY_INT_ENB_FUNC(void)
4002 {
4003 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4004     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4005         cvmx_warn("CVMX_KEY_INT_ENB not supported on this chip\n");
4006 #endif
4007     return CVMX_ADD_IO_SEG(0x0001180020000008ull);
4008 }
4009
4010 #define CVMX_KEY_INT_SUM CVMX_KEY_INT_SUM_FUNC()
4011 static inline uint64_t CVMX_KEY_INT_SUM_FUNC(void)
4012 {
4013 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4014     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4015         cvmx_warn("CVMX_KEY_INT_SUM not supported on this chip\n");
4016 #endif
4017     return CVMX_ADD_IO_SEG(0x0001180020000000ull);
4018 }
4019
4020 #define CVMX_L2C_BST0 CVMX_L2C_BST0_FUNC()
4021 static inline uint64_t CVMX_L2C_BST0_FUNC(void)
4022 {
4023     return CVMX_ADD_IO_SEG(0x00011800800007F8ull);
4024 }
4025
4026 #define CVMX_L2C_BST1 CVMX_L2C_BST1_FUNC()
4027 static inline uint64_t CVMX_L2C_BST1_FUNC(void)
4028 {
4029     return CVMX_ADD_IO_SEG(0x00011800800007F0ull);
4030 }
4031
4032 #define CVMX_L2C_BST2 CVMX_L2C_BST2_FUNC()
4033 static inline uint64_t CVMX_L2C_BST2_FUNC(void)
4034 {
4035     return CVMX_ADD_IO_SEG(0x00011800800007E8ull);
4036 }
4037
4038 #define CVMX_L2C_CFG CVMX_L2C_CFG_FUNC()
4039 static inline uint64_t CVMX_L2C_CFG_FUNC(void)
4040 {
4041     return CVMX_ADD_IO_SEG(0x0001180080000000ull);
4042 }
4043
4044 #define CVMX_L2C_DBG CVMX_L2C_DBG_FUNC()
4045 static inline uint64_t CVMX_L2C_DBG_FUNC(void)
4046 {
4047     return CVMX_ADD_IO_SEG(0x0001180080000030ull);
4048 }
4049
4050 #define CVMX_L2C_DUT CVMX_L2C_DUT_FUNC()
4051 static inline uint64_t CVMX_L2C_DUT_FUNC(void)
4052 {
4053     return CVMX_ADD_IO_SEG(0x0001180080000050ull);
4054 }
4055
4056 #define CVMX_L2C_GRPWRR0 CVMX_L2C_GRPWRR0_FUNC()
4057 static inline uint64_t CVMX_L2C_GRPWRR0_FUNC(void)
4058 {
4059 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4060     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4061         cvmx_warn("CVMX_L2C_GRPWRR0 not supported on this chip\n");
4062 #endif
4063     return CVMX_ADD_IO_SEG(0x00011800800000C8ull);
4064 }
4065
4066 #define CVMX_L2C_GRPWRR1 CVMX_L2C_GRPWRR1_FUNC()
4067 static inline uint64_t CVMX_L2C_GRPWRR1_FUNC(void)
4068 {
4069 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4070     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4071         cvmx_warn("CVMX_L2C_GRPWRR1 not supported on this chip\n");
4072 #endif
4073     return CVMX_ADD_IO_SEG(0x00011800800000D0ull);
4074 }
4075
4076 #define CVMX_L2C_INT_EN CVMX_L2C_INT_EN_FUNC()
4077 static inline uint64_t CVMX_L2C_INT_EN_FUNC(void)
4078 {
4079 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4080     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4081         cvmx_warn("CVMX_L2C_INT_EN not supported on this chip\n");
4082 #endif
4083     return CVMX_ADD_IO_SEG(0x0001180080000100ull);
4084 }
4085
4086 #define CVMX_L2C_INT_STAT CVMX_L2C_INT_STAT_FUNC()
4087 static inline uint64_t CVMX_L2C_INT_STAT_FUNC(void)
4088 {
4089 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4090     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4091         cvmx_warn("CVMX_L2C_INT_STAT not supported on this chip\n");
4092 #endif
4093     return CVMX_ADD_IO_SEG(0x00011800800000F8ull);
4094 }
4095
4096 #define CVMX_L2C_LCKBASE CVMX_L2C_LCKBASE_FUNC()
4097 static inline uint64_t CVMX_L2C_LCKBASE_FUNC(void)
4098 {
4099     return CVMX_ADD_IO_SEG(0x0001180080000058ull);
4100 }
4101
4102 #define CVMX_L2C_LCKOFF CVMX_L2C_LCKOFF_FUNC()
4103 static inline uint64_t CVMX_L2C_LCKOFF_FUNC(void)
4104 {
4105     return CVMX_ADD_IO_SEG(0x0001180080000060ull);
4106 }
4107
4108 #define CVMX_L2C_LFB0 CVMX_L2C_LFB0_FUNC()
4109 static inline uint64_t CVMX_L2C_LFB0_FUNC(void)
4110 {
4111     return CVMX_ADD_IO_SEG(0x0001180080000038ull);
4112 }
4113
4114 #define CVMX_L2C_LFB1 CVMX_L2C_LFB1_FUNC()
4115 static inline uint64_t CVMX_L2C_LFB1_FUNC(void)
4116 {
4117     return CVMX_ADD_IO_SEG(0x0001180080000040ull);
4118 }
4119
4120 #define CVMX_L2C_LFB2 CVMX_L2C_LFB2_FUNC()
4121 static inline uint64_t CVMX_L2C_LFB2_FUNC(void)
4122 {
4123     return CVMX_ADD_IO_SEG(0x0001180080000048ull);
4124 }
4125
4126 #define CVMX_L2C_LFB3 CVMX_L2C_LFB3_FUNC()
4127 static inline uint64_t CVMX_L2C_LFB3_FUNC(void)
4128 {
4129     return CVMX_ADD_IO_SEG(0x00011800800000B8ull);
4130 }
4131
4132 #define CVMX_L2C_OOB CVMX_L2C_OOB_FUNC()
4133 static inline uint64_t CVMX_L2C_OOB_FUNC(void)
4134 {
4135 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4136     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4137         cvmx_warn("CVMX_L2C_OOB not supported on this chip\n");
4138 #endif
4139     return CVMX_ADD_IO_SEG(0x00011800800000D8ull);
4140 }
4141
4142 #define CVMX_L2C_OOB1 CVMX_L2C_OOB1_FUNC()
4143 static inline uint64_t CVMX_L2C_OOB1_FUNC(void)
4144 {
4145 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4146     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4147         cvmx_warn("CVMX_L2C_OOB1 not supported on this chip\n");
4148 #endif
4149     return CVMX_ADD_IO_SEG(0x00011800800000E0ull);
4150 }
4151
4152 #define CVMX_L2C_OOB2 CVMX_L2C_OOB2_FUNC()
4153 static inline uint64_t CVMX_L2C_OOB2_FUNC(void)
4154 {
4155 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4156     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4157         cvmx_warn("CVMX_L2C_OOB2 not supported on this chip\n");
4158 #endif
4159     return CVMX_ADD_IO_SEG(0x00011800800000E8ull);
4160 }
4161
4162 #define CVMX_L2C_OOB3 CVMX_L2C_OOB3_FUNC()
4163 static inline uint64_t CVMX_L2C_OOB3_FUNC(void)
4164 {
4165 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4166     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4167         cvmx_warn("CVMX_L2C_OOB3 not supported on this chip\n");
4168 #endif
4169     return CVMX_ADD_IO_SEG(0x00011800800000F0ull);
4170 }
4171
4172 #define CVMX_L2C_PFC0 CVMX_L2C_PFCX(0)
4173 #define CVMX_L2C_PFC1 CVMX_L2C_PFCX(1)
4174 #define CVMX_L2C_PFC2 CVMX_L2C_PFCX(2)
4175 #define CVMX_L2C_PFC3 CVMX_L2C_PFCX(3)
4176 #define CVMX_L2C_PFCTL CVMX_L2C_PFCTL_FUNC()
4177 static inline uint64_t CVMX_L2C_PFCTL_FUNC(void)
4178 {
4179     return CVMX_ADD_IO_SEG(0x0001180080000090ull);
4180 }
4181
4182 static inline uint64_t CVMX_L2C_PFCX(unsigned long offset)
4183 {
4184 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4185     if (!(
4186         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
4187         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
4188         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
4189         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
4190         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
4191         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
4192         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
4193         cvmx_warn("CVMX_L2C_PFCX(%lu) is invalid on this chip\n", offset);
4194 #endif
4195     return CVMX_ADD_IO_SEG(0x0001180080000098ull) + (offset&3)*8;
4196 }
4197
4198 #define CVMX_L2C_PPGRP CVMX_L2C_PPGRP_FUNC()
4199 static inline uint64_t CVMX_L2C_PPGRP_FUNC(void)
4200 {
4201 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4202     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4203         cvmx_warn("CVMX_L2C_PPGRP not supported on this chip\n");
4204 #endif
4205     return CVMX_ADD_IO_SEG(0x00011800800000C0ull);
4206 }
4207
4208 #define CVMX_L2C_SPAR0 CVMX_L2C_SPAR0_FUNC()
4209 static inline uint64_t CVMX_L2C_SPAR0_FUNC(void)
4210 {
4211     return CVMX_ADD_IO_SEG(0x0001180080000068ull);
4212 }
4213
4214 #define CVMX_L2C_SPAR1 CVMX_L2C_SPAR1_FUNC()
4215 static inline uint64_t CVMX_L2C_SPAR1_FUNC(void)
4216 {
4217 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4218     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4219         cvmx_warn("CVMX_L2C_SPAR1 not supported on this chip\n");
4220 #endif
4221     return CVMX_ADD_IO_SEG(0x0001180080000070ull);
4222 }
4223
4224 #define CVMX_L2C_SPAR2 CVMX_L2C_SPAR2_FUNC()
4225 static inline uint64_t CVMX_L2C_SPAR2_FUNC(void)
4226 {
4227 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4228     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4229         cvmx_warn("CVMX_L2C_SPAR2 not supported on this chip\n");
4230 #endif
4231     return CVMX_ADD_IO_SEG(0x0001180080000078ull);
4232 }
4233
4234 #define CVMX_L2C_SPAR3 CVMX_L2C_SPAR3_FUNC()
4235 static inline uint64_t CVMX_L2C_SPAR3_FUNC(void)
4236 {
4237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4238     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4239         cvmx_warn("CVMX_L2C_SPAR3 not supported on this chip\n");
4240 #endif
4241     return CVMX_ADD_IO_SEG(0x0001180080000080ull);
4242 }
4243
4244 #define CVMX_L2C_SPAR4 CVMX_L2C_SPAR4_FUNC()
4245 static inline uint64_t CVMX_L2C_SPAR4_FUNC(void)
4246 {
4247     return CVMX_ADD_IO_SEG(0x0001180080000088ull);
4248 }
4249
4250 #define CVMX_L2D_BST0 CVMX_L2D_BST0_FUNC()
4251 static inline uint64_t CVMX_L2D_BST0_FUNC(void)
4252 {
4253     return CVMX_ADD_IO_SEG(0x0001180080000780ull);
4254 }
4255
4256 #define CVMX_L2D_BST1 CVMX_L2D_BST1_FUNC()
4257 static inline uint64_t CVMX_L2D_BST1_FUNC(void)
4258 {
4259     return CVMX_ADD_IO_SEG(0x0001180080000788ull);
4260 }
4261
4262 #define CVMX_L2D_BST2 CVMX_L2D_BST2_FUNC()
4263 static inline uint64_t CVMX_L2D_BST2_FUNC(void)
4264 {
4265     return CVMX_ADD_IO_SEG(0x0001180080000790ull);
4266 }
4267
4268 #define CVMX_L2D_BST3 CVMX_L2D_BST3_FUNC()
4269 static inline uint64_t CVMX_L2D_BST3_FUNC(void)
4270 {
4271     return CVMX_ADD_IO_SEG(0x0001180080000798ull);
4272 }
4273
4274 #define CVMX_L2D_ERR CVMX_L2D_ERR_FUNC()
4275 static inline uint64_t CVMX_L2D_ERR_FUNC(void)
4276 {
4277     return CVMX_ADD_IO_SEG(0x0001180080000010ull);
4278 }
4279
4280 #define CVMX_L2D_FADR CVMX_L2D_FADR_FUNC()
4281 static inline uint64_t CVMX_L2D_FADR_FUNC(void)
4282 {
4283     return CVMX_ADD_IO_SEG(0x0001180080000018ull);
4284 }
4285
4286 #define CVMX_L2D_FSYN0 CVMX_L2D_FSYN0_FUNC()
4287 static inline uint64_t CVMX_L2D_FSYN0_FUNC(void)
4288 {
4289     return CVMX_ADD_IO_SEG(0x0001180080000020ull);
4290 }
4291
4292 #define CVMX_L2D_FSYN1 CVMX_L2D_FSYN1_FUNC()
4293 static inline uint64_t CVMX_L2D_FSYN1_FUNC(void)
4294 {
4295     return CVMX_ADD_IO_SEG(0x0001180080000028ull);
4296 }
4297
4298 #define CVMX_L2D_FUS0 CVMX_L2D_FUS0_FUNC()
4299 static inline uint64_t CVMX_L2D_FUS0_FUNC(void)
4300 {
4301     return CVMX_ADD_IO_SEG(0x00011800800007A0ull);
4302 }
4303
4304 #define CVMX_L2D_FUS1 CVMX_L2D_FUS1_FUNC()
4305 static inline uint64_t CVMX_L2D_FUS1_FUNC(void)
4306 {
4307     return CVMX_ADD_IO_SEG(0x00011800800007A8ull);
4308 }
4309
4310 #define CVMX_L2D_FUS2 CVMX_L2D_FUS2_FUNC()
4311 static inline uint64_t CVMX_L2D_FUS2_FUNC(void)
4312 {
4313     return CVMX_ADD_IO_SEG(0x00011800800007B0ull);
4314 }
4315
4316 #define CVMX_L2D_FUS3 CVMX_L2D_FUS3_FUNC()
4317 static inline uint64_t CVMX_L2D_FUS3_FUNC(void)
4318 {
4319     return CVMX_ADD_IO_SEG(0x00011800800007B8ull);
4320 }
4321
4322 #define CVMX_L2T_ERR CVMX_L2T_ERR_FUNC()
4323 static inline uint64_t CVMX_L2T_ERR_FUNC(void)
4324 {
4325     return CVMX_ADD_IO_SEG(0x0001180080000008ull);
4326 }
4327
4328 #define CVMX_LED_BLINK CVMX_LED_BLINK_FUNC()
4329 static inline uint64_t CVMX_LED_BLINK_FUNC(void)
4330 {
4331 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4332     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4333         cvmx_warn("CVMX_LED_BLINK not supported on this chip\n");
4334 #endif
4335     return CVMX_ADD_IO_SEG(0x0001180000001A48ull);
4336 }
4337
4338 #define CVMX_LED_CLK_PHASE CVMX_LED_CLK_PHASE_FUNC()
4339 static inline uint64_t CVMX_LED_CLK_PHASE_FUNC(void)
4340 {
4341 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4342     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4343         cvmx_warn("CVMX_LED_CLK_PHASE not supported on this chip\n");
4344 #endif
4345     return CVMX_ADD_IO_SEG(0x0001180000001A08ull);
4346 }
4347
4348 #define CVMX_LED_CYLON CVMX_LED_CYLON_FUNC()
4349 static inline uint64_t CVMX_LED_CYLON_FUNC(void)
4350 {
4351 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4352     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4353         cvmx_warn("CVMX_LED_CYLON not supported on this chip\n");
4354 #endif
4355     return CVMX_ADD_IO_SEG(0x0001180000001AF8ull);
4356 }
4357
4358 #define CVMX_LED_DBG CVMX_LED_DBG_FUNC()
4359 static inline uint64_t CVMX_LED_DBG_FUNC(void)
4360 {
4361 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4362     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4363         cvmx_warn("CVMX_LED_DBG not supported on this chip\n");
4364 #endif
4365     return CVMX_ADD_IO_SEG(0x0001180000001A18ull);
4366 }
4367
4368 #define CVMX_LED_EN CVMX_LED_EN_FUNC()
4369 static inline uint64_t CVMX_LED_EN_FUNC(void)
4370 {
4371 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4372     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4373         cvmx_warn("CVMX_LED_EN not supported on this chip\n");
4374 #endif
4375     return CVMX_ADD_IO_SEG(0x0001180000001A00ull);
4376 }
4377
4378 #define CVMX_LED_POLARITY CVMX_LED_POLARITY_FUNC()
4379 static inline uint64_t CVMX_LED_POLARITY_FUNC(void)
4380 {
4381 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4382     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4383         cvmx_warn("CVMX_LED_POLARITY not supported on this chip\n");
4384 #endif
4385     return CVMX_ADD_IO_SEG(0x0001180000001A50ull);
4386 }
4387
4388 #define CVMX_LED_PRT CVMX_LED_PRT_FUNC()
4389 static inline uint64_t CVMX_LED_PRT_FUNC(void)
4390 {
4391 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4392     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4393         cvmx_warn("CVMX_LED_PRT not supported on this chip\n");
4394 #endif
4395     return CVMX_ADD_IO_SEG(0x0001180000001A10ull);
4396 }
4397
4398 #define CVMX_LED_PRT_FMT CVMX_LED_PRT_FMT_FUNC()
4399 static inline uint64_t CVMX_LED_PRT_FMT_FUNC(void)
4400 {
4401 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4402     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
4403         cvmx_warn("CVMX_LED_PRT_FMT not supported on this chip\n");
4404 #endif
4405     return CVMX_ADD_IO_SEG(0x0001180000001A30ull);
4406 }
4407
4408 static inline uint64_t CVMX_LED_PRT_STATUSX(unsigned long offset)
4409 {
4410 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4411     if (!(
4412         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
4413         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
4414         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7)))))
4415         cvmx_warn("CVMX_LED_PRT_STATUSX(%lu) is invalid on this chip\n", offset);
4416 #endif
4417     return CVMX_ADD_IO_SEG(0x0001180000001A80ull) + (offset&7)*8;
4418 }
4419
4420 static inline uint64_t CVMX_LED_UDD_CNTX(unsigned long offset)
4421 {
4422 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4423     if (!(
4424         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
4425         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
4426         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
4427         cvmx_warn("CVMX_LED_UDD_CNTX(%lu) is invalid on this chip\n", offset);
4428 #endif
4429     return CVMX_ADD_IO_SEG(0x0001180000001A20ull) + (offset&1)*8;
4430 }
4431
4432 static inline uint64_t CVMX_LED_UDD_DATX(unsigned long offset)
4433 {
4434 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4435     if (!(
4436         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
4437         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
4438         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
4439         cvmx_warn("CVMX_LED_UDD_DATX(%lu) is invalid on this chip\n", offset);
4440 #endif
4441     return CVMX_ADD_IO_SEG(0x0001180000001A38ull) + (offset&1)*8;
4442 }
4443
4444 static inline uint64_t CVMX_LED_UDD_DAT_CLRX(unsigned long offset)
4445 {
4446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4447     if (!(
4448         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
4449         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
4450         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
4451         cvmx_warn("CVMX_LED_UDD_DAT_CLRX(%lu) is invalid on this chip\n", offset);
4452 #endif
4453     return CVMX_ADD_IO_SEG(0x0001180000001AC8ull) + (offset&1)*16;
4454 }
4455
4456 static inline uint64_t CVMX_LED_UDD_DAT_SETX(unsigned long offset)
4457 {
4458 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4459     if (!(
4460         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
4461         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
4462         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
4463         cvmx_warn("CVMX_LED_UDD_DAT_SETX(%lu) is invalid on this chip\n", offset);
4464 #endif
4465     return CVMX_ADD_IO_SEG(0x0001180000001AC0ull) + (offset&1)*16;
4466 }
4467
4468 static inline uint64_t CVMX_LMCX_BIST_CTL(unsigned long block_id)
4469 {
4470 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4471     if (!(
4472         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4473         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4474         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4475         cvmx_warn("CVMX_LMCX_BIST_CTL(%lu) is invalid on this chip\n", block_id);
4476 #endif
4477     return CVMX_ADD_IO_SEG(0x00011800880000F0ull) + (block_id&1)*0x60000000ull;
4478 }
4479
4480 static inline uint64_t CVMX_LMCX_BIST_RESULT(unsigned long block_id)
4481 {
4482 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4483     if (!(
4484         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4485         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4486         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4487         cvmx_warn("CVMX_LMCX_BIST_RESULT(%lu) is invalid on this chip\n", block_id);
4488 #endif
4489     return CVMX_ADD_IO_SEG(0x00011800880000F8ull) + (block_id&1)*0x60000000ull;
4490 }
4491
4492 static inline uint64_t CVMX_LMCX_COMP_CTL(unsigned long block_id)
4493 {
4494 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4495     if (!(
4496         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4497         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4498         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4499         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4500         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4501         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4502         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4503         cvmx_warn("CVMX_LMCX_COMP_CTL(%lu) is invalid on this chip\n", block_id);
4504 #endif
4505     return CVMX_ADD_IO_SEG(0x0001180088000028ull) + (block_id&1)*0x60000000ull;
4506 }
4507
4508 static inline uint64_t CVMX_LMCX_CTL(unsigned long block_id)
4509 {
4510 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4511     if (!(
4512         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4513         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4514         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4515         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4516         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4517         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4518         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4519         cvmx_warn("CVMX_LMCX_CTL(%lu) is invalid on this chip\n", block_id);
4520 #endif
4521     return CVMX_ADD_IO_SEG(0x0001180088000010ull) + (block_id&1)*0x60000000ull;
4522 }
4523
4524 static inline uint64_t CVMX_LMCX_CTL1(unsigned long block_id)
4525 {
4526 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4527     if (!(
4528         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4529         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4530         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4531         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4532         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4533         cvmx_warn("CVMX_LMCX_CTL1(%lu) is invalid on this chip\n", block_id);
4534 #endif
4535     return CVMX_ADD_IO_SEG(0x0001180088000090ull) + (block_id&1)*0x60000000ull;
4536 }
4537
4538 static inline uint64_t CVMX_LMCX_DCLK_CNT_HI(unsigned long block_id)
4539 {
4540 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4541     if (!(
4542         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4543         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4544         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4545         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4546         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4547         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4548         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4549         cvmx_warn("CVMX_LMCX_DCLK_CNT_HI(%lu) is invalid on this chip\n", block_id);
4550 #endif
4551     return CVMX_ADD_IO_SEG(0x0001180088000070ull) + (block_id&1)*0x60000000ull;
4552 }
4553
4554 static inline uint64_t CVMX_LMCX_DCLK_CNT_LO(unsigned long block_id)
4555 {
4556 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4557     if (!(
4558         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4559         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4560         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4561         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4562         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4563         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4564         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4565         cvmx_warn("CVMX_LMCX_DCLK_CNT_LO(%lu) is invalid on this chip\n", block_id);
4566 #endif
4567     return CVMX_ADD_IO_SEG(0x0001180088000068ull) + (block_id&1)*0x60000000ull;
4568 }
4569
4570 static inline uint64_t CVMX_LMCX_DCLK_CTL(unsigned long block_id)
4571 {
4572 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4573     if (!(
4574         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1)))))
4575         cvmx_warn("CVMX_LMCX_DCLK_CTL(%lu) is invalid on this chip\n", block_id);
4576 #endif
4577     return CVMX_ADD_IO_SEG(0x00011800880000B8ull) + (block_id&1)*0x60000000ull;
4578 }
4579
4580 static inline uint64_t CVMX_LMCX_DDR2_CTL(unsigned long block_id)
4581 {
4582 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4583     if (!(
4584         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4585         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4586         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4587         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4588         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4589         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4590         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4591         cvmx_warn("CVMX_LMCX_DDR2_CTL(%lu) is invalid on this chip\n", block_id);
4592 #endif
4593     return CVMX_ADD_IO_SEG(0x0001180088000018ull) + (block_id&1)*0x60000000ull;
4594 }
4595
4596 static inline uint64_t CVMX_LMCX_DELAY_CFG(unsigned long block_id)
4597 {
4598 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4599     if (!(
4600         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4601         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4602         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4603         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4604         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4605         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4606         cvmx_warn("CVMX_LMCX_DELAY_CFG(%lu) is invalid on this chip\n", block_id);
4607 #endif
4608     return CVMX_ADD_IO_SEG(0x0001180088000088ull) + (block_id&1)*0x60000000ull;
4609 }
4610
4611 static inline uint64_t CVMX_LMCX_DLL_CTL(unsigned long block_id)
4612 {
4613 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4614     if (!(
4615         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4616         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4617         cvmx_warn("CVMX_LMCX_DLL_CTL(%lu) is invalid on this chip\n", block_id);
4618 #endif
4619     return CVMX_ADD_IO_SEG(0x00011800880000C0ull) + (block_id&1)*0x60000000ull;
4620 }
4621
4622 static inline uint64_t CVMX_LMCX_DUAL_MEMCFG(unsigned long block_id)
4623 {
4624 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4625     if (!(
4626         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4627         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4628         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4629         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4630         cvmx_warn("CVMX_LMCX_DUAL_MEMCFG(%lu) is invalid on this chip\n", block_id);
4631 #endif
4632     return CVMX_ADD_IO_SEG(0x0001180088000098ull) + (block_id&1)*0x60000000ull;
4633 }
4634
4635 static inline uint64_t CVMX_LMCX_ECC_SYND(unsigned long block_id)
4636 {
4637 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4638     if (!(
4639         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4640         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4641         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4642         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4643         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4644         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4645         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4646         cvmx_warn("CVMX_LMCX_ECC_SYND(%lu) is invalid on this chip\n", block_id);
4647 #endif
4648     return CVMX_ADD_IO_SEG(0x0001180088000038ull) + (block_id&1)*0x60000000ull;
4649 }
4650
4651 static inline uint64_t CVMX_LMCX_FADR(unsigned long block_id)
4652 {
4653 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4654     if (!(
4655         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4656         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4657         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4658         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4659         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4660         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4661         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4662         cvmx_warn("CVMX_LMCX_FADR(%lu) is invalid on this chip\n", block_id);
4663 #endif
4664     return CVMX_ADD_IO_SEG(0x0001180088000020ull) + (block_id&1)*0x60000000ull;
4665 }
4666
4667 static inline uint64_t CVMX_LMCX_IFB_CNT_HI(unsigned long block_id)
4668 {
4669 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4670     if (!(
4671         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4672         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4673         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4674         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4675         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4676         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4677         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4678         cvmx_warn("CVMX_LMCX_IFB_CNT_HI(%lu) is invalid on this chip\n", block_id);
4679 #endif
4680     return CVMX_ADD_IO_SEG(0x0001180088000050ull) + (block_id&1)*0x60000000ull;
4681 }
4682
4683 static inline uint64_t CVMX_LMCX_IFB_CNT_LO(unsigned long block_id)
4684 {
4685 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4686     if (!(
4687         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4688         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4689         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4690         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4691         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4692         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4693         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4694         cvmx_warn("CVMX_LMCX_IFB_CNT_LO(%lu) is invalid on this chip\n", block_id);
4695 #endif
4696     return CVMX_ADD_IO_SEG(0x0001180088000048ull) + (block_id&1)*0x60000000ull;
4697 }
4698
4699 static inline uint64_t CVMX_LMCX_MEM_CFG0(unsigned long block_id)
4700 {
4701 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4702     if (!(
4703         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4704         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4705         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4706         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4707         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4708         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4709         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4710         cvmx_warn("CVMX_LMCX_MEM_CFG0(%lu) is invalid on this chip\n", block_id);
4711 #endif
4712     return CVMX_ADD_IO_SEG(0x0001180088000000ull) + (block_id&1)*0x60000000ull;
4713 }
4714
4715 static inline uint64_t CVMX_LMCX_MEM_CFG1(unsigned long block_id)
4716 {
4717 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4718     if (!(
4719         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4720         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4721         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4722         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4723         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4724         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4725         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4726         cvmx_warn("CVMX_LMCX_MEM_CFG1(%lu) is invalid on this chip\n", block_id);
4727 #endif
4728     return CVMX_ADD_IO_SEG(0x0001180088000008ull) + (block_id&1)*0x60000000ull;
4729 }
4730
4731 static inline uint64_t CVMX_LMCX_NXM(unsigned long block_id)
4732 {
4733 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4734     if (!(
4735         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4736         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0))) ||
4737         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0)))))
4738         cvmx_warn("CVMX_LMCX_NXM(%lu) is invalid on this chip\n", block_id);
4739 #endif
4740     return CVMX_ADD_IO_SEG(0x00011800880000C8ull) + (block_id&1)*0x60000000ull;
4741 }
4742
4743 static inline uint64_t CVMX_LMCX_OPS_CNT_HI(unsigned long block_id)
4744 {
4745 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4746     if (!(
4747         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4748         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4749         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4750         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4751         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4752         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4753         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4754         cvmx_warn("CVMX_LMCX_OPS_CNT_HI(%lu) is invalid on this chip\n", block_id);
4755 #endif
4756     return CVMX_ADD_IO_SEG(0x0001180088000060ull) + (block_id&1)*0x60000000ull;
4757 }
4758
4759 static inline uint64_t CVMX_LMCX_OPS_CNT_LO(unsigned long block_id)
4760 {
4761 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4762     if (!(
4763         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4764         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4765         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4766         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4767         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4768         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4769         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4770         cvmx_warn("CVMX_LMCX_OPS_CNT_LO(%lu) is invalid on this chip\n", block_id);
4771 #endif
4772     return CVMX_ADD_IO_SEG(0x0001180088000058ull) + (block_id&1)*0x60000000ull;
4773 }
4774
4775 static inline uint64_t CVMX_LMCX_PLL_BWCTL(unsigned long block_id)
4776 {
4777 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4778     if (!(
4779         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4780         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4781         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0)))))
4782         cvmx_warn("CVMX_LMCX_PLL_BWCTL(%lu) is invalid on this chip\n", block_id);
4783 #endif
4784     return CVMX_ADD_IO_SEG(0x0001180088000040ull) + (block_id&0)*0x8000000ull;
4785 }
4786
4787 static inline uint64_t CVMX_LMCX_PLL_CTL(unsigned long block_id)
4788 {
4789 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4790     if (!(
4791         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4792         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4793         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4794         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4795         cvmx_warn("CVMX_LMCX_PLL_CTL(%lu) is invalid on this chip\n", block_id);
4796 #endif
4797     return CVMX_ADD_IO_SEG(0x00011800880000A8ull) + (block_id&1)*0x60000000ull;
4798 }
4799
4800 static inline uint64_t CVMX_LMCX_PLL_STATUS(unsigned long block_id)
4801 {
4802 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4803     if (!(
4804         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4805         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4806         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4807         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4808         cvmx_warn("CVMX_LMCX_PLL_STATUS(%lu) is invalid on this chip\n", block_id);
4809 #endif
4810     return CVMX_ADD_IO_SEG(0x00011800880000B0ull) + (block_id&1)*0x60000000ull;
4811 }
4812
4813 static inline uint64_t CVMX_LMCX_READ_LEVEL_CTL(unsigned long block_id)
4814 {
4815 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4816     if (!(
4817         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4818         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4819         cvmx_warn("CVMX_LMCX_READ_LEVEL_CTL(%lu) is invalid on this chip\n", block_id);
4820 #endif
4821     return CVMX_ADD_IO_SEG(0x0001180088000140ull) + (block_id&1)*0x60000000ull;
4822 }
4823
4824 static inline uint64_t CVMX_LMCX_READ_LEVEL_DBG(unsigned long block_id)
4825 {
4826 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4827     if (!(
4828         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4829         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4830         cvmx_warn("CVMX_LMCX_READ_LEVEL_DBG(%lu) is invalid on this chip\n", block_id);
4831 #endif
4832     return CVMX_ADD_IO_SEG(0x0001180088000148ull) + (block_id&1)*0x60000000ull;
4833 }
4834
4835 static inline uint64_t CVMX_LMCX_READ_LEVEL_RANKX(unsigned long offset, unsigned long block_id)
4836 {
4837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4838     if (!(
4839         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
4840         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
4841         cvmx_warn("CVMX_LMCX_READ_LEVEL_RANKX(%lu,%lu) is invalid on this chip\n", offset, block_id);
4842 #endif
4843     return CVMX_ADD_IO_SEG(0x0001180088000100ull) + ((offset&3) + (block_id&1)*0xC000000ull)*8;
4844 }
4845
4846 static inline uint64_t CVMX_LMCX_RODT_COMP_CTL(unsigned long block_id)
4847 {
4848 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4849     if (!(
4850         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4851         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4852         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4853         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4854         cvmx_warn("CVMX_LMCX_RODT_COMP_CTL(%lu) is invalid on this chip\n", block_id);
4855 #endif
4856     return CVMX_ADD_IO_SEG(0x00011800880000A0ull) + (block_id&1)*0x60000000ull;
4857 }
4858
4859 static inline uint64_t CVMX_LMCX_RODT_CTL(unsigned long block_id)
4860 {
4861 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4862     if (!(
4863         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4864         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4865         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4866         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4867         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4868         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4869         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4870         cvmx_warn("CVMX_LMCX_RODT_CTL(%lu) is invalid on this chip\n", block_id);
4871 #endif
4872     return CVMX_ADD_IO_SEG(0x0001180088000078ull) + (block_id&1)*0x60000000ull;
4873 }
4874
4875 static inline uint64_t CVMX_LMCX_WODT_CTL0(unsigned long block_id)
4876 {
4877 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4878     if (!(
4879         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4880         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4881         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
4882         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id == 0))) ||
4883         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4884         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id == 0))) ||
4885         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4886         cvmx_warn("CVMX_LMCX_WODT_CTL0(%lu) is invalid on this chip\n", block_id);
4887 #endif
4888     return CVMX_ADD_IO_SEG(0x0001180088000030ull) + (block_id&1)*0x60000000ull;
4889 }
4890
4891 static inline uint64_t CVMX_LMCX_WODT_CTL1(unsigned long block_id)
4892 {
4893 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4894     if (!(
4895         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
4896         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
4897         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
4898         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id == 0)))))
4899         cvmx_warn("CVMX_LMCX_WODT_CTL1(%lu) is invalid on this chip\n", block_id);
4900 #endif
4901     return CVMX_ADD_IO_SEG(0x0001180088000080ull) + (block_id&1)*0x60000000ull;
4902 }
4903
4904 #define CVMX_MIO_BOOT_BIST_STAT CVMX_MIO_BOOT_BIST_STAT_FUNC()
4905 static inline uint64_t CVMX_MIO_BOOT_BIST_STAT_FUNC(void)
4906 {
4907     return CVMX_ADD_IO_SEG(0x00011800000000F8ull);
4908 }
4909
4910 #define CVMX_MIO_BOOT_COMP CVMX_MIO_BOOT_COMP_FUNC()
4911 static inline uint64_t CVMX_MIO_BOOT_COMP_FUNC(void)
4912 {
4913 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4914     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
4915         cvmx_warn("CVMX_MIO_BOOT_COMP not supported on this chip\n");
4916 #endif
4917     return CVMX_ADD_IO_SEG(0x00011800000000B8ull);
4918 }
4919
4920 static inline uint64_t CVMX_MIO_BOOT_DMA_CFGX(unsigned long offset)
4921 {
4922 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4923     if (!(
4924         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 2))) ||
4925         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
4926         cvmx_warn("CVMX_MIO_BOOT_DMA_CFGX(%lu) is invalid on this chip\n", offset);
4927 #endif
4928     return CVMX_ADD_IO_SEG(0x0001180000000100ull) + (offset&3)*8;
4929 }
4930
4931 static inline uint64_t CVMX_MIO_BOOT_DMA_INTX(unsigned long offset)
4932 {
4933 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4934     if (!(
4935         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 2))) ||
4936         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
4937         cvmx_warn("CVMX_MIO_BOOT_DMA_INTX(%lu) is invalid on this chip\n", offset);
4938 #endif
4939     return CVMX_ADD_IO_SEG(0x0001180000000138ull) + (offset&3)*8;
4940 }
4941
4942 static inline uint64_t CVMX_MIO_BOOT_DMA_INT_ENX(unsigned long offset)
4943 {
4944 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4945     if (!(
4946         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 2))) ||
4947         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
4948         cvmx_warn("CVMX_MIO_BOOT_DMA_INT_ENX(%lu) is invalid on this chip\n", offset);
4949 #endif
4950     return CVMX_ADD_IO_SEG(0x0001180000000150ull) + (offset&3)*8;
4951 }
4952
4953 static inline uint64_t CVMX_MIO_BOOT_DMA_TIMX(unsigned long offset)
4954 {
4955 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4956     if (!(
4957         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 2))) ||
4958         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
4959         cvmx_warn("CVMX_MIO_BOOT_DMA_TIMX(%lu) is invalid on this chip\n", offset);
4960 #endif
4961     return CVMX_ADD_IO_SEG(0x0001180000000120ull) + (offset&3)*8;
4962 }
4963
4964 #define CVMX_MIO_BOOT_ERR CVMX_MIO_BOOT_ERR_FUNC()
4965 static inline uint64_t CVMX_MIO_BOOT_ERR_FUNC(void)
4966 {
4967     return CVMX_ADD_IO_SEG(0x00011800000000A0ull);
4968 }
4969
4970 #define CVMX_MIO_BOOT_INT CVMX_MIO_BOOT_INT_FUNC()
4971 static inline uint64_t CVMX_MIO_BOOT_INT_FUNC(void)
4972 {
4973     return CVMX_ADD_IO_SEG(0x00011800000000A8ull);
4974 }
4975
4976 #define CVMX_MIO_BOOT_LOC_ADR CVMX_MIO_BOOT_LOC_ADR_FUNC()
4977 static inline uint64_t CVMX_MIO_BOOT_LOC_ADR_FUNC(void)
4978 {
4979     return CVMX_ADD_IO_SEG(0x0001180000000090ull);
4980 }
4981
4982 static inline uint64_t CVMX_MIO_BOOT_LOC_CFGX(unsigned long offset)
4983 {
4984 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
4985     if (!(
4986         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
4987         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
4988         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
4989         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
4990         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
4991         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
4992         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
4993         cvmx_warn("CVMX_MIO_BOOT_LOC_CFGX(%lu) is invalid on this chip\n", offset);
4994 #endif
4995     return CVMX_ADD_IO_SEG(0x0001180000000080ull) + (offset&1)*8;
4996 }
4997
4998 #define CVMX_MIO_BOOT_LOC_DAT CVMX_MIO_BOOT_LOC_DAT_FUNC()
4999 static inline uint64_t CVMX_MIO_BOOT_LOC_DAT_FUNC(void)
5000 {
5001     return CVMX_ADD_IO_SEG(0x0001180000000098ull);
5002 }
5003
5004 #define CVMX_MIO_BOOT_PIN_DEFS CVMX_MIO_BOOT_PIN_DEFS_FUNC()
5005 static inline uint64_t CVMX_MIO_BOOT_PIN_DEFS_FUNC(void)
5006 {
5007 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5008     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
5009         cvmx_warn("CVMX_MIO_BOOT_PIN_DEFS not supported on this chip\n");
5010 #endif
5011     return CVMX_ADD_IO_SEG(0x00011800000000C0ull);
5012 }
5013
5014 static inline uint64_t CVMX_MIO_BOOT_REG_CFGX(unsigned long offset)
5015 {
5016 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5017     if (!(
5018         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
5019         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
5020         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
5021         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
5022         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
5023         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
5024         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
5025         cvmx_warn("CVMX_MIO_BOOT_REG_CFGX(%lu) is invalid on this chip\n", offset);
5026 #endif
5027     return CVMX_ADD_IO_SEG(0x0001180000000000ull) + (offset&7)*8;
5028 }
5029
5030 static inline uint64_t CVMX_MIO_BOOT_REG_TIMX(unsigned long offset)
5031 {
5032 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5033     if (!(
5034         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
5035         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
5036         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
5037         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
5038         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
5039         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
5040         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
5041         cvmx_warn("CVMX_MIO_BOOT_REG_TIMX(%lu) is invalid on this chip\n", offset);
5042 #endif
5043     return CVMX_ADD_IO_SEG(0x0001180000000040ull) + (offset&7)*8;
5044 }
5045
5046 #define CVMX_MIO_BOOT_THR CVMX_MIO_BOOT_THR_FUNC()
5047 static inline uint64_t CVMX_MIO_BOOT_THR_FUNC(void)
5048 {
5049     return CVMX_ADD_IO_SEG(0x00011800000000B0ull);
5050 }
5051
5052 static inline uint64_t CVMX_MIO_FUS_BNK_DATX(unsigned long offset)
5053 {
5054 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5055     if (!(
5056         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
5057         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
5058         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
5059         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
5060         cvmx_warn("CVMX_MIO_FUS_BNK_DATX(%lu) is invalid on this chip\n", offset);
5061 #endif
5062     return CVMX_ADD_IO_SEG(0x0001180000001520ull) + (offset&3)*8;
5063 }
5064
5065 #define CVMX_MIO_FUS_DAT0 CVMX_MIO_FUS_DAT0_FUNC()
5066 static inline uint64_t CVMX_MIO_FUS_DAT0_FUNC(void)
5067 {
5068     return CVMX_ADD_IO_SEG(0x0001180000001400ull);
5069 }
5070
5071 #define CVMX_MIO_FUS_DAT1 CVMX_MIO_FUS_DAT1_FUNC()
5072 static inline uint64_t CVMX_MIO_FUS_DAT1_FUNC(void)
5073 {
5074     return CVMX_ADD_IO_SEG(0x0001180000001408ull);
5075 }
5076
5077 #define CVMX_MIO_FUS_DAT2 CVMX_MIO_FUS_DAT2_FUNC()
5078 static inline uint64_t CVMX_MIO_FUS_DAT2_FUNC(void)
5079 {
5080     return CVMX_ADD_IO_SEG(0x0001180000001410ull);
5081 }
5082
5083 #define CVMX_MIO_FUS_DAT3 CVMX_MIO_FUS_DAT3_FUNC()
5084 static inline uint64_t CVMX_MIO_FUS_DAT3_FUNC(void)
5085 {
5086     return CVMX_ADD_IO_SEG(0x0001180000001418ull);
5087 }
5088
5089 #define CVMX_MIO_FUS_EMA CVMX_MIO_FUS_EMA_FUNC()
5090 static inline uint64_t CVMX_MIO_FUS_EMA_FUNC(void)
5091 {
5092 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5093     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
5094         cvmx_warn("CVMX_MIO_FUS_EMA not supported on this chip\n");
5095 #endif
5096     return CVMX_ADD_IO_SEG(0x0001180000001550ull);
5097 }
5098
5099 #define CVMX_MIO_FUS_PDF CVMX_MIO_FUS_PDF_FUNC()
5100 static inline uint64_t CVMX_MIO_FUS_PDF_FUNC(void)
5101 {
5102 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5103     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
5104         cvmx_warn("CVMX_MIO_FUS_PDF not supported on this chip\n");
5105 #endif
5106     return CVMX_ADD_IO_SEG(0x0001180000001420ull);
5107 }
5108
5109 #define CVMX_MIO_FUS_PLL CVMX_MIO_FUS_PLL_FUNC()
5110 static inline uint64_t CVMX_MIO_FUS_PLL_FUNC(void)
5111 {
5112 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5113     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
5114         cvmx_warn("CVMX_MIO_FUS_PLL not supported on this chip\n");
5115 #endif
5116     return CVMX_ADD_IO_SEG(0x0001180000001580ull);
5117 }
5118
5119 #define CVMX_MIO_FUS_PROG CVMX_MIO_FUS_PROG_FUNC()
5120 static inline uint64_t CVMX_MIO_FUS_PROG_FUNC(void)
5121 {
5122     return CVMX_ADD_IO_SEG(0x0001180000001510ull);
5123 }
5124
5125 #define CVMX_MIO_FUS_PROG_TIMES CVMX_MIO_FUS_PROG_TIMES_FUNC()
5126 static inline uint64_t CVMX_MIO_FUS_PROG_TIMES_FUNC(void)
5127 {
5128 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5129     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
5130         cvmx_warn("CVMX_MIO_FUS_PROG_TIMES not supported on this chip\n");
5131 #endif
5132     return CVMX_ADD_IO_SEG(0x0001180000001518ull);
5133 }
5134
5135 #define CVMX_MIO_FUS_RCMD CVMX_MIO_FUS_RCMD_FUNC()
5136 static inline uint64_t CVMX_MIO_FUS_RCMD_FUNC(void)
5137 {
5138     return CVMX_ADD_IO_SEG(0x0001180000001500ull);
5139 }
5140
5141 #define CVMX_MIO_FUS_SPR_REPAIR_RES CVMX_MIO_FUS_SPR_REPAIR_RES_FUNC()
5142 static inline uint64_t CVMX_MIO_FUS_SPR_REPAIR_RES_FUNC(void)
5143 {
5144     return CVMX_ADD_IO_SEG(0x0001180000001548ull);
5145 }
5146
5147 #define CVMX_MIO_FUS_SPR_REPAIR_SUM CVMX_MIO_FUS_SPR_REPAIR_SUM_FUNC()
5148 static inline uint64_t CVMX_MIO_FUS_SPR_REPAIR_SUM_FUNC(void)
5149 {
5150     return CVMX_ADD_IO_SEG(0x0001180000001540ull);
5151 }
5152
5153 #define CVMX_MIO_FUS_UNLOCK CVMX_MIO_FUS_UNLOCK_FUNC()
5154 static inline uint64_t CVMX_MIO_FUS_UNLOCK_FUNC(void)
5155 {
5156 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5157     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX)))
5158         cvmx_warn("CVMX_MIO_FUS_UNLOCK not supported on this chip\n");
5159 #endif
5160     return CVMX_ADD_IO_SEG(0x0001180000001578ull);
5161 }
5162
5163 #define CVMX_MIO_FUS_WADR CVMX_MIO_FUS_WADR_FUNC()
5164 static inline uint64_t CVMX_MIO_FUS_WADR_FUNC(void)
5165 {
5166     return CVMX_ADD_IO_SEG(0x0001180000001508ull);
5167 }
5168
5169 #define CVMX_MIO_NDF_DMA_CFG CVMX_MIO_NDF_DMA_CFG_FUNC()
5170 static inline uint64_t CVMX_MIO_NDF_DMA_CFG_FUNC(void)
5171 {
5172 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5173     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5174         cvmx_warn("CVMX_MIO_NDF_DMA_CFG not supported on this chip\n");
5175 #endif
5176     return CVMX_ADD_IO_SEG(0x0001180000000168ull);
5177 }
5178
5179 #define CVMX_MIO_NDF_DMA_INT CVMX_MIO_NDF_DMA_INT_FUNC()
5180 static inline uint64_t CVMX_MIO_NDF_DMA_INT_FUNC(void)
5181 {
5182 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5183     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5184         cvmx_warn("CVMX_MIO_NDF_DMA_INT not supported on this chip\n");
5185 #endif
5186     return CVMX_ADD_IO_SEG(0x0001180000000170ull);
5187 }
5188
5189 #define CVMX_MIO_NDF_DMA_INT_EN CVMX_MIO_NDF_DMA_INT_EN_FUNC()
5190 static inline uint64_t CVMX_MIO_NDF_DMA_INT_EN_FUNC(void)
5191 {
5192 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5193     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5194         cvmx_warn("CVMX_MIO_NDF_DMA_INT_EN not supported on this chip\n");
5195 #endif
5196     return CVMX_ADD_IO_SEG(0x0001180000000178ull);
5197 }
5198
5199 #define CVMX_MIO_PLL_CTL CVMX_MIO_PLL_CTL_FUNC()
5200 static inline uint64_t CVMX_MIO_PLL_CTL_FUNC(void)
5201 {
5202 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5203     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX)))
5204         cvmx_warn("CVMX_MIO_PLL_CTL not supported on this chip\n");
5205 #endif
5206     return CVMX_ADD_IO_SEG(0x0001180000001448ull);
5207 }
5208
5209 #define CVMX_MIO_PLL_SETTING CVMX_MIO_PLL_SETTING_FUNC()
5210 static inline uint64_t CVMX_MIO_PLL_SETTING_FUNC(void)
5211 {
5212 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5213     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX)))
5214         cvmx_warn("CVMX_MIO_PLL_SETTING not supported on this chip\n");
5215 #endif
5216     return CVMX_ADD_IO_SEG(0x0001180000001440ull);
5217 }
5218
5219 static inline uint64_t CVMX_MIO_TWSX_INT(unsigned long offset)
5220 {
5221 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5222     if (!(
5223         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5224         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
5225         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
5226         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
5227         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
5228         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
5229         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5230         cvmx_warn("CVMX_MIO_TWSX_INT(%lu) is invalid on this chip\n", offset);
5231 #endif
5232     return CVMX_ADD_IO_SEG(0x0001180000001010ull) + (offset&1)*512;
5233 }
5234
5235 static inline uint64_t CVMX_MIO_TWSX_SW_TWSI(unsigned long offset)
5236 {
5237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5238     if (!(
5239         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5240         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
5241         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
5242         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
5243         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
5244         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
5245         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5246         cvmx_warn("CVMX_MIO_TWSX_SW_TWSI(%lu) is invalid on this chip\n", offset);
5247 #endif
5248     return CVMX_ADD_IO_SEG(0x0001180000001000ull) + (offset&1)*512;
5249 }
5250
5251 static inline uint64_t CVMX_MIO_TWSX_SW_TWSI_EXT(unsigned long offset)
5252 {
5253 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5254     if (!(
5255         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5256         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
5257         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
5258         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
5259         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
5260         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
5261         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5262         cvmx_warn("CVMX_MIO_TWSX_SW_TWSI_EXT(%lu) is invalid on this chip\n", offset);
5263 #endif
5264     return CVMX_ADD_IO_SEG(0x0001180000001018ull) + (offset&1)*512;
5265 }
5266
5267 static inline uint64_t CVMX_MIO_TWSX_TWSI_SW(unsigned long offset)
5268 {
5269 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5270     if (!(
5271         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5272         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
5273         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
5274         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
5275         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
5276         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
5277         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5278         cvmx_warn("CVMX_MIO_TWSX_TWSI_SW(%lu) is invalid on this chip\n", offset);
5279 #endif
5280     return CVMX_ADD_IO_SEG(0x0001180000001008ull) + (offset&1)*512;
5281 }
5282
5283 #define CVMX_MIO_UART2_DLH CVMX_MIO_UART2_DLH_FUNC()
5284 static inline uint64_t CVMX_MIO_UART2_DLH_FUNC(void)
5285 {
5286 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5287     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5288         cvmx_warn("CVMX_MIO_UART2_DLH not supported on this chip\n");
5289 #endif
5290     return CVMX_ADD_IO_SEG(0x0001180000000488ull);
5291 }
5292
5293 #define CVMX_MIO_UART2_DLL CVMX_MIO_UART2_DLL_FUNC()
5294 static inline uint64_t CVMX_MIO_UART2_DLL_FUNC(void)
5295 {
5296 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5297     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5298         cvmx_warn("CVMX_MIO_UART2_DLL not supported on this chip\n");
5299 #endif
5300     return CVMX_ADD_IO_SEG(0x0001180000000480ull);
5301 }
5302
5303 #define CVMX_MIO_UART2_FAR CVMX_MIO_UART2_FAR_FUNC()
5304 static inline uint64_t CVMX_MIO_UART2_FAR_FUNC(void)
5305 {
5306 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5307     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5308         cvmx_warn("CVMX_MIO_UART2_FAR not supported on this chip\n");
5309 #endif
5310     return CVMX_ADD_IO_SEG(0x0001180000000520ull);
5311 }
5312
5313 #define CVMX_MIO_UART2_FCR CVMX_MIO_UART2_FCR_FUNC()
5314 static inline uint64_t CVMX_MIO_UART2_FCR_FUNC(void)
5315 {
5316 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5317     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5318         cvmx_warn("CVMX_MIO_UART2_FCR not supported on this chip\n");
5319 #endif
5320     return CVMX_ADD_IO_SEG(0x0001180000000450ull);
5321 }
5322
5323 #define CVMX_MIO_UART2_HTX CVMX_MIO_UART2_HTX_FUNC()
5324 static inline uint64_t CVMX_MIO_UART2_HTX_FUNC(void)
5325 {
5326 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5327     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5328         cvmx_warn("CVMX_MIO_UART2_HTX not supported on this chip\n");
5329 #endif
5330     return CVMX_ADD_IO_SEG(0x0001180000000708ull);
5331 }
5332
5333 #define CVMX_MIO_UART2_IER CVMX_MIO_UART2_IER_FUNC()
5334 static inline uint64_t CVMX_MIO_UART2_IER_FUNC(void)
5335 {
5336 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5337     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5338         cvmx_warn("CVMX_MIO_UART2_IER not supported on this chip\n");
5339 #endif
5340     return CVMX_ADD_IO_SEG(0x0001180000000408ull);
5341 }
5342
5343 #define CVMX_MIO_UART2_IIR CVMX_MIO_UART2_IIR_FUNC()
5344 static inline uint64_t CVMX_MIO_UART2_IIR_FUNC(void)
5345 {
5346 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5347     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5348         cvmx_warn("CVMX_MIO_UART2_IIR not supported on this chip\n");
5349 #endif
5350     return CVMX_ADD_IO_SEG(0x0001180000000410ull);
5351 }
5352
5353 #define CVMX_MIO_UART2_LCR CVMX_MIO_UART2_LCR_FUNC()
5354 static inline uint64_t CVMX_MIO_UART2_LCR_FUNC(void)
5355 {
5356 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5357     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5358         cvmx_warn("CVMX_MIO_UART2_LCR not supported on this chip\n");
5359 #endif
5360     return CVMX_ADD_IO_SEG(0x0001180000000418ull);
5361 }
5362
5363 #define CVMX_MIO_UART2_LSR CVMX_MIO_UART2_LSR_FUNC()
5364 static inline uint64_t CVMX_MIO_UART2_LSR_FUNC(void)
5365 {
5366 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5367     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5368         cvmx_warn("CVMX_MIO_UART2_LSR not supported on this chip\n");
5369 #endif
5370     return CVMX_ADD_IO_SEG(0x0001180000000428ull);
5371 }
5372
5373 #define CVMX_MIO_UART2_MCR CVMX_MIO_UART2_MCR_FUNC()
5374 static inline uint64_t CVMX_MIO_UART2_MCR_FUNC(void)
5375 {
5376 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5377     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5378         cvmx_warn("CVMX_MIO_UART2_MCR not supported on this chip\n");
5379 #endif
5380     return CVMX_ADD_IO_SEG(0x0001180000000420ull);
5381 }
5382
5383 #define CVMX_MIO_UART2_MSR CVMX_MIO_UART2_MSR_FUNC()
5384 static inline uint64_t CVMX_MIO_UART2_MSR_FUNC(void)
5385 {
5386 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5387     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5388         cvmx_warn("CVMX_MIO_UART2_MSR not supported on this chip\n");
5389 #endif
5390     return CVMX_ADD_IO_SEG(0x0001180000000430ull);
5391 }
5392
5393 #define CVMX_MIO_UART2_RBR CVMX_MIO_UART2_RBR_FUNC()
5394 static inline uint64_t CVMX_MIO_UART2_RBR_FUNC(void)
5395 {
5396 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5397     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5398         cvmx_warn("CVMX_MIO_UART2_RBR not supported on this chip\n");
5399 #endif
5400     return CVMX_ADD_IO_SEG(0x0001180000000400ull);
5401 }
5402
5403 #define CVMX_MIO_UART2_RFL CVMX_MIO_UART2_RFL_FUNC()
5404 static inline uint64_t CVMX_MIO_UART2_RFL_FUNC(void)
5405 {
5406 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5407     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5408         cvmx_warn("CVMX_MIO_UART2_RFL not supported on this chip\n");
5409 #endif
5410     return CVMX_ADD_IO_SEG(0x0001180000000608ull);
5411 }
5412
5413 #define CVMX_MIO_UART2_RFW CVMX_MIO_UART2_RFW_FUNC()
5414 static inline uint64_t CVMX_MIO_UART2_RFW_FUNC(void)
5415 {
5416 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5417     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5418         cvmx_warn("CVMX_MIO_UART2_RFW not supported on this chip\n");
5419 #endif
5420     return CVMX_ADD_IO_SEG(0x0001180000000530ull);
5421 }
5422
5423 #define CVMX_MIO_UART2_SBCR CVMX_MIO_UART2_SBCR_FUNC()
5424 static inline uint64_t CVMX_MIO_UART2_SBCR_FUNC(void)
5425 {
5426 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5427     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5428         cvmx_warn("CVMX_MIO_UART2_SBCR not supported on this chip\n");
5429 #endif
5430     return CVMX_ADD_IO_SEG(0x0001180000000620ull);
5431 }
5432
5433 #define CVMX_MIO_UART2_SCR CVMX_MIO_UART2_SCR_FUNC()
5434 static inline uint64_t CVMX_MIO_UART2_SCR_FUNC(void)
5435 {
5436 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5437     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5438         cvmx_warn("CVMX_MIO_UART2_SCR not supported on this chip\n");
5439 #endif
5440     return CVMX_ADD_IO_SEG(0x0001180000000438ull);
5441 }
5442
5443 #define CVMX_MIO_UART2_SFE CVMX_MIO_UART2_SFE_FUNC()
5444 static inline uint64_t CVMX_MIO_UART2_SFE_FUNC(void)
5445 {
5446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5447     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5448         cvmx_warn("CVMX_MIO_UART2_SFE not supported on this chip\n");
5449 #endif
5450     return CVMX_ADD_IO_SEG(0x0001180000000630ull);
5451 }
5452
5453 #define CVMX_MIO_UART2_SRR CVMX_MIO_UART2_SRR_FUNC()
5454 static inline uint64_t CVMX_MIO_UART2_SRR_FUNC(void)
5455 {
5456 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5457     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5458         cvmx_warn("CVMX_MIO_UART2_SRR not supported on this chip\n");
5459 #endif
5460     return CVMX_ADD_IO_SEG(0x0001180000000610ull);
5461 }
5462
5463 #define CVMX_MIO_UART2_SRT CVMX_MIO_UART2_SRT_FUNC()
5464 static inline uint64_t CVMX_MIO_UART2_SRT_FUNC(void)
5465 {
5466 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5467     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5468         cvmx_warn("CVMX_MIO_UART2_SRT not supported on this chip\n");
5469 #endif
5470     return CVMX_ADD_IO_SEG(0x0001180000000638ull);
5471 }
5472
5473 #define CVMX_MIO_UART2_SRTS CVMX_MIO_UART2_SRTS_FUNC()
5474 static inline uint64_t CVMX_MIO_UART2_SRTS_FUNC(void)
5475 {
5476 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5477     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5478         cvmx_warn("CVMX_MIO_UART2_SRTS not supported on this chip\n");
5479 #endif
5480     return CVMX_ADD_IO_SEG(0x0001180000000618ull);
5481 }
5482
5483 #define CVMX_MIO_UART2_STT CVMX_MIO_UART2_STT_FUNC()
5484 static inline uint64_t CVMX_MIO_UART2_STT_FUNC(void)
5485 {
5486 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5487     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5488         cvmx_warn("CVMX_MIO_UART2_STT not supported on this chip\n");
5489 #endif
5490     return CVMX_ADD_IO_SEG(0x0001180000000700ull);
5491 }
5492
5493 #define CVMX_MIO_UART2_TFL CVMX_MIO_UART2_TFL_FUNC()
5494 static inline uint64_t CVMX_MIO_UART2_TFL_FUNC(void)
5495 {
5496 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5497     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5498         cvmx_warn("CVMX_MIO_UART2_TFL not supported on this chip\n");
5499 #endif
5500     return CVMX_ADD_IO_SEG(0x0001180000000600ull);
5501 }
5502
5503 #define CVMX_MIO_UART2_TFR CVMX_MIO_UART2_TFR_FUNC()
5504 static inline uint64_t CVMX_MIO_UART2_TFR_FUNC(void)
5505 {
5506 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5507     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5508         cvmx_warn("CVMX_MIO_UART2_TFR not supported on this chip\n");
5509 #endif
5510     return CVMX_ADD_IO_SEG(0x0001180000000528ull);
5511 }
5512
5513 #define CVMX_MIO_UART2_THR CVMX_MIO_UART2_THR_FUNC()
5514 static inline uint64_t CVMX_MIO_UART2_THR_FUNC(void)
5515 {
5516 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5517     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5518         cvmx_warn("CVMX_MIO_UART2_THR not supported on this chip\n");
5519 #endif
5520     return CVMX_ADD_IO_SEG(0x0001180000000440ull);
5521 }
5522
5523 #define CVMX_MIO_UART2_USR CVMX_MIO_UART2_USR_FUNC()
5524 static inline uint64_t CVMX_MIO_UART2_USR_FUNC(void)
5525 {
5526 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5527     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
5528         cvmx_warn("CVMX_MIO_UART2_USR not supported on this chip\n");
5529 #endif
5530     return CVMX_ADD_IO_SEG(0x0001180000000538ull);
5531 }
5532
5533 static inline uint64_t CVMX_MIO_UARTX_DLH(unsigned long offset)
5534 {
5535 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5536     if (!(
5537         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5538         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5539         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5540         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5541         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5542         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5543         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5544         cvmx_warn("CVMX_MIO_UARTX_DLH(%lu) is invalid on this chip\n", offset);
5545 #endif
5546     return CVMX_ADD_IO_SEG(0x0001180000000888ull) + (offset&1)*1024;
5547 }
5548
5549 static inline uint64_t CVMX_MIO_UARTX_DLL(unsigned long offset)
5550 {
5551 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5552     if (!(
5553         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5554         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5555         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5556         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5557         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5558         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5559         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5560         cvmx_warn("CVMX_MIO_UARTX_DLL(%lu) is invalid on this chip\n", offset);
5561 #endif
5562     return CVMX_ADD_IO_SEG(0x0001180000000880ull) + (offset&1)*1024;
5563 }
5564
5565 static inline uint64_t CVMX_MIO_UARTX_FAR(unsigned long offset)
5566 {
5567 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5568     if (!(
5569         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5570         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5571         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5572         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5573         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5574         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5575         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5576         cvmx_warn("CVMX_MIO_UARTX_FAR(%lu) is invalid on this chip\n", offset);
5577 #endif
5578     return CVMX_ADD_IO_SEG(0x0001180000000920ull) + (offset&1)*1024;
5579 }
5580
5581 static inline uint64_t CVMX_MIO_UARTX_FCR(unsigned long offset)
5582 {
5583 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5584     if (!(
5585         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5586         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5587         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5588         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5589         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5590         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5591         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5592         cvmx_warn("CVMX_MIO_UARTX_FCR(%lu) is invalid on this chip\n", offset);
5593 #endif
5594     return CVMX_ADD_IO_SEG(0x0001180000000850ull) + (offset&1)*1024;
5595 }
5596
5597 static inline uint64_t CVMX_MIO_UARTX_HTX(unsigned long offset)
5598 {
5599 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5600     if (!(
5601         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5602         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5603         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5604         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5605         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5606         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5607         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5608         cvmx_warn("CVMX_MIO_UARTX_HTX(%lu) is invalid on this chip\n", offset);
5609 #endif
5610     return CVMX_ADD_IO_SEG(0x0001180000000B08ull) + (offset&1)*1024;
5611 }
5612
5613 static inline uint64_t CVMX_MIO_UARTX_IER(unsigned long offset)
5614 {
5615 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5616     if (!(
5617         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5618         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5619         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5620         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5621         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5622         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5623         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5624         cvmx_warn("CVMX_MIO_UARTX_IER(%lu) is invalid on this chip\n", offset);
5625 #endif
5626     return CVMX_ADD_IO_SEG(0x0001180000000808ull) + (offset&1)*1024;
5627 }
5628
5629 static inline uint64_t CVMX_MIO_UARTX_IIR(unsigned long offset)
5630 {
5631 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5632     if (!(
5633         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5634         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5635         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5636         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5637         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5638         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5639         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5640         cvmx_warn("CVMX_MIO_UARTX_IIR(%lu) is invalid on this chip\n", offset);
5641 #endif
5642     return CVMX_ADD_IO_SEG(0x0001180000000810ull) + (offset&1)*1024;
5643 }
5644
5645 static inline uint64_t CVMX_MIO_UARTX_LCR(unsigned long offset)
5646 {
5647 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5648     if (!(
5649         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5650         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5651         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5652         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5653         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5654         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5655         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5656         cvmx_warn("CVMX_MIO_UARTX_LCR(%lu) is invalid on this chip\n", offset);
5657 #endif
5658     return CVMX_ADD_IO_SEG(0x0001180000000818ull) + (offset&1)*1024;
5659 }
5660
5661 static inline uint64_t CVMX_MIO_UARTX_LSR(unsigned long offset)
5662 {
5663 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5664     if (!(
5665         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5666         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5667         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5668         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5669         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5670         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5671         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5672         cvmx_warn("CVMX_MIO_UARTX_LSR(%lu) is invalid on this chip\n", offset);
5673 #endif
5674     return CVMX_ADD_IO_SEG(0x0001180000000828ull) + (offset&1)*1024;
5675 }
5676
5677 static inline uint64_t CVMX_MIO_UARTX_MCR(unsigned long offset)
5678 {
5679 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5680     if (!(
5681         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5682         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5683         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5684         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5685         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5686         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5687         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5688         cvmx_warn("CVMX_MIO_UARTX_MCR(%lu) is invalid on this chip\n", offset);
5689 #endif
5690     return CVMX_ADD_IO_SEG(0x0001180000000820ull) + (offset&1)*1024;
5691 }
5692
5693 static inline uint64_t CVMX_MIO_UARTX_MSR(unsigned long offset)
5694 {
5695 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5696     if (!(
5697         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5698         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5699         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5700         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5701         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5702         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5703         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5704         cvmx_warn("CVMX_MIO_UARTX_MSR(%lu) is invalid on this chip\n", offset);
5705 #endif
5706     return CVMX_ADD_IO_SEG(0x0001180000000830ull) + (offset&1)*1024;
5707 }
5708
5709 static inline uint64_t CVMX_MIO_UARTX_RBR(unsigned long offset)
5710 {
5711 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5712     if (!(
5713         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5714         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5715         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5716         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5717         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5718         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5719         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5720         cvmx_warn("CVMX_MIO_UARTX_RBR(%lu) is invalid on this chip\n", offset);
5721 #endif
5722     return CVMX_ADD_IO_SEG(0x0001180000000800ull) + (offset&1)*1024;
5723 }
5724
5725 static inline uint64_t CVMX_MIO_UARTX_RFL(unsigned long offset)
5726 {
5727 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5728     if (!(
5729         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5730         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5731         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5732         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5733         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5734         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5735         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5736         cvmx_warn("CVMX_MIO_UARTX_RFL(%lu) is invalid on this chip\n", offset);
5737 #endif
5738     return CVMX_ADD_IO_SEG(0x0001180000000A08ull) + (offset&1)*1024;
5739 }
5740
5741 static inline uint64_t CVMX_MIO_UARTX_RFW(unsigned long offset)
5742 {
5743 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5744     if (!(
5745         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5746         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5747         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5748         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5749         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5750         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5751         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5752         cvmx_warn("CVMX_MIO_UARTX_RFW(%lu) is invalid on this chip\n", offset);
5753 #endif
5754     return CVMX_ADD_IO_SEG(0x0001180000000930ull) + (offset&1)*1024;
5755 }
5756
5757 static inline uint64_t CVMX_MIO_UARTX_SBCR(unsigned long offset)
5758 {
5759 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5760     if (!(
5761         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5762         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5763         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5764         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5765         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5766         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5767         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5768         cvmx_warn("CVMX_MIO_UARTX_SBCR(%lu) is invalid on this chip\n", offset);
5769 #endif
5770     return CVMX_ADD_IO_SEG(0x0001180000000A20ull) + (offset&1)*1024;
5771 }
5772
5773 static inline uint64_t CVMX_MIO_UARTX_SCR(unsigned long offset)
5774 {
5775 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5776     if (!(
5777         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5778         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5779         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5780         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5781         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5782         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5783         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5784         cvmx_warn("CVMX_MIO_UARTX_SCR(%lu) is invalid on this chip\n", offset);
5785 #endif
5786     return CVMX_ADD_IO_SEG(0x0001180000000838ull) + (offset&1)*1024;
5787 }
5788
5789 static inline uint64_t CVMX_MIO_UARTX_SFE(unsigned long offset)
5790 {
5791 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5792     if (!(
5793         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5794         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5795         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5796         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5797         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5798         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5799         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5800         cvmx_warn("CVMX_MIO_UARTX_SFE(%lu) is invalid on this chip\n", offset);
5801 #endif
5802     return CVMX_ADD_IO_SEG(0x0001180000000A30ull) + (offset&1)*1024;
5803 }
5804
5805 static inline uint64_t CVMX_MIO_UARTX_SRR(unsigned long offset)
5806 {
5807 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5808     if (!(
5809         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5810         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5811         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5812         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5813         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5814         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5815         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5816         cvmx_warn("CVMX_MIO_UARTX_SRR(%lu) is invalid on this chip\n", offset);
5817 #endif
5818     return CVMX_ADD_IO_SEG(0x0001180000000A10ull) + (offset&1)*1024;
5819 }
5820
5821 static inline uint64_t CVMX_MIO_UARTX_SRT(unsigned long offset)
5822 {
5823 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5824     if (!(
5825         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5826         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5827         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5828         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5829         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5830         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5831         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5832         cvmx_warn("CVMX_MIO_UARTX_SRT(%lu) is invalid on this chip\n", offset);
5833 #endif
5834     return CVMX_ADD_IO_SEG(0x0001180000000A38ull) + (offset&1)*1024;
5835 }
5836
5837 static inline uint64_t CVMX_MIO_UARTX_SRTS(unsigned long offset)
5838 {
5839 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5840     if (!(
5841         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5842         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5843         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5844         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5845         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5846         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5847         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5848         cvmx_warn("CVMX_MIO_UARTX_SRTS(%lu) is invalid on this chip\n", offset);
5849 #endif
5850     return CVMX_ADD_IO_SEG(0x0001180000000A18ull) + (offset&1)*1024;
5851 }
5852
5853 static inline uint64_t CVMX_MIO_UARTX_STT(unsigned long offset)
5854 {
5855 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5856     if (!(
5857         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5858         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5859         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5860         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5861         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5862         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5863         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5864         cvmx_warn("CVMX_MIO_UARTX_STT(%lu) is invalid on this chip\n", offset);
5865 #endif
5866     return CVMX_ADD_IO_SEG(0x0001180000000B00ull) + (offset&1)*1024;
5867 }
5868
5869 static inline uint64_t CVMX_MIO_UARTX_TFL(unsigned long offset)
5870 {
5871 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5872     if (!(
5873         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5874         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5875         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5876         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5877         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5878         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5879         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5880         cvmx_warn("CVMX_MIO_UARTX_TFL(%lu) is invalid on this chip\n", offset);
5881 #endif
5882     return CVMX_ADD_IO_SEG(0x0001180000000A00ull) + (offset&1)*1024;
5883 }
5884
5885 static inline uint64_t CVMX_MIO_UARTX_TFR(unsigned long offset)
5886 {
5887 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5888     if (!(
5889         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5890         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5891         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5892         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5893         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5894         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5895         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5896         cvmx_warn("CVMX_MIO_UARTX_TFR(%lu) is invalid on this chip\n", offset);
5897 #endif
5898     return CVMX_ADD_IO_SEG(0x0001180000000928ull) + (offset&1)*1024;
5899 }
5900
5901 static inline uint64_t CVMX_MIO_UARTX_THR(unsigned long offset)
5902 {
5903 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5904     if (!(
5905         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5906         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5907         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5908         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5909         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5910         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5911         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5912         cvmx_warn("CVMX_MIO_UARTX_THR(%lu) is invalid on this chip\n", offset);
5913 #endif
5914     return CVMX_ADD_IO_SEG(0x0001180000000840ull) + (offset&1)*1024;
5915 }
5916
5917 static inline uint64_t CVMX_MIO_UARTX_USR(unsigned long offset)
5918 {
5919 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5920     if (!(
5921         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
5922         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
5923         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
5924         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
5925         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
5926         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1))) ||
5927         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5928         cvmx_warn("CVMX_MIO_UARTX_USR(%lu) is invalid on this chip\n", offset);
5929 #endif
5930     return CVMX_ADD_IO_SEG(0x0001180000000938ull) + (offset&1)*1024;
5931 }
5932
5933 static inline uint64_t CVMX_MIXX_BIST(unsigned long offset)
5934 {
5935 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5936     if (!(
5937         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5938         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5939         cvmx_warn("CVMX_MIXX_BIST(%lu) is invalid on this chip\n", offset);
5940 #endif
5941     return CVMX_ADD_IO_SEG(0x0001070000100078ull) + (offset&1)*2048;
5942 }
5943
5944 static inline uint64_t CVMX_MIXX_CTL(unsigned long offset)
5945 {
5946 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5947     if (!(
5948         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5949         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5950         cvmx_warn("CVMX_MIXX_CTL(%lu) is invalid on this chip\n", offset);
5951 #endif
5952     return CVMX_ADD_IO_SEG(0x0001070000100020ull) + (offset&1)*2048;
5953 }
5954
5955 static inline uint64_t CVMX_MIXX_INTENA(unsigned long offset)
5956 {
5957 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5958     if (!(
5959         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5960         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5961         cvmx_warn("CVMX_MIXX_INTENA(%lu) is invalid on this chip\n", offset);
5962 #endif
5963     return CVMX_ADD_IO_SEG(0x0001070000100050ull) + (offset&1)*2048;
5964 }
5965
5966 static inline uint64_t CVMX_MIXX_IRCNT(unsigned long offset)
5967 {
5968 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5969     if (!(
5970         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5971         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5972         cvmx_warn("CVMX_MIXX_IRCNT(%lu) is invalid on this chip\n", offset);
5973 #endif
5974     return CVMX_ADD_IO_SEG(0x0001070000100030ull) + (offset&1)*2048;
5975 }
5976
5977 static inline uint64_t CVMX_MIXX_IRHWM(unsigned long offset)
5978 {
5979 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5980     if (!(
5981         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5982         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5983         cvmx_warn("CVMX_MIXX_IRHWM(%lu) is invalid on this chip\n", offset);
5984 #endif
5985     return CVMX_ADD_IO_SEG(0x0001070000100028ull) + (offset&1)*2048;
5986 }
5987
5988 static inline uint64_t CVMX_MIXX_IRING1(unsigned long offset)
5989 {
5990 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
5991     if (!(
5992         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
5993         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
5994         cvmx_warn("CVMX_MIXX_IRING1(%lu) is invalid on this chip\n", offset);
5995 #endif
5996     return CVMX_ADD_IO_SEG(0x0001070000100010ull) + (offset&1)*2048;
5997 }
5998
5999 static inline uint64_t CVMX_MIXX_IRING2(unsigned long offset)
6000 {
6001 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6002     if (!(
6003         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6004         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6005         cvmx_warn("CVMX_MIXX_IRING2(%lu) is invalid on this chip\n", offset);
6006 #endif
6007     return CVMX_ADD_IO_SEG(0x0001070000100018ull) + (offset&1)*2048;
6008 }
6009
6010 static inline uint64_t CVMX_MIXX_ISR(unsigned long offset)
6011 {
6012 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6013     if (!(
6014         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6015         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6016         cvmx_warn("CVMX_MIXX_ISR(%lu) is invalid on this chip\n", offset);
6017 #endif
6018     return CVMX_ADD_IO_SEG(0x0001070000100048ull) + (offset&1)*2048;
6019 }
6020
6021 static inline uint64_t CVMX_MIXX_ORCNT(unsigned long offset)
6022 {
6023 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6024     if (!(
6025         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6026         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6027         cvmx_warn("CVMX_MIXX_ORCNT(%lu) is invalid on this chip\n", offset);
6028 #endif
6029     return CVMX_ADD_IO_SEG(0x0001070000100040ull) + (offset&1)*2048;
6030 }
6031
6032 static inline uint64_t CVMX_MIXX_ORHWM(unsigned long offset)
6033 {
6034 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6035     if (!(
6036         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6037         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6038         cvmx_warn("CVMX_MIXX_ORHWM(%lu) is invalid on this chip\n", offset);
6039 #endif
6040     return CVMX_ADD_IO_SEG(0x0001070000100038ull) + (offset&1)*2048;
6041 }
6042
6043 static inline uint64_t CVMX_MIXX_ORING1(unsigned long offset)
6044 {
6045 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6046     if (!(
6047         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6048         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6049         cvmx_warn("CVMX_MIXX_ORING1(%lu) is invalid on this chip\n", offset);
6050 #endif
6051     return CVMX_ADD_IO_SEG(0x0001070000100000ull) + (offset&1)*2048;
6052 }
6053
6054 static inline uint64_t CVMX_MIXX_ORING2(unsigned long offset)
6055 {
6056 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6057     if (!(
6058         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6059         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6060         cvmx_warn("CVMX_MIXX_ORING2(%lu) is invalid on this chip\n", offset);
6061 #endif
6062     return CVMX_ADD_IO_SEG(0x0001070000100008ull) + (offset&1)*2048;
6063 }
6064
6065 static inline uint64_t CVMX_MIXX_REMCNT(unsigned long offset)
6066 {
6067 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6068     if (!(
6069         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset == 0))) ||
6070         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
6071         cvmx_warn("CVMX_MIXX_REMCNT(%lu) is invalid on this chip\n", offset);
6072 #endif
6073     return CVMX_ADD_IO_SEG(0x0001070000100058ull) + (offset&1)*2048;
6074 }
6075
6076 #define CVMX_MPI_CFG CVMX_MPI_CFG_FUNC()
6077 static inline uint64_t CVMX_MPI_CFG_FUNC(void)
6078 {
6079 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6080     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN50XX)))
6081         cvmx_warn("CVMX_MPI_CFG not supported on this chip\n");
6082 #endif
6083     return CVMX_ADD_IO_SEG(0x0001070000001000ull);
6084 }
6085
6086 static inline uint64_t CVMX_MPI_DATX(unsigned long offset)
6087 {
6088 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6089     if (!(
6090         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 8))) ||
6091         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 8))) ||
6092         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 8)))))
6093         cvmx_warn("CVMX_MPI_DATX(%lu) is invalid on this chip\n", offset);
6094 #endif
6095     return CVMX_ADD_IO_SEG(0x0001070000001080ull) + (offset&15)*8;
6096 }
6097
6098 #define CVMX_MPI_STS CVMX_MPI_STS_FUNC()
6099 static inline uint64_t CVMX_MPI_STS_FUNC(void)
6100 {
6101 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6102     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN50XX)))
6103         cvmx_warn("CVMX_MPI_STS not supported on this chip\n");
6104 #endif
6105     return CVMX_ADD_IO_SEG(0x0001070000001008ull);
6106 }
6107
6108 #define CVMX_MPI_TX CVMX_MPI_TX_FUNC()
6109 static inline uint64_t CVMX_MPI_TX_FUNC(void)
6110 {
6111 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6112     if (!(OCTEON_IS_MODEL(OCTEON_CN30XX) || OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN50XX)))
6113         cvmx_warn("CVMX_MPI_TX not supported on this chip\n");
6114 #endif
6115     return CVMX_ADD_IO_SEG(0x0001070000001010ull);
6116 }
6117
6118 #define CVMX_NDF_BT_PG_INFO CVMX_NDF_BT_PG_INFO_FUNC()
6119 static inline uint64_t CVMX_NDF_BT_PG_INFO_FUNC(void)
6120 {
6121 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6122     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6123         cvmx_warn("CVMX_NDF_BT_PG_INFO not supported on this chip\n");
6124 #endif
6125     return CVMX_ADD_IO_SEG(0x0001070001000018ull);
6126 }
6127
6128 #define CVMX_NDF_CMD CVMX_NDF_CMD_FUNC()
6129 static inline uint64_t CVMX_NDF_CMD_FUNC(void)
6130 {
6131 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6132     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6133         cvmx_warn("CVMX_NDF_CMD not supported on this chip\n");
6134 #endif
6135     return CVMX_ADD_IO_SEG(0x0001070001000000ull);
6136 }
6137
6138 #define CVMX_NDF_DRBELL CVMX_NDF_DRBELL_FUNC()
6139 static inline uint64_t CVMX_NDF_DRBELL_FUNC(void)
6140 {
6141 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6142     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6143         cvmx_warn("CVMX_NDF_DRBELL not supported on this chip\n");
6144 #endif
6145     return CVMX_ADD_IO_SEG(0x0001070001000030ull);
6146 }
6147
6148 #define CVMX_NDF_ECC_CNT CVMX_NDF_ECC_CNT_FUNC()
6149 static inline uint64_t CVMX_NDF_ECC_CNT_FUNC(void)
6150 {
6151 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6152     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6153         cvmx_warn("CVMX_NDF_ECC_CNT not supported on this chip\n");
6154 #endif
6155     return CVMX_ADD_IO_SEG(0x0001070001000010ull);
6156 }
6157
6158 #define CVMX_NDF_INT CVMX_NDF_INT_FUNC()
6159 static inline uint64_t CVMX_NDF_INT_FUNC(void)
6160 {
6161 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6162     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6163         cvmx_warn("CVMX_NDF_INT not supported on this chip\n");
6164 #endif
6165     return CVMX_ADD_IO_SEG(0x0001070001000020ull);
6166 }
6167
6168 #define CVMX_NDF_INT_EN CVMX_NDF_INT_EN_FUNC()
6169 static inline uint64_t CVMX_NDF_INT_EN_FUNC(void)
6170 {
6171 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6172     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6173         cvmx_warn("CVMX_NDF_INT_EN not supported on this chip\n");
6174 #endif
6175     return CVMX_ADD_IO_SEG(0x0001070001000028ull);
6176 }
6177
6178 #define CVMX_NDF_MISC CVMX_NDF_MISC_FUNC()
6179 static inline uint64_t CVMX_NDF_MISC_FUNC(void)
6180 {
6181 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6182     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6183         cvmx_warn("CVMX_NDF_MISC not supported on this chip\n");
6184 #endif
6185     return CVMX_ADD_IO_SEG(0x0001070001000008ull);
6186 }
6187
6188 #define CVMX_NDF_ST_REG CVMX_NDF_ST_REG_FUNC()
6189 static inline uint64_t CVMX_NDF_ST_REG_FUNC(void)
6190 {
6191 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6192     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6193         cvmx_warn("CVMX_NDF_ST_REG not supported on this chip\n");
6194 #endif
6195     return CVMX_ADD_IO_SEG(0x0001070001000038ull);
6196 }
6197
6198 static inline uint64_t CVMX_NPEI_BAR1_INDEXX(unsigned long offset)
6199 {
6200 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6201     if (!(
6202         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6203         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6204         cvmx_warn("CVMX_NPEI_BAR1_INDEXX(%lu) is invalid on this chip\n", offset);
6205 #endif
6206     return 0x0000000000000000ull + (offset&31)*16;
6207 }
6208
6209 #define CVMX_NPEI_BIST_STATUS CVMX_NPEI_BIST_STATUS_FUNC()
6210 static inline uint64_t CVMX_NPEI_BIST_STATUS_FUNC(void)
6211 {
6212 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6213     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6214         cvmx_warn("CVMX_NPEI_BIST_STATUS not supported on this chip\n");
6215 #endif
6216     return 0x0000000000000580ull;
6217 }
6218
6219 #define CVMX_NPEI_BIST_STATUS2 CVMX_NPEI_BIST_STATUS2_FUNC()
6220 static inline uint64_t CVMX_NPEI_BIST_STATUS2_FUNC(void)
6221 {
6222 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6223     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6224         cvmx_warn("CVMX_NPEI_BIST_STATUS2 not supported on this chip\n");
6225 #endif
6226     return 0x0000000000000680ull;
6227 }
6228
6229 #define CVMX_NPEI_CTL_PORT0 CVMX_NPEI_CTL_PORT0_FUNC()
6230 static inline uint64_t CVMX_NPEI_CTL_PORT0_FUNC(void)
6231 {
6232 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6233     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6234         cvmx_warn("CVMX_NPEI_CTL_PORT0 not supported on this chip\n");
6235 #endif
6236     return 0x0000000000000250ull;
6237 }
6238
6239 #define CVMX_NPEI_CTL_PORT1 CVMX_NPEI_CTL_PORT1_FUNC()
6240 static inline uint64_t CVMX_NPEI_CTL_PORT1_FUNC(void)
6241 {
6242 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6243     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6244         cvmx_warn("CVMX_NPEI_CTL_PORT1 not supported on this chip\n");
6245 #endif
6246     return 0x0000000000000260ull;
6247 }
6248
6249 #define CVMX_NPEI_CTL_STATUS CVMX_NPEI_CTL_STATUS_FUNC()
6250 static inline uint64_t CVMX_NPEI_CTL_STATUS_FUNC(void)
6251 {
6252 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6253     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6254         cvmx_warn("CVMX_NPEI_CTL_STATUS not supported on this chip\n");
6255 #endif
6256     return 0x0000000000000570ull;
6257 }
6258
6259 #define CVMX_NPEI_CTL_STATUS2 CVMX_NPEI_CTL_STATUS2_FUNC()
6260 static inline uint64_t CVMX_NPEI_CTL_STATUS2_FUNC(void)
6261 {
6262 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6263     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6264         cvmx_warn("CVMX_NPEI_CTL_STATUS2 not supported on this chip\n");
6265 #endif
6266     return 0x0000000000003C00ull;
6267 }
6268
6269 #define CVMX_NPEI_DATA_OUT_CNT CVMX_NPEI_DATA_OUT_CNT_FUNC()
6270 static inline uint64_t CVMX_NPEI_DATA_OUT_CNT_FUNC(void)
6271 {
6272 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6273     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6274         cvmx_warn("CVMX_NPEI_DATA_OUT_CNT not supported on this chip\n");
6275 #endif
6276     return 0x00000000000005F0ull;
6277 }
6278
6279 #define CVMX_NPEI_DBG_DATA CVMX_NPEI_DBG_DATA_FUNC()
6280 static inline uint64_t CVMX_NPEI_DBG_DATA_FUNC(void)
6281 {
6282 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6283     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6284         cvmx_warn("CVMX_NPEI_DBG_DATA not supported on this chip\n");
6285 #endif
6286     return 0x0000000000000510ull;
6287 }
6288
6289 #define CVMX_NPEI_DBG_SELECT CVMX_NPEI_DBG_SELECT_FUNC()
6290 static inline uint64_t CVMX_NPEI_DBG_SELECT_FUNC(void)
6291 {
6292 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6293     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6294         cvmx_warn("CVMX_NPEI_DBG_SELECT not supported on this chip\n");
6295 #endif
6296     return 0x0000000000000500ull;
6297 }
6298
6299 #define CVMX_NPEI_DMA0_INT_LEVEL CVMX_NPEI_DMA0_INT_LEVEL_FUNC()
6300 static inline uint64_t CVMX_NPEI_DMA0_INT_LEVEL_FUNC(void)
6301 {
6302 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6303     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6304         cvmx_warn("CVMX_NPEI_DMA0_INT_LEVEL not supported on this chip\n");
6305 #endif
6306     return 0x00000000000005C0ull;
6307 }
6308
6309 #define CVMX_NPEI_DMA1_INT_LEVEL CVMX_NPEI_DMA1_INT_LEVEL_FUNC()
6310 static inline uint64_t CVMX_NPEI_DMA1_INT_LEVEL_FUNC(void)
6311 {
6312 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6313     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6314         cvmx_warn("CVMX_NPEI_DMA1_INT_LEVEL not supported on this chip\n");
6315 #endif
6316     return 0x00000000000005D0ull;
6317 }
6318
6319 static inline uint64_t CVMX_NPEI_DMAX_COUNTS(unsigned long offset)
6320 {
6321 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6322     if (!(
6323         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
6324         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
6325         cvmx_warn("CVMX_NPEI_DMAX_COUNTS(%lu) is invalid on this chip\n", offset);
6326 #endif
6327     return 0x0000000000000450ull + (offset&7)*16;
6328 }
6329
6330 static inline uint64_t CVMX_NPEI_DMAX_DBELL(unsigned long offset)
6331 {
6332 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6333     if (!(
6334         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
6335         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
6336         cvmx_warn("CVMX_NPEI_DMAX_DBELL(%lu) is invalid on this chip\n", offset);
6337 #endif
6338     return 0x00000000000003B0ull + (offset&7)*16;
6339 }
6340
6341 static inline uint64_t CVMX_NPEI_DMAX_IBUFF_SADDR(unsigned long offset)
6342 {
6343 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6344     if (!(
6345         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
6346         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
6347         cvmx_warn("CVMX_NPEI_DMAX_IBUFF_SADDR(%lu) is invalid on this chip\n", offset);
6348 #endif
6349     return 0x0000000000000400ull + (offset&7)*16;
6350 }
6351
6352 static inline uint64_t CVMX_NPEI_DMAX_NADDR(unsigned long offset)
6353 {
6354 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6355     if (!(
6356         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
6357         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
6358         cvmx_warn("CVMX_NPEI_DMAX_NADDR(%lu) is invalid on this chip\n", offset);
6359 #endif
6360     return 0x00000000000004A0ull + (offset&7)*16;
6361 }
6362
6363 #define CVMX_NPEI_DMA_CNTS CVMX_NPEI_DMA_CNTS_FUNC()
6364 static inline uint64_t CVMX_NPEI_DMA_CNTS_FUNC(void)
6365 {
6366 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6367     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6368         cvmx_warn("CVMX_NPEI_DMA_CNTS not supported on this chip\n");
6369 #endif
6370     return 0x00000000000005E0ull;
6371 }
6372
6373 #define CVMX_NPEI_DMA_CONTROL CVMX_NPEI_DMA_CONTROL_FUNC()
6374 static inline uint64_t CVMX_NPEI_DMA_CONTROL_FUNC(void)
6375 {
6376 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6377     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6378         cvmx_warn("CVMX_NPEI_DMA_CONTROL not supported on this chip\n");
6379 #endif
6380     return 0x00000000000003A0ull;
6381 }
6382
6383 #define CVMX_NPEI_DMA_PCIE_REQ_NUM CVMX_NPEI_DMA_PCIE_REQ_NUM_FUNC()
6384 static inline uint64_t CVMX_NPEI_DMA_PCIE_REQ_NUM_FUNC(void)
6385 {
6386 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6387     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6388         cvmx_warn("CVMX_NPEI_DMA_PCIE_REQ_NUM not supported on this chip\n");
6389 #endif
6390     return 0x00000000000005B0ull;
6391 }
6392
6393 #define CVMX_NPEI_DMA_STATE1 CVMX_NPEI_DMA_STATE1_FUNC()
6394 static inline uint64_t CVMX_NPEI_DMA_STATE1_FUNC(void)
6395 {
6396 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6397     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6398         cvmx_warn("CVMX_NPEI_DMA_STATE1 not supported on this chip\n");
6399 #endif
6400     return 0x00000000000006C0ull;
6401 }
6402
6403 #define CVMX_NPEI_DMA_STATE1_P1 CVMX_NPEI_DMA_STATE1_P1_FUNC()
6404 static inline uint64_t CVMX_NPEI_DMA_STATE1_P1_FUNC(void)
6405 {
6406     return 0x0000000000000680ull;
6407 }
6408
6409 #define CVMX_NPEI_DMA_STATE2 CVMX_NPEI_DMA_STATE2_FUNC()
6410 static inline uint64_t CVMX_NPEI_DMA_STATE2_FUNC(void)
6411 {
6412 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6413     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
6414         cvmx_warn("CVMX_NPEI_DMA_STATE2 not supported on this chip\n");
6415 #endif
6416     return 0x00000000000006D0ull;
6417 }
6418
6419 #define CVMX_NPEI_DMA_STATE2_P1 CVMX_NPEI_DMA_STATE2_P1_FUNC()
6420 static inline uint64_t CVMX_NPEI_DMA_STATE2_P1_FUNC(void)
6421 {
6422     return 0x0000000000000690ull;
6423 }
6424
6425 #define CVMX_NPEI_DMA_STATE3_P1 CVMX_NPEI_DMA_STATE3_P1_FUNC()
6426 static inline uint64_t CVMX_NPEI_DMA_STATE3_P1_FUNC(void)
6427 {
6428     return 0x00000000000006A0ull;
6429 }
6430
6431 #define CVMX_NPEI_DMA_STATE4_P1 CVMX_NPEI_DMA_STATE4_P1_FUNC()
6432 static inline uint64_t CVMX_NPEI_DMA_STATE4_P1_FUNC(void)
6433 {
6434     return 0x00000000000006B0ull;
6435 }
6436
6437 #define CVMX_NPEI_DMA_STATE5_P1 CVMX_NPEI_DMA_STATE5_P1_FUNC()
6438 static inline uint64_t CVMX_NPEI_DMA_STATE5_P1_FUNC(void)
6439 {
6440     return 0x00000000000006C0ull;
6441 }
6442
6443 #define CVMX_NPEI_INT_A_ENB CVMX_NPEI_INT_A_ENB_FUNC()
6444 static inline uint64_t CVMX_NPEI_INT_A_ENB_FUNC(void)
6445 {
6446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6447     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6448         cvmx_warn("CVMX_NPEI_INT_A_ENB not supported on this chip\n");
6449 #endif
6450     return 0x0000000000000560ull;
6451 }
6452
6453 #define CVMX_NPEI_INT_A_ENB2 CVMX_NPEI_INT_A_ENB2_FUNC()
6454 static inline uint64_t CVMX_NPEI_INT_A_ENB2_FUNC(void)
6455 {
6456 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6457     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6458         cvmx_warn("CVMX_NPEI_INT_A_ENB2 not supported on this chip\n");
6459 #endif
6460     return 0x0000000000003CE0ull;
6461 }
6462
6463 #define CVMX_NPEI_INT_A_SUM CVMX_NPEI_INT_A_SUM_FUNC()
6464 static inline uint64_t CVMX_NPEI_INT_A_SUM_FUNC(void)
6465 {
6466 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6467     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6468         cvmx_warn("CVMX_NPEI_INT_A_SUM not supported on this chip\n");
6469 #endif
6470     return 0x0000000000000550ull;
6471 }
6472
6473 #define CVMX_NPEI_INT_ENB CVMX_NPEI_INT_ENB_FUNC()
6474 static inline uint64_t CVMX_NPEI_INT_ENB_FUNC(void)
6475 {
6476 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6477     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6478         cvmx_warn("CVMX_NPEI_INT_ENB not supported on this chip\n");
6479 #endif
6480     return 0x0000000000000540ull;
6481 }
6482
6483 #define CVMX_NPEI_INT_ENB2 CVMX_NPEI_INT_ENB2_FUNC()
6484 static inline uint64_t CVMX_NPEI_INT_ENB2_FUNC(void)
6485 {
6486 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6487     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6488         cvmx_warn("CVMX_NPEI_INT_ENB2 not supported on this chip\n");
6489 #endif
6490     return 0x0000000000003CD0ull;
6491 }
6492
6493 #define CVMX_NPEI_INT_INFO CVMX_NPEI_INT_INFO_FUNC()
6494 static inline uint64_t CVMX_NPEI_INT_INFO_FUNC(void)
6495 {
6496 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6497     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6498         cvmx_warn("CVMX_NPEI_INT_INFO not supported on this chip\n");
6499 #endif
6500     return 0x0000000000000590ull;
6501 }
6502
6503 #define CVMX_NPEI_INT_SUM CVMX_NPEI_INT_SUM_FUNC()
6504 static inline uint64_t CVMX_NPEI_INT_SUM_FUNC(void)
6505 {
6506 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6507     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6508         cvmx_warn("CVMX_NPEI_INT_SUM not supported on this chip\n");
6509 #endif
6510     return 0x0000000000000530ull;
6511 }
6512
6513 #define CVMX_NPEI_INT_SUM2 CVMX_NPEI_INT_SUM2_FUNC()
6514 static inline uint64_t CVMX_NPEI_INT_SUM2_FUNC(void)
6515 {
6516 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6517     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6518         cvmx_warn("CVMX_NPEI_INT_SUM2 not supported on this chip\n");
6519 #endif
6520     return 0x0000000000003CC0ull;
6521 }
6522
6523 #define CVMX_NPEI_LAST_WIN_RDATA0 CVMX_NPEI_LAST_WIN_RDATA0_FUNC()
6524 static inline uint64_t CVMX_NPEI_LAST_WIN_RDATA0_FUNC(void)
6525 {
6526 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6527     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6528         cvmx_warn("CVMX_NPEI_LAST_WIN_RDATA0 not supported on this chip\n");
6529 #endif
6530     return 0x0000000000000600ull;
6531 }
6532
6533 #define CVMX_NPEI_LAST_WIN_RDATA1 CVMX_NPEI_LAST_WIN_RDATA1_FUNC()
6534 static inline uint64_t CVMX_NPEI_LAST_WIN_RDATA1_FUNC(void)
6535 {
6536 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6537     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6538         cvmx_warn("CVMX_NPEI_LAST_WIN_RDATA1 not supported on this chip\n");
6539 #endif
6540     return 0x0000000000000610ull;
6541 }
6542
6543 #define CVMX_NPEI_MEM_ACCESS_CTL CVMX_NPEI_MEM_ACCESS_CTL_FUNC()
6544 static inline uint64_t CVMX_NPEI_MEM_ACCESS_CTL_FUNC(void)
6545 {
6546 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6547     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6548         cvmx_warn("CVMX_NPEI_MEM_ACCESS_CTL not supported on this chip\n");
6549 #endif
6550     return 0x00000000000004F0ull;
6551 }
6552
6553 static inline uint64_t CVMX_NPEI_MEM_ACCESS_SUBIDX(unsigned long offset)
6554 {
6555 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6556     if (!(
6557         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 12) && (offset <= 27)))) ||
6558         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset >= 12) && (offset <= 27))))))
6559         cvmx_warn("CVMX_NPEI_MEM_ACCESS_SUBIDX(%lu) is invalid on this chip\n", offset);
6560 #endif
6561     return 0x0000000000000340ull + (offset&31)*16 - 16*12;
6562 }
6563
6564 #define CVMX_NPEI_MSI_ENB0 CVMX_NPEI_MSI_ENB0_FUNC()
6565 static inline uint64_t CVMX_NPEI_MSI_ENB0_FUNC(void)
6566 {
6567 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6568     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6569         cvmx_warn("CVMX_NPEI_MSI_ENB0 not supported on this chip\n");
6570 #endif
6571     return 0x0000000000003C50ull;
6572 }
6573
6574 #define CVMX_NPEI_MSI_ENB1 CVMX_NPEI_MSI_ENB1_FUNC()
6575 static inline uint64_t CVMX_NPEI_MSI_ENB1_FUNC(void)
6576 {
6577 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6578     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6579         cvmx_warn("CVMX_NPEI_MSI_ENB1 not supported on this chip\n");
6580 #endif
6581     return 0x0000000000003C60ull;
6582 }
6583
6584 #define CVMX_NPEI_MSI_ENB2 CVMX_NPEI_MSI_ENB2_FUNC()
6585 static inline uint64_t CVMX_NPEI_MSI_ENB2_FUNC(void)
6586 {
6587 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6588     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6589         cvmx_warn("CVMX_NPEI_MSI_ENB2 not supported on this chip\n");
6590 #endif
6591     return 0x0000000000003C70ull;
6592 }
6593
6594 #define CVMX_NPEI_MSI_ENB3 CVMX_NPEI_MSI_ENB3_FUNC()
6595 static inline uint64_t CVMX_NPEI_MSI_ENB3_FUNC(void)
6596 {
6597 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6598     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6599         cvmx_warn("CVMX_NPEI_MSI_ENB3 not supported on this chip\n");
6600 #endif
6601     return 0x0000000000003C80ull;
6602 }
6603
6604 #define CVMX_NPEI_MSI_RCV0 CVMX_NPEI_MSI_RCV0_FUNC()
6605 static inline uint64_t CVMX_NPEI_MSI_RCV0_FUNC(void)
6606 {
6607 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6608     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6609         cvmx_warn("CVMX_NPEI_MSI_RCV0 not supported on this chip\n");
6610 #endif
6611     return 0x0000000000003C10ull;
6612 }
6613
6614 #define CVMX_NPEI_MSI_RCV1 CVMX_NPEI_MSI_RCV1_FUNC()
6615 static inline uint64_t CVMX_NPEI_MSI_RCV1_FUNC(void)
6616 {
6617 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6618     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6619         cvmx_warn("CVMX_NPEI_MSI_RCV1 not supported on this chip\n");
6620 #endif
6621     return 0x0000000000003C20ull;
6622 }
6623
6624 #define CVMX_NPEI_MSI_RCV2 CVMX_NPEI_MSI_RCV2_FUNC()
6625 static inline uint64_t CVMX_NPEI_MSI_RCV2_FUNC(void)
6626 {
6627 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6628     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6629         cvmx_warn("CVMX_NPEI_MSI_RCV2 not supported on this chip\n");
6630 #endif
6631     return 0x0000000000003C30ull;
6632 }
6633
6634 #define CVMX_NPEI_MSI_RCV3 CVMX_NPEI_MSI_RCV3_FUNC()
6635 static inline uint64_t CVMX_NPEI_MSI_RCV3_FUNC(void)
6636 {
6637 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6638     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6639         cvmx_warn("CVMX_NPEI_MSI_RCV3 not supported on this chip\n");
6640 #endif
6641     return 0x0000000000003C40ull;
6642 }
6643
6644 #define CVMX_NPEI_MSI_RD_MAP CVMX_NPEI_MSI_RD_MAP_FUNC()
6645 static inline uint64_t CVMX_NPEI_MSI_RD_MAP_FUNC(void)
6646 {
6647 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6648     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6649         cvmx_warn("CVMX_NPEI_MSI_RD_MAP not supported on this chip\n");
6650 #endif
6651     return 0x0000000000003CA0ull;
6652 }
6653
6654 #define CVMX_NPEI_MSI_W1C_ENB0 CVMX_NPEI_MSI_W1C_ENB0_FUNC()
6655 static inline uint64_t CVMX_NPEI_MSI_W1C_ENB0_FUNC(void)
6656 {
6657 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6658     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6659         cvmx_warn("CVMX_NPEI_MSI_W1C_ENB0 not supported on this chip\n");
6660 #endif
6661     return 0x0000000000003CF0ull;
6662 }
6663
6664 #define CVMX_NPEI_MSI_W1C_ENB1 CVMX_NPEI_MSI_W1C_ENB1_FUNC()
6665 static inline uint64_t CVMX_NPEI_MSI_W1C_ENB1_FUNC(void)
6666 {
6667 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6668     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6669         cvmx_warn("CVMX_NPEI_MSI_W1C_ENB1 not supported on this chip\n");
6670 #endif
6671     return 0x0000000000003D00ull;
6672 }
6673
6674 #define CVMX_NPEI_MSI_W1C_ENB2 CVMX_NPEI_MSI_W1C_ENB2_FUNC()
6675 static inline uint64_t CVMX_NPEI_MSI_W1C_ENB2_FUNC(void)
6676 {
6677 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6678     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6679         cvmx_warn("CVMX_NPEI_MSI_W1C_ENB2 not supported on this chip\n");
6680 #endif
6681     return 0x0000000000003D10ull;
6682 }
6683
6684 #define CVMX_NPEI_MSI_W1C_ENB3 CVMX_NPEI_MSI_W1C_ENB3_FUNC()
6685 static inline uint64_t CVMX_NPEI_MSI_W1C_ENB3_FUNC(void)
6686 {
6687 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6688     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6689         cvmx_warn("CVMX_NPEI_MSI_W1C_ENB3 not supported on this chip\n");
6690 #endif
6691     return 0x0000000000003D20ull;
6692 }
6693
6694 #define CVMX_NPEI_MSI_W1S_ENB0 CVMX_NPEI_MSI_W1S_ENB0_FUNC()
6695 static inline uint64_t CVMX_NPEI_MSI_W1S_ENB0_FUNC(void)
6696 {
6697 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6698     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6699         cvmx_warn("CVMX_NPEI_MSI_W1S_ENB0 not supported on this chip\n");
6700 #endif
6701     return 0x0000000000003D30ull;
6702 }
6703
6704 #define CVMX_NPEI_MSI_W1S_ENB1 CVMX_NPEI_MSI_W1S_ENB1_FUNC()
6705 static inline uint64_t CVMX_NPEI_MSI_W1S_ENB1_FUNC(void)
6706 {
6707 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6708     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6709         cvmx_warn("CVMX_NPEI_MSI_W1S_ENB1 not supported on this chip\n");
6710 #endif
6711     return 0x0000000000003D40ull;
6712 }
6713
6714 #define CVMX_NPEI_MSI_W1S_ENB2 CVMX_NPEI_MSI_W1S_ENB2_FUNC()
6715 static inline uint64_t CVMX_NPEI_MSI_W1S_ENB2_FUNC(void)
6716 {
6717 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6718     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6719         cvmx_warn("CVMX_NPEI_MSI_W1S_ENB2 not supported on this chip\n");
6720 #endif
6721     return 0x0000000000003D50ull;
6722 }
6723
6724 #define CVMX_NPEI_MSI_W1S_ENB3 CVMX_NPEI_MSI_W1S_ENB3_FUNC()
6725 static inline uint64_t CVMX_NPEI_MSI_W1S_ENB3_FUNC(void)
6726 {
6727 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6728     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6729         cvmx_warn("CVMX_NPEI_MSI_W1S_ENB3 not supported on this chip\n");
6730 #endif
6731     return 0x0000000000003D60ull;
6732 }
6733
6734 #define CVMX_NPEI_MSI_WR_MAP CVMX_NPEI_MSI_WR_MAP_FUNC()
6735 static inline uint64_t CVMX_NPEI_MSI_WR_MAP_FUNC(void)
6736 {
6737 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6738     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6739         cvmx_warn("CVMX_NPEI_MSI_WR_MAP not supported on this chip\n");
6740 #endif
6741     return 0x0000000000003C90ull;
6742 }
6743
6744 #define CVMX_NPEI_PCIE_CREDIT_CNT CVMX_NPEI_PCIE_CREDIT_CNT_FUNC()
6745 static inline uint64_t CVMX_NPEI_PCIE_CREDIT_CNT_FUNC(void)
6746 {
6747 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6748     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6749         cvmx_warn("CVMX_NPEI_PCIE_CREDIT_CNT not supported on this chip\n");
6750 #endif
6751     return 0x0000000000003D70ull;
6752 }
6753
6754 #define CVMX_NPEI_PCIE_MSI_RCV CVMX_NPEI_PCIE_MSI_RCV_FUNC()
6755 static inline uint64_t CVMX_NPEI_PCIE_MSI_RCV_FUNC(void)
6756 {
6757 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6758     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6759         cvmx_warn("CVMX_NPEI_PCIE_MSI_RCV not supported on this chip\n");
6760 #endif
6761     return 0x0000000000003CB0ull;
6762 }
6763
6764 #define CVMX_NPEI_PCIE_MSI_RCV_B1 CVMX_NPEI_PCIE_MSI_RCV_B1_FUNC()
6765 static inline uint64_t CVMX_NPEI_PCIE_MSI_RCV_B1_FUNC(void)
6766 {
6767 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6768     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6769         cvmx_warn("CVMX_NPEI_PCIE_MSI_RCV_B1 not supported on this chip\n");
6770 #endif
6771     return 0x0000000000000650ull;
6772 }
6773
6774 #define CVMX_NPEI_PCIE_MSI_RCV_B2 CVMX_NPEI_PCIE_MSI_RCV_B2_FUNC()
6775 static inline uint64_t CVMX_NPEI_PCIE_MSI_RCV_B2_FUNC(void)
6776 {
6777 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6778     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6779         cvmx_warn("CVMX_NPEI_PCIE_MSI_RCV_B2 not supported on this chip\n");
6780 #endif
6781     return 0x0000000000000660ull;
6782 }
6783
6784 #define CVMX_NPEI_PCIE_MSI_RCV_B3 CVMX_NPEI_PCIE_MSI_RCV_B3_FUNC()
6785 static inline uint64_t CVMX_NPEI_PCIE_MSI_RCV_B3_FUNC(void)
6786 {
6787 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6788     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6789         cvmx_warn("CVMX_NPEI_PCIE_MSI_RCV_B3 not supported on this chip\n");
6790 #endif
6791     return 0x0000000000000670ull;
6792 }
6793
6794 static inline uint64_t CVMX_NPEI_PKTX_CNTS(unsigned long offset)
6795 {
6796 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6797     if (!(
6798         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6799         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6800         cvmx_warn("CVMX_NPEI_PKTX_CNTS(%lu) is invalid on this chip\n", offset);
6801 #endif
6802     return 0x0000000000002400ull + (offset&31)*16;
6803 }
6804
6805 static inline uint64_t CVMX_NPEI_PKTX_INSTR_BADDR(unsigned long offset)
6806 {
6807 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6808     if (!(
6809         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6810         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6811         cvmx_warn("CVMX_NPEI_PKTX_INSTR_BADDR(%lu) is invalid on this chip\n", offset);
6812 #endif
6813     return 0x0000000000002800ull + (offset&31)*16;
6814 }
6815
6816 static inline uint64_t CVMX_NPEI_PKTX_INSTR_BAOFF_DBELL(unsigned long offset)
6817 {
6818 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6819     if (!(
6820         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6821         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6822         cvmx_warn("CVMX_NPEI_PKTX_INSTR_BAOFF_DBELL(%lu) is invalid on this chip\n", offset);
6823 #endif
6824     return 0x0000000000002C00ull + (offset&31)*16;
6825 }
6826
6827 static inline uint64_t CVMX_NPEI_PKTX_INSTR_FIFO_RSIZE(unsigned long offset)
6828 {
6829 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6830     if (!(
6831         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6832         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6833         cvmx_warn("CVMX_NPEI_PKTX_INSTR_FIFO_RSIZE(%lu) is invalid on this chip\n", offset);
6834 #endif
6835     return 0x0000000000003000ull + (offset&31)*16;
6836 }
6837
6838 static inline uint64_t CVMX_NPEI_PKTX_INSTR_HEADER(unsigned long offset)
6839 {
6840 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6841     if (!(
6842         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6843         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6844         cvmx_warn("CVMX_NPEI_PKTX_INSTR_HEADER(%lu) is invalid on this chip\n", offset);
6845 #endif
6846     return 0x0000000000003400ull + (offset&31)*16;
6847 }
6848
6849 static inline uint64_t CVMX_NPEI_PKTX_IN_BP(unsigned long offset)
6850 {
6851 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6852     if (!(
6853         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6854         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6855         cvmx_warn("CVMX_NPEI_PKTX_IN_BP(%lu) is invalid on this chip\n", offset);
6856 #endif
6857     return 0x0000000000003800ull + (offset&31)*16;
6858 }
6859
6860 static inline uint64_t CVMX_NPEI_PKTX_SLIST_BADDR(unsigned long offset)
6861 {
6862 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6863     if (!(
6864         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6865         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6866         cvmx_warn("CVMX_NPEI_PKTX_SLIST_BADDR(%lu) is invalid on this chip\n", offset);
6867 #endif
6868     return 0x0000000000001400ull + (offset&31)*16;
6869 }
6870
6871 static inline uint64_t CVMX_NPEI_PKTX_SLIST_BAOFF_DBELL(unsigned long offset)
6872 {
6873 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6874     if (!(
6875         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6876         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6877         cvmx_warn("CVMX_NPEI_PKTX_SLIST_BAOFF_DBELL(%lu) is invalid on this chip\n", offset);
6878 #endif
6879     return 0x0000000000001800ull + (offset&31)*16;
6880 }
6881
6882 static inline uint64_t CVMX_NPEI_PKTX_SLIST_FIFO_RSIZE(unsigned long offset)
6883 {
6884 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6885     if (!(
6886         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
6887         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
6888         cvmx_warn("CVMX_NPEI_PKTX_SLIST_FIFO_RSIZE(%lu) is invalid on this chip\n", offset);
6889 #endif
6890     return 0x0000000000001C00ull + (offset&31)*16;
6891 }
6892
6893 #define CVMX_NPEI_PKT_CNT_INT CVMX_NPEI_PKT_CNT_INT_FUNC()
6894 static inline uint64_t CVMX_NPEI_PKT_CNT_INT_FUNC(void)
6895 {
6896 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6897     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6898         cvmx_warn("CVMX_NPEI_PKT_CNT_INT not supported on this chip\n");
6899 #endif
6900     return 0x0000000000001110ull;
6901 }
6902
6903 #define CVMX_NPEI_PKT_CNT_INT_ENB CVMX_NPEI_PKT_CNT_INT_ENB_FUNC()
6904 static inline uint64_t CVMX_NPEI_PKT_CNT_INT_ENB_FUNC(void)
6905 {
6906 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6907     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6908         cvmx_warn("CVMX_NPEI_PKT_CNT_INT_ENB not supported on this chip\n");
6909 #endif
6910     return 0x0000000000001130ull;
6911 }
6912
6913 #define CVMX_NPEI_PKT_DATA_OUT_ES CVMX_NPEI_PKT_DATA_OUT_ES_FUNC()
6914 static inline uint64_t CVMX_NPEI_PKT_DATA_OUT_ES_FUNC(void)
6915 {
6916 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6917     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6918         cvmx_warn("CVMX_NPEI_PKT_DATA_OUT_ES not supported on this chip\n");
6919 #endif
6920     return 0x00000000000010B0ull;
6921 }
6922
6923 #define CVMX_NPEI_PKT_DATA_OUT_NS CVMX_NPEI_PKT_DATA_OUT_NS_FUNC()
6924 static inline uint64_t CVMX_NPEI_PKT_DATA_OUT_NS_FUNC(void)
6925 {
6926 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6927     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6928         cvmx_warn("CVMX_NPEI_PKT_DATA_OUT_NS not supported on this chip\n");
6929 #endif
6930     return 0x00000000000010A0ull;
6931 }
6932
6933 #define CVMX_NPEI_PKT_DATA_OUT_ROR CVMX_NPEI_PKT_DATA_OUT_ROR_FUNC()
6934 static inline uint64_t CVMX_NPEI_PKT_DATA_OUT_ROR_FUNC(void)
6935 {
6936 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6937     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6938         cvmx_warn("CVMX_NPEI_PKT_DATA_OUT_ROR not supported on this chip\n");
6939 #endif
6940     return 0x0000000000001090ull;
6941 }
6942
6943 #define CVMX_NPEI_PKT_DPADDR CVMX_NPEI_PKT_DPADDR_FUNC()
6944 static inline uint64_t CVMX_NPEI_PKT_DPADDR_FUNC(void)
6945 {
6946 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6947     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6948         cvmx_warn("CVMX_NPEI_PKT_DPADDR not supported on this chip\n");
6949 #endif
6950     return 0x0000000000001080ull;
6951 }
6952
6953 #define CVMX_NPEI_PKT_INPUT_CONTROL CVMX_NPEI_PKT_INPUT_CONTROL_FUNC()
6954 static inline uint64_t CVMX_NPEI_PKT_INPUT_CONTROL_FUNC(void)
6955 {
6956 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6957     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6958         cvmx_warn("CVMX_NPEI_PKT_INPUT_CONTROL not supported on this chip\n");
6959 #endif
6960     return 0x0000000000001150ull;
6961 }
6962
6963 #define CVMX_NPEI_PKT_INSTR_ENB CVMX_NPEI_PKT_INSTR_ENB_FUNC()
6964 static inline uint64_t CVMX_NPEI_PKT_INSTR_ENB_FUNC(void)
6965 {
6966 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6967     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6968         cvmx_warn("CVMX_NPEI_PKT_INSTR_ENB not supported on this chip\n");
6969 #endif
6970     return 0x0000000000001000ull;
6971 }
6972
6973 #define CVMX_NPEI_PKT_INSTR_RD_SIZE CVMX_NPEI_PKT_INSTR_RD_SIZE_FUNC()
6974 static inline uint64_t CVMX_NPEI_PKT_INSTR_RD_SIZE_FUNC(void)
6975 {
6976 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6977     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6978         cvmx_warn("CVMX_NPEI_PKT_INSTR_RD_SIZE not supported on this chip\n");
6979 #endif
6980     return 0x0000000000001190ull;
6981 }
6982
6983 #define CVMX_NPEI_PKT_INSTR_SIZE CVMX_NPEI_PKT_INSTR_SIZE_FUNC()
6984 static inline uint64_t CVMX_NPEI_PKT_INSTR_SIZE_FUNC(void)
6985 {
6986 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6987     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6988         cvmx_warn("CVMX_NPEI_PKT_INSTR_SIZE not supported on this chip\n");
6989 #endif
6990     return 0x0000000000001020ull;
6991 }
6992
6993 #define CVMX_NPEI_PKT_INT_LEVELS CVMX_NPEI_PKT_INT_LEVELS_FUNC()
6994 static inline uint64_t CVMX_NPEI_PKT_INT_LEVELS_FUNC(void)
6995 {
6996 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
6997     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
6998         cvmx_warn("CVMX_NPEI_PKT_INT_LEVELS not supported on this chip\n");
6999 #endif
7000     return 0x0000000000001100ull;
7001 }
7002
7003 #define CVMX_NPEI_PKT_IN_BP CVMX_NPEI_PKT_IN_BP_FUNC()
7004 static inline uint64_t CVMX_NPEI_PKT_IN_BP_FUNC(void)
7005 {
7006 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7007     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7008         cvmx_warn("CVMX_NPEI_PKT_IN_BP not supported on this chip\n");
7009 #endif
7010     return 0x00000000000006B0ull;
7011 }
7012
7013 static inline uint64_t CVMX_NPEI_PKT_IN_DONEX_CNTS(unsigned long offset)
7014 {
7015 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7016     if (!(
7017         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
7018         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
7019         cvmx_warn("CVMX_NPEI_PKT_IN_DONEX_CNTS(%lu) is invalid on this chip\n", offset);
7020 #endif
7021     return 0x0000000000002000ull + (offset&31)*16;
7022 }
7023
7024 #define CVMX_NPEI_PKT_IN_INSTR_COUNTS CVMX_NPEI_PKT_IN_INSTR_COUNTS_FUNC()
7025 static inline uint64_t CVMX_NPEI_PKT_IN_INSTR_COUNTS_FUNC(void)
7026 {
7027 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7028     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7029         cvmx_warn("CVMX_NPEI_PKT_IN_INSTR_COUNTS not supported on this chip\n");
7030 #endif
7031     return 0x00000000000006A0ull;
7032 }
7033
7034 #define CVMX_NPEI_PKT_IN_PCIE_PORT CVMX_NPEI_PKT_IN_PCIE_PORT_FUNC()
7035 static inline uint64_t CVMX_NPEI_PKT_IN_PCIE_PORT_FUNC(void)
7036 {
7037 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7038     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7039         cvmx_warn("CVMX_NPEI_PKT_IN_PCIE_PORT not supported on this chip\n");
7040 #endif
7041     return 0x00000000000011A0ull;
7042 }
7043
7044 #define CVMX_NPEI_PKT_IPTR CVMX_NPEI_PKT_IPTR_FUNC()
7045 static inline uint64_t CVMX_NPEI_PKT_IPTR_FUNC(void)
7046 {
7047 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7048     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7049         cvmx_warn("CVMX_NPEI_PKT_IPTR not supported on this chip\n");
7050 #endif
7051     return 0x0000000000001070ull;
7052 }
7053
7054 #define CVMX_NPEI_PKT_OUTPUT_WMARK CVMX_NPEI_PKT_OUTPUT_WMARK_FUNC()
7055 static inline uint64_t CVMX_NPEI_PKT_OUTPUT_WMARK_FUNC(void)
7056 {
7057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7058     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7059         cvmx_warn("CVMX_NPEI_PKT_OUTPUT_WMARK not supported on this chip\n");
7060 #endif
7061     return 0x0000000000001160ull;
7062 }
7063
7064 #define CVMX_NPEI_PKT_OUT_BMODE CVMX_NPEI_PKT_OUT_BMODE_FUNC()
7065 static inline uint64_t CVMX_NPEI_PKT_OUT_BMODE_FUNC(void)
7066 {
7067 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7068     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7069         cvmx_warn("CVMX_NPEI_PKT_OUT_BMODE not supported on this chip\n");
7070 #endif
7071     return 0x00000000000010D0ull;
7072 }
7073
7074 #define CVMX_NPEI_PKT_OUT_ENB CVMX_NPEI_PKT_OUT_ENB_FUNC()
7075 static inline uint64_t CVMX_NPEI_PKT_OUT_ENB_FUNC(void)
7076 {
7077 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7078     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7079         cvmx_warn("CVMX_NPEI_PKT_OUT_ENB not supported on this chip\n");
7080 #endif
7081     return 0x0000000000001010ull;
7082 }
7083
7084 #define CVMX_NPEI_PKT_PCIE_PORT CVMX_NPEI_PKT_PCIE_PORT_FUNC()
7085 static inline uint64_t CVMX_NPEI_PKT_PCIE_PORT_FUNC(void)
7086 {
7087 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7088     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7089         cvmx_warn("CVMX_NPEI_PKT_PCIE_PORT not supported on this chip\n");
7090 #endif
7091     return 0x00000000000010E0ull;
7092 }
7093
7094 #define CVMX_NPEI_PKT_PORT_IN_RST CVMX_NPEI_PKT_PORT_IN_RST_FUNC()
7095 static inline uint64_t CVMX_NPEI_PKT_PORT_IN_RST_FUNC(void)
7096 {
7097 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7098     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7099         cvmx_warn("CVMX_NPEI_PKT_PORT_IN_RST not supported on this chip\n");
7100 #endif
7101     return 0x0000000000000690ull;
7102 }
7103
7104 #define CVMX_NPEI_PKT_SLIST_ES CVMX_NPEI_PKT_SLIST_ES_FUNC()
7105 static inline uint64_t CVMX_NPEI_PKT_SLIST_ES_FUNC(void)
7106 {
7107 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7108     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7109         cvmx_warn("CVMX_NPEI_PKT_SLIST_ES not supported on this chip\n");
7110 #endif
7111     return 0x0000000000001050ull;
7112 }
7113
7114 #define CVMX_NPEI_PKT_SLIST_ID_SIZE CVMX_NPEI_PKT_SLIST_ID_SIZE_FUNC()
7115 static inline uint64_t CVMX_NPEI_PKT_SLIST_ID_SIZE_FUNC(void)
7116 {
7117 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7118     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7119         cvmx_warn("CVMX_NPEI_PKT_SLIST_ID_SIZE not supported on this chip\n");
7120 #endif
7121     return 0x0000000000001180ull;
7122 }
7123
7124 #define CVMX_NPEI_PKT_SLIST_NS CVMX_NPEI_PKT_SLIST_NS_FUNC()
7125 static inline uint64_t CVMX_NPEI_PKT_SLIST_NS_FUNC(void)
7126 {
7127 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7128     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7129         cvmx_warn("CVMX_NPEI_PKT_SLIST_NS not supported on this chip\n");
7130 #endif
7131     return 0x0000000000001040ull;
7132 }
7133
7134 #define CVMX_NPEI_PKT_SLIST_ROR CVMX_NPEI_PKT_SLIST_ROR_FUNC()
7135 static inline uint64_t CVMX_NPEI_PKT_SLIST_ROR_FUNC(void)
7136 {
7137 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7138     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7139         cvmx_warn("CVMX_NPEI_PKT_SLIST_ROR not supported on this chip\n");
7140 #endif
7141     return 0x0000000000001030ull;
7142 }
7143
7144 #define CVMX_NPEI_PKT_TIME_INT CVMX_NPEI_PKT_TIME_INT_FUNC()
7145 static inline uint64_t CVMX_NPEI_PKT_TIME_INT_FUNC(void)
7146 {
7147 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7148     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7149         cvmx_warn("CVMX_NPEI_PKT_TIME_INT not supported on this chip\n");
7150 #endif
7151     return 0x0000000000001120ull;
7152 }
7153
7154 #define CVMX_NPEI_PKT_TIME_INT_ENB CVMX_NPEI_PKT_TIME_INT_ENB_FUNC()
7155 static inline uint64_t CVMX_NPEI_PKT_TIME_INT_ENB_FUNC(void)
7156 {
7157 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7158     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7159         cvmx_warn("CVMX_NPEI_PKT_TIME_INT_ENB not supported on this chip\n");
7160 #endif
7161     return 0x0000000000001140ull;
7162 }
7163
7164 #define CVMX_NPEI_RSL_INT_BLOCKS CVMX_NPEI_RSL_INT_BLOCKS_FUNC()
7165 static inline uint64_t CVMX_NPEI_RSL_INT_BLOCKS_FUNC(void)
7166 {
7167 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7168     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7169         cvmx_warn("CVMX_NPEI_RSL_INT_BLOCKS not supported on this chip\n");
7170 #endif
7171     return 0x0000000000000520ull;
7172 }
7173
7174 #define CVMX_NPEI_SCRATCH_1 CVMX_NPEI_SCRATCH_1_FUNC()
7175 static inline uint64_t CVMX_NPEI_SCRATCH_1_FUNC(void)
7176 {
7177 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7178     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7179         cvmx_warn("CVMX_NPEI_SCRATCH_1 not supported on this chip\n");
7180 #endif
7181     return 0x0000000000000270ull;
7182 }
7183
7184 #define CVMX_NPEI_STATE1 CVMX_NPEI_STATE1_FUNC()
7185 static inline uint64_t CVMX_NPEI_STATE1_FUNC(void)
7186 {
7187 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7188     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7189         cvmx_warn("CVMX_NPEI_STATE1 not supported on this chip\n");
7190 #endif
7191     return 0x0000000000000620ull;
7192 }
7193
7194 #define CVMX_NPEI_STATE2 CVMX_NPEI_STATE2_FUNC()
7195 static inline uint64_t CVMX_NPEI_STATE2_FUNC(void)
7196 {
7197 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7198     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7199         cvmx_warn("CVMX_NPEI_STATE2 not supported on this chip\n");
7200 #endif
7201     return 0x0000000000000630ull;
7202 }
7203
7204 #define CVMX_NPEI_STATE3 CVMX_NPEI_STATE3_FUNC()
7205 static inline uint64_t CVMX_NPEI_STATE3_FUNC(void)
7206 {
7207 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7208     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7209         cvmx_warn("CVMX_NPEI_STATE3 not supported on this chip\n");
7210 #endif
7211     return 0x0000000000000640ull;
7212 }
7213
7214 #define CVMX_NPEI_WINDOW_CTL CVMX_NPEI_WINDOW_CTL_FUNC()
7215 static inline uint64_t CVMX_NPEI_WINDOW_CTL_FUNC(void)
7216 {
7217 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7218     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7219         cvmx_warn("CVMX_NPEI_WINDOW_CTL not supported on this chip\n");
7220 #endif
7221     return 0x0000000000000380ull;
7222 }
7223
7224 #define CVMX_NPEI_WIN_RD_ADDR CVMX_NPEI_WIN_RD_ADDR_FUNC()
7225 static inline uint64_t CVMX_NPEI_WIN_RD_ADDR_FUNC(void)
7226 {
7227 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7228     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7229         cvmx_warn("CVMX_NPEI_WIN_RD_ADDR not supported on this chip\n");
7230 #endif
7231     return 0x0000000000000210ull;
7232 }
7233
7234 #define CVMX_NPEI_WIN_RD_DATA CVMX_NPEI_WIN_RD_DATA_FUNC()
7235 static inline uint64_t CVMX_NPEI_WIN_RD_DATA_FUNC(void)
7236 {
7237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7238     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7239         cvmx_warn("CVMX_NPEI_WIN_RD_DATA not supported on this chip\n");
7240 #endif
7241     return 0x0000000000000240ull;
7242 }
7243
7244 #define CVMX_NPEI_WIN_WR_ADDR CVMX_NPEI_WIN_WR_ADDR_FUNC()
7245 static inline uint64_t CVMX_NPEI_WIN_WR_ADDR_FUNC(void)
7246 {
7247 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7248     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7249         cvmx_warn("CVMX_NPEI_WIN_WR_ADDR not supported on this chip\n");
7250 #endif
7251     return 0x0000000000000200ull;
7252 }
7253
7254 #define CVMX_NPEI_WIN_WR_DATA CVMX_NPEI_WIN_WR_DATA_FUNC()
7255 static inline uint64_t CVMX_NPEI_WIN_WR_DATA_FUNC(void)
7256 {
7257 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7258     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7259         cvmx_warn("CVMX_NPEI_WIN_WR_DATA not supported on this chip\n");
7260 #endif
7261     return 0x0000000000000220ull;
7262 }
7263
7264 #define CVMX_NPEI_WIN_WR_MASK CVMX_NPEI_WIN_WR_MASK_FUNC()
7265 static inline uint64_t CVMX_NPEI_WIN_WR_MASK_FUNC(void)
7266 {
7267 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7268     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
7269         cvmx_warn("CVMX_NPEI_WIN_WR_MASK not supported on this chip\n");
7270 #endif
7271     return 0x0000000000000230ull;
7272 }
7273
7274 #define CVMX_NPI_BASE_ADDR_INPUT0 CVMX_NPI_BASE_ADDR_INPUTX(0)
7275 #define CVMX_NPI_BASE_ADDR_INPUT1 CVMX_NPI_BASE_ADDR_INPUTX(1)
7276 #define CVMX_NPI_BASE_ADDR_INPUT2 CVMX_NPI_BASE_ADDR_INPUTX(2)
7277 #define CVMX_NPI_BASE_ADDR_INPUT3 CVMX_NPI_BASE_ADDR_INPUTX(3)
7278 static inline uint64_t CVMX_NPI_BASE_ADDR_INPUTX(unsigned long offset)
7279 {
7280 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7281     if (!(
7282         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
7283         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
7284         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
7285         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
7286         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
7287         cvmx_warn("CVMX_NPI_BASE_ADDR_INPUTX(%lu) is invalid on this chip\n", offset);
7288 #endif
7289     return CVMX_ADD_IO_SEG(0x00011F0000000070ull) + (offset&3)*16;
7290 }
7291
7292 #define CVMX_NPI_BASE_ADDR_OUTPUT0 CVMX_NPI_BASE_ADDR_OUTPUTX(0)
7293 #define CVMX_NPI_BASE_ADDR_OUTPUT1 CVMX_NPI_BASE_ADDR_OUTPUTX(1)
7294 #define CVMX_NPI_BASE_ADDR_OUTPUT2 CVMX_NPI_BASE_ADDR_OUTPUTX(2)
7295 #define CVMX_NPI_BASE_ADDR_OUTPUT3 CVMX_NPI_BASE_ADDR_OUTPUTX(3)
7296 static inline uint64_t CVMX_NPI_BASE_ADDR_OUTPUTX(unsigned long offset)
7297 {
7298 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7299     if (!(
7300         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
7301         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
7302         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
7303         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
7304         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
7305         cvmx_warn("CVMX_NPI_BASE_ADDR_OUTPUTX(%lu) is invalid on this chip\n", offset);
7306 #endif
7307     return CVMX_ADD_IO_SEG(0x00011F00000000B8ull) + (offset&3)*8;
7308 }
7309
7310 #define CVMX_NPI_BIST_STATUS CVMX_NPI_BIST_STATUS_FUNC()
7311 static inline uint64_t CVMX_NPI_BIST_STATUS_FUNC(void)
7312 {
7313 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7314     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7315         cvmx_warn("CVMX_NPI_BIST_STATUS not supported on this chip\n");
7316 #endif
7317     return CVMX_ADD_IO_SEG(0x00011F00000003F8ull);
7318 }
7319
7320 #define CVMX_NPI_BUFF_SIZE_OUTPUT0 CVMX_NPI_BUFF_SIZE_OUTPUTX(0)
7321 #define CVMX_NPI_BUFF_SIZE_OUTPUT1 CVMX_NPI_BUFF_SIZE_OUTPUTX(1)
7322 #define CVMX_NPI_BUFF_SIZE_OUTPUT2 CVMX_NPI_BUFF_SIZE_OUTPUTX(2)
7323 #define CVMX_NPI_BUFF_SIZE_OUTPUT3 CVMX_NPI_BUFF_SIZE_OUTPUTX(3)
7324 static inline uint64_t CVMX_NPI_BUFF_SIZE_OUTPUTX(unsigned long offset)
7325 {
7326 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7327     if (!(
7328         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
7329         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
7330         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
7331         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
7332         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
7333         cvmx_warn("CVMX_NPI_BUFF_SIZE_OUTPUTX(%lu) is invalid on this chip\n", offset);
7334 #endif
7335     return CVMX_ADD_IO_SEG(0x00011F00000000E0ull) + (offset&3)*8;
7336 }
7337
7338 #define CVMX_NPI_COMP_CTL CVMX_NPI_COMP_CTL_FUNC()
7339 static inline uint64_t CVMX_NPI_COMP_CTL_FUNC(void)
7340 {
7341 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7342     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7343         cvmx_warn("CVMX_NPI_COMP_CTL not supported on this chip\n");
7344 #endif
7345     return CVMX_ADD_IO_SEG(0x00011F0000000218ull);
7346 }
7347
7348 #define CVMX_NPI_CTL_STATUS CVMX_NPI_CTL_STATUS_FUNC()
7349 static inline uint64_t CVMX_NPI_CTL_STATUS_FUNC(void)
7350 {
7351 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7352     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7353         cvmx_warn("CVMX_NPI_CTL_STATUS not supported on this chip\n");
7354 #endif
7355     return CVMX_ADD_IO_SEG(0x00011F0000000010ull);
7356 }
7357
7358 #define CVMX_NPI_DBG_SELECT CVMX_NPI_DBG_SELECT_FUNC()
7359 static inline uint64_t CVMX_NPI_DBG_SELECT_FUNC(void)
7360 {
7361 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7362     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7363         cvmx_warn("CVMX_NPI_DBG_SELECT not supported on this chip\n");
7364 #endif
7365     return CVMX_ADD_IO_SEG(0x00011F0000000008ull);
7366 }
7367
7368 #define CVMX_NPI_DMA_CONTROL CVMX_NPI_DMA_CONTROL_FUNC()
7369 static inline uint64_t CVMX_NPI_DMA_CONTROL_FUNC(void)
7370 {
7371 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7372     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7373         cvmx_warn("CVMX_NPI_DMA_CONTROL not supported on this chip\n");
7374 #endif
7375     return CVMX_ADD_IO_SEG(0x00011F0000000128ull);
7376 }
7377
7378 #define CVMX_NPI_DMA_HIGHP_COUNTS CVMX_NPI_DMA_HIGHP_COUNTS_FUNC()
7379 static inline uint64_t CVMX_NPI_DMA_HIGHP_COUNTS_FUNC(void)
7380 {
7381 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7382     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7383         cvmx_warn("CVMX_NPI_DMA_HIGHP_COUNTS not supported on this chip\n");
7384 #endif
7385     return CVMX_ADD_IO_SEG(0x00011F0000000148ull);
7386 }
7387
7388 #define CVMX_NPI_DMA_HIGHP_NADDR CVMX_NPI_DMA_HIGHP_NADDR_FUNC()
7389 static inline uint64_t CVMX_NPI_DMA_HIGHP_NADDR_FUNC(void)
7390 {
7391 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7392     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7393         cvmx_warn("CVMX_NPI_DMA_HIGHP_NADDR not supported on this chip\n");
7394 #endif
7395     return CVMX_ADD_IO_SEG(0x00011F0000000158ull);
7396 }
7397
7398 #define CVMX_NPI_DMA_LOWP_COUNTS CVMX_NPI_DMA_LOWP_COUNTS_FUNC()
7399 static inline uint64_t CVMX_NPI_DMA_LOWP_COUNTS_FUNC(void)
7400 {
7401 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7402     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7403         cvmx_warn("CVMX_NPI_DMA_LOWP_COUNTS not supported on this chip\n");
7404 #endif
7405     return CVMX_ADD_IO_SEG(0x00011F0000000140ull);
7406 }
7407
7408 #define CVMX_NPI_DMA_LOWP_NADDR CVMX_NPI_DMA_LOWP_NADDR_FUNC()
7409 static inline uint64_t CVMX_NPI_DMA_LOWP_NADDR_FUNC(void)
7410 {
7411 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7412     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7413         cvmx_warn("CVMX_NPI_DMA_LOWP_NADDR not supported on this chip\n");
7414 #endif
7415     return CVMX_ADD_IO_SEG(0x00011F0000000150ull);
7416 }
7417
7418 #define CVMX_NPI_HIGHP_DBELL CVMX_NPI_HIGHP_DBELL_FUNC()
7419 static inline uint64_t CVMX_NPI_HIGHP_DBELL_FUNC(void)
7420 {
7421 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7422     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7423         cvmx_warn("CVMX_NPI_HIGHP_DBELL not supported on this chip\n");
7424 #endif
7425     return CVMX_ADD_IO_SEG(0x00011F0000000120ull);
7426 }
7427
7428 #define CVMX_NPI_HIGHP_IBUFF_SADDR CVMX_NPI_HIGHP_IBUFF_SADDR_FUNC()
7429 static inline uint64_t CVMX_NPI_HIGHP_IBUFF_SADDR_FUNC(void)
7430 {
7431 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7432     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7433         cvmx_warn("CVMX_NPI_HIGHP_IBUFF_SADDR not supported on this chip\n");
7434 #endif
7435     return CVMX_ADD_IO_SEG(0x00011F0000000110ull);
7436 }
7437
7438 #define CVMX_NPI_INPUT_CONTROL CVMX_NPI_INPUT_CONTROL_FUNC()
7439 static inline uint64_t CVMX_NPI_INPUT_CONTROL_FUNC(void)
7440 {
7441 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7442     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7443         cvmx_warn("CVMX_NPI_INPUT_CONTROL not supported on this chip\n");
7444 #endif
7445     return CVMX_ADD_IO_SEG(0x00011F0000000138ull);
7446 }
7447
7448 #define CVMX_NPI_INT_ENB CVMX_NPI_INT_ENB_FUNC()
7449 static inline uint64_t CVMX_NPI_INT_ENB_FUNC(void)
7450 {
7451 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7452     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7453         cvmx_warn("CVMX_NPI_INT_ENB not supported on this chip\n");
7454 #endif
7455     return CVMX_ADD_IO_SEG(0x00011F0000000020ull);
7456 }
7457
7458 #define CVMX_NPI_INT_SUM CVMX_NPI_INT_SUM_FUNC()
7459 static inline uint64_t CVMX_NPI_INT_SUM_FUNC(void)
7460 {
7461 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7462     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7463         cvmx_warn("CVMX_NPI_INT_SUM not supported on this chip\n");
7464 #endif
7465     return CVMX_ADD_IO_SEG(0x00011F0000000018ull);
7466 }
7467
7468 #define CVMX_NPI_LOWP_DBELL CVMX_NPI_LOWP_DBELL_FUNC()
7469 static inline uint64_t CVMX_NPI_LOWP_DBELL_FUNC(void)
7470 {
7471 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7472     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7473         cvmx_warn("CVMX_NPI_LOWP_DBELL not supported on this chip\n");
7474 #endif
7475     return CVMX_ADD_IO_SEG(0x00011F0000000118ull);
7476 }
7477
7478 #define CVMX_NPI_LOWP_IBUFF_SADDR CVMX_NPI_LOWP_IBUFF_SADDR_FUNC()
7479 static inline uint64_t CVMX_NPI_LOWP_IBUFF_SADDR_FUNC(void)
7480 {
7481 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7482     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7483         cvmx_warn("CVMX_NPI_LOWP_IBUFF_SADDR not supported on this chip\n");
7484 #endif
7485     return CVMX_ADD_IO_SEG(0x00011F0000000108ull);
7486 }
7487
7488 #define CVMX_NPI_MEM_ACCESS_SUBID3 CVMX_NPI_MEM_ACCESS_SUBIDX(3)
7489 #define CVMX_NPI_MEM_ACCESS_SUBID4 CVMX_NPI_MEM_ACCESS_SUBIDX(4)
7490 #define CVMX_NPI_MEM_ACCESS_SUBID5 CVMX_NPI_MEM_ACCESS_SUBIDX(5)
7491 #define CVMX_NPI_MEM_ACCESS_SUBID6 CVMX_NPI_MEM_ACCESS_SUBIDX(6)
7492 static inline uint64_t CVMX_NPI_MEM_ACCESS_SUBIDX(unsigned long offset)
7493 {
7494 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7495     if (!(
7496         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset >= 3) && (offset <= 6)))) ||
7497         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset >= 3) && (offset <= 6)))) ||
7498         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset >= 3) && (offset <= 6)))) ||
7499         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset >= 3) && (offset <= 6)))) ||
7500         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset >= 3) && (offset <= 6))))))
7501         cvmx_warn("CVMX_NPI_MEM_ACCESS_SUBIDX(%lu) is invalid on this chip\n", offset);
7502 #endif
7503     return CVMX_ADD_IO_SEG(0x00011F0000000028ull) + (offset&7)*8 - 8*3;
7504 }
7505
7506 #define CVMX_NPI_MSI_RCV CVMX_NPI_MSI_RCV_FUNC()
7507 static inline uint64_t CVMX_NPI_MSI_RCV_FUNC(void)
7508 {
7509 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7510     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7511         cvmx_warn("CVMX_NPI_MSI_RCV not supported on this chip\n");
7512 #endif
7513     return 0x0000000000000190ull;
7514 }
7515
7516 #define CVMX_NPI_NPI_MSI_RCV CVMX_NPI_NPI_MSI_RCV_FUNC()
7517 static inline uint64_t CVMX_NPI_NPI_MSI_RCV_FUNC(void)
7518 {
7519 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7520     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7521         cvmx_warn("CVMX_NPI_NPI_MSI_RCV not supported on this chip\n");
7522 #endif
7523     return CVMX_ADD_IO_SEG(0x00011F0000001190ull);
7524 }
7525
7526 #define CVMX_NPI_NUM_DESC_OUTPUT0 CVMX_NPI_NUM_DESC_OUTPUTX(0)
7527 #define CVMX_NPI_NUM_DESC_OUTPUT1 CVMX_NPI_NUM_DESC_OUTPUTX(1)
7528 #define CVMX_NPI_NUM_DESC_OUTPUT2 CVMX_NPI_NUM_DESC_OUTPUTX(2)
7529 #define CVMX_NPI_NUM_DESC_OUTPUT3 CVMX_NPI_NUM_DESC_OUTPUTX(3)
7530 static inline uint64_t CVMX_NPI_NUM_DESC_OUTPUTX(unsigned long offset)
7531 {
7532 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7533     if (!(
7534         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
7535         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
7536         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
7537         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
7538         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
7539         cvmx_warn("CVMX_NPI_NUM_DESC_OUTPUTX(%lu) is invalid on this chip\n", offset);
7540 #endif
7541     return CVMX_ADD_IO_SEG(0x00011F0000000050ull) + (offset&3)*8;
7542 }
7543
7544 #define CVMX_NPI_OUTPUT_CONTROL CVMX_NPI_OUTPUT_CONTROL_FUNC()
7545 static inline uint64_t CVMX_NPI_OUTPUT_CONTROL_FUNC(void)
7546 {
7547 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7548     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7549         cvmx_warn("CVMX_NPI_OUTPUT_CONTROL not supported on this chip\n");
7550 #endif
7551     return CVMX_ADD_IO_SEG(0x00011F0000000100ull);
7552 }
7553
7554 #define CVMX_NPI_P0_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(0)
7555 #define CVMX_NPI_P0_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(0)
7556 #define CVMX_NPI_P0_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(0)
7557 #define CVMX_NPI_P0_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(0)
7558 #define CVMX_NPI_P1_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(1)
7559 #define CVMX_NPI_P1_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(1)
7560 #define CVMX_NPI_P1_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(1)
7561 #define CVMX_NPI_P1_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(1)
7562 #define CVMX_NPI_P2_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(2)
7563 #define CVMX_NPI_P2_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(2)
7564 #define CVMX_NPI_P2_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(2)
7565 #define CVMX_NPI_P2_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(2)
7566 #define CVMX_NPI_P3_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(3)
7567 #define CVMX_NPI_P3_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(3)
7568 #define CVMX_NPI_P3_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(3)
7569 #define CVMX_NPI_P3_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(3)
7570 static inline uint64_t CVMX_NPI_PCI_BAR1_INDEXX(unsigned long offset)
7571 {
7572 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7573     if (!(
7574         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 31))) ||
7575         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 31))) ||
7576         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 31))) ||
7577         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 31))) ||
7578         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 31)))))
7579         cvmx_warn("CVMX_NPI_PCI_BAR1_INDEXX(%lu) is invalid on this chip\n", offset);
7580 #endif
7581     return CVMX_ADD_IO_SEG(0x00011F0000001100ull) + (offset&31)*4;
7582 }
7583
7584 #define CVMX_NPI_PCI_BIST_REG CVMX_NPI_PCI_BIST_REG_FUNC()
7585 static inline uint64_t CVMX_NPI_PCI_BIST_REG_FUNC(void)
7586 {
7587 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7588     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX)))
7589         cvmx_warn("CVMX_NPI_PCI_BIST_REG not supported on this chip\n");
7590 #endif
7591     return CVMX_ADD_IO_SEG(0x00011F00000011C0ull);
7592 }
7593
7594 #define CVMX_NPI_PCI_BURST_SIZE CVMX_NPI_PCI_BURST_SIZE_FUNC()
7595 static inline uint64_t CVMX_NPI_PCI_BURST_SIZE_FUNC(void)
7596 {
7597 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7598     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7599         cvmx_warn("CVMX_NPI_PCI_BURST_SIZE not supported on this chip\n");
7600 #endif
7601     return CVMX_ADD_IO_SEG(0x00011F00000000D8ull);
7602 }
7603
7604 #define CVMX_NPI_PCI_CFG00 CVMX_NPI_PCI_CFG00_FUNC()
7605 static inline uint64_t CVMX_NPI_PCI_CFG00_FUNC(void)
7606 {
7607 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7608     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7609         cvmx_warn("CVMX_NPI_PCI_CFG00 not supported on this chip\n");
7610 #endif
7611     return CVMX_ADD_IO_SEG(0x00011F0000001800ull);
7612 }
7613
7614 #define CVMX_NPI_PCI_CFG01 CVMX_NPI_PCI_CFG01_FUNC()
7615 static inline uint64_t CVMX_NPI_PCI_CFG01_FUNC(void)
7616 {
7617 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7618     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7619         cvmx_warn("CVMX_NPI_PCI_CFG01 not supported on this chip\n");
7620 #endif
7621     return CVMX_ADD_IO_SEG(0x00011F0000001804ull);
7622 }
7623
7624 #define CVMX_NPI_PCI_CFG02 CVMX_NPI_PCI_CFG02_FUNC()
7625 static inline uint64_t CVMX_NPI_PCI_CFG02_FUNC(void)
7626 {
7627 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7628     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7629         cvmx_warn("CVMX_NPI_PCI_CFG02 not supported on this chip\n");
7630 #endif
7631     return CVMX_ADD_IO_SEG(0x00011F0000001808ull);
7632 }
7633
7634 #define CVMX_NPI_PCI_CFG03 CVMX_NPI_PCI_CFG03_FUNC()
7635 static inline uint64_t CVMX_NPI_PCI_CFG03_FUNC(void)
7636 {
7637 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7638     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7639         cvmx_warn("CVMX_NPI_PCI_CFG03 not supported on this chip\n");
7640 #endif
7641     return CVMX_ADD_IO_SEG(0x00011F000000180Cull);
7642 }
7643
7644 #define CVMX_NPI_PCI_CFG04 CVMX_NPI_PCI_CFG04_FUNC()
7645 static inline uint64_t CVMX_NPI_PCI_CFG04_FUNC(void)
7646 {
7647 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7648     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7649         cvmx_warn("CVMX_NPI_PCI_CFG04 not supported on this chip\n");
7650 #endif
7651     return CVMX_ADD_IO_SEG(0x00011F0000001810ull);
7652 }
7653
7654 #define CVMX_NPI_PCI_CFG05 CVMX_NPI_PCI_CFG05_FUNC()
7655 static inline uint64_t CVMX_NPI_PCI_CFG05_FUNC(void)
7656 {
7657 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7658     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7659         cvmx_warn("CVMX_NPI_PCI_CFG05 not supported on this chip\n");
7660 #endif
7661     return CVMX_ADD_IO_SEG(0x00011F0000001814ull);
7662 }
7663
7664 #define CVMX_NPI_PCI_CFG06 CVMX_NPI_PCI_CFG06_FUNC()
7665 static inline uint64_t CVMX_NPI_PCI_CFG06_FUNC(void)
7666 {
7667 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7668     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7669         cvmx_warn("CVMX_NPI_PCI_CFG06 not supported on this chip\n");
7670 #endif
7671     return CVMX_ADD_IO_SEG(0x00011F0000001818ull);
7672 }
7673
7674 #define CVMX_NPI_PCI_CFG07 CVMX_NPI_PCI_CFG07_FUNC()
7675 static inline uint64_t CVMX_NPI_PCI_CFG07_FUNC(void)
7676 {
7677 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7678     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7679         cvmx_warn("CVMX_NPI_PCI_CFG07 not supported on this chip\n");
7680 #endif
7681     return CVMX_ADD_IO_SEG(0x00011F000000181Cull);
7682 }
7683
7684 #define CVMX_NPI_PCI_CFG08 CVMX_NPI_PCI_CFG08_FUNC()
7685 static inline uint64_t CVMX_NPI_PCI_CFG08_FUNC(void)
7686 {
7687 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7688     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7689         cvmx_warn("CVMX_NPI_PCI_CFG08 not supported on this chip\n");
7690 #endif
7691     return CVMX_ADD_IO_SEG(0x00011F0000001820ull);
7692 }
7693
7694 #define CVMX_NPI_PCI_CFG09 CVMX_NPI_PCI_CFG09_FUNC()
7695 static inline uint64_t CVMX_NPI_PCI_CFG09_FUNC(void)
7696 {
7697 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7698     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7699         cvmx_warn("CVMX_NPI_PCI_CFG09 not supported on this chip\n");
7700 #endif
7701     return CVMX_ADD_IO_SEG(0x00011F0000001824ull);
7702 }
7703
7704 #define CVMX_NPI_PCI_CFG10 CVMX_NPI_PCI_CFG10_FUNC()
7705 static inline uint64_t CVMX_NPI_PCI_CFG10_FUNC(void)
7706 {
7707 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7708     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7709         cvmx_warn("CVMX_NPI_PCI_CFG10 not supported on this chip\n");
7710 #endif
7711     return CVMX_ADD_IO_SEG(0x00011F0000001828ull);
7712 }
7713
7714 #define CVMX_NPI_PCI_CFG11 CVMX_NPI_PCI_CFG11_FUNC()
7715 static inline uint64_t CVMX_NPI_PCI_CFG11_FUNC(void)
7716 {
7717 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7718     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7719         cvmx_warn("CVMX_NPI_PCI_CFG11 not supported on this chip\n");
7720 #endif
7721     return CVMX_ADD_IO_SEG(0x00011F000000182Cull);
7722 }
7723
7724 #define CVMX_NPI_PCI_CFG12 CVMX_NPI_PCI_CFG12_FUNC()
7725 static inline uint64_t CVMX_NPI_PCI_CFG12_FUNC(void)
7726 {
7727 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7728     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7729         cvmx_warn("CVMX_NPI_PCI_CFG12 not supported on this chip\n");
7730 #endif
7731     return CVMX_ADD_IO_SEG(0x00011F0000001830ull);
7732 }
7733
7734 #define CVMX_NPI_PCI_CFG13 CVMX_NPI_PCI_CFG13_FUNC()
7735 static inline uint64_t CVMX_NPI_PCI_CFG13_FUNC(void)
7736 {
7737 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7738     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7739         cvmx_warn("CVMX_NPI_PCI_CFG13 not supported on this chip\n");
7740 #endif
7741     return CVMX_ADD_IO_SEG(0x00011F0000001834ull);
7742 }
7743
7744 #define CVMX_NPI_PCI_CFG15 CVMX_NPI_PCI_CFG15_FUNC()
7745 static inline uint64_t CVMX_NPI_PCI_CFG15_FUNC(void)
7746 {
7747 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7748     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7749         cvmx_warn("CVMX_NPI_PCI_CFG15 not supported on this chip\n");
7750 #endif
7751     return CVMX_ADD_IO_SEG(0x00011F000000183Cull);
7752 }
7753
7754 #define CVMX_NPI_PCI_CFG16 CVMX_NPI_PCI_CFG16_FUNC()
7755 static inline uint64_t CVMX_NPI_PCI_CFG16_FUNC(void)
7756 {
7757 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7758     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7759         cvmx_warn("CVMX_NPI_PCI_CFG16 not supported on this chip\n");
7760 #endif
7761     return CVMX_ADD_IO_SEG(0x00011F0000001840ull);
7762 }
7763
7764 #define CVMX_NPI_PCI_CFG17 CVMX_NPI_PCI_CFG17_FUNC()
7765 static inline uint64_t CVMX_NPI_PCI_CFG17_FUNC(void)
7766 {
7767 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7768     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7769         cvmx_warn("CVMX_NPI_PCI_CFG17 not supported on this chip\n");
7770 #endif
7771     return CVMX_ADD_IO_SEG(0x00011F0000001844ull);
7772 }
7773
7774 #define CVMX_NPI_PCI_CFG18 CVMX_NPI_PCI_CFG18_FUNC()
7775 static inline uint64_t CVMX_NPI_PCI_CFG18_FUNC(void)
7776 {
7777 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7778     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7779         cvmx_warn("CVMX_NPI_PCI_CFG18 not supported on this chip\n");
7780 #endif
7781     return CVMX_ADD_IO_SEG(0x00011F0000001848ull);
7782 }
7783
7784 #define CVMX_NPI_PCI_CFG19 CVMX_NPI_PCI_CFG19_FUNC()
7785 static inline uint64_t CVMX_NPI_PCI_CFG19_FUNC(void)
7786 {
7787 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7788     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7789         cvmx_warn("CVMX_NPI_PCI_CFG19 not supported on this chip\n");
7790 #endif
7791     return CVMX_ADD_IO_SEG(0x00011F000000184Cull);
7792 }
7793
7794 #define CVMX_NPI_PCI_CFG20 CVMX_NPI_PCI_CFG20_FUNC()
7795 static inline uint64_t CVMX_NPI_PCI_CFG20_FUNC(void)
7796 {
7797 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7798     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7799         cvmx_warn("CVMX_NPI_PCI_CFG20 not supported on this chip\n");
7800 #endif
7801     return CVMX_ADD_IO_SEG(0x00011F0000001850ull);
7802 }
7803
7804 #define CVMX_NPI_PCI_CFG21 CVMX_NPI_PCI_CFG21_FUNC()
7805 static inline uint64_t CVMX_NPI_PCI_CFG21_FUNC(void)
7806 {
7807 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7808     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7809         cvmx_warn("CVMX_NPI_PCI_CFG21 not supported on this chip\n");
7810 #endif
7811     return CVMX_ADD_IO_SEG(0x00011F0000001854ull);
7812 }
7813
7814 #define CVMX_NPI_PCI_CFG22 CVMX_NPI_PCI_CFG22_FUNC()
7815 static inline uint64_t CVMX_NPI_PCI_CFG22_FUNC(void)
7816 {
7817 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7818     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7819         cvmx_warn("CVMX_NPI_PCI_CFG22 not supported on this chip\n");
7820 #endif
7821     return CVMX_ADD_IO_SEG(0x00011F0000001858ull);
7822 }
7823
7824 #define CVMX_NPI_PCI_CFG56 CVMX_NPI_PCI_CFG56_FUNC()
7825 static inline uint64_t CVMX_NPI_PCI_CFG56_FUNC(void)
7826 {
7827 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7828     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7829         cvmx_warn("CVMX_NPI_PCI_CFG56 not supported on this chip\n");
7830 #endif
7831     return CVMX_ADD_IO_SEG(0x00011F00000018E0ull);
7832 }
7833
7834 #define CVMX_NPI_PCI_CFG57 CVMX_NPI_PCI_CFG57_FUNC()
7835 static inline uint64_t CVMX_NPI_PCI_CFG57_FUNC(void)
7836 {
7837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7838     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7839         cvmx_warn("CVMX_NPI_PCI_CFG57 not supported on this chip\n");
7840 #endif
7841     return CVMX_ADD_IO_SEG(0x00011F00000018E4ull);
7842 }
7843
7844 #define CVMX_NPI_PCI_CFG58 CVMX_NPI_PCI_CFG58_FUNC()
7845 static inline uint64_t CVMX_NPI_PCI_CFG58_FUNC(void)
7846 {
7847 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7848     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7849         cvmx_warn("CVMX_NPI_PCI_CFG58 not supported on this chip\n");
7850 #endif
7851     return CVMX_ADD_IO_SEG(0x00011F00000018E8ull);
7852 }
7853
7854 #define CVMX_NPI_PCI_CFG59 CVMX_NPI_PCI_CFG59_FUNC()
7855 static inline uint64_t CVMX_NPI_PCI_CFG59_FUNC(void)
7856 {
7857 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7858     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7859         cvmx_warn("CVMX_NPI_PCI_CFG59 not supported on this chip\n");
7860 #endif
7861     return CVMX_ADD_IO_SEG(0x00011F00000018ECull);
7862 }
7863
7864 #define CVMX_NPI_PCI_CFG60 CVMX_NPI_PCI_CFG60_FUNC()
7865 static inline uint64_t CVMX_NPI_PCI_CFG60_FUNC(void)
7866 {
7867 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7868     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7869         cvmx_warn("CVMX_NPI_PCI_CFG60 not supported on this chip\n");
7870 #endif
7871     return CVMX_ADD_IO_SEG(0x00011F00000018F0ull);
7872 }
7873
7874 #define CVMX_NPI_PCI_CFG61 CVMX_NPI_PCI_CFG61_FUNC()
7875 static inline uint64_t CVMX_NPI_PCI_CFG61_FUNC(void)
7876 {
7877 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7878     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7879         cvmx_warn("CVMX_NPI_PCI_CFG61 not supported on this chip\n");
7880 #endif
7881     return CVMX_ADD_IO_SEG(0x00011F00000018F4ull);
7882 }
7883
7884 #define CVMX_NPI_PCI_CFG62 CVMX_NPI_PCI_CFG62_FUNC()
7885 static inline uint64_t CVMX_NPI_PCI_CFG62_FUNC(void)
7886 {
7887 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7888     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7889         cvmx_warn("CVMX_NPI_PCI_CFG62 not supported on this chip\n");
7890 #endif
7891     return CVMX_ADD_IO_SEG(0x00011F00000018F8ull);
7892 }
7893
7894 #define CVMX_NPI_PCI_CFG63 CVMX_NPI_PCI_CFG63_FUNC()
7895 static inline uint64_t CVMX_NPI_PCI_CFG63_FUNC(void)
7896 {
7897 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7898     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7899         cvmx_warn("CVMX_NPI_PCI_CFG63 not supported on this chip\n");
7900 #endif
7901     return CVMX_ADD_IO_SEG(0x00011F00000018FCull);
7902 }
7903
7904 #define CVMX_NPI_PCI_CNT_REG CVMX_NPI_PCI_CNT_REG_FUNC()
7905 static inline uint64_t CVMX_NPI_PCI_CNT_REG_FUNC(void)
7906 {
7907 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7908     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7909         cvmx_warn("CVMX_NPI_PCI_CNT_REG not supported on this chip\n");
7910 #endif
7911     return CVMX_ADD_IO_SEG(0x00011F00000011B8ull);
7912 }
7913
7914 #define CVMX_NPI_PCI_CTL_STATUS_2 CVMX_NPI_PCI_CTL_STATUS_2_FUNC()
7915 static inline uint64_t CVMX_NPI_PCI_CTL_STATUS_2_FUNC(void)
7916 {
7917 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7918     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7919         cvmx_warn("CVMX_NPI_PCI_CTL_STATUS_2 not supported on this chip\n");
7920 #endif
7921     return CVMX_ADD_IO_SEG(0x00011F000000118Cull);
7922 }
7923
7924 #define CVMX_NPI_PCI_INT_ARB_CFG CVMX_NPI_PCI_INT_ARB_CFG_FUNC()
7925 static inline uint64_t CVMX_NPI_PCI_INT_ARB_CFG_FUNC(void)
7926 {
7927 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7928     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7929         cvmx_warn("CVMX_NPI_PCI_INT_ARB_CFG not supported on this chip\n");
7930 #endif
7931     return CVMX_ADD_IO_SEG(0x00011F0000000130ull);
7932 }
7933
7934 #define CVMX_NPI_PCI_INT_ENB2 CVMX_NPI_PCI_INT_ENB2_FUNC()
7935 static inline uint64_t CVMX_NPI_PCI_INT_ENB2_FUNC(void)
7936 {
7937 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7938     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7939         cvmx_warn("CVMX_NPI_PCI_INT_ENB2 not supported on this chip\n");
7940 #endif
7941     return CVMX_ADD_IO_SEG(0x00011F00000011A0ull);
7942 }
7943
7944 #define CVMX_NPI_PCI_INT_SUM2 CVMX_NPI_PCI_INT_SUM2_FUNC()
7945 static inline uint64_t CVMX_NPI_PCI_INT_SUM2_FUNC(void)
7946 {
7947 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7948     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7949         cvmx_warn("CVMX_NPI_PCI_INT_SUM2 not supported on this chip\n");
7950 #endif
7951     return CVMX_ADD_IO_SEG(0x00011F0000001198ull);
7952 }
7953
7954 #define CVMX_NPI_PCI_READ_CMD CVMX_NPI_PCI_READ_CMD_FUNC()
7955 static inline uint64_t CVMX_NPI_PCI_READ_CMD_FUNC(void)
7956 {
7957 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7958     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7959         cvmx_warn("CVMX_NPI_PCI_READ_CMD not supported on this chip\n");
7960 #endif
7961     return CVMX_ADD_IO_SEG(0x00011F0000000048ull);
7962 }
7963
7964 #define CVMX_NPI_PCI_READ_CMD_6 CVMX_NPI_PCI_READ_CMD_6_FUNC()
7965 static inline uint64_t CVMX_NPI_PCI_READ_CMD_6_FUNC(void)
7966 {
7967 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7968     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7969         cvmx_warn("CVMX_NPI_PCI_READ_CMD_6 not supported on this chip\n");
7970 #endif
7971     return CVMX_ADD_IO_SEG(0x00011F0000001180ull);
7972 }
7973
7974 #define CVMX_NPI_PCI_READ_CMD_C CVMX_NPI_PCI_READ_CMD_C_FUNC()
7975 static inline uint64_t CVMX_NPI_PCI_READ_CMD_C_FUNC(void)
7976 {
7977 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7978     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7979         cvmx_warn("CVMX_NPI_PCI_READ_CMD_C not supported on this chip\n");
7980 #endif
7981     return CVMX_ADD_IO_SEG(0x00011F0000001184ull);
7982 }
7983
7984 #define CVMX_NPI_PCI_READ_CMD_E CVMX_NPI_PCI_READ_CMD_E_FUNC()
7985 static inline uint64_t CVMX_NPI_PCI_READ_CMD_E_FUNC(void)
7986 {
7987 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7988     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7989         cvmx_warn("CVMX_NPI_PCI_READ_CMD_E not supported on this chip\n");
7990 #endif
7991     return CVMX_ADD_IO_SEG(0x00011F0000001188ull);
7992 }
7993
7994 #define CVMX_NPI_PCI_SCM_REG CVMX_NPI_PCI_SCM_REG_FUNC()
7995 static inline uint64_t CVMX_NPI_PCI_SCM_REG_FUNC(void)
7996 {
7997 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
7998     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
7999         cvmx_warn("CVMX_NPI_PCI_SCM_REG not supported on this chip\n");
8000 #endif
8001     return CVMX_ADD_IO_SEG(0x00011F00000011A8ull);
8002 }
8003
8004 #define CVMX_NPI_PCI_TSR_REG CVMX_NPI_PCI_TSR_REG_FUNC()
8005 static inline uint64_t CVMX_NPI_PCI_TSR_REG_FUNC(void)
8006 {
8007 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8008     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8009         cvmx_warn("CVMX_NPI_PCI_TSR_REG not supported on this chip\n");
8010 #endif
8011     return CVMX_ADD_IO_SEG(0x00011F00000011B0ull);
8012 }
8013
8014 #define CVMX_NPI_PORT32_INSTR_HDR CVMX_NPI_PORT32_INSTR_HDR_FUNC()
8015 static inline uint64_t CVMX_NPI_PORT32_INSTR_HDR_FUNC(void)
8016 {
8017 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8018     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8019         cvmx_warn("CVMX_NPI_PORT32_INSTR_HDR not supported on this chip\n");
8020 #endif
8021     return CVMX_ADD_IO_SEG(0x00011F00000001F8ull);
8022 }
8023
8024 #define CVMX_NPI_PORT33_INSTR_HDR CVMX_NPI_PORT33_INSTR_HDR_FUNC()
8025 static inline uint64_t CVMX_NPI_PORT33_INSTR_HDR_FUNC(void)
8026 {
8027 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8028     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8029         cvmx_warn("CVMX_NPI_PORT33_INSTR_HDR not supported on this chip\n");
8030 #endif
8031     return CVMX_ADD_IO_SEG(0x00011F0000000200ull);
8032 }
8033
8034 #define CVMX_NPI_PORT34_INSTR_HDR CVMX_NPI_PORT34_INSTR_HDR_FUNC()
8035 static inline uint64_t CVMX_NPI_PORT34_INSTR_HDR_FUNC(void)
8036 {
8037 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8038     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8039         cvmx_warn("CVMX_NPI_PORT34_INSTR_HDR not supported on this chip\n");
8040 #endif
8041     return CVMX_ADD_IO_SEG(0x00011F0000000208ull);
8042 }
8043
8044 #define CVMX_NPI_PORT35_INSTR_HDR CVMX_NPI_PORT35_INSTR_HDR_FUNC()
8045 static inline uint64_t CVMX_NPI_PORT35_INSTR_HDR_FUNC(void)
8046 {
8047 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8048     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8049         cvmx_warn("CVMX_NPI_PORT35_INSTR_HDR not supported on this chip\n");
8050 #endif
8051     return CVMX_ADD_IO_SEG(0x00011F0000000210ull);
8052 }
8053
8054 #define CVMX_NPI_PORT_BP_CONTROL CVMX_NPI_PORT_BP_CONTROL_FUNC()
8055 static inline uint64_t CVMX_NPI_PORT_BP_CONTROL_FUNC(void)
8056 {
8057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8058     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8059         cvmx_warn("CVMX_NPI_PORT_BP_CONTROL not supported on this chip\n");
8060 #endif
8061     return CVMX_ADD_IO_SEG(0x00011F00000001F0ull);
8062 }
8063
8064 static inline uint64_t CVMX_NPI_PX_DBPAIR_ADDR(unsigned long offset)
8065 {
8066 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8067     if (!(
8068         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
8069         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
8070         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
8071         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
8072         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
8073         cvmx_warn("CVMX_NPI_PX_DBPAIR_ADDR(%lu) is invalid on this chip\n", offset);
8074 #endif
8075     return CVMX_ADD_IO_SEG(0x00011F0000000180ull) + (offset&3)*8;
8076 }
8077
8078 static inline uint64_t CVMX_NPI_PX_INSTR_ADDR(unsigned long offset)
8079 {
8080 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8081     if (!(
8082         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
8083         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
8084         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
8085         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
8086         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
8087         cvmx_warn("CVMX_NPI_PX_INSTR_ADDR(%lu) is invalid on this chip\n", offset);
8088 #endif
8089     return CVMX_ADD_IO_SEG(0x00011F00000001C0ull) + (offset&3)*8;
8090 }
8091
8092 static inline uint64_t CVMX_NPI_PX_INSTR_CNTS(unsigned long offset)
8093 {
8094 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8095     if (!(
8096         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
8097         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
8098         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
8099         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
8100         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
8101         cvmx_warn("CVMX_NPI_PX_INSTR_CNTS(%lu) is invalid on this chip\n", offset);
8102 #endif
8103     return CVMX_ADD_IO_SEG(0x00011F00000001A0ull) + (offset&3)*8;
8104 }
8105
8106 static inline uint64_t CVMX_NPI_PX_PAIR_CNTS(unsigned long offset)
8107 {
8108 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8109     if (!(
8110         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
8111         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
8112         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
8113         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
8114         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
8115         cvmx_warn("CVMX_NPI_PX_PAIR_CNTS(%lu) is invalid on this chip\n", offset);
8116 #endif
8117     return CVMX_ADD_IO_SEG(0x00011F0000000160ull) + (offset&3)*8;
8118 }
8119
8120 #define CVMX_NPI_RSL_INT_BLOCKS CVMX_NPI_RSL_INT_BLOCKS_FUNC()
8121 static inline uint64_t CVMX_NPI_RSL_INT_BLOCKS_FUNC(void)
8122 {
8123 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8124     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8125         cvmx_warn("CVMX_NPI_RSL_INT_BLOCKS not supported on this chip\n");
8126 #endif
8127     return CVMX_ADD_IO_SEG(0x00011F0000000000ull);
8128 }
8129
8130 #define CVMX_NPI_SIZE_INPUT0 CVMX_NPI_SIZE_INPUTX(0)
8131 #define CVMX_NPI_SIZE_INPUT1 CVMX_NPI_SIZE_INPUTX(1)
8132 #define CVMX_NPI_SIZE_INPUT2 CVMX_NPI_SIZE_INPUTX(2)
8133 #define CVMX_NPI_SIZE_INPUT3 CVMX_NPI_SIZE_INPUTX(3)
8134 static inline uint64_t CVMX_NPI_SIZE_INPUTX(unsigned long offset)
8135 {
8136 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8137     if (!(
8138         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
8139         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
8140         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
8141         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
8142         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
8143         cvmx_warn("CVMX_NPI_SIZE_INPUTX(%lu) is invalid on this chip\n", offset);
8144 #endif
8145     return CVMX_ADD_IO_SEG(0x00011F0000000078ull) + (offset&3)*16;
8146 }
8147
8148 #define CVMX_NPI_WIN_READ_TO CVMX_NPI_WIN_READ_TO_FUNC()
8149 static inline uint64_t CVMX_NPI_WIN_READ_TO_FUNC(void)
8150 {
8151 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8152     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
8153         cvmx_warn("CVMX_NPI_WIN_READ_TO not supported on this chip\n");
8154 #endif
8155     return CVMX_ADD_IO_SEG(0x00011F00000001E0ull);
8156 }
8157
8158 #define CVMX_PCIEEP_CFG000 CVMX_PCIEEP_CFG000_FUNC()
8159 static inline uint64_t CVMX_PCIEEP_CFG000_FUNC(void)
8160 {
8161 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8162     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8163         cvmx_warn("CVMX_PCIEEP_CFG000 not supported on this chip\n");
8164 #endif
8165     return 0x0000000000000000ull;
8166 }
8167
8168 #define CVMX_PCIEEP_CFG001 CVMX_PCIEEP_CFG001_FUNC()
8169 static inline uint64_t CVMX_PCIEEP_CFG001_FUNC(void)
8170 {
8171 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8172     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8173         cvmx_warn("CVMX_PCIEEP_CFG001 not supported on this chip\n");
8174 #endif
8175     return 0x0000000000000004ull;
8176 }
8177
8178 #define CVMX_PCIEEP_CFG002 CVMX_PCIEEP_CFG002_FUNC()
8179 static inline uint64_t CVMX_PCIEEP_CFG002_FUNC(void)
8180 {
8181 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8182     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8183         cvmx_warn("CVMX_PCIEEP_CFG002 not supported on this chip\n");
8184 #endif
8185     return 0x0000000000000008ull;
8186 }
8187
8188 #define CVMX_PCIEEP_CFG003 CVMX_PCIEEP_CFG003_FUNC()
8189 static inline uint64_t CVMX_PCIEEP_CFG003_FUNC(void)
8190 {
8191 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8192     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8193         cvmx_warn("CVMX_PCIEEP_CFG003 not supported on this chip\n");
8194 #endif
8195     return 0x000000000000000Cull;
8196 }
8197
8198 #define CVMX_PCIEEP_CFG004 CVMX_PCIEEP_CFG004_FUNC()
8199 static inline uint64_t CVMX_PCIEEP_CFG004_FUNC(void)
8200 {
8201 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8202     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8203         cvmx_warn("CVMX_PCIEEP_CFG004 not supported on this chip\n");
8204 #endif
8205     return 0x0000000000000010ull;
8206 }
8207
8208 #define CVMX_PCIEEP_CFG004_MASK CVMX_PCIEEP_CFG004_MASK_FUNC()
8209 static inline uint64_t CVMX_PCIEEP_CFG004_MASK_FUNC(void)
8210 {
8211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8212     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8213         cvmx_warn("CVMX_PCIEEP_CFG004_MASK not supported on this chip\n");
8214 #endif
8215     return 0x0000000080000010ull;
8216 }
8217
8218 #define CVMX_PCIEEP_CFG005 CVMX_PCIEEP_CFG005_FUNC()
8219 static inline uint64_t CVMX_PCIEEP_CFG005_FUNC(void)
8220 {
8221 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8222     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8223         cvmx_warn("CVMX_PCIEEP_CFG005 not supported on this chip\n");
8224 #endif
8225     return 0x0000000000000014ull;
8226 }
8227
8228 #define CVMX_PCIEEP_CFG005_MASK CVMX_PCIEEP_CFG005_MASK_FUNC()
8229 static inline uint64_t CVMX_PCIEEP_CFG005_MASK_FUNC(void)
8230 {
8231 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8232     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8233         cvmx_warn("CVMX_PCIEEP_CFG005_MASK not supported on this chip\n");
8234 #endif
8235     return 0x0000000080000014ull;
8236 }
8237
8238 #define CVMX_PCIEEP_CFG006 CVMX_PCIEEP_CFG006_FUNC()
8239 static inline uint64_t CVMX_PCIEEP_CFG006_FUNC(void)
8240 {
8241 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8242     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8243         cvmx_warn("CVMX_PCIEEP_CFG006 not supported on this chip\n");
8244 #endif
8245     return 0x0000000000000018ull;
8246 }
8247
8248 #define CVMX_PCIEEP_CFG006_MASK CVMX_PCIEEP_CFG006_MASK_FUNC()
8249 static inline uint64_t CVMX_PCIEEP_CFG006_MASK_FUNC(void)
8250 {
8251 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8252     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8253         cvmx_warn("CVMX_PCIEEP_CFG006_MASK not supported on this chip\n");
8254 #endif
8255     return 0x0000000080000018ull;
8256 }
8257
8258 #define CVMX_PCIEEP_CFG007 CVMX_PCIEEP_CFG007_FUNC()
8259 static inline uint64_t CVMX_PCIEEP_CFG007_FUNC(void)
8260 {
8261 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8262     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8263         cvmx_warn("CVMX_PCIEEP_CFG007 not supported on this chip\n");
8264 #endif
8265     return 0x000000000000001Cull;
8266 }
8267
8268 #define CVMX_PCIEEP_CFG007_MASK CVMX_PCIEEP_CFG007_MASK_FUNC()
8269 static inline uint64_t CVMX_PCIEEP_CFG007_MASK_FUNC(void)
8270 {
8271 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8272     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8273         cvmx_warn("CVMX_PCIEEP_CFG007_MASK not supported on this chip\n");
8274 #endif
8275     return 0x000000008000001Cull;
8276 }
8277
8278 #define CVMX_PCIEEP_CFG008 CVMX_PCIEEP_CFG008_FUNC()
8279 static inline uint64_t CVMX_PCIEEP_CFG008_FUNC(void)
8280 {
8281 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8282     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8283         cvmx_warn("CVMX_PCIEEP_CFG008 not supported on this chip\n");
8284 #endif
8285     return 0x0000000000000020ull;
8286 }
8287
8288 #define CVMX_PCIEEP_CFG008_MASK CVMX_PCIEEP_CFG008_MASK_FUNC()
8289 static inline uint64_t CVMX_PCIEEP_CFG008_MASK_FUNC(void)
8290 {
8291 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8292     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8293         cvmx_warn("CVMX_PCIEEP_CFG008_MASK not supported on this chip\n");
8294 #endif
8295     return 0x0000000080000020ull;
8296 }
8297
8298 #define CVMX_PCIEEP_CFG009 CVMX_PCIEEP_CFG009_FUNC()
8299 static inline uint64_t CVMX_PCIEEP_CFG009_FUNC(void)
8300 {
8301 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8302     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8303         cvmx_warn("CVMX_PCIEEP_CFG009 not supported on this chip\n");
8304 #endif
8305     return 0x0000000000000024ull;
8306 }
8307
8308 #define CVMX_PCIEEP_CFG009_MASK CVMX_PCIEEP_CFG009_MASK_FUNC()
8309 static inline uint64_t CVMX_PCIEEP_CFG009_MASK_FUNC(void)
8310 {
8311 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8312     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8313         cvmx_warn("CVMX_PCIEEP_CFG009_MASK not supported on this chip\n");
8314 #endif
8315     return 0x0000000080000024ull;
8316 }
8317
8318 #define CVMX_PCIEEP_CFG010 CVMX_PCIEEP_CFG010_FUNC()
8319 static inline uint64_t CVMX_PCIEEP_CFG010_FUNC(void)
8320 {
8321 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8322     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8323         cvmx_warn("CVMX_PCIEEP_CFG010 not supported on this chip\n");
8324 #endif
8325     return 0x0000000000000028ull;
8326 }
8327
8328 #define CVMX_PCIEEP_CFG011 CVMX_PCIEEP_CFG011_FUNC()
8329 static inline uint64_t CVMX_PCIEEP_CFG011_FUNC(void)
8330 {
8331 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8332     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8333         cvmx_warn("CVMX_PCIEEP_CFG011 not supported on this chip\n");
8334 #endif
8335     return 0x000000000000002Cull;
8336 }
8337
8338 #define CVMX_PCIEEP_CFG012 CVMX_PCIEEP_CFG012_FUNC()
8339 static inline uint64_t CVMX_PCIEEP_CFG012_FUNC(void)
8340 {
8341 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8342     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8343         cvmx_warn("CVMX_PCIEEP_CFG012 not supported on this chip\n");
8344 #endif
8345     return 0x0000000000000030ull;
8346 }
8347
8348 #define CVMX_PCIEEP_CFG012_MASK CVMX_PCIEEP_CFG012_MASK_FUNC()
8349 static inline uint64_t CVMX_PCIEEP_CFG012_MASK_FUNC(void)
8350 {
8351 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8352     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8353         cvmx_warn("CVMX_PCIEEP_CFG012_MASK not supported on this chip\n");
8354 #endif
8355     return 0x0000000080000030ull;
8356 }
8357
8358 #define CVMX_PCIEEP_CFG013 CVMX_PCIEEP_CFG013_FUNC()
8359 static inline uint64_t CVMX_PCIEEP_CFG013_FUNC(void)
8360 {
8361 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8362     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8363         cvmx_warn("CVMX_PCIEEP_CFG013 not supported on this chip\n");
8364 #endif
8365     return 0x0000000000000034ull;
8366 }
8367
8368 #define CVMX_PCIEEP_CFG015 CVMX_PCIEEP_CFG015_FUNC()
8369 static inline uint64_t CVMX_PCIEEP_CFG015_FUNC(void)
8370 {
8371 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8372     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8373         cvmx_warn("CVMX_PCIEEP_CFG015 not supported on this chip\n");
8374 #endif
8375     return 0x000000000000003Cull;
8376 }
8377
8378 #define CVMX_PCIEEP_CFG016 CVMX_PCIEEP_CFG016_FUNC()
8379 static inline uint64_t CVMX_PCIEEP_CFG016_FUNC(void)
8380 {
8381 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8382     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8383         cvmx_warn("CVMX_PCIEEP_CFG016 not supported on this chip\n");
8384 #endif
8385     return 0x0000000000000040ull;
8386 }
8387
8388 #define CVMX_PCIEEP_CFG017 CVMX_PCIEEP_CFG017_FUNC()
8389 static inline uint64_t CVMX_PCIEEP_CFG017_FUNC(void)
8390 {
8391 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8392     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8393         cvmx_warn("CVMX_PCIEEP_CFG017 not supported on this chip\n");
8394 #endif
8395     return 0x0000000000000044ull;
8396 }
8397
8398 #define CVMX_PCIEEP_CFG020 CVMX_PCIEEP_CFG020_FUNC()
8399 static inline uint64_t CVMX_PCIEEP_CFG020_FUNC(void)
8400 {
8401 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8402     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8403         cvmx_warn("CVMX_PCIEEP_CFG020 not supported on this chip\n");
8404 #endif
8405     return 0x0000000000000050ull;
8406 }
8407
8408 #define CVMX_PCIEEP_CFG021 CVMX_PCIEEP_CFG021_FUNC()
8409 static inline uint64_t CVMX_PCIEEP_CFG021_FUNC(void)
8410 {
8411 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8412     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8413         cvmx_warn("CVMX_PCIEEP_CFG021 not supported on this chip\n");
8414 #endif
8415     return 0x0000000000000054ull;
8416 }
8417
8418 #define CVMX_PCIEEP_CFG022 CVMX_PCIEEP_CFG022_FUNC()
8419 static inline uint64_t CVMX_PCIEEP_CFG022_FUNC(void)
8420 {
8421 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8422     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8423         cvmx_warn("CVMX_PCIEEP_CFG022 not supported on this chip\n");
8424 #endif
8425     return 0x0000000000000058ull;
8426 }
8427
8428 #define CVMX_PCIEEP_CFG023 CVMX_PCIEEP_CFG023_FUNC()
8429 static inline uint64_t CVMX_PCIEEP_CFG023_FUNC(void)
8430 {
8431 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8432     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8433         cvmx_warn("CVMX_PCIEEP_CFG023 not supported on this chip\n");
8434 #endif
8435     return 0x000000000000005Cull;
8436 }
8437
8438 #define CVMX_PCIEEP_CFG028 CVMX_PCIEEP_CFG028_FUNC()
8439 static inline uint64_t CVMX_PCIEEP_CFG028_FUNC(void)
8440 {
8441 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8442     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8443         cvmx_warn("CVMX_PCIEEP_CFG028 not supported on this chip\n");
8444 #endif
8445     return 0x0000000000000070ull;
8446 }
8447
8448 #define CVMX_PCIEEP_CFG029 CVMX_PCIEEP_CFG029_FUNC()
8449 static inline uint64_t CVMX_PCIEEP_CFG029_FUNC(void)
8450 {
8451 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8452     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8453         cvmx_warn("CVMX_PCIEEP_CFG029 not supported on this chip\n");
8454 #endif
8455     return 0x0000000000000074ull;
8456 }
8457
8458 #define CVMX_PCIEEP_CFG030 CVMX_PCIEEP_CFG030_FUNC()
8459 static inline uint64_t CVMX_PCIEEP_CFG030_FUNC(void)
8460 {
8461 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8462     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8463         cvmx_warn("CVMX_PCIEEP_CFG030 not supported on this chip\n");
8464 #endif
8465     return 0x0000000000000078ull;
8466 }
8467
8468 #define CVMX_PCIEEP_CFG031 CVMX_PCIEEP_CFG031_FUNC()
8469 static inline uint64_t CVMX_PCIEEP_CFG031_FUNC(void)
8470 {
8471 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8472     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8473         cvmx_warn("CVMX_PCIEEP_CFG031 not supported on this chip\n");
8474 #endif
8475     return 0x000000000000007Cull;
8476 }
8477
8478 #define CVMX_PCIEEP_CFG032 CVMX_PCIEEP_CFG032_FUNC()
8479 static inline uint64_t CVMX_PCIEEP_CFG032_FUNC(void)
8480 {
8481 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8482     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8483         cvmx_warn("CVMX_PCIEEP_CFG032 not supported on this chip\n");
8484 #endif
8485     return 0x0000000000000080ull;
8486 }
8487
8488 #define CVMX_PCIEEP_CFG033 CVMX_PCIEEP_CFG033_FUNC()
8489 static inline uint64_t CVMX_PCIEEP_CFG033_FUNC(void)
8490 {
8491 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8492     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8493         cvmx_warn("CVMX_PCIEEP_CFG033 not supported on this chip\n");
8494 #endif
8495     return 0x0000000000000084ull;
8496 }
8497
8498 #define CVMX_PCIEEP_CFG034 CVMX_PCIEEP_CFG034_FUNC()
8499 static inline uint64_t CVMX_PCIEEP_CFG034_FUNC(void)
8500 {
8501 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8502     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8503         cvmx_warn("CVMX_PCIEEP_CFG034 not supported on this chip\n");
8504 #endif
8505     return 0x0000000000000088ull;
8506 }
8507
8508 #define CVMX_PCIEEP_CFG037 CVMX_PCIEEP_CFG037_FUNC()
8509 static inline uint64_t CVMX_PCIEEP_CFG037_FUNC(void)
8510 {
8511 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8512     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8513         cvmx_warn("CVMX_PCIEEP_CFG037 not supported on this chip\n");
8514 #endif
8515     return 0x0000000000000094ull;
8516 }
8517
8518 #define CVMX_PCIEEP_CFG038 CVMX_PCIEEP_CFG038_FUNC()
8519 static inline uint64_t CVMX_PCIEEP_CFG038_FUNC(void)
8520 {
8521 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8522     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8523         cvmx_warn("CVMX_PCIEEP_CFG038 not supported on this chip\n");
8524 #endif
8525     return 0x0000000000000098ull;
8526 }
8527
8528 #define CVMX_PCIEEP_CFG039 CVMX_PCIEEP_CFG039_FUNC()
8529 static inline uint64_t CVMX_PCIEEP_CFG039_FUNC(void)
8530 {
8531 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8532     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8533         cvmx_warn("CVMX_PCIEEP_CFG039 not supported on this chip\n");
8534 #endif
8535     return 0x000000000000009Cull;
8536 }
8537
8538 #define CVMX_PCIEEP_CFG040 CVMX_PCIEEP_CFG040_FUNC()
8539 static inline uint64_t CVMX_PCIEEP_CFG040_FUNC(void)
8540 {
8541 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8542     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8543         cvmx_warn("CVMX_PCIEEP_CFG040 not supported on this chip\n");
8544 #endif
8545     return 0x00000000000000A0ull;
8546 }
8547
8548 #define CVMX_PCIEEP_CFG041 CVMX_PCIEEP_CFG041_FUNC()
8549 static inline uint64_t CVMX_PCIEEP_CFG041_FUNC(void)
8550 {
8551 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8552     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8553         cvmx_warn("CVMX_PCIEEP_CFG041 not supported on this chip\n");
8554 #endif
8555     return 0x00000000000000A4ull;
8556 }
8557
8558 #define CVMX_PCIEEP_CFG042 CVMX_PCIEEP_CFG042_FUNC()
8559 static inline uint64_t CVMX_PCIEEP_CFG042_FUNC(void)
8560 {
8561 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8562     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8563         cvmx_warn("CVMX_PCIEEP_CFG042 not supported on this chip\n");
8564 #endif
8565     return 0x00000000000000A8ull;
8566 }
8567
8568 #define CVMX_PCIEEP_CFG064 CVMX_PCIEEP_CFG064_FUNC()
8569 static inline uint64_t CVMX_PCIEEP_CFG064_FUNC(void)
8570 {
8571 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8572     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8573         cvmx_warn("CVMX_PCIEEP_CFG064 not supported on this chip\n");
8574 #endif
8575     return 0x0000000000000100ull;
8576 }
8577
8578 #define CVMX_PCIEEP_CFG065 CVMX_PCIEEP_CFG065_FUNC()
8579 static inline uint64_t CVMX_PCIEEP_CFG065_FUNC(void)
8580 {
8581 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8582     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8583         cvmx_warn("CVMX_PCIEEP_CFG065 not supported on this chip\n");
8584 #endif
8585     return 0x0000000000000104ull;
8586 }
8587
8588 #define CVMX_PCIEEP_CFG066 CVMX_PCIEEP_CFG066_FUNC()
8589 static inline uint64_t CVMX_PCIEEP_CFG066_FUNC(void)
8590 {
8591 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8592     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8593         cvmx_warn("CVMX_PCIEEP_CFG066 not supported on this chip\n");
8594 #endif
8595     return 0x0000000000000108ull;
8596 }
8597
8598 #define CVMX_PCIEEP_CFG067 CVMX_PCIEEP_CFG067_FUNC()
8599 static inline uint64_t CVMX_PCIEEP_CFG067_FUNC(void)
8600 {
8601 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8602     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8603         cvmx_warn("CVMX_PCIEEP_CFG067 not supported on this chip\n");
8604 #endif
8605     return 0x000000000000010Cull;
8606 }
8607
8608 #define CVMX_PCIEEP_CFG068 CVMX_PCIEEP_CFG068_FUNC()
8609 static inline uint64_t CVMX_PCIEEP_CFG068_FUNC(void)
8610 {
8611 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8612     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8613         cvmx_warn("CVMX_PCIEEP_CFG068 not supported on this chip\n");
8614 #endif
8615     return 0x0000000000000110ull;
8616 }
8617
8618 #define CVMX_PCIEEP_CFG069 CVMX_PCIEEP_CFG069_FUNC()
8619 static inline uint64_t CVMX_PCIEEP_CFG069_FUNC(void)
8620 {
8621 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8622     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8623         cvmx_warn("CVMX_PCIEEP_CFG069 not supported on this chip\n");
8624 #endif
8625     return 0x0000000000000114ull;
8626 }
8627
8628 #define CVMX_PCIEEP_CFG070 CVMX_PCIEEP_CFG070_FUNC()
8629 static inline uint64_t CVMX_PCIEEP_CFG070_FUNC(void)
8630 {
8631 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8632     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8633         cvmx_warn("CVMX_PCIEEP_CFG070 not supported on this chip\n");
8634 #endif
8635     return 0x0000000000000118ull;
8636 }
8637
8638 #define CVMX_PCIEEP_CFG071 CVMX_PCIEEP_CFG071_FUNC()
8639 static inline uint64_t CVMX_PCIEEP_CFG071_FUNC(void)
8640 {
8641 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8642     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8643         cvmx_warn("CVMX_PCIEEP_CFG071 not supported on this chip\n");
8644 #endif
8645     return 0x000000000000011Cull;
8646 }
8647
8648 #define CVMX_PCIEEP_CFG072 CVMX_PCIEEP_CFG072_FUNC()
8649 static inline uint64_t CVMX_PCIEEP_CFG072_FUNC(void)
8650 {
8651 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8652     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8653         cvmx_warn("CVMX_PCIEEP_CFG072 not supported on this chip\n");
8654 #endif
8655     return 0x0000000000000120ull;
8656 }
8657
8658 #define CVMX_PCIEEP_CFG073 CVMX_PCIEEP_CFG073_FUNC()
8659 static inline uint64_t CVMX_PCIEEP_CFG073_FUNC(void)
8660 {
8661 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8662     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8663         cvmx_warn("CVMX_PCIEEP_CFG073 not supported on this chip\n");
8664 #endif
8665     return 0x0000000000000124ull;
8666 }
8667
8668 #define CVMX_PCIEEP_CFG074 CVMX_PCIEEP_CFG074_FUNC()
8669 static inline uint64_t CVMX_PCIEEP_CFG074_FUNC(void)
8670 {
8671 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8672     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8673         cvmx_warn("CVMX_PCIEEP_CFG074 not supported on this chip\n");
8674 #endif
8675     return 0x0000000000000128ull;
8676 }
8677
8678 #define CVMX_PCIEEP_CFG448 CVMX_PCIEEP_CFG448_FUNC()
8679 static inline uint64_t CVMX_PCIEEP_CFG448_FUNC(void)
8680 {
8681 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8682     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8683         cvmx_warn("CVMX_PCIEEP_CFG448 not supported on this chip\n");
8684 #endif
8685     return 0x0000000000000700ull;
8686 }
8687
8688 #define CVMX_PCIEEP_CFG449 CVMX_PCIEEP_CFG449_FUNC()
8689 static inline uint64_t CVMX_PCIEEP_CFG449_FUNC(void)
8690 {
8691 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8692     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8693         cvmx_warn("CVMX_PCIEEP_CFG449 not supported on this chip\n");
8694 #endif
8695     return 0x0000000000000704ull;
8696 }
8697
8698 #define CVMX_PCIEEP_CFG450 CVMX_PCIEEP_CFG450_FUNC()
8699 static inline uint64_t CVMX_PCIEEP_CFG450_FUNC(void)
8700 {
8701 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8702     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8703         cvmx_warn("CVMX_PCIEEP_CFG450 not supported on this chip\n");
8704 #endif
8705     return 0x0000000000000708ull;
8706 }
8707
8708 #define CVMX_PCIEEP_CFG451 CVMX_PCIEEP_CFG451_FUNC()
8709 static inline uint64_t CVMX_PCIEEP_CFG451_FUNC(void)
8710 {
8711 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8712     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8713         cvmx_warn("CVMX_PCIEEP_CFG451 not supported on this chip\n");
8714 #endif
8715     return 0x000000000000070Cull;
8716 }
8717
8718 #define CVMX_PCIEEP_CFG452 CVMX_PCIEEP_CFG452_FUNC()
8719 static inline uint64_t CVMX_PCIEEP_CFG452_FUNC(void)
8720 {
8721 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8722     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8723         cvmx_warn("CVMX_PCIEEP_CFG452 not supported on this chip\n");
8724 #endif
8725     return 0x0000000000000710ull;
8726 }
8727
8728 #define CVMX_PCIEEP_CFG453 CVMX_PCIEEP_CFG453_FUNC()
8729 static inline uint64_t CVMX_PCIEEP_CFG453_FUNC(void)
8730 {
8731 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8732     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8733         cvmx_warn("CVMX_PCIEEP_CFG453 not supported on this chip\n");
8734 #endif
8735     return 0x0000000000000714ull;
8736 }
8737
8738 #define CVMX_PCIEEP_CFG454 CVMX_PCIEEP_CFG454_FUNC()
8739 static inline uint64_t CVMX_PCIEEP_CFG454_FUNC(void)
8740 {
8741 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8742     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8743         cvmx_warn("CVMX_PCIEEP_CFG454 not supported on this chip\n");
8744 #endif
8745     return 0x0000000000000718ull;
8746 }
8747
8748 #define CVMX_PCIEEP_CFG455 CVMX_PCIEEP_CFG455_FUNC()
8749 static inline uint64_t CVMX_PCIEEP_CFG455_FUNC(void)
8750 {
8751 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8752     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8753         cvmx_warn("CVMX_PCIEEP_CFG455 not supported on this chip\n");
8754 #endif
8755     return 0x000000000000071Cull;
8756 }
8757
8758 #define CVMX_PCIEEP_CFG456 CVMX_PCIEEP_CFG456_FUNC()
8759 static inline uint64_t CVMX_PCIEEP_CFG456_FUNC(void)
8760 {
8761 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8762     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8763         cvmx_warn("CVMX_PCIEEP_CFG456 not supported on this chip\n");
8764 #endif
8765     return 0x0000000000000720ull;
8766 }
8767
8768 #define CVMX_PCIEEP_CFG458 CVMX_PCIEEP_CFG458_FUNC()
8769 static inline uint64_t CVMX_PCIEEP_CFG458_FUNC(void)
8770 {
8771 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8772     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8773         cvmx_warn("CVMX_PCIEEP_CFG458 not supported on this chip\n");
8774 #endif
8775     return 0x0000000000000728ull;
8776 }
8777
8778 #define CVMX_PCIEEP_CFG459 CVMX_PCIEEP_CFG459_FUNC()
8779 static inline uint64_t CVMX_PCIEEP_CFG459_FUNC(void)
8780 {
8781 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8782     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8783         cvmx_warn("CVMX_PCIEEP_CFG459 not supported on this chip\n");
8784 #endif
8785     return 0x000000000000072Cull;
8786 }
8787
8788 #define CVMX_PCIEEP_CFG460 CVMX_PCIEEP_CFG460_FUNC()
8789 static inline uint64_t CVMX_PCIEEP_CFG460_FUNC(void)
8790 {
8791 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8792     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8793         cvmx_warn("CVMX_PCIEEP_CFG460 not supported on this chip\n");
8794 #endif
8795     return 0x0000000000000730ull;
8796 }
8797
8798 #define CVMX_PCIEEP_CFG461 CVMX_PCIEEP_CFG461_FUNC()
8799 static inline uint64_t CVMX_PCIEEP_CFG461_FUNC(void)
8800 {
8801 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8802     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8803         cvmx_warn("CVMX_PCIEEP_CFG461 not supported on this chip\n");
8804 #endif
8805     return 0x0000000000000734ull;
8806 }
8807
8808 #define CVMX_PCIEEP_CFG462 CVMX_PCIEEP_CFG462_FUNC()
8809 static inline uint64_t CVMX_PCIEEP_CFG462_FUNC(void)
8810 {
8811 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8812     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8813         cvmx_warn("CVMX_PCIEEP_CFG462 not supported on this chip\n");
8814 #endif
8815     return 0x0000000000000738ull;
8816 }
8817
8818 #define CVMX_PCIEEP_CFG463 CVMX_PCIEEP_CFG463_FUNC()
8819 static inline uint64_t CVMX_PCIEEP_CFG463_FUNC(void)
8820 {
8821 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8822     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8823         cvmx_warn("CVMX_PCIEEP_CFG463 not supported on this chip\n");
8824 #endif
8825     return 0x000000000000073Cull;
8826 }
8827
8828 #define CVMX_PCIEEP_CFG464 CVMX_PCIEEP_CFG464_FUNC()
8829 static inline uint64_t CVMX_PCIEEP_CFG464_FUNC(void)
8830 {
8831 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8832     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8833         cvmx_warn("CVMX_PCIEEP_CFG464 not supported on this chip\n");
8834 #endif
8835     return 0x0000000000000740ull;
8836 }
8837
8838 #define CVMX_PCIEEP_CFG465 CVMX_PCIEEP_CFG465_FUNC()
8839 static inline uint64_t CVMX_PCIEEP_CFG465_FUNC(void)
8840 {
8841 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8842     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8843         cvmx_warn("CVMX_PCIEEP_CFG465 not supported on this chip\n");
8844 #endif
8845     return 0x0000000000000744ull;
8846 }
8847
8848 #define CVMX_PCIEEP_CFG466 CVMX_PCIEEP_CFG466_FUNC()
8849 static inline uint64_t CVMX_PCIEEP_CFG466_FUNC(void)
8850 {
8851 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8852     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8853         cvmx_warn("CVMX_PCIEEP_CFG466 not supported on this chip\n");
8854 #endif
8855     return 0x0000000000000748ull;
8856 }
8857
8858 #define CVMX_PCIEEP_CFG467 CVMX_PCIEEP_CFG467_FUNC()
8859 static inline uint64_t CVMX_PCIEEP_CFG467_FUNC(void)
8860 {
8861 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8862     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8863         cvmx_warn("CVMX_PCIEEP_CFG467 not supported on this chip\n");
8864 #endif
8865     return 0x000000000000074Cull;
8866 }
8867
8868 #define CVMX_PCIEEP_CFG468 CVMX_PCIEEP_CFG468_FUNC()
8869 static inline uint64_t CVMX_PCIEEP_CFG468_FUNC(void)
8870 {
8871 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8872     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8873         cvmx_warn("CVMX_PCIEEP_CFG468 not supported on this chip\n");
8874 #endif
8875     return 0x0000000000000750ull;
8876 }
8877
8878 #define CVMX_PCIEEP_CFG490 CVMX_PCIEEP_CFG490_FUNC()
8879 static inline uint64_t CVMX_PCIEEP_CFG490_FUNC(void)
8880 {
8881 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8882     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8883         cvmx_warn("CVMX_PCIEEP_CFG490 not supported on this chip\n");
8884 #endif
8885     return 0x00000000000007A8ull;
8886 }
8887
8888 #define CVMX_PCIEEP_CFG491 CVMX_PCIEEP_CFG491_FUNC()
8889 static inline uint64_t CVMX_PCIEEP_CFG491_FUNC(void)
8890 {
8891 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8892     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8893         cvmx_warn("CVMX_PCIEEP_CFG491 not supported on this chip\n");
8894 #endif
8895     return 0x00000000000007ACull;
8896 }
8897
8898 #define CVMX_PCIEEP_CFG492 CVMX_PCIEEP_CFG492_FUNC()
8899 static inline uint64_t CVMX_PCIEEP_CFG492_FUNC(void)
8900 {
8901 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8902     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8903         cvmx_warn("CVMX_PCIEEP_CFG492 not supported on this chip\n");
8904 #endif
8905     return 0x00000000000007B0ull;
8906 }
8907
8908 #define CVMX_PCIEEP_CFG516 CVMX_PCIEEP_CFG516_FUNC()
8909 static inline uint64_t CVMX_PCIEEP_CFG516_FUNC(void)
8910 {
8911 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8912     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8913         cvmx_warn("CVMX_PCIEEP_CFG516 not supported on this chip\n");
8914 #endif
8915     return 0x0000000000000810ull;
8916 }
8917
8918 #define CVMX_PCIEEP_CFG517 CVMX_PCIEEP_CFG517_FUNC()
8919 static inline uint64_t CVMX_PCIEEP_CFG517_FUNC(void)
8920 {
8921 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8922     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
8923         cvmx_warn("CVMX_PCIEEP_CFG517 not supported on this chip\n");
8924 #endif
8925     return 0x0000000000000814ull;
8926 }
8927
8928 static inline uint64_t CVMX_PCIERCX_CFG000(unsigned long offset)
8929 {
8930 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8931     if (!(
8932         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8933         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8934         cvmx_warn("CVMX_PCIERCX_CFG000(%lu) is invalid on this chip\n", offset);
8935 #endif
8936     return 0x0000000000000000ull + (offset&1)*0;
8937 }
8938
8939 static inline uint64_t CVMX_PCIERCX_CFG001(unsigned long offset)
8940 {
8941 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8942     if (!(
8943         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8944         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8945         cvmx_warn("CVMX_PCIERCX_CFG001(%lu) is invalid on this chip\n", offset);
8946 #endif
8947     return 0x0000000000000004ull + (offset&1)*0;
8948 }
8949
8950 static inline uint64_t CVMX_PCIERCX_CFG002(unsigned long offset)
8951 {
8952 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8953     if (!(
8954         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8955         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8956         cvmx_warn("CVMX_PCIERCX_CFG002(%lu) is invalid on this chip\n", offset);
8957 #endif
8958     return 0x0000000000000008ull + (offset&1)*0;
8959 }
8960
8961 static inline uint64_t CVMX_PCIERCX_CFG003(unsigned long offset)
8962 {
8963 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8964     if (!(
8965         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8966         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8967         cvmx_warn("CVMX_PCIERCX_CFG003(%lu) is invalid on this chip\n", offset);
8968 #endif
8969     return 0x000000000000000Cull + (offset&1)*0;
8970 }
8971
8972 static inline uint64_t CVMX_PCIERCX_CFG004(unsigned long offset)
8973 {
8974 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8975     if (!(
8976         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8977         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8978         cvmx_warn("CVMX_PCIERCX_CFG004(%lu) is invalid on this chip\n", offset);
8979 #endif
8980     return 0x0000000000000010ull + (offset&1)*0;
8981 }
8982
8983 static inline uint64_t CVMX_PCIERCX_CFG005(unsigned long offset)
8984 {
8985 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8986     if (!(
8987         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8988         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
8989         cvmx_warn("CVMX_PCIERCX_CFG005(%lu) is invalid on this chip\n", offset);
8990 #endif
8991     return 0x0000000000000014ull + (offset&1)*0;
8992 }
8993
8994 static inline uint64_t CVMX_PCIERCX_CFG006(unsigned long offset)
8995 {
8996 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
8997     if (!(
8998         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
8999         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9000         cvmx_warn("CVMX_PCIERCX_CFG006(%lu) is invalid on this chip\n", offset);
9001 #endif
9002     return 0x0000000000000018ull + (offset&1)*0;
9003 }
9004
9005 static inline uint64_t CVMX_PCIERCX_CFG007(unsigned long offset)
9006 {
9007 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9008     if (!(
9009         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9010         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9011         cvmx_warn("CVMX_PCIERCX_CFG007(%lu) is invalid on this chip\n", offset);
9012 #endif
9013     return 0x000000000000001Cull + (offset&1)*0;
9014 }
9015
9016 static inline uint64_t CVMX_PCIERCX_CFG008(unsigned long offset)
9017 {
9018 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9019     if (!(
9020         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9021         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9022         cvmx_warn("CVMX_PCIERCX_CFG008(%lu) is invalid on this chip\n", offset);
9023 #endif
9024     return 0x0000000000000020ull + (offset&1)*0;
9025 }
9026
9027 static inline uint64_t CVMX_PCIERCX_CFG009(unsigned long offset)
9028 {
9029 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9030     if (!(
9031         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9032         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9033         cvmx_warn("CVMX_PCIERCX_CFG009(%lu) is invalid on this chip\n", offset);
9034 #endif
9035     return 0x0000000000000024ull + (offset&1)*0;
9036 }
9037
9038 static inline uint64_t CVMX_PCIERCX_CFG010(unsigned long offset)
9039 {
9040 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9041     if (!(
9042         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9043         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9044         cvmx_warn("CVMX_PCIERCX_CFG010(%lu) is invalid on this chip\n", offset);
9045 #endif
9046     return 0x0000000000000028ull + (offset&1)*0;
9047 }
9048
9049 static inline uint64_t CVMX_PCIERCX_CFG011(unsigned long offset)
9050 {
9051 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9052     if (!(
9053         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9054         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9055         cvmx_warn("CVMX_PCIERCX_CFG011(%lu) is invalid on this chip\n", offset);
9056 #endif
9057     return 0x000000000000002Cull + (offset&1)*0;
9058 }
9059
9060 static inline uint64_t CVMX_PCIERCX_CFG012(unsigned long offset)
9061 {
9062 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9063     if (!(
9064         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9065         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9066         cvmx_warn("CVMX_PCIERCX_CFG012(%lu) is invalid on this chip\n", offset);
9067 #endif
9068     return 0x0000000000000030ull + (offset&1)*0;
9069 }
9070
9071 static inline uint64_t CVMX_PCIERCX_CFG013(unsigned long offset)
9072 {
9073 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9074     if (!(
9075         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9076         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9077         cvmx_warn("CVMX_PCIERCX_CFG013(%lu) is invalid on this chip\n", offset);
9078 #endif
9079     return 0x0000000000000034ull + (offset&1)*0;
9080 }
9081
9082 static inline uint64_t CVMX_PCIERCX_CFG014(unsigned long offset)
9083 {
9084 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9085     if (!(
9086         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9087         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9088         cvmx_warn("CVMX_PCIERCX_CFG014(%lu) is invalid on this chip\n", offset);
9089 #endif
9090     return 0x0000000000000038ull + (offset&1)*0;
9091 }
9092
9093 static inline uint64_t CVMX_PCIERCX_CFG015(unsigned long offset)
9094 {
9095 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9096     if (!(
9097         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9098         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9099         cvmx_warn("CVMX_PCIERCX_CFG015(%lu) is invalid on this chip\n", offset);
9100 #endif
9101     return 0x000000000000003Cull + (offset&1)*0;
9102 }
9103
9104 static inline uint64_t CVMX_PCIERCX_CFG016(unsigned long offset)
9105 {
9106 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9107     if (!(
9108         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9109         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9110         cvmx_warn("CVMX_PCIERCX_CFG016(%lu) is invalid on this chip\n", offset);
9111 #endif
9112     return 0x0000000000000040ull + (offset&1)*0;
9113 }
9114
9115 static inline uint64_t CVMX_PCIERCX_CFG017(unsigned long offset)
9116 {
9117 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9118     if (!(
9119         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9120         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9121         cvmx_warn("CVMX_PCIERCX_CFG017(%lu) is invalid on this chip\n", offset);
9122 #endif
9123     return 0x0000000000000044ull + (offset&1)*0;
9124 }
9125
9126 static inline uint64_t CVMX_PCIERCX_CFG020(unsigned long offset)
9127 {
9128 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9129     if (!(
9130         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9131         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9132         cvmx_warn("CVMX_PCIERCX_CFG020(%lu) is invalid on this chip\n", offset);
9133 #endif
9134     return 0x0000000000000050ull + (offset&1)*0;
9135 }
9136
9137 static inline uint64_t CVMX_PCIERCX_CFG021(unsigned long offset)
9138 {
9139 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9140     if (!(
9141         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9142         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9143         cvmx_warn("CVMX_PCIERCX_CFG021(%lu) is invalid on this chip\n", offset);
9144 #endif
9145     return 0x0000000000000054ull + (offset&1)*0;
9146 }
9147
9148 static inline uint64_t CVMX_PCIERCX_CFG022(unsigned long offset)
9149 {
9150 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9151     if (!(
9152         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9153         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9154         cvmx_warn("CVMX_PCIERCX_CFG022(%lu) is invalid on this chip\n", offset);
9155 #endif
9156     return 0x0000000000000058ull + (offset&1)*0;
9157 }
9158
9159 static inline uint64_t CVMX_PCIERCX_CFG023(unsigned long offset)
9160 {
9161 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9162     if (!(
9163         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9164         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9165         cvmx_warn("CVMX_PCIERCX_CFG023(%lu) is invalid on this chip\n", offset);
9166 #endif
9167     return 0x000000000000005Cull + (offset&1)*0;
9168 }
9169
9170 static inline uint64_t CVMX_PCIERCX_CFG028(unsigned long offset)
9171 {
9172 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9173     if (!(
9174         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9175         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9176         cvmx_warn("CVMX_PCIERCX_CFG028(%lu) is invalid on this chip\n", offset);
9177 #endif
9178     return 0x0000000000000070ull + (offset&1)*0;
9179 }
9180
9181 static inline uint64_t CVMX_PCIERCX_CFG029(unsigned long offset)
9182 {
9183 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9184     if (!(
9185         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9186         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9187         cvmx_warn("CVMX_PCIERCX_CFG029(%lu) is invalid on this chip\n", offset);
9188 #endif
9189     return 0x0000000000000074ull + (offset&1)*0;
9190 }
9191
9192 static inline uint64_t CVMX_PCIERCX_CFG030(unsigned long offset)
9193 {
9194 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9195     if (!(
9196         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9197         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9198         cvmx_warn("CVMX_PCIERCX_CFG030(%lu) is invalid on this chip\n", offset);
9199 #endif
9200     return 0x0000000000000078ull + (offset&1)*0;
9201 }
9202
9203 static inline uint64_t CVMX_PCIERCX_CFG031(unsigned long offset)
9204 {
9205 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9206     if (!(
9207         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9208         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9209         cvmx_warn("CVMX_PCIERCX_CFG031(%lu) is invalid on this chip\n", offset);
9210 #endif
9211     return 0x000000000000007Cull + (offset&1)*0;
9212 }
9213
9214 static inline uint64_t CVMX_PCIERCX_CFG032(unsigned long offset)
9215 {
9216 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9217     if (!(
9218         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9219         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9220         cvmx_warn("CVMX_PCIERCX_CFG032(%lu) is invalid on this chip\n", offset);
9221 #endif
9222     return 0x0000000000000080ull + (offset&1)*0;
9223 }
9224
9225 static inline uint64_t CVMX_PCIERCX_CFG033(unsigned long offset)
9226 {
9227 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9228     if (!(
9229         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9230         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9231         cvmx_warn("CVMX_PCIERCX_CFG033(%lu) is invalid on this chip\n", offset);
9232 #endif
9233     return 0x0000000000000084ull + (offset&1)*0;
9234 }
9235
9236 static inline uint64_t CVMX_PCIERCX_CFG034(unsigned long offset)
9237 {
9238 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9239     if (!(
9240         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9241         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9242         cvmx_warn("CVMX_PCIERCX_CFG034(%lu) is invalid on this chip\n", offset);
9243 #endif
9244     return 0x0000000000000088ull + (offset&1)*0;
9245 }
9246
9247 static inline uint64_t CVMX_PCIERCX_CFG035(unsigned long offset)
9248 {
9249 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9250     if (!(
9251         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9252         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9253         cvmx_warn("CVMX_PCIERCX_CFG035(%lu) is invalid on this chip\n", offset);
9254 #endif
9255     return 0x000000000000008Cull + (offset&1)*0;
9256 }
9257
9258 static inline uint64_t CVMX_PCIERCX_CFG036(unsigned long offset)
9259 {
9260 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9261     if (!(
9262         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9263         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9264         cvmx_warn("CVMX_PCIERCX_CFG036(%lu) is invalid on this chip\n", offset);
9265 #endif
9266     return 0x0000000000000090ull + (offset&1)*0;
9267 }
9268
9269 static inline uint64_t CVMX_PCIERCX_CFG037(unsigned long offset)
9270 {
9271 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9272     if (!(
9273         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9274         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9275         cvmx_warn("CVMX_PCIERCX_CFG037(%lu) is invalid on this chip\n", offset);
9276 #endif
9277     return 0x0000000000000094ull + (offset&1)*0;
9278 }
9279
9280 static inline uint64_t CVMX_PCIERCX_CFG038(unsigned long offset)
9281 {
9282 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9283     if (!(
9284         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9285         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9286         cvmx_warn("CVMX_PCIERCX_CFG038(%lu) is invalid on this chip\n", offset);
9287 #endif
9288     return 0x0000000000000098ull + (offset&1)*0;
9289 }
9290
9291 static inline uint64_t CVMX_PCIERCX_CFG039(unsigned long offset)
9292 {
9293 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9294     if (!(
9295         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9296         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9297         cvmx_warn("CVMX_PCIERCX_CFG039(%lu) is invalid on this chip\n", offset);
9298 #endif
9299     return 0x000000000000009Cull + (offset&1)*0;
9300 }
9301
9302 static inline uint64_t CVMX_PCIERCX_CFG040(unsigned long offset)
9303 {
9304 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9305     if (!(
9306         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9307         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9308         cvmx_warn("CVMX_PCIERCX_CFG040(%lu) is invalid on this chip\n", offset);
9309 #endif
9310     return 0x00000000000000A0ull + (offset&1)*0;
9311 }
9312
9313 static inline uint64_t CVMX_PCIERCX_CFG041(unsigned long offset)
9314 {
9315 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9316     if (!(
9317         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9318         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9319         cvmx_warn("CVMX_PCIERCX_CFG041(%lu) is invalid on this chip\n", offset);
9320 #endif
9321     return 0x00000000000000A4ull + (offset&1)*0;
9322 }
9323
9324 static inline uint64_t CVMX_PCIERCX_CFG042(unsigned long offset)
9325 {
9326 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9327     if (!(
9328         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9329         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9330         cvmx_warn("CVMX_PCIERCX_CFG042(%lu) is invalid on this chip\n", offset);
9331 #endif
9332     return 0x00000000000000A8ull + (offset&1)*0;
9333 }
9334
9335 static inline uint64_t CVMX_PCIERCX_CFG064(unsigned long offset)
9336 {
9337 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9338     if (!(
9339         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9340         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9341         cvmx_warn("CVMX_PCIERCX_CFG064(%lu) is invalid on this chip\n", offset);
9342 #endif
9343     return 0x0000000000000100ull + (offset&1)*0;
9344 }
9345
9346 static inline uint64_t CVMX_PCIERCX_CFG065(unsigned long offset)
9347 {
9348 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9349     if (!(
9350         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9351         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9352         cvmx_warn("CVMX_PCIERCX_CFG065(%lu) is invalid on this chip\n", offset);
9353 #endif
9354     return 0x0000000000000104ull + (offset&1)*0;
9355 }
9356
9357 static inline uint64_t CVMX_PCIERCX_CFG066(unsigned long offset)
9358 {
9359 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9360     if (!(
9361         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9362         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9363         cvmx_warn("CVMX_PCIERCX_CFG066(%lu) is invalid on this chip\n", offset);
9364 #endif
9365     return 0x0000000000000108ull + (offset&1)*0;
9366 }
9367
9368 static inline uint64_t CVMX_PCIERCX_CFG067(unsigned long offset)
9369 {
9370 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9371     if (!(
9372         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9373         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9374         cvmx_warn("CVMX_PCIERCX_CFG067(%lu) is invalid on this chip\n", offset);
9375 #endif
9376     return 0x000000000000010Cull + (offset&1)*0;
9377 }
9378
9379 static inline uint64_t CVMX_PCIERCX_CFG068(unsigned long offset)
9380 {
9381 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9382     if (!(
9383         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9384         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9385         cvmx_warn("CVMX_PCIERCX_CFG068(%lu) is invalid on this chip\n", offset);
9386 #endif
9387     return 0x0000000000000110ull + (offset&1)*0;
9388 }
9389
9390 static inline uint64_t CVMX_PCIERCX_CFG069(unsigned long offset)
9391 {
9392 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9393     if (!(
9394         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9395         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9396         cvmx_warn("CVMX_PCIERCX_CFG069(%lu) is invalid on this chip\n", offset);
9397 #endif
9398     return 0x0000000000000114ull + (offset&1)*0;
9399 }
9400
9401 static inline uint64_t CVMX_PCIERCX_CFG070(unsigned long offset)
9402 {
9403 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9404     if (!(
9405         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9406         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9407         cvmx_warn("CVMX_PCIERCX_CFG070(%lu) is invalid on this chip\n", offset);
9408 #endif
9409     return 0x0000000000000118ull + (offset&1)*0;
9410 }
9411
9412 static inline uint64_t CVMX_PCIERCX_CFG071(unsigned long offset)
9413 {
9414 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9415     if (!(
9416         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9417         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9418         cvmx_warn("CVMX_PCIERCX_CFG071(%lu) is invalid on this chip\n", offset);
9419 #endif
9420     return 0x000000000000011Cull + (offset&1)*0;
9421 }
9422
9423 static inline uint64_t CVMX_PCIERCX_CFG072(unsigned long offset)
9424 {
9425 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9426     if (!(
9427         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9428         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9429         cvmx_warn("CVMX_PCIERCX_CFG072(%lu) is invalid on this chip\n", offset);
9430 #endif
9431     return 0x0000000000000120ull + (offset&1)*0;
9432 }
9433
9434 static inline uint64_t CVMX_PCIERCX_CFG073(unsigned long offset)
9435 {
9436 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9437     if (!(
9438         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9439         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9440         cvmx_warn("CVMX_PCIERCX_CFG073(%lu) is invalid on this chip\n", offset);
9441 #endif
9442     return 0x0000000000000124ull + (offset&1)*0;
9443 }
9444
9445 static inline uint64_t CVMX_PCIERCX_CFG074(unsigned long offset)
9446 {
9447 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9448     if (!(
9449         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9450         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9451         cvmx_warn("CVMX_PCIERCX_CFG074(%lu) is invalid on this chip\n", offset);
9452 #endif
9453     return 0x0000000000000128ull + (offset&1)*0;
9454 }
9455
9456 static inline uint64_t CVMX_PCIERCX_CFG075(unsigned long offset)
9457 {
9458 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9459     if (!(
9460         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9461         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9462         cvmx_warn("CVMX_PCIERCX_CFG075(%lu) is invalid on this chip\n", offset);
9463 #endif
9464     return 0x000000000000012Cull + (offset&1)*0;
9465 }
9466
9467 static inline uint64_t CVMX_PCIERCX_CFG076(unsigned long offset)
9468 {
9469 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9470     if (!(
9471         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9472         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9473         cvmx_warn("CVMX_PCIERCX_CFG076(%lu) is invalid on this chip\n", offset);
9474 #endif
9475     return 0x0000000000000130ull + (offset&1)*0;
9476 }
9477
9478 static inline uint64_t CVMX_PCIERCX_CFG077(unsigned long offset)
9479 {
9480 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9481     if (!(
9482         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9483         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9484         cvmx_warn("CVMX_PCIERCX_CFG077(%lu) is invalid on this chip\n", offset);
9485 #endif
9486     return 0x0000000000000134ull + (offset&1)*0;
9487 }
9488
9489 static inline uint64_t CVMX_PCIERCX_CFG448(unsigned long offset)
9490 {
9491 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9492     if (!(
9493         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9494         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9495         cvmx_warn("CVMX_PCIERCX_CFG448(%lu) is invalid on this chip\n", offset);
9496 #endif
9497     return 0x0000000000000700ull + (offset&1)*0;
9498 }
9499
9500 static inline uint64_t CVMX_PCIERCX_CFG449(unsigned long offset)
9501 {
9502 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9503     if (!(
9504         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9505         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9506         cvmx_warn("CVMX_PCIERCX_CFG449(%lu) is invalid on this chip\n", offset);
9507 #endif
9508     return 0x0000000000000704ull + (offset&1)*0;
9509 }
9510
9511 static inline uint64_t CVMX_PCIERCX_CFG450(unsigned long offset)
9512 {
9513 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9514     if (!(
9515         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9516         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9517         cvmx_warn("CVMX_PCIERCX_CFG450(%lu) is invalid on this chip\n", offset);
9518 #endif
9519     return 0x0000000000000708ull + (offset&1)*0;
9520 }
9521
9522 static inline uint64_t CVMX_PCIERCX_CFG451(unsigned long offset)
9523 {
9524 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9525     if (!(
9526         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9527         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9528         cvmx_warn("CVMX_PCIERCX_CFG451(%lu) is invalid on this chip\n", offset);
9529 #endif
9530     return 0x000000000000070Cull + (offset&1)*0;
9531 }
9532
9533 static inline uint64_t CVMX_PCIERCX_CFG452(unsigned long offset)
9534 {
9535 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9536     if (!(
9537         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9538         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9539         cvmx_warn("CVMX_PCIERCX_CFG452(%lu) is invalid on this chip\n", offset);
9540 #endif
9541     return 0x0000000000000710ull + (offset&1)*0;
9542 }
9543
9544 static inline uint64_t CVMX_PCIERCX_CFG453(unsigned long offset)
9545 {
9546 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9547     if (!(
9548         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9549         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9550         cvmx_warn("CVMX_PCIERCX_CFG453(%lu) is invalid on this chip\n", offset);
9551 #endif
9552     return 0x0000000000000714ull + (offset&1)*0;
9553 }
9554
9555 static inline uint64_t CVMX_PCIERCX_CFG454(unsigned long offset)
9556 {
9557 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9558     if (!(
9559         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9560         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9561         cvmx_warn("CVMX_PCIERCX_CFG454(%lu) is invalid on this chip\n", offset);
9562 #endif
9563     return 0x0000000000000718ull + (offset&1)*0;
9564 }
9565
9566 static inline uint64_t CVMX_PCIERCX_CFG455(unsigned long offset)
9567 {
9568 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9569     if (!(
9570         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9571         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9572         cvmx_warn("CVMX_PCIERCX_CFG455(%lu) is invalid on this chip\n", offset);
9573 #endif
9574     return 0x000000000000071Cull + (offset&1)*0;
9575 }
9576
9577 static inline uint64_t CVMX_PCIERCX_CFG456(unsigned long offset)
9578 {
9579 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9580     if (!(
9581         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9582         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9583         cvmx_warn("CVMX_PCIERCX_CFG456(%lu) is invalid on this chip\n", offset);
9584 #endif
9585     return 0x0000000000000720ull + (offset&1)*0;
9586 }
9587
9588 static inline uint64_t CVMX_PCIERCX_CFG458(unsigned long offset)
9589 {
9590 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9591     if (!(
9592         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9593         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9594         cvmx_warn("CVMX_PCIERCX_CFG458(%lu) is invalid on this chip\n", offset);
9595 #endif
9596     return 0x0000000000000728ull + (offset&1)*0;
9597 }
9598
9599 static inline uint64_t CVMX_PCIERCX_CFG459(unsigned long offset)
9600 {
9601 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9602     if (!(
9603         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9604         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9605         cvmx_warn("CVMX_PCIERCX_CFG459(%lu) is invalid on this chip\n", offset);
9606 #endif
9607     return 0x000000000000072Cull + (offset&1)*0;
9608 }
9609
9610 static inline uint64_t CVMX_PCIERCX_CFG460(unsigned long offset)
9611 {
9612 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9613     if (!(
9614         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9615         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9616         cvmx_warn("CVMX_PCIERCX_CFG460(%lu) is invalid on this chip\n", offset);
9617 #endif
9618     return 0x0000000000000730ull + (offset&1)*0;
9619 }
9620
9621 static inline uint64_t CVMX_PCIERCX_CFG461(unsigned long offset)
9622 {
9623 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9624     if (!(
9625         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9626         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9627         cvmx_warn("CVMX_PCIERCX_CFG461(%lu) is invalid on this chip\n", offset);
9628 #endif
9629     return 0x0000000000000734ull + (offset&1)*0;
9630 }
9631
9632 static inline uint64_t CVMX_PCIERCX_CFG462(unsigned long offset)
9633 {
9634 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9635     if (!(
9636         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9637         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9638         cvmx_warn("CVMX_PCIERCX_CFG462(%lu) is invalid on this chip\n", offset);
9639 #endif
9640     return 0x0000000000000738ull + (offset&1)*0;
9641 }
9642
9643 static inline uint64_t CVMX_PCIERCX_CFG463(unsigned long offset)
9644 {
9645 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9646     if (!(
9647         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9648         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9649         cvmx_warn("CVMX_PCIERCX_CFG463(%lu) is invalid on this chip\n", offset);
9650 #endif
9651     return 0x000000000000073Cull + (offset&1)*0;
9652 }
9653
9654 static inline uint64_t CVMX_PCIERCX_CFG464(unsigned long offset)
9655 {
9656 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9657     if (!(
9658         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9659         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9660         cvmx_warn("CVMX_PCIERCX_CFG464(%lu) is invalid on this chip\n", offset);
9661 #endif
9662     return 0x0000000000000740ull + (offset&1)*0;
9663 }
9664
9665 static inline uint64_t CVMX_PCIERCX_CFG465(unsigned long offset)
9666 {
9667 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9668     if (!(
9669         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9670         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9671         cvmx_warn("CVMX_PCIERCX_CFG465(%lu) is invalid on this chip\n", offset);
9672 #endif
9673     return 0x0000000000000744ull + (offset&1)*0;
9674 }
9675
9676 static inline uint64_t CVMX_PCIERCX_CFG466(unsigned long offset)
9677 {
9678 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9679     if (!(
9680         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9681         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9682         cvmx_warn("CVMX_PCIERCX_CFG466(%lu) is invalid on this chip\n", offset);
9683 #endif
9684     return 0x0000000000000748ull + (offset&1)*0;
9685 }
9686
9687 static inline uint64_t CVMX_PCIERCX_CFG467(unsigned long offset)
9688 {
9689 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9690     if (!(
9691         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9692         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9693         cvmx_warn("CVMX_PCIERCX_CFG467(%lu) is invalid on this chip\n", offset);
9694 #endif
9695     return 0x000000000000074Cull + (offset&1)*0;
9696 }
9697
9698 static inline uint64_t CVMX_PCIERCX_CFG468(unsigned long offset)
9699 {
9700 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9701     if (!(
9702         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9703         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9704         cvmx_warn("CVMX_PCIERCX_CFG468(%lu) is invalid on this chip\n", offset);
9705 #endif
9706     return 0x0000000000000750ull + (offset&1)*0;
9707 }
9708
9709 static inline uint64_t CVMX_PCIERCX_CFG490(unsigned long offset)
9710 {
9711 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9712     if (!(
9713         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9714         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9715         cvmx_warn("CVMX_PCIERCX_CFG490(%lu) is invalid on this chip\n", offset);
9716 #endif
9717     return 0x00000000000007A8ull + (offset&1)*0;
9718 }
9719
9720 static inline uint64_t CVMX_PCIERCX_CFG491(unsigned long offset)
9721 {
9722 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9723     if (!(
9724         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9725         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9726         cvmx_warn("CVMX_PCIERCX_CFG491(%lu) is invalid on this chip\n", offset);
9727 #endif
9728     return 0x00000000000007ACull + (offset&1)*0;
9729 }
9730
9731 static inline uint64_t CVMX_PCIERCX_CFG492(unsigned long offset)
9732 {
9733 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9734     if (!(
9735         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9736         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9737         cvmx_warn("CVMX_PCIERCX_CFG492(%lu) is invalid on this chip\n", offset);
9738 #endif
9739     return 0x00000000000007B0ull + (offset&1)*0;
9740 }
9741
9742 static inline uint64_t CVMX_PCIERCX_CFG516(unsigned long offset)
9743 {
9744 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9745     if (!(
9746         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9747         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9748         cvmx_warn("CVMX_PCIERCX_CFG516(%lu) is invalid on this chip\n", offset);
9749 #endif
9750     return 0x0000000000000810ull + (offset&1)*0;
9751 }
9752
9753 static inline uint64_t CVMX_PCIERCX_CFG517(unsigned long offset)
9754 {
9755 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9756     if (!(
9757         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
9758         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
9759         cvmx_warn("CVMX_PCIERCX_CFG517(%lu) is invalid on this chip\n", offset);
9760 #endif
9761     return 0x0000000000000814ull + (offset&1)*0;
9762 }
9763
9764 static inline uint64_t CVMX_PCI_BAR1_INDEXX(unsigned long offset)
9765 {
9766 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9767     if (!(
9768         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 31))) ||
9769         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 31))) ||
9770         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 31))) ||
9771         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 31))) ||
9772         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 31)))))
9773         cvmx_warn("CVMX_PCI_BAR1_INDEXX(%lu) is invalid on this chip\n", offset);
9774 #endif
9775     return 0x0000000000000100ull + (offset&31)*4;
9776 }
9777
9778 #define CVMX_PCI_BIST_REG CVMX_PCI_BIST_REG_FUNC()
9779 static inline uint64_t CVMX_PCI_BIST_REG_FUNC(void)
9780 {
9781 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9782     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX)))
9783         cvmx_warn("CVMX_PCI_BIST_REG not supported on this chip\n");
9784 #endif
9785     return 0x00000000000001C0ull;
9786 }
9787
9788 #define CVMX_PCI_CFG00 CVMX_PCI_CFG00_FUNC()
9789 static inline uint64_t CVMX_PCI_CFG00_FUNC(void)
9790 {
9791 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9792     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9793         cvmx_warn("CVMX_PCI_CFG00 not supported on this chip\n");
9794 #endif
9795     return 0x0000000000000000ull;
9796 }
9797
9798 #define CVMX_PCI_CFG01 CVMX_PCI_CFG01_FUNC()
9799 static inline uint64_t CVMX_PCI_CFG01_FUNC(void)
9800 {
9801 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9802     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9803         cvmx_warn("CVMX_PCI_CFG01 not supported on this chip\n");
9804 #endif
9805     return 0x0000000000000004ull;
9806 }
9807
9808 #define CVMX_PCI_CFG02 CVMX_PCI_CFG02_FUNC()
9809 static inline uint64_t CVMX_PCI_CFG02_FUNC(void)
9810 {
9811 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9812     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9813         cvmx_warn("CVMX_PCI_CFG02 not supported on this chip\n");
9814 #endif
9815     return 0x0000000000000008ull;
9816 }
9817
9818 #define CVMX_PCI_CFG03 CVMX_PCI_CFG03_FUNC()
9819 static inline uint64_t CVMX_PCI_CFG03_FUNC(void)
9820 {
9821 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9822     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9823         cvmx_warn("CVMX_PCI_CFG03 not supported on this chip\n");
9824 #endif
9825     return 0x000000000000000Cull;
9826 }
9827
9828 #define CVMX_PCI_CFG04 CVMX_PCI_CFG04_FUNC()
9829 static inline uint64_t CVMX_PCI_CFG04_FUNC(void)
9830 {
9831 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9832     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9833         cvmx_warn("CVMX_PCI_CFG04 not supported on this chip\n");
9834 #endif
9835     return 0x0000000000000010ull;
9836 }
9837
9838 #define CVMX_PCI_CFG05 CVMX_PCI_CFG05_FUNC()
9839 static inline uint64_t CVMX_PCI_CFG05_FUNC(void)
9840 {
9841 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9842     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9843         cvmx_warn("CVMX_PCI_CFG05 not supported on this chip\n");
9844 #endif
9845     return 0x0000000000000014ull;
9846 }
9847
9848 #define CVMX_PCI_CFG06 CVMX_PCI_CFG06_FUNC()
9849 static inline uint64_t CVMX_PCI_CFG06_FUNC(void)
9850 {
9851 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9852     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9853         cvmx_warn("CVMX_PCI_CFG06 not supported on this chip\n");
9854 #endif
9855     return 0x0000000000000018ull;
9856 }
9857
9858 #define CVMX_PCI_CFG07 CVMX_PCI_CFG07_FUNC()
9859 static inline uint64_t CVMX_PCI_CFG07_FUNC(void)
9860 {
9861 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9862     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9863         cvmx_warn("CVMX_PCI_CFG07 not supported on this chip\n");
9864 #endif
9865     return 0x000000000000001Cull;
9866 }
9867
9868 #define CVMX_PCI_CFG08 CVMX_PCI_CFG08_FUNC()
9869 static inline uint64_t CVMX_PCI_CFG08_FUNC(void)
9870 {
9871 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9872     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9873         cvmx_warn("CVMX_PCI_CFG08 not supported on this chip\n");
9874 #endif
9875     return 0x0000000000000020ull;
9876 }
9877
9878 #define CVMX_PCI_CFG09 CVMX_PCI_CFG09_FUNC()
9879 static inline uint64_t CVMX_PCI_CFG09_FUNC(void)
9880 {
9881 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9882     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9883         cvmx_warn("CVMX_PCI_CFG09 not supported on this chip\n");
9884 #endif
9885     return 0x0000000000000024ull;
9886 }
9887
9888 #define CVMX_PCI_CFG10 CVMX_PCI_CFG10_FUNC()
9889 static inline uint64_t CVMX_PCI_CFG10_FUNC(void)
9890 {
9891 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9892     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9893         cvmx_warn("CVMX_PCI_CFG10 not supported on this chip\n");
9894 #endif
9895     return 0x0000000000000028ull;
9896 }
9897
9898 #define CVMX_PCI_CFG11 CVMX_PCI_CFG11_FUNC()
9899 static inline uint64_t CVMX_PCI_CFG11_FUNC(void)
9900 {
9901 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9902     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9903         cvmx_warn("CVMX_PCI_CFG11 not supported on this chip\n");
9904 #endif
9905     return 0x000000000000002Cull;
9906 }
9907
9908 #define CVMX_PCI_CFG12 CVMX_PCI_CFG12_FUNC()
9909 static inline uint64_t CVMX_PCI_CFG12_FUNC(void)
9910 {
9911 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9912     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9913         cvmx_warn("CVMX_PCI_CFG12 not supported on this chip\n");
9914 #endif
9915     return 0x0000000000000030ull;
9916 }
9917
9918 #define CVMX_PCI_CFG13 CVMX_PCI_CFG13_FUNC()
9919 static inline uint64_t CVMX_PCI_CFG13_FUNC(void)
9920 {
9921 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9922     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9923         cvmx_warn("CVMX_PCI_CFG13 not supported on this chip\n");
9924 #endif
9925     return 0x0000000000000034ull;
9926 }
9927
9928 #define CVMX_PCI_CFG15 CVMX_PCI_CFG15_FUNC()
9929 static inline uint64_t CVMX_PCI_CFG15_FUNC(void)
9930 {
9931 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9932     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9933         cvmx_warn("CVMX_PCI_CFG15 not supported on this chip\n");
9934 #endif
9935     return 0x000000000000003Cull;
9936 }
9937
9938 #define CVMX_PCI_CFG16 CVMX_PCI_CFG16_FUNC()
9939 static inline uint64_t CVMX_PCI_CFG16_FUNC(void)
9940 {
9941 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9942     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9943         cvmx_warn("CVMX_PCI_CFG16 not supported on this chip\n");
9944 #endif
9945     return 0x0000000000000040ull;
9946 }
9947
9948 #define CVMX_PCI_CFG17 CVMX_PCI_CFG17_FUNC()
9949 static inline uint64_t CVMX_PCI_CFG17_FUNC(void)
9950 {
9951 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9952     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9953         cvmx_warn("CVMX_PCI_CFG17 not supported on this chip\n");
9954 #endif
9955     return 0x0000000000000044ull;
9956 }
9957
9958 #define CVMX_PCI_CFG18 CVMX_PCI_CFG18_FUNC()
9959 static inline uint64_t CVMX_PCI_CFG18_FUNC(void)
9960 {
9961 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9962     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9963         cvmx_warn("CVMX_PCI_CFG18 not supported on this chip\n");
9964 #endif
9965     return 0x0000000000000048ull;
9966 }
9967
9968 #define CVMX_PCI_CFG19 CVMX_PCI_CFG19_FUNC()
9969 static inline uint64_t CVMX_PCI_CFG19_FUNC(void)
9970 {
9971 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9972     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9973         cvmx_warn("CVMX_PCI_CFG19 not supported on this chip\n");
9974 #endif
9975     return 0x000000000000004Cull;
9976 }
9977
9978 #define CVMX_PCI_CFG20 CVMX_PCI_CFG20_FUNC()
9979 static inline uint64_t CVMX_PCI_CFG20_FUNC(void)
9980 {
9981 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9982     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9983         cvmx_warn("CVMX_PCI_CFG20 not supported on this chip\n");
9984 #endif
9985     return 0x0000000000000050ull;
9986 }
9987
9988 #define CVMX_PCI_CFG21 CVMX_PCI_CFG21_FUNC()
9989 static inline uint64_t CVMX_PCI_CFG21_FUNC(void)
9990 {
9991 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
9992     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
9993         cvmx_warn("CVMX_PCI_CFG21 not supported on this chip\n");
9994 #endif
9995     return 0x0000000000000054ull;
9996 }
9997
9998 #define CVMX_PCI_CFG22 CVMX_PCI_CFG22_FUNC()
9999 static inline uint64_t CVMX_PCI_CFG22_FUNC(void)
10000 {
10001 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10002     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10003         cvmx_warn("CVMX_PCI_CFG22 not supported on this chip\n");
10004 #endif
10005     return 0x0000000000000058ull;
10006 }
10007
10008 #define CVMX_PCI_CFG56 CVMX_PCI_CFG56_FUNC()
10009 static inline uint64_t CVMX_PCI_CFG56_FUNC(void)
10010 {
10011 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10012     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10013         cvmx_warn("CVMX_PCI_CFG56 not supported on this chip\n");
10014 #endif
10015     return 0x00000000000000E0ull;
10016 }
10017
10018 #define CVMX_PCI_CFG57 CVMX_PCI_CFG57_FUNC()
10019 static inline uint64_t CVMX_PCI_CFG57_FUNC(void)
10020 {
10021 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10022     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10023         cvmx_warn("CVMX_PCI_CFG57 not supported on this chip\n");
10024 #endif
10025     return 0x00000000000000E4ull;
10026 }
10027
10028 #define CVMX_PCI_CFG58 CVMX_PCI_CFG58_FUNC()
10029 static inline uint64_t CVMX_PCI_CFG58_FUNC(void)
10030 {
10031 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10032     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10033         cvmx_warn("CVMX_PCI_CFG58 not supported on this chip\n");
10034 #endif
10035     return 0x00000000000000E8ull;
10036 }
10037
10038 #define CVMX_PCI_CFG59 CVMX_PCI_CFG59_FUNC()
10039 static inline uint64_t CVMX_PCI_CFG59_FUNC(void)
10040 {
10041 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10042     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10043         cvmx_warn("CVMX_PCI_CFG59 not supported on this chip\n");
10044 #endif
10045     return 0x00000000000000ECull;
10046 }
10047
10048 #define CVMX_PCI_CFG60 CVMX_PCI_CFG60_FUNC()
10049 static inline uint64_t CVMX_PCI_CFG60_FUNC(void)
10050 {
10051 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10052     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10053         cvmx_warn("CVMX_PCI_CFG60 not supported on this chip\n");
10054 #endif
10055     return 0x00000000000000F0ull;
10056 }
10057
10058 #define CVMX_PCI_CFG61 CVMX_PCI_CFG61_FUNC()
10059 static inline uint64_t CVMX_PCI_CFG61_FUNC(void)
10060 {
10061 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10062     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10063         cvmx_warn("CVMX_PCI_CFG61 not supported on this chip\n");
10064 #endif
10065     return 0x00000000000000F4ull;
10066 }
10067
10068 #define CVMX_PCI_CFG62 CVMX_PCI_CFG62_FUNC()
10069 static inline uint64_t CVMX_PCI_CFG62_FUNC(void)
10070 {
10071 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10072     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10073         cvmx_warn("CVMX_PCI_CFG62 not supported on this chip\n");
10074 #endif
10075     return 0x00000000000000F8ull;
10076 }
10077
10078 #define CVMX_PCI_CFG63 CVMX_PCI_CFG63_FUNC()
10079 static inline uint64_t CVMX_PCI_CFG63_FUNC(void)
10080 {
10081 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10082     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10083         cvmx_warn("CVMX_PCI_CFG63 not supported on this chip\n");
10084 #endif
10085     return 0x00000000000000FCull;
10086 }
10087
10088 #define CVMX_PCI_CNT_REG CVMX_PCI_CNT_REG_FUNC()
10089 static inline uint64_t CVMX_PCI_CNT_REG_FUNC(void)
10090 {
10091 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10092     if (!(OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10093         cvmx_warn("CVMX_PCI_CNT_REG not supported on this chip\n");
10094 #endif
10095     return 0x00000000000001B8ull;
10096 }
10097
10098 #define CVMX_PCI_CTL_STATUS_2 CVMX_PCI_CTL_STATUS_2_FUNC()
10099 static inline uint64_t CVMX_PCI_CTL_STATUS_2_FUNC(void)
10100 {
10101 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10102     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10103         cvmx_warn("CVMX_PCI_CTL_STATUS_2 not supported on this chip\n");
10104 #endif
10105     return 0x000000000000018Cull;
10106 }
10107
10108 static inline uint64_t CVMX_PCI_DBELL_X(unsigned long offset)
10109 {
10110 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10111     if (!(
10112         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10113         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10114         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10115         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10116         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10117         cvmx_warn("CVMX_PCI_DBELL_X(%lu) is invalid on this chip\n", offset);
10118 #endif
10119     return 0x0000000000000080ull + (offset&3)*8;
10120 }
10121
10122 #define CVMX_PCI_DMA_CNT0 CVMX_PCI_DMA_CNTX(0)
10123 #define CVMX_PCI_DMA_CNT1 CVMX_PCI_DMA_CNTX(1)
10124 static inline uint64_t CVMX_PCI_DMA_CNTX(unsigned long offset)
10125 {
10126 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10127     if (!(
10128         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10129         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10130         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
10131         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10132         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
10133         cvmx_warn("CVMX_PCI_DMA_CNTX(%lu) is invalid on this chip\n", offset);
10134 #endif
10135     return 0x00000000000000A0ull + (offset&1)*8;
10136 }
10137
10138 #define CVMX_PCI_DMA_INT_LEV0 CVMX_PCI_DMA_INT_LEVX(0)
10139 #define CVMX_PCI_DMA_INT_LEV1 CVMX_PCI_DMA_INT_LEVX(1)
10140 static inline uint64_t CVMX_PCI_DMA_INT_LEVX(unsigned long offset)
10141 {
10142 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10143     if (!(
10144         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10145         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10146         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
10147         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10148         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
10149         cvmx_warn("CVMX_PCI_DMA_INT_LEVX(%lu) is invalid on this chip\n", offset);
10150 #endif
10151     return 0x00000000000000A4ull + (offset&1)*8;
10152 }
10153
10154 #define CVMX_PCI_DMA_TIME0 CVMX_PCI_DMA_TIMEX(0)
10155 #define CVMX_PCI_DMA_TIME1 CVMX_PCI_DMA_TIMEX(1)
10156 static inline uint64_t CVMX_PCI_DMA_TIMEX(unsigned long offset)
10157 {
10158 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10159     if (!(
10160         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10161         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10162         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
10163         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10164         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
10165         cvmx_warn("CVMX_PCI_DMA_TIMEX(%lu) is invalid on this chip\n", offset);
10166 #endif
10167     return 0x00000000000000B0ull + (offset&1)*4;
10168 }
10169
10170 #define CVMX_PCI_INSTR_COUNT0 CVMX_PCI_INSTR_COUNTX(0)
10171 #define CVMX_PCI_INSTR_COUNT1 CVMX_PCI_INSTR_COUNTX(1)
10172 #define CVMX_PCI_INSTR_COUNT2 CVMX_PCI_INSTR_COUNTX(2)
10173 #define CVMX_PCI_INSTR_COUNT3 CVMX_PCI_INSTR_COUNTX(3)
10174 static inline uint64_t CVMX_PCI_INSTR_COUNTX(unsigned long offset)
10175 {
10176 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10177     if (!(
10178         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10179         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10180         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10181         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10182         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10183         cvmx_warn("CVMX_PCI_INSTR_COUNTX(%lu) is invalid on this chip\n", offset);
10184 #endif
10185     return 0x0000000000000084ull + (offset&3)*8;
10186 }
10187
10188 #define CVMX_PCI_INT_ENB CVMX_PCI_INT_ENB_FUNC()
10189 static inline uint64_t CVMX_PCI_INT_ENB_FUNC(void)
10190 {
10191 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10192     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10193         cvmx_warn("CVMX_PCI_INT_ENB not supported on this chip\n");
10194 #endif
10195     return 0x0000000000000038ull;
10196 }
10197
10198 #define CVMX_PCI_INT_ENB2 CVMX_PCI_INT_ENB2_FUNC()
10199 static inline uint64_t CVMX_PCI_INT_ENB2_FUNC(void)
10200 {
10201 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10202     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10203         cvmx_warn("CVMX_PCI_INT_ENB2 not supported on this chip\n");
10204 #endif
10205     return 0x00000000000001A0ull;
10206 }
10207
10208 #define CVMX_PCI_INT_SUM CVMX_PCI_INT_SUM_FUNC()
10209 static inline uint64_t CVMX_PCI_INT_SUM_FUNC(void)
10210 {
10211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10212     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10213         cvmx_warn("CVMX_PCI_INT_SUM not supported on this chip\n");
10214 #endif
10215     return 0x0000000000000030ull;
10216 }
10217
10218 #define CVMX_PCI_INT_SUM2 CVMX_PCI_INT_SUM2_FUNC()
10219 static inline uint64_t CVMX_PCI_INT_SUM2_FUNC(void)
10220 {
10221 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10222     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10223         cvmx_warn("CVMX_PCI_INT_SUM2 not supported on this chip\n");
10224 #endif
10225     return 0x0000000000000198ull;
10226 }
10227
10228 #define CVMX_PCI_MSI_RCV CVMX_PCI_MSI_RCV_FUNC()
10229 static inline uint64_t CVMX_PCI_MSI_RCV_FUNC(void)
10230 {
10231 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10232     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10233         cvmx_warn("CVMX_PCI_MSI_RCV not supported on this chip\n");
10234 #endif
10235     return 0x00000000000000F0ull;
10236 }
10237
10238 #define CVMX_PCI_PKTS_SENT0 CVMX_PCI_PKTS_SENTX(0)
10239 #define CVMX_PCI_PKTS_SENT1 CVMX_PCI_PKTS_SENTX(1)
10240 #define CVMX_PCI_PKTS_SENT2 CVMX_PCI_PKTS_SENTX(2)
10241 #define CVMX_PCI_PKTS_SENT3 CVMX_PCI_PKTS_SENTX(3)
10242 static inline uint64_t CVMX_PCI_PKTS_SENTX(unsigned long offset)
10243 {
10244 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10245     if (!(
10246         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10247         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10248         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10249         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10250         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10251         cvmx_warn("CVMX_PCI_PKTS_SENTX(%lu) is invalid on this chip\n", offset);
10252 #endif
10253     return 0x0000000000000040ull + (offset&3)*16;
10254 }
10255
10256 #define CVMX_PCI_PKTS_SENT_INT_LEV0 CVMX_PCI_PKTS_SENT_INT_LEVX(0)
10257 #define CVMX_PCI_PKTS_SENT_INT_LEV1 CVMX_PCI_PKTS_SENT_INT_LEVX(1)
10258 #define CVMX_PCI_PKTS_SENT_INT_LEV2 CVMX_PCI_PKTS_SENT_INT_LEVX(2)
10259 #define CVMX_PCI_PKTS_SENT_INT_LEV3 CVMX_PCI_PKTS_SENT_INT_LEVX(3)
10260 static inline uint64_t CVMX_PCI_PKTS_SENT_INT_LEVX(unsigned long offset)
10261 {
10262 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10263     if (!(
10264         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10265         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10266         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10267         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10268         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10269         cvmx_warn("CVMX_PCI_PKTS_SENT_INT_LEVX(%lu) is invalid on this chip\n", offset);
10270 #endif
10271     return 0x0000000000000048ull + (offset&3)*16;
10272 }
10273
10274 #define CVMX_PCI_PKTS_SENT_TIME0 CVMX_PCI_PKTS_SENT_TIMEX(0)
10275 #define CVMX_PCI_PKTS_SENT_TIME1 CVMX_PCI_PKTS_SENT_TIMEX(1)
10276 #define CVMX_PCI_PKTS_SENT_TIME2 CVMX_PCI_PKTS_SENT_TIMEX(2)
10277 #define CVMX_PCI_PKTS_SENT_TIME3 CVMX_PCI_PKTS_SENT_TIMEX(3)
10278 static inline uint64_t CVMX_PCI_PKTS_SENT_TIMEX(unsigned long offset)
10279 {
10280 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10281     if (!(
10282         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10283         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10284         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10285         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10286         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10287         cvmx_warn("CVMX_PCI_PKTS_SENT_TIMEX(%lu) is invalid on this chip\n", offset);
10288 #endif
10289     return 0x000000000000004Cull + (offset&3)*16;
10290 }
10291
10292 #define CVMX_PCI_PKT_CREDITS0 CVMX_PCI_PKT_CREDITSX(0)
10293 #define CVMX_PCI_PKT_CREDITS1 CVMX_PCI_PKT_CREDITSX(1)
10294 #define CVMX_PCI_PKT_CREDITS2 CVMX_PCI_PKT_CREDITSX(2)
10295 #define CVMX_PCI_PKT_CREDITS3 CVMX_PCI_PKT_CREDITSX(3)
10296 static inline uint64_t CVMX_PCI_PKT_CREDITSX(unsigned long offset)
10297 {
10298 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10299     if (!(
10300         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
10301         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
10302         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
10303         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10304         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3)))))
10305         cvmx_warn("CVMX_PCI_PKT_CREDITSX(%lu) is invalid on this chip\n", offset);
10306 #endif
10307     return 0x0000000000000044ull + (offset&3)*16;
10308 }
10309
10310 #define CVMX_PCI_READ_CMD_6 CVMX_PCI_READ_CMD_6_FUNC()
10311 static inline uint64_t CVMX_PCI_READ_CMD_6_FUNC(void)
10312 {
10313 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10314     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10315         cvmx_warn("CVMX_PCI_READ_CMD_6 not supported on this chip\n");
10316 #endif
10317     return 0x0000000000000180ull;
10318 }
10319
10320 #define CVMX_PCI_READ_CMD_C CVMX_PCI_READ_CMD_C_FUNC()
10321 static inline uint64_t CVMX_PCI_READ_CMD_C_FUNC(void)
10322 {
10323 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10324     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10325         cvmx_warn("CVMX_PCI_READ_CMD_C not supported on this chip\n");
10326 #endif
10327     return 0x0000000000000184ull;
10328 }
10329
10330 #define CVMX_PCI_READ_CMD_E CVMX_PCI_READ_CMD_E_FUNC()
10331 static inline uint64_t CVMX_PCI_READ_CMD_E_FUNC(void)
10332 {
10333 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10334     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10335         cvmx_warn("CVMX_PCI_READ_CMD_E not supported on this chip\n");
10336 #endif
10337     return 0x0000000000000188ull;
10338 }
10339
10340 #define CVMX_PCI_READ_TIMEOUT CVMX_PCI_READ_TIMEOUT_FUNC()
10341 static inline uint64_t CVMX_PCI_READ_TIMEOUT_FUNC(void)
10342 {
10343 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10344     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10345         cvmx_warn("CVMX_PCI_READ_TIMEOUT not supported on this chip\n");
10346 #endif
10347     return CVMX_ADD_IO_SEG(0x00011F00000000B0ull);
10348 }
10349
10350 #define CVMX_PCI_SCM_REG CVMX_PCI_SCM_REG_FUNC()
10351 static inline uint64_t CVMX_PCI_SCM_REG_FUNC(void)
10352 {
10353 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10354     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10355         cvmx_warn("CVMX_PCI_SCM_REG not supported on this chip\n");
10356 #endif
10357     return 0x00000000000001A8ull;
10358 }
10359
10360 #define CVMX_PCI_TSR_REG CVMX_PCI_TSR_REG_FUNC()
10361 static inline uint64_t CVMX_PCI_TSR_REG_FUNC(void)
10362 {
10363 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10364     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10365         cvmx_warn("CVMX_PCI_TSR_REG not supported on this chip\n");
10366 #endif
10367     return 0x00000000000001B0ull;
10368 }
10369
10370 #define CVMX_PCI_WIN_RD_ADDR CVMX_PCI_WIN_RD_ADDR_FUNC()
10371 static inline uint64_t CVMX_PCI_WIN_RD_ADDR_FUNC(void)
10372 {
10373 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10374     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10375         cvmx_warn("CVMX_PCI_WIN_RD_ADDR not supported on this chip\n");
10376 #endif
10377     return 0x0000000000000008ull;
10378 }
10379
10380 #define CVMX_PCI_WIN_RD_DATA CVMX_PCI_WIN_RD_DATA_FUNC()
10381 static inline uint64_t CVMX_PCI_WIN_RD_DATA_FUNC(void)
10382 {
10383 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10384     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10385         cvmx_warn("CVMX_PCI_WIN_RD_DATA not supported on this chip\n");
10386 #endif
10387     return 0x0000000000000020ull;
10388 }
10389
10390 #define CVMX_PCI_WIN_WR_ADDR CVMX_PCI_WIN_WR_ADDR_FUNC()
10391 static inline uint64_t CVMX_PCI_WIN_WR_ADDR_FUNC(void)
10392 {
10393 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10394     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10395         cvmx_warn("CVMX_PCI_WIN_WR_ADDR not supported on this chip\n");
10396 #endif
10397     return 0x0000000000000000ull;
10398 }
10399
10400 #define CVMX_PCI_WIN_WR_DATA CVMX_PCI_WIN_WR_DATA_FUNC()
10401 static inline uint64_t CVMX_PCI_WIN_WR_DATA_FUNC(void)
10402 {
10403 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10404     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10405         cvmx_warn("CVMX_PCI_WIN_WR_DATA not supported on this chip\n");
10406 #endif
10407     return 0x0000000000000010ull;
10408 }
10409
10410 #define CVMX_PCI_WIN_WR_MASK CVMX_PCI_WIN_WR_MASK_FUNC()
10411 static inline uint64_t CVMX_PCI_WIN_WR_MASK_FUNC(void)
10412 {
10413 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10414     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN50XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
10415         cvmx_warn("CVMX_PCI_WIN_WR_MASK not supported on this chip\n");
10416 #endif
10417     return 0x0000000000000018ull;
10418 }
10419
10420 static inline uint64_t CVMX_PCMX_DMA_CFG(unsigned long offset)
10421 {
10422 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10423     if (!(
10424         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10425         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10426         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10427         cvmx_warn("CVMX_PCMX_DMA_CFG(%lu) is invalid on this chip\n", offset);
10428 #endif
10429     return CVMX_ADD_IO_SEG(0x0001070000010018ull) + (offset&3)*16384;
10430 }
10431
10432 static inline uint64_t CVMX_PCMX_INT_ENA(unsigned long offset)
10433 {
10434 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10435     if (!(
10436         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10437         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10438         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10439         cvmx_warn("CVMX_PCMX_INT_ENA(%lu) is invalid on this chip\n", offset);
10440 #endif
10441     return CVMX_ADD_IO_SEG(0x0001070000010020ull) + (offset&3)*16384;
10442 }
10443
10444 static inline uint64_t CVMX_PCMX_INT_SUM(unsigned long offset)
10445 {
10446 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10447     if (!(
10448         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10449         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10450         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10451         cvmx_warn("CVMX_PCMX_INT_SUM(%lu) is invalid on this chip\n", offset);
10452 #endif
10453     return CVMX_ADD_IO_SEG(0x0001070000010028ull) + (offset&3)*16384;
10454 }
10455
10456 static inline uint64_t CVMX_PCMX_RXADDR(unsigned long offset)
10457 {
10458 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10459     if (!(
10460         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10461         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10462         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10463         cvmx_warn("CVMX_PCMX_RXADDR(%lu) is invalid on this chip\n", offset);
10464 #endif
10465     return CVMX_ADD_IO_SEG(0x0001070000010068ull) + (offset&3)*16384;
10466 }
10467
10468 static inline uint64_t CVMX_PCMX_RXCNT(unsigned long offset)
10469 {
10470 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10471     if (!(
10472         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10473         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10474         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10475         cvmx_warn("CVMX_PCMX_RXCNT(%lu) is invalid on this chip\n", offset);
10476 #endif
10477     return CVMX_ADD_IO_SEG(0x0001070000010060ull) + (offset&3)*16384;
10478 }
10479
10480 static inline uint64_t CVMX_PCMX_RXMSK0(unsigned long offset)
10481 {
10482 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10483     if (!(
10484         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10485         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10486         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10487         cvmx_warn("CVMX_PCMX_RXMSK0(%lu) is invalid on this chip\n", offset);
10488 #endif
10489     return CVMX_ADD_IO_SEG(0x00010700000100C0ull) + (offset&3)*16384;
10490 }
10491
10492 static inline uint64_t CVMX_PCMX_RXMSK1(unsigned long offset)
10493 {
10494 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10495     if (!(
10496         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10497         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10498         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10499         cvmx_warn("CVMX_PCMX_RXMSK1(%lu) is invalid on this chip\n", offset);
10500 #endif
10501     return CVMX_ADD_IO_SEG(0x00010700000100C8ull) + (offset&3)*16384;
10502 }
10503
10504 static inline uint64_t CVMX_PCMX_RXMSK2(unsigned long offset)
10505 {
10506 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10507     if (!(
10508         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10509         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10510         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10511         cvmx_warn("CVMX_PCMX_RXMSK2(%lu) is invalid on this chip\n", offset);
10512 #endif
10513     return CVMX_ADD_IO_SEG(0x00010700000100D0ull) + (offset&3)*16384;
10514 }
10515
10516 static inline uint64_t CVMX_PCMX_RXMSK3(unsigned long offset)
10517 {
10518 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10519     if (!(
10520         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10521         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10522         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10523         cvmx_warn("CVMX_PCMX_RXMSK3(%lu) is invalid on this chip\n", offset);
10524 #endif
10525     return CVMX_ADD_IO_SEG(0x00010700000100D8ull) + (offset&3)*16384;
10526 }
10527
10528 static inline uint64_t CVMX_PCMX_RXMSK4(unsigned long offset)
10529 {
10530 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10531     if (!(
10532         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10533         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10534         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10535         cvmx_warn("CVMX_PCMX_RXMSK4(%lu) is invalid on this chip\n", offset);
10536 #endif
10537     return CVMX_ADD_IO_SEG(0x00010700000100E0ull) + (offset&3)*16384;
10538 }
10539
10540 static inline uint64_t CVMX_PCMX_RXMSK5(unsigned long offset)
10541 {
10542 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10543     if (!(
10544         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10545         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10546         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10547         cvmx_warn("CVMX_PCMX_RXMSK5(%lu) is invalid on this chip\n", offset);
10548 #endif
10549     return CVMX_ADD_IO_SEG(0x00010700000100E8ull) + (offset&3)*16384;
10550 }
10551
10552 static inline uint64_t CVMX_PCMX_RXMSK6(unsigned long offset)
10553 {
10554 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10555     if (!(
10556         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10557         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10558         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10559         cvmx_warn("CVMX_PCMX_RXMSK6(%lu) is invalid on this chip\n", offset);
10560 #endif
10561     return CVMX_ADD_IO_SEG(0x00010700000100F0ull) + (offset&3)*16384;
10562 }
10563
10564 static inline uint64_t CVMX_PCMX_RXMSK7(unsigned long offset)
10565 {
10566 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10567     if (!(
10568         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10569         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10570         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10571         cvmx_warn("CVMX_PCMX_RXMSK7(%lu) is invalid on this chip\n", offset);
10572 #endif
10573     return CVMX_ADD_IO_SEG(0x00010700000100F8ull) + (offset&3)*16384;
10574 }
10575
10576 static inline uint64_t CVMX_PCMX_RXSTART(unsigned long offset)
10577 {
10578 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10579     if (!(
10580         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10581         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10582         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10583         cvmx_warn("CVMX_PCMX_RXSTART(%lu) is invalid on this chip\n", offset);
10584 #endif
10585     return CVMX_ADD_IO_SEG(0x0001070000010058ull) + (offset&3)*16384;
10586 }
10587
10588 static inline uint64_t CVMX_PCMX_TDM_CFG(unsigned long offset)
10589 {
10590 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10591     if (!(
10592         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10593         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10594         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10595         cvmx_warn("CVMX_PCMX_TDM_CFG(%lu) is invalid on this chip\n", offset);
10596 #endif
10597     return CVMX_ADD_IO_SEG(0x0001070000010010ull) + (offset&3)*16384;
10598 }
10599
10600 static inline uint64_t CVMX_PCMX_TDM_DBG(unsigned long offset)
10601 {
10602 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10603     if (!(
10604         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10605         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10606         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10607         cvmx_warn("CVMX_PCMX_TDM_DBG(%lu) is invalid on this chip\n", offset);
10608 #endif
10609     return CVMX_ADD_IO_SEG(0x0001070000010030ull) + (offset&3)*16384;
10610 }
10611
10612 static inline uint64_t CVMX_PCMX_TXADDR(unsigned long offset)
10613 {
10614 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10615     if (!(
10616         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10617         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10618         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10619         cvmx_warn("CVMX_PCMX_TXADDR(%lu) is invalid on this chip\n", offset);
10620 #endif
10621     return CVMX_ADD_IO_SEG(0x0001070000010050ull) + (offset&3)*16384;
10622 }
10623
10624 static inline uint64_t CVMX_PCMX_TXCNT(unsigned long offset)
10625 {
10626 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10627     if (!(
10628         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10629         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10630         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10631         cvmx_warn("CVMX_PCMX_TXCNT(%lu) is invalid on this chip\n", offset);
10632 #endif
10633     return CVMX_ADD_IO_SEG(0x0001070000010048ull) + (offset&3)*16384;
10634 }
10635
10636 static inline uint64_t CVMX_PCMX_TXMSK0(unsigned long offset)
10637 {
10638 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10639     if (!(
10640         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10641         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10642         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10643         cvmx_warn("CVMX_PCMX_TXMSK0(%lu) is invalid on this chip\n", offset);
10644 #endif
10645     return CVMX_ADD_IO_SEG(0x0001070000010080ull) + (offset&3)*16384;
10646 }
10647
10648 static inline uint64_t CVMX_PCMX_TXMSK1(unsigned long offset)
10649 {
10650 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10651     if (!(
10652         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10653         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10654         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10655         cvmx_warn("CVMX_PCMX_TXMSK1(%lu) is invalid on this chip\n", offset);
10656 #endif
10657     return CVMX_ADD_IO_SEG(0x0001070000010088ull) + (offset&3)*16384;
10658 }
10659
10660 static inline uint64_t CVMX_PCMX_TXMSK2(unsigned long offset)
10661 {
10662 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10663     if (!(
10664         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10665         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10666         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10667         cvmx_warn("CVMX_PCMX_TXMSK2(%lu) is invalid on this chip\n", offset);
10668 #endif
10669     return CVMX_ADD_IO_SEG(0x0001070000010090ull) + (offset&3)*16384;
10670 }
10671
10672 static inline uint64_t CVMX_PCMX_TXMSK3(unsigned long offset)
10673 {
10674 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10675     if (!(
10676         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10677         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10678         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10679         cvmx_warn("CVMX_PCMX_TXMSK3(%lu) is invalid on this chip\n", offset);
10680 #endif
10681     return CVMX_ADD_IO_SEG(0x0001070000010098ull) + (offset&3)*16384;
10682 }
10683
10684 static inline uint64_t CVMX_PCMX_TXMSK4(unsigned long offset)
10685 {
10686 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10687     if (!(
10688         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10689         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10690         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10691         cvmx_warn("CVMX_PCMX_TXMSK4(%lu) is invalid on this chip\n", offset);
10692 #endif
10693     return CVMX_ADD_IO_SEG(0x00010700000100A0ull) + (offset&3)*16384;
10694 }
10695
10696 static inline uint64_t CVMX_PCMX_TXMSK5(unsigned long offset)
10697 {
10698 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10699     if (!(
10700         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10701         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10702         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10703         cvmx_warn("CVMX_PCMX_TXMSK5(%lu) is invalid on this chip\n", offset);
10704 #endif
10705     return CVMX_ADD_IO_SEG(0x00010700000100A8ull) + (offset&3)*16384;
10706 }
10707
10708 static inline uint64_t CVMX_PCMX_TXMSK6(unsigned long offset)
10709 {
10710 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10711     if (!(
10712         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10713         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10714         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10715         cvmx_warn("CVMX_PCMX_TXMSK6(%lu) is invalid on this chip\n", offset);
10716 #endif
10717     return CVMX_ADD_IO_SEG(0x00010700000100B0ull) + (offset&3)*16384;
10718 }
10719
10720 static inline uint64_t CVMX_PCMX_TXMSK7(unsigned long offset)
10721 {
10722 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10723     if (!(
10724         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10725         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10726         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10727         cvmx_warn("CVMX_PCMX_TXMSK7(%lu) is invalid on this chip\n", offset);
10728 #endif
10729     return CVMX_ADD_IO_SEG(0x00010700000100B8ull) + (offset&3)*16384;
10730 }
10731
10732 static inline uint64_t CVMX_PCMX_TXSTART(unsigned long offset)
10733 {
10734 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10735     if (!(
10736         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
10737         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
10738         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3)))))
10739         cvmx_warn("CVMX_PCMX_TXSTART(%lu) is invalid on this chip\n", offset);
10740 #endif
10741     return CVMX_ADD_IO_SEG(0x0001070000010040ull) + (offset&3)*16384;
10742 }
10743
10744 static inline uint64_t CVMX_PCM_CLKX_CFG(unsigned long offset)
10745 {
10746 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10747     if (!(
10748         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10749         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10750         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1)))))
10751         cvmx_warn("CVMX_PCM_CLKX_CFG(%lu) is invalid on this chip\n", offset);
10752 #endif
10753     return CVMX_ADD_IO_SEG(0x0001070000010000ull) + (offset&1)*16384;
10754 }
10755
10756 static inline uint64_t CVMX_PCM_CLKX_DBG(unsigned long offset)
10757 {
10758 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10759     if (!(
10760         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10761         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10762         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1)))))
10763         cvmx_warn("CVMX_PCM_CLKX_DBG(%lu) is invalid on this chip\n", offset);
10764 #endif
10765     return CVMX_ADD_IO_SEG(0x0001070000010038ull) + (offset&1)*16384;
10766 }
10767
10768 static inline uint64_t CVMX_PCM_CLKX_GEN(unsigned long offset)
10769 {
10770 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10771     if (!(
10772         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 1))) ||
10773         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
10774         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1)))))
10775         cvmx_warn("CVMX_PCM_CLKX_GEN(%lu) is invalid on this chip\n", offset);
10776 #endif
10777     return CVMX_ADD_IO_SEG(0x0001070000010008ull) + (offset&1)*16384;
10778 }
10779
10780 static inline uint64_t CVMX_PCSXX_10GBX_STATUS_REG(unsigned long block_id)
10781 {
10782 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10783     if (!(
10784         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10785         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10786         cvmx_warn("CVMX_PCSXX_10GBX_STATUS_REG(%lu) is invalid on this chip\n", block_id);
10787 #endif
10788     return CVMX_ADD_IO_SEG(0x00011800B0000828ull) + (block_id&1)*0x8000000ull;
10789 }
10790
10791 static inline uint64_t CVMX_PCSXX_BIST_STATUS_REG(unsigned long block_id)
10792 {
10793 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10794     if (!(
10795         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10796         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10797         cvmx_warn("CVMX_PCSXX_BIST_STATUS_REG(%lu) is invalid on this chip\n", block_id);
10798 #endif
10799     return CVMX_ADD_IO_SEG(0x00011800B0000870ull) + (block_id&1)*0x8000000ull;
10800 }
10801
10802 static inline uint64_t CVMX_PCSXX_BIT_LOCK_STATUS_REG(unsigned long block_id)
10803 {
10804 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10805     if (!(
10806         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10807         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10808         cvmx_warn("CVMX_PCSXX_BIT_LOCK_STATUS_REG(%lu) is invalid on this chip\n", block_id);
10809 #endif
10810     return CVMX_ADD_IO_SEG(0x00011800B0000850ull) + (block_id&1)*0x8000000ull;
10811 }
10812
10813 static inline uint64_t CVMX_PCSXX_CONTROL1_REG(unsigned long block_id)
10814 {
10815 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10816     if (!(
10817         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10818         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10819         cvmx_warn("CVMX_PCSXX_CONTROL1_REG(%lu) is invalid on this chip\n", block_id);
10820 #endif
10821     return CVMX_ADD_IO_SEG(0x00011800B0000800ull) + (block_id&1)*0x8000000ull;
10822 }
10823
10824 static inline uint64_t CVMX_PCSXX_CONTROL2_REG(unsigned long block_id)
10825 {
10826 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10827     if (!(
10828         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10829         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10830         cvmx_warn("CVMX_PCSXX_CONTROL2_REG(%lu) is invalid on this chip\n", block_id);
10831 #endif
10832     return CVMX_ADD_IO_SEG(0x00011800B0000818ull) + (block_id&1)*0x8000000ull;
10833 }
10834
10835 static inline uint64_t CVMX_PCSXX_INT_EN_REG(unsigned long block_id)
10836 {
10837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10838     if (!(
10839         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10840         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10841         cvmx_warn("CVMX_PCSXX_INT_EN_REG(%lu) is invalid on this chip\n", block_id);
10842 #endif
10843     return CVMX_ADD_IO_SEG(0x00011800B0000860ull) + (block_id&1)*0x8000000ull;
10844 }
10845
10846 static inline uint64_t CVMX_PCSXX_INT_REG(unsigned long block_id)
10847 {
10848 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10849     if (!(
10850         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10851         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10852         cvmx_warn("CVMX_PCSXX_INT_REG(%lu) is invalid on this chip\n", block_id);
10853 #endif
10854     return CVMX_ADD_IO_SEG(0x00011800B0000858ull) + (block_id&1)*0x8000000ull;
10855 }
10856
10857 static inline uint64_t CVMX_PCSXX_LOG_ANL_REG(unsigned long block_id)
10858 {
10859 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10860     if (!(
10861         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10862         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10863         cvmx_warn("CVMX_PCSXX_LOG_ANL_REG(%lu) is invalid on this chip\n", block_id);
10864 #endif
10865     return CVMX_ADD_IO_SEG(0x00011800B0000868ull) + (block_id&1)*0x8000000ull;
10866 }
10867
10868 static inline uint64_t CVMX_PCSXX_MISC_CTL_REG(unsigned long block_id)
10869 {
10870 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10871     if (!(
10872         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10873         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10874         cvmx_warn("CVMX_PCSXX_MISC_CTL_REG(%lu) is invalid on this chip\n", block_id);
10875 #endif
10876     return CVMX_ADD_IO_SEG(0x00011800B0000848ull) + (block_id&1)*0x8000000ull;
10877 }
10878
10879 static inline uint64_t CVMX_PCSXX_RX_SYNC_STATES_REG(unsigned long block_id)
10880 {
10881 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10882     if (!(
10883         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10884         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10885         cvmx_warn("CVMX_PCSXX_RX_SYNC_STATES_REG(%lu) is invalid on this chip\n", block_id);
10886 #endif
10887     return CVMX_ADD_IO_SEG(0x00011800B0000838ull) + (block_id&1)*0x8000000ull;
10888 }
10889
10890 static inline uint64_t CVMX_PCSXX_SPD_ABIL_REG(unsigned long block_id)
10891 {
10892 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10893     if (!(
10894         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10895         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10896         cvmx_warn("CVMX_PCSXX_SPD_ABIL_REG(%lu) is invalid on this chip\n", block_id);
10897 #endif
10898     return CVMX_ADD_IO_SEG(0x00011800B0000810ull) + (block_id&1)*0x8000000ull;
10899 }
10900
10901 static inline uint64_t CVMX_PCSXX_STATUS1_REG(unsigned long block_id)
10902 {
10903 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10904     if (!(
10905         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10906         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10907         cvmx_warn("CVMX_PCSXX_STATUS1_REG(%lu) is invalid on this chip\n", block_id);
10908 #endif
10909     return CVMX_ADD_IO_SEG(0x00011800B0000808ull) + (block_id&1)*0x8000000ull;
10910 }
10911
10912 static inline uint64_t CVMX_PCSXX_STATUS2_REG(unsigned long block_id)
10913 {
10914 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10915     if (!(
10916         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10917         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10918         cvmx_warn("CVMX_PCSXX_STATUS2_REG(%lu) is invalid on this chip\n", block_id);
10919 #endif
10920     return CVMX_ADD_IO_SEG(0x00011800B0000820ull) + (block_id&1)*0x8000000ull;
10921 }
10922
10923 static inline uint64_t CVMX_PCSXX_TX_RX_POLARITY_REG(unsigned long block_id)
10924 {
10925 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10926     if (!(
10927         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10928         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10929         cvmx_warn("CVMX_PCSXX_TX_RX_POLARITY_REG(%lu) is invalid on this chip\n", block_id);
10930 #endif
10931     return CVMX_ADD_IO_SEG(0x00011800B0000840ull) + (block_id&1)*0x8000000ull;
10932 }
10933
10934 static inline uint64_t CVMX_PCSXX_TX_RX_STATES_REG(unsigned long block_id)
10935 {
10936 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10937     if (!(
10938         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
10939         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
10940         cvmx_warn("CVMX_PCSXX_TX_RX_STATES_REG(%lu) is invalid on this chip\n", block_id);
10941 #endif
10942     return CVMX_ADD_IO_SEG(0x00011800B0000830ull) + (block_id&1)*0x8000000ull;
10943 }
10944
10945 static inline uint64_t CVMX_PCSX_ANX_ADV_REG(unsigned long offset, unsigned long block_id)
10946 {
10947 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10948     if (!(
10949         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
10950         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
10951         cvmx_warn("CVMX_PCSX_ANX_ADV_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
10952 #endif
10953     return CVMX_ADD_IO_SEG(0x00011800B0001010ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
10954 }
10955
10956 static inline uint64_t CVMX_PCSX_ANX_EXT_ST_REG(unsigned long offset, unsigned long block_id)
10957 {
10958 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10959     if (!(
10960         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
10961         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
10962         cvmx_warn("CVMX_PCSX_ANX_EXT_ST_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
10963 #endif
10964     return CVMX_ADD_IO_SEG(0x00011800B0001028ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
10965 }
10966
10967 static inline uint64_t CVMX_PCSX_ANX_LP_ABIL_REG(unsigned long offset, unsigned long block_id)
10968 {
10969 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10970     if (!(
10971         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
10972         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
10973         cvmx_warn("CVMX_PCSX_ANX_LP_ABIL_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
10974 #endif
10975     return CVMX_ADD_IO_SEG(0x00011800B0001018ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
10976 }
10977
10978 static inline uint64_t CVMX_PCSX_ANX_RESULTS_REG(unsigned long offset, unsigned long block_id)
10979 {
10980 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10981     if (!(
10982         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
10983         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
10984         cvmx_warn("CVMX_PCSX_ANX_RESULTS_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
10985 #endif
10986     return CVMX_ADD_IO_SEG(0x00011800B0001020ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
10987 }
10988
10989 static inline uint64_t CVMX_PCSX_INTX_EN_REG(unsigned long offset, unsigned long block_id)
10990 {
10991 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
10992     if (!(
10993         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
10994         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
10995         cvmx_warn("CVMX_PCSX_INTX_EN_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
10996 #endif
10997     return CVMX_ADD_IO_SEG(0x00011800B0001088ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
10998 }
10999
11000 static inline uint64_t CVMX_PCSX_INTX_REG(unsigned long offset, unsigned long block_id)
11001 {
11002 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11003     if (!(
11004         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11005         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11006         cvmx_warn("CVMX_PCSX_INTX_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11007 #endif
11008     return CVMX_ADD_IO_SEG(0x00011800B0001080ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11009 }
11010
11011 static inline uint64_t CVMX_PCSX_LINKX_TIMER_COUNT_REG(unsigned long offset, unsigned long block_id)
11012 {
11013 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11014     if (!(
11015         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11016         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11017         cvmx_warn("CVMX_PCSX_LINKX_TIMER_COUNT_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11018 #endif
11019     return CVMX_ADD_IO_SEG(0x00011800B0001040ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11020 }
11021
11022 static inline uint64_t CVMX_PCSX_LOG_ANLX_REG(unsigned long offset, unsigned long block_id)
11023 {
11024 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11025     if (!(
11026         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11027         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11028         cvmx_warn("CVMX_PCSX_LOG_ANLX_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11029 #endif
11030     return CVMX_ADD_IO_SEG(0x00011800B0001090ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11031 }
11032
11033 static inline uint64_t CVMX_PCSX_MISCX_CTL_REG(unsigned long offset, unsigned long block_id)
11034 {
11035 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11036     if (!(
11037         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11038         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11039         cvmx_warn("CVMX_PCSX_MISCX_CTL_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11040 #endif
11041     return CVMX_ADD_IO_SEG(0x00011800B0001078ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11042 }
11043
11044 static inline uint64_t CVMX_PCSX_MRX_CONTROL_REG(unsigned long offset, unsigned long block_id)
11045 {
11046 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11047     if (!(
11048         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11049         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11050         cvmx_warn("CVMX_PCSX_MRX_CONTROL_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11051 #endif
11052     return CVMX_ADD_IO_SEG(0x00011800B0001000ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11053 }
11054
11055 static inline uint64_t CVMX_PCSX_MRX_STATUS_REG(unsigned long offset, unsigned long block_id)
11056 {
11057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11058     if (!(
11059         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11060         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11061         cvmx_warn("CVMX_PCSX_MRX_STATUS_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11062 #endif
11063     return CVMX_ADD_IO_SEG(0x00011800B0001008ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11064 }
11065
11066 static inline uint64_t CVMX_PCSX_RXX_STATES_REG(unsigned long offset, unsigned long block_id)
11067 {
11068 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11069     if (!(
11070         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11071         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11072         cvmx_warn("CVMX_PCSX_RXX_STATES_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11073 #endif
11074     return CVMX_ADD_IO_SEG(0x00011800B0001058ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11075 }
11076
11077 static inline uint64_t CVMX_PCSX_RXX_SYNC_REG(unsigned long offset, unsigned long block_id)
11078 {
11079 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11080     if (!(
11081         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11082         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11083         cvmx_warn("CVMX_PCSX_RXX_SYNC_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11084 #endif
11085     return CVMX_ADD_IO_SEG(0x00011800B0001050ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11086 }
11087
11088 static inline uint64_t CVMX_PCSX_SGMX_AN_ADV_REG(unsigned long offset, unsigned long block_id)
11089 {
11090 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11091     if (!(
11092         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11093         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11094         cvmx_warn("CVMX_PCSX_SGMX_AN_ADV_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11095 #endif
11096     return CVMX_ADD_IO_SEG(0x00011800B0001068ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11097 }
11098
11099 static inline uint64_t CVMX_PCSX_SGMX_LP_ADV_REG(unsigned long offset, unsigned long block_id)
11100 {
11101 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11102     if (!(
11103         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11104         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11105         cvmx_warn("CVMX_PCSX_SGMX_LP_ADV_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11106 #endif
11107     return CVMX_ADD_IO_SEG(0x00011800B0001070ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11108 }
11109
11110 static inline uint64_t CVMX_PCSX_TXX_STATES_REG(unsigned long offset, unsigned long block_id)
11111 {
11112 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11113     if (!(
11114         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11115         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11116         cvmx_warn("CVMX_PCSX_TXX_STATES_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11117 #endif
11118     return CVMX_ADD_IO_SEG(0x00011800B0001060ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11119 }
11120
11121 static inline uint64_t CVMX_PCSX_TX_RXX_POLARITY_REG(unsigned long offset, unsigned long block_id)
11122 {
11123 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11124     if (!(
11125         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11126         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id == 0))))))
11127         cvmx_warn("CVMX_PCSX_TX_RXX_POLARITY_REG(%lu,%lu) is invalid on this chip\n", offset, block_id);
11128 #endif
11129     return CVMX_ADD_IO_SEG(0x00011800B0001048ull) + ((offset&3) + (block_id&1)*0x20000ull)*1024;
11130 }
11131
11132 static inline uint64_t CVMX_PESCX_BIST_STATUS(unsigned long block_id)
11133 {
11134 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11135     if (!(
11136         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11137         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11138         cvmx_warn("CVMX_PESCX_BIST_STATUS(%lu) is invalid on this chip\n", block_id);
11139 #endif
11140     return CVMX_ADD_IO_SEG(0x00011800C8000018ull) + (block_id&1)*0x8000000ull;
11141 }
11142
11143 static inline uint64_t CVMX_PESCX_BIST_STATUS2(unsigned long block_id)
11144 {
11145 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11146     if (!(
11147         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11148         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11149         cvmx_warn("CVMX_PESCX_BIST_STATUS2(%lu) is invalid on this chip\n", block_id);
11150 #endif
11151     return CVMX_ADD_IO_SEG(0x00011800C8000418ull) + (block_id&1)*0x8000000ull;
11152 }
11153
11154 static inline uint64_t CVMX_PESCX_CFG_RD(unsigned long block_id)
11155 {
11156 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11157     if (!(
11158         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11159         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11160         cvmx_warn("CVMX_PESCX_CFG_RD(%lu) is invalid on this chip\n", block_id);
11161 #endif
11162     return CVMX_ADD_IO_SEG(0x00011800C8000030ull) + (block_id&1)*0x8000000ull;
11163 }
11164
11165 static inline uint64_t CVMX_PESCX_CFG_WR(unsigned long block_id)
11166 {
11167 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11168     if (!(
11169         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11170         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11171         cvmx_warn("CVMX_PESCX_CFG_WR(%lu) is invalid on this chip\n", block_id);
11172 #endif
11173     return CVMX_ADD_IO_SEG(0x00011800C8000028ull) + (block_id&1)*0x8000000ull;
11174 }
11175
11176 static inline uint64_t CVMX_PESCX_CPL_LUT_VALID(unsigned long block_id)
11177 {
11178 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11179     if (!(
11180         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11181         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11182         cvmx_warn("CVMX_PESCX_CPL_LUT_VALID(%lu) is invalid on this chip\n", block_id);
11183 #endif
11184     return CVMX_ADD_IO_SEG(0x00011800C8000098ull) + (block_id&1)*0x8000000ull;
11185 }
11186
11187 static inline uint64_t CVMX_PESCX_CTL_STATUS(unsigned long block_id)
11188 {
11189 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11190     if (!(
11191         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11192         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11193         cvmx_warn("CVMX_PESCX_CTL_STATUS(%lu) is invalid on this chip\n", block_id);
11194 #endif
11195     return CVMX_ADD_IO_SEG(0x00011800C8000000ull) + (block_id&1)*0x8000000ull;
11196 }
11197
11198 static inline uint64_t CVMX_PESCX_CTL_STATUS2(unsigned long block_id)
11199 {
11200 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11201     if (!(
11202         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11203         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11204         cvmx_warn("CVMX_PESCX_CTL_STATUS2(%lu) is invalid on this chip\n", block_id);
11205 #endif
11206     return CVMX_ADD_IO_SEG(0x00011800C8000400ull) + (block_id&1)*0x8000000ull;
11207 }
11208
11209 static inline uint64_t CVMX_PESCX_DBG_INFO(unsigned long block_id)
11210 {
11211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11212     if (!(
11213         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11214         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11215         cvmx_warn("CVMX_PESCX_DBG_INFO(%lu) is invalid on this chip\n", block_id);
11216 #endif
11217     return CVMX_ADD_IO_SEG(0x00011800C8000008ull) + (block_id&1)*0x8000000ull;
11218 }
11219
11220 static inline uint64_t CVMX_PESCX_DBG_INFO_EN(unsigned long block_id)
11221 {
11222 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11223     if (!(
11224         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11225         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11226         cvmx_warn("CVMX_PESCX_DBG_INFO_EN(%lu) is invalid on this chip\n", block_id);
11227 #endif
11228     return CVMX_ADD_IO_SEG(0x00011800C80000A0ull) + (block_id&1)*0x8000000ull;
11229 }
11230
11231 static inline uint64_t CVMX_PESCX_DIAG_STATUS(unsigned long block_id)
11232 {
11233 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11234     if (!(
11235         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11236         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11237         cvmx_warn("CVMX_PESCX_DIAG_STATUS(%lu) is invalid on this chip\n", block_id);
11238 #endif
11239     return CVMX_ADD_IO_SEG(0x00011800C8000020ull) + (block_id&1)*0x8000000ull;
11240 }
11241
11242 static inline uint64_t CVMX_PESCX_P2N_BAR0_START(unsigned long block_id)
11243 {
11244 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11245     if (!(
11246         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11247         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11248         cvmx_warn("CVMX_PESCX_P2N_BAR0_START(%lu) is invalid on this chip\n", block_id);
11249 #endif
11250     return CVMX_ADD_IO_SEG(0x00011800C8000080ull) + (block_id&1)*0x8000000ull;
11251 }
11252
11253 static inline uint64_t CVMX_PESCX_P2N_BAR1_START(unsigned long block_id)
11254 {
11255 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11256     if (!(
11257         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11258         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11259         cvmx_warn("CVMX_PESCX_P2N_BAR1_START(%lu) is invalid on this chip\n", block_id);
11260 #endif
11261     return CVMX_ADD_IO_SEG(0x00011800C8000088ull) + (block_id&1)*0x8000000ull;
11262 }
11263
11264 static inline uint64_t CVMX_PESCX_P2N_BAR2_START(unsigned long block_id)
11265 {
11266 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11267     if (!(
11268         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11269         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11270         cvmx_warn("CVMX_PESCX_P2N_BAR2_START(%lu) is invalid on this chip\n", block_id);
11271 #endif
11272     return CVMX_ADD_IO_SEG(0x00011800C8000090ull) + (block_id&1)*0x8000000ull;
11273 }
11274
11275 static inline uint64_t CVMX_PESCX_P2P_BARX_END(unsigned long offset, unsigned long block_id)
11276 {
11277 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11278     if (!(
11279         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11280         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id <= 1))))))
11281         cvmx_warn("CVMX_PESCX_P2P_BARX_END(%lu,%lu) is invalid on this chip\n", offset, block_id);
11282 #endif
11283     return CVMX_ADD_IO_SEG(0x00011800C8000048ull) + ((offset&3) + (block_id&1)*0x800000ull)*16;
11284 }
11285
11286 static inline uint64_t CVMX_PESCX_P2P_BARX_START(unsigned long offset, unsigned long block_id)
11287 {
11288 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11289     if (!(
11290         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 3)) && ((block_id <= 1)))) ||
11291         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 3)) && ((block_id <= 1))))))
11292         cvmx_warn("CVMX_PESCX_P2P_BARX_START(%lu,%lu) is invalid on this chip\n", offset, block_id);
11293 #endif
11294     return CVMX_ADD_IO_SEG(0x00011800C8000040ull) + ((offset&3) + (block_id&1)*0x800000ull)*16;
11295 }
11296
11297 static inline uint64_t CVMX_PESCX_TLP_CREDITS(unsigned long block_id)
11298 {
11299 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11300     if (!(
11301         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id <= 1))) ||
11302         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
11303         cvmx_warn("CVMX_PESCX_TLP_CREDITS(%lu) is invalid on this chip\n", block_id);
11304 #endif
11305     return CVMX_ADD_IO_SEG(0x00011800C8000038ull) + (block_id&1)*0x8000000ull;
11306 }
11307
11308 static inline uint64_t CVMX_PEXP_NPEI_BAR1_INDEXX(unsigned long offset)
11309 {
11310 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11311     if (!(
11312         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11313         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11314         cvmx_warn("CVMX_PEXP_NPEI_BAR1_INDEXX(%lu) is invalid on this chip\n", offset);
11315 #endif
11316     return CVMX_ADD_IO_SEG(0x00011F0000008000ull) + (offset&31)*16;
11317 }
11318
11319 #define CVMX_PEXP_NPEI_BIST_STATUS CVMX_PEXP_NPEI_BIST_STATUS_FUNC()
11320 static inline uint64_t CVMX_PEXP_NPEI_BIST_STATUS_FUNC(void)
11321 {
11322 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11323     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11324         cvmx_warn("CVMX_PEXP_NPEI_BIST_STATUS not supported on this chip\n");
11325 #endif
11326     return CVMX_ADD_IO_SEG(0x00011F0000008580ull);
11327 }
11328
11329 #define CVMX_PEXP_NPEI_BIST_STATUS2 CVMX_PEXP_NPEI_BIST_STATUS2_FUNC()
11330 static inline uint64_t CVMX_PEXP_NPEI_BIST_STATUS2_FUNC(void)
11331 {
11332 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11333     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11334         cvmx_warn("CVMX_PEXP_NPEI_BIST_STATUS2 not supported on this chip\n");
11335 #endif
11336     return CVMX_ADD_IO_SEG(0x00011F0000008680ull);
11337 }
11338
11339 #define CVMX_PEXP_NPEI_CTL_PORT0 CVMX_PEXP_NPEI_CTL_PORT0_FUNC()
11340 static inline uint64_t CVMX_PEXP_NPEI_CTL_PORT0_FUNC(void)
11341 {
11342 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11343     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11344         cvmx_warn("CVMX_PEXP_NPEI_CTL_PORT0 not supported on this chip\n");
11345 #endif
11346     return CVMX_ADD_IO_SEG(0x00011F0000008250ull);
11347 }
11348
11349 #define CVMX_PEXP_NPEI_CTL_PORT1 CVMX_PEXP_NPEI_CTL_PORT1_FUNC()
11350 static inline uint64_t CVMX_PEXP_NPEI_CTL_PORT1_FUNC(void)
11351 {
11352 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11353     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11354         cvmx_warn("CVMX_PEXP_NPEI_CTL_PORT1 not supported on this chip\n");
11355 #endif
11356     return CVMX_ADD_IO_SEG(0x00011F0000008260ull);
11357 }
11358
11359 #define CVMX_PEXP_NPEI_CTL_STATUS CVMX_PEXP_NPEI_CTL_STATUS_FUNC()
11360 static inline uint64_t CVMX_PEXP_NPEI_CTL_STATUS_FUNC(void)
11361 {
11362 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11363     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11364         cvmx_warn("CVMX_PEXP_NPEI_CTL_STATUS not supported on this chip\n");
11365 #endif
11366     return CVMX_ADD_IO_SEG(0x00011F0000008570ull);
11367 }
11368
11369 #define CVMX_PEXP_NPEI_CTL_STATUS2 CVMX_PEXP_NPEI_CTL_STATUS2_FUNC()
11370 static inline uint64_t CVMX_PEXP_NPEI_CTL_STATUS2_FUNC(void)
11371 {
11372 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11373     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11374         cvmx_warn("CVMX_PEXP_NPEI_CTL_STATUS2 not supported on this chip\n");
11375 #endif
11376     return CVMX_ADD_IO_SEG(0x00011F000000BC00ull);
11377 }
11378
11379 #define CVMX_PEXP_NPEI_DATA_OUT_CNT CVMX_PEXP_NPEI_DATA_OUT_CNT_FUNC()
11380 static inline uint64_t CVMX_PEXP_NPEI_DATA_OUT_CNT_FUNC(void)
11381 {
11382 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11383     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11384         cvmx_warn("CVMX_PEXP_NPEI_DATA_OUT_CNT not supported on this chip\n");
11385 #endif
11386     return CVMX_ADD_IO_SEG(0x00011F00000085F0ull);
11387 }
11388
11389 #define CVMX_PEXP_NPEI_DBG_DATA CVMX_PEXP_NPEI_DBG_DATA_FUNC()
11390 static inline uint64_t CVMX_PEXP_NPEI_DBG_DATA_FUNC(void)
11391 {
11392 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11393     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11394         cvmx_warn("CVMX_PEXP_NPEI_DBG_DATA not supported on this chip\n");
11395 #endif
11396     return CVMX_ADD_IO_SEG(0x00011F0000008510ull);
11397 }
11398
11399 #define CVMX_PEXP_NPEI_DBG_SELECT CVMX_PEXP_NPEI_DBG_SELECT_FUNC()
11400 static inline uint64_t CVMX_PEXP_NPEI_DBG_SELECT_FUNC(void)
11401 {
11402 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11403     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11404         cvmx_warn("CVMX_PEXP_NPEI_DBG_SELECT not supported on this chip\n");
11405 #endif
11406     return CVMX_ADD_IO_SEG(0x00011F0000008500ull);
11407 }
11408
11409 #define CVMX_PEXP_NPEI_DMA0_INT_LEVEL CVMX_PEXP_NPEI_DMA0_INT_LEVEL_FUNC()
11410 static inline uint64_t CVMX_PEXP_NPEI_DMA0_INT_LEVEL_FUNC(void)
11411 {
11412 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11413     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11414         cvmx_warn("CVMX_PEXP_NPEI_DMA0_INT_LEVEL not supported on this chip\n");
11415 #endif
11416     return CVMX_ADD_IO_SEG(0x00011F00000085C0ull);
11417 }
11418
11419 #define CVMX_PEXP_NPEI_DMA1_INT_LEVEL CVMX_PEXP_NPEI_DMA1_INT_LEVEL_FUNC()
11420 static inline uint64_t CVMX_PEXP_NPEI_DMA1_INT_LEVEL_FUNC(void)
11421 {
11422 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11423     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11424         cvmx_warn("CVMX_PEXP_NPEI_DMA1_INT_LEVEL not supported on this chip\n");
11425 #endif
11426     return CVMX_ADD_IO_SEG(0x00011F00000085D0ull);
11427 }
11428
11429 static inline uint64_t CVMX_PEXP_NPEI_DMAX_COUNTS(unsigned long offset)
11430 {
11431 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11432     if (!(
11433         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
11434         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
11435         cvmx_warn("CVMX_PEXP_NPEI_DMAX_COUNTS(%lu) is invalid on this chip\n", offset);
11436 #endif
11437     return CVMX_ADD_IO_SEG(0x00011F0000008450ull) + (offset&7)*16;
11438 }
11439
11440 static inline uint64_t CVMX_PEXP_NPEI_DMAX_DBELL(unsigned long offset)
11441 {
11442 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11443     if (!(
11444         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
11445         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
11446         cvmx_warn("CVMX_PEXP_NPEI_DMAX_DBELL(%lu) is invalid on this chip\n", offset);
11447 #endif
11448     return CVMX_ADD_IO_SEG(0x00011F00000083B0ull) + (offset&7)*16;
11449 }
11450
11451 static inline uint64_t CVMX_PEXP_NPEI_DMAX_IBUFF_SADDR(unsigned long offset)
11452 {
11453 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11454     if (!(
11455         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
11456         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
11457         cvmx_warn("CVMX_PEXP_NPEI_DMAX_IBUFF_SADDR(%lu) is invalid on this chip\n", offset);
11458 #endif
11459     return CVMX_ADD_IO_SEG(0x00011F0000008400ull) + (offset&7)*16;
11460 }
11461
11462 static inline uint64_t CVMX_PEXP_NPEI_DMAX_NADDR(unsigned long offset)
11463 {
11464 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11465     if (!(
11466         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 4))) ||
11467         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 4)))))
11468         cvmx_warn("CVMX_PEXP_NPEI_DMAX_NADDR(%lu) is invalid on this chip\n", offset);
11469 #endif
11470     return CVMX_ADD_IO_SEG(0x00011F00000084A0ull) + (offset&7)*16;
11471 }
11472
11473 #define CVMX_PEXP_NPEI_DMA_CNTS CVMX_PEXP_NPEI_DMA_CNTS_FUNC()
11474 static inline uint64_t CVMX_PEXP_NPEI_DMA_CNTS_FUNC(void)
11475 {
11476 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11477     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11478         cvmx_warn("CVMX_PEXP_NPEI_DMA_CNTS not supported on this chip\n");
11479 #endif
11480     return CVMX_ADD_IO_SEG(0x00011F00000085E0ull);
11481 }
11482
11483 #define CVMX_PEXP_NPEI_DMA_CONTROL CVMX_PEXP_NPEI_DMA_CONTROL_FUNC()
11484 static inline uint64_t CVMX_PEXP_NPEI_DMA_CONTROL_FUNC(void)
11485 {
11486 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11487     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11488         cvmx_warn("CVMX_PEXP_NPEI_DMA_CONTROL not supported on this chip\n");
11489 #endif
11490     return CVMX_ADD_IO_SEG(0x00011F00000083A0ull);
11491 }
11492
11493 #define CVMX_PEXP_NPEI_DMA_PCIE_REQ_NUM CVMX_PEXP_NPEI_DMA_PCIE_REQ_NUM_FUNC()
11494 static inline uint64_t CVMX_PEXP_NPEI_DMA_PCIE_REQ_NUM_FUNC(void)
11495 {
11496 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11497     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11498         cvmx_warn("CVMX_PEXP_NPEI_DMA_PCIE_REQ_NUM not supported on this chip\n");
11499 #endif
11500     return CVMX_ADD_IO_SEG(0x00011F00000085B0ull);
11501 }
11502
11503 #define CVMX_PEXP_NPEI_DMA_STATE1 CVMX_PEXP_NPEI_DMA_STATE1_FUNC()
11504 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE1_FUNC(void)
11505 {
11506 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11507     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
11508         cvmx_warn("CVMX_PEXP_NPEI_DMA_STATE1 not supported on this chip\n");
11509 #endif
11510     return CVMX_ADD_IO_SEG(0x00011F00000086C0ull);
11511 }
11512
11513 #define CVMX_PEXP_NPEI_DMA_STATE1_P1 CVMX_PEXP_NPEI_DMA_STATE1_P1_FUNC()
11514 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE1_P1_FUNC(void)
11515 {
11516     return CVMX_ADD_IO_SEG(0x00011F0000008680ull);
11517 }
11518
11519 #define CVMX_PEXP_NPEI_DMA_STATE2 CVMX_PEXP_NPEI_DMA_STATE2_FUNC()
11520 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE2_FUNC(void)
11521 {
11522 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11523     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX)))
11524         cvmx_warn("CVMX_PEXP_NPEI_DMA_STATE2 not supported on this chip\n");
11525 #endif
11526     return CVMX_ADD_IO_SEG(0x00011F00000086D0ull);
11527 }
11528
11529 #define CVMX_PEXP_NPEI_DMA_STATE2_P1 CVMX_PEXP_NPEI_DMA_STATE2_P1_FUNC()
11530 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE2_P1_FUNC(void)
11531 {
11532     return CVMX_ADD_IO_SEG(0x00011F0000008690ull);
11533 }
11534
11535 #define CVMX_PEXP_NPEI_DMA_STATE3_P1 CVMX_PEXP_NPEI_DMA_STATE3_P1_FUNC()
11536 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE3_P1_FUNC(void)
11537 {
11538     return CVMX_ADD_IO_SEG(0x00011F00000086A0ull);
11539 }
11540
11541 #define CVMX_PEXP_NPEI_DMA_STATE4_P1 CVMX_PEXP_NPEI_DMA_STATE4_P1_FUNC()
11542 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE4_P1_FUNC(void)
11543 {
11544     return CVMX_ADD_IO_SEG(0x00011F00000086B0ull);
11545 }
11546
11547 #define CVMX_PEXP_NPEI_DMA_STATE5_P1 CVMX_PEXP_NPEI_DMA_STATE5_P1_FUNC()
11548 static inline uint64_t CVMX_PEXP_NPEI_DMA_STATE5_P1_FUNC(void)
11549 {
11550     return CVMX_ADD_IO_SEG(0x00011F00000086C0ull);
11551 }
11552
11553 #define CVMX_PEXP_NPEI_INT_A_ENB CVMX_PEXP_NPEI_INT_A_ENB_FUNC()
11554 static inline uint64_t CVMX_PEXP_NPEI_INT_A_ENB_FUNC(void)
11555 {
11556 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11557     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11558         cvmx_warn("CVMX_PEXP_NPEI_INT_A_ENB not supported on this chip\n");
11559 #endif
11560     return CVMX_ADD_IO_SEG(0x00011F0000008560ull);
11561 }
11562
11563 #define CVMX_PEXP_NPEI_INT_A_ENB2 CVMX_PEXP_NPEI_INT_A_ENB2_FUNC()
11564 static inline uint64_t CVMX_PEXP_NPEI_INT_A_ENB2_FUNC(void)
11565 {
11566 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11567     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11568         cvmx_warn("CVMX_PEXP_NPEI_INT_A_ENB2 not supported on this chip\n");
11569 #endif
11570     return CVMX_ADD_IO_SEG(0x00011F000000BCE0ull);
11571 }
11572
11573 #define CVMX_PEXP_NPEI_INT_A_SUM CVMX_PEXP_NPEI_INT_A_SUM_FUNC()
11574 static inline uint64_t CVMX_PEXP_NPEI_INT_A_SUM_FUNC(void)
11575 {
11576 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11577     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11578         cvmx_warn("CVMX_PEXP_NPEI_INT_A_SUM not supported on this chip\n");
11579 #endif
11580     return CVMX_ADD_IO_SEG(0x00011F0000008550ull);
11581 }
11582
11583 #define CVMX_PEXP_NPEI_INT_ENB CVMX_PEXP_NPEI_INT_ENB_FUNC()
11584 static inline uint64_t CVMX_PEXP_NPEI_INT_ENB_FUNC(void)
11585 {
11586 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11587     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11588         cvmx_warn("CVMX_PEXP_NPEI_INT_ENB not supported on this chip\n");
11589 #endif
11590     return CVMX_ADD_IO_SEG(0x00011F0000008540ull);
11591 }
11592
11593 #define CVMX_PEXP_NPEI_INT_ENB2 CVMX_PEXP_NPEI_INT_ENB2_FUNC()
11594 static inline uint64_t CVMX_PEXP_NPEI_INT_ENB2_FUNC(void)
11595 {
11596 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11597     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11598         cvmx_warn("CVMX_PEXP_NPEI_INT_ENB2 not supported on this chip\n");
11599 #endif
11600     return CVMX_ADD_IO_SEG(0x00011F000000BCD0ull);
11601 }
11602
11603 #define CVMX_PEXP_NPEI_INT_INFO CVMX_PEXP_NPEI_INT_INFO_FUNC()
11604 static inline uint64_t CVMX_PEXP_NPEI_INT_INFO_FUNC(void)
11605 {
11606 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11607     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11608         cvmx_warn("CVMX_PEXP_NPEI_INT_INFO not supported on this chip\n");
11609 #endif
11610     return CVMX_ADD_IO_SEG(0x00011F0000008590ull);
11611 }
11612
11613 #define CVMX_PEXP_NPEI_INT_SUM CVMX_PEXP_NPEI_INT_SUM_FUNC()
11614 static inline uint64_t CVMX_PEXP_NPEI_INT_SUM_FUNC(void)
11615 {
11616 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11617     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11618         cvmx_warn("CVMX_PEXP_NPEI_INT_SUM not supported on this chip\n");
11619 #endif
11620     return CVMX_ADD_IO_SEG(0x00011F0000008530ull);
11621 }
11622
11623 #define CVMX_PEXP_NPEI_INT_SUM2 CVMX_PEXP_NPEI_INT_SUM2_FUNC()
11624 static inline uint64_t CVMX_PEXP_NPEI_INT_SUM2_FUNC(void)
11625 {
11626 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11627     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11628         cvmx_warn("CVMX_PEXP_NPEI_INT_SUM2 not supported on this chip\n");
11629 #endif
11630     return CVMX_ADD_IO_SEG(0x00011F000000BCC0ull);
11631 }
11632
11633 #define CVMX_PEXP_NPEI_LAST_WIN_RDATA0 CVMX_PEXP_NPEI_LAST_WIN_RDATA0_FUNC()
11634 static inline uint64_t CVMX_PEXP_NPEI_LAST_WIN_RDATA0_FUNC(void)
11635 {
11636 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11637     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11638         cvmx_warn("CVMX_PEXP_NPEI_LAST_WIN_RDATA0 not supported on this chip\n");
11639 #endif
11640     return CVMX_ADD_IO_SEG(0x00011F0000008600ull);
11641 }
11642
11643 #define CVMX_PEXP_NPEI_LAST_WIN_RDATA1 CVMX_PEXP_NPEI_LAST_WIN_RDATA1_FUNC()
11644 static inline uint64_t CVMX_PEXP_NPEI_LAST_WIN_RDATA1_FUNC(void)
11645 {
11646 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11647     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11648         cvmx_warn("CVMX_PEXP_NPEI_LAST_WIN_RDATA1 not supported on this chip\n");
11649 #endif
11650     return CVMX_ADD_IO_SEG(0x00011F0000008610ull);
11651 }
11652
11653 #define CVMX_PEXP_NPEI_MEM_ACCESS_CTL CVMX_PEXP_NPEI_MEM_ACCESS_CTL_FUNC()
11654 static inline uint64_t CVMX_PEXP_NPEI_MEM_ACCESS_CTL_FUNC(void)
11655 {
11656 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11657     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11658         cvmx_warn("CVMX_PEXP_NPEI_MEM_ACCESS_CTL not supported on this chip\n");
11659 #endif
11660     return CVMX_ADD_IO_SEG(0x00011F00000084F0ull);
11661 }
11662
11663 static inline uint64_t CVMX_PEXP_NPEI_MEM_ACCESS_SUBIDX(unsigned long offset)
11664 {
11665 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11666     if (!(
11667         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset >= 12) && (offset <= 27)))) ||
11668         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset >= 12) && (offset <= 27))))))
11669         cvmx_warn("CVMX_PEXP_NPEI_MEM_ACCESS_SUBIDX(%lu) is invalid on this chip\n", offset);
11670 #endif
11671     return CVMX_ADD_IO_SEG(0x00011F0000008280ull) + (offset&31)*16 - 16*12;
11672 }
11673
11674 #define CVMX_PEXP_NPEI_MSI_ENB0 CVMX_PEXP_NPEI_MSI_ENB0_FUNC()
11675 static inline uint64_t CVMX_PEXP_NPEI_MSI_ENB0_FUNC(void)
11676 {
11677 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11678     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11679         cvmx_warn("CVMX_PEXP_NPEI_MSI_ENB0 not supported on this chip\n");
11680 #endif
11681     return CVMX_ADD_IO_SEG(0x00011F000000BC50ull);
11682 }
11683
11684 #define CVMX_PEXP_NPEI_MSI_ENB1 CVMX_PEXP_NPEI_MSI_ENB1_FUNC()
11685 static inline uint64_t CVMX_PEXP_NPEI_MSI_ENB1_FUNC(void)
11686 {
11687 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11688     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11689         cvmx_warn("CVMX_PEXP_NPEI_MSI_ENB1 not supported on this chip\n");
11690 #endif
11691     return CVMX_ADD_IO_SEG(0x00011F000000BC60ull);
11692 }
11693
11694 #define CVMX_PEXP_NPEI_MSI_ENB2 CVMX_PEXP_NPEI_MSI_ENB2_FUNC()
11695 static inline uint64_t CVMX_PEXP_NPEI_MSI_ENB2_FUNC(void)
11696 {
11697 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11698     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11699         cvmx_warn("CVMX_PEXP_NPEI_MSI_ENB2 not supported on this chip\n");
11700 #endif
11701     return CVMX_ADD_IO_SEG(0x00011F000000BC70ull);
11702 }
11703
11704 #define CVMX_PEXP_NPEI_MSI_ENB3 CVMX_PEXP_NPEI_MSI_ENB3_FUNC()
11705 static inline uint64_t CVMX_PEXP_NPEI_MSI_ENB3_FUNC(void)
11706 {
11707 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11708     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11709         cvmx_warn("CVMX_PEXP_NPEI_MSI_ENB3 not supported on this chip\n");
11710 #endif
11711     return CVMX_ADD_IO_SEG(0x00011F000000BC80ull);
11712 }
11713
11714 #define CVMX_PEXP_NPEI_MSI_RCV0 CVMX_PEXP_NPEI_MSI_RCV0_FUNC()
11715 static inline uint64_t CVMX_PEXP_NPEI_MSI_RCV0_FUNC(void)
11716 {
11717 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11718     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11719         cvmx_warn("CVMX_PEXP_NPEI_MSI_RCV0 not supported on this chip\n");
11720 #endif
11721     return CVMX_ADD_IO_SEG(0x00011F000000BC10ull);
11722 }
11723
11724 #define CVMX_PEXP_NPEI_MSI_RCV1 CVMX_PEXP_NPEI_MSI_RCV1_FUNC()
11725 static inline uint64_t CVMX_PEXP_NPEI_MSI_RCV1_FUNC(void)
11726 {
11727 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11728     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11729         cvmx_warn("CVMX_PEXP_NPEI_MSI_RCV1 not supported on this chip\n");
11730 #endif
11731     return CVMX_ADD_IO_SEG(0x00011F000000BC20ull);
11732 }
11733
11734 #define CVMX_PEXP_NPEI_MSI_RCV2 CVMX_PEXP_NPEI_MSI_RCV2_FUNC()
11735 static inline uint64_t CVMX_PEXP_NPEI_MSI_RCV2_FUNC(void)
11736 {
11737 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11738     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11739         cvmx_warn("CVMX_PEXP_NPEI_MSI_RCV2 not supported on this chip\n");
11740 #endif
11741     return CVMX_ADD_IO_SEG(0x00011F000000BC30ull);
11742 }
11743
11744 #define CVMX_PEXP_NPEI_MSI_RCV3 CVMX_PEXP_NPEI_MSI_RCV3_FUNC()
11745 static inline uint64_t CVMX_PEXP_NPEI_MSI_RCV3_FUNC(void)
11746 {
11747 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11748     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11749         cvmx_warn("CVMX_PEXP_NPEI_MSI_RCV3 not supported on this chip\n");
11750 #endif
11751     return CVMX_ADD_IO_SEG(0x00011F000000BC40ull);
11752 }
11753
11754 #define CVMX_PEXP_NPEI_MSI_RD_MAP CVMX_PEXP_NPEI_MSI_RD_MAP_FUNC()
11755 static inline uint64_t CVMX_PEXP_NPEI_MSI_RD_MAP_FUNC(void)
11756 {
11757 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11758     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11759         cvmx_warn("CVMX_PEXP_NPEI_MSI_RD_MAP not supported on this chip\n");
11760 #endif
11761     return CVMX_ADD_IO_SEG(0x00011F000000BCA0ull);
11762 }
11763
11764 #define CVMX_PEXP_NPEI_MSI_W1C_ENB0 CVMX_PEXP_NPEI_MSI_W1C_ENB0_FUNC()
11765 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1C_ENB0_FUNC(void)
11766 {
11767 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11768     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11769         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1C_ENB0 not supported on this chip\n");
11770 #endif
11771     return CVMX_ADD_IO_SEG(0x00011F000000BCF0ull);
11772 }
11773
11774 #define CVMX_PEXP_NPEI_MSI_W1C_ENB1 CVMX_PEXP_NPEI_MSI_W1C_ENB1_FUNC()
11775 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1C_ENB1_FUNC(void)
11776 {
11777 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11778     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11779         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1C_ENB1 not supported on this chip\n");
11780 #endif
11781     return CVMX_ADD_IO_SEG(0x00011F000000BD00ull);
11782 }
11783
11784 #define CVMX_PEXP_NPEI_MSI_W1C_ENB2 CVMX_PEXP_NPEI_MSI_W1C_ENB2_FUNC()
11785 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1C_ENB2_FUNC(void)
11786 {
11787 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11788     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11789         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1C_ENB2 not supported on this chip\n");
11790 #endif
11791     return CVMX_ADD_IO_SEG(0x00011F000000BD10ull);
11792 }
11793
11794 #define CVMX_PEXP_NPEI_MSI_W1C_ENB3 CVMX_PEXP_NPEI_MSI_W1C_ENB3_FUNC()
11795 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1C_ENB3_FUNC(void)
11796 {
11797 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11798     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11799         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1C_ENB3 not supported on this chip\n");
11800 #endif
11801     return CVMX_ADD_IO_SEG(0x00011F000000BD20ull);
11802 }
11803
11804 #define CVMX_PEXP_NPEI_MSI_W1S_ENB0 CVMX_PEXP_NPEI_MSI_W1S_ENB0_FUNC()
11805 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1S_ENB0_FUNC(void)
11806 {
11807 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11808     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11809         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1S_ENB0 not supported on this chip\n");
11810 #endif
11811     return CVMX_ADD_IO_SEG(0x00011F000000BD30ull);
11812 }
11813
11814 #define CVMX_PEXP_NPEI_MSI_W1S_ENB1 CVMX_PEXP_NPEI_MSI_W1S_ENB1_FUNC()
11815 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1S_ENB1_FUNC(void)
11816 {
11817 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11818     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11819         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1S_ENB1 not supported on this chip\n");
11820 #endif
11821     return CVMX_ADD_IO_SEG(0x00011F000000BD40ull);
11822 }
11823
11824 #define CVMX_PEXP_NPEI_MSI_W1S_ENB2 CVMX_PEXP_NPEI_MSI_W1S_ENB2_FUNC()
11825 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1S_ENB2_FUNC(void)
11826 {
11827 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11828     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11829         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1S_ENB2 not supported on this chip\n");
11830 #endif
11831     return CVMX_ADD_IO_SEG(0x00011F000000BD50ull);
11832 }
11833
11834 #define CVMX_PEXP_NPEI_MSI_W1S_ENB3 CVMX_PEXP_NPEI_MSI_W1S_ENB3_FUNC()
11835 static inline uint64_t CVMX_PEXP_NPEI_MSI_W1S_ENB3_FUNC(void)
11836 {
11837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11838     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11839         cvmx_warn("CVMX_PEXP_NPEI_MSI_W1S_ENB3 not supported on this chip\n");
11840 #endif
11841     return CVMX_ADD_IO_SEG(0x00011F000000BD60ull);
11842 }
11843
11844 #define CVMX_PEXP_NPEI_MSI_WR_MAP CVMX_PEXP_NPEI_MSI_WR_MAP_FUNC()
11845 static inline uint64_t CVMX_PEXP_NPEI_MSI_WR_MAP_FUNC(void)
11846 {
11847 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11848     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11849         cvmx_warn("CVMX_PEXP_NPEI_MSI_WR_MAP not supported on this chip\n");
11850 #endif
11851     return CVMX_ADD_IO_SEG(0x00011F000000BC90ull);
11852 }
11853
11854 #define CVMX_PEXP_NPEI_PCIE_CREDIT_CNT CVMX_PEXP_NPEI_PCIE_CREDIT_CNT_FUNC()
11855 static inline uint64_t CVMX_PEXP_NPEI_PCIE_CREDIT_CNT_FUNC(void)
11856 {
11857 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11858     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11859         cvmx_warn("CVMX_PEXP_NPEI_PCIE_CREDIT_CNT not supported on this chip\n");
11860 #endif
11861     return CVMX_ADD_IO_SEG(0x00011F000000BD70ull);
11862 }
11863
11864 #define CVMX_PEXP_NPEI_PCIE_MSI_RCV CVMX_PEXP_NPEI_PCIE_MSI_RCV_FUNC()
11865 static inline uint64_t CVMX_PEXP_NPEI_PCIE_MSI_RCV_FUNC(void)
11866 {
11867 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11868     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11869         cvmx_warn("CVMX_PEXP_NPEI_PCIE_MSI_RCV not supported on this chip\n");
11870 #endif
11871     return CVMX_ADD_IO_SEG(0x00011F000000BCB0ull);
11872 }
11873
11874 #define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B1 CVMX_PEXP_NPEI_PCIE_MSI_RCV_B1_FUNC()
11875 static inline uint64_t CVMX_PEXP_NPEI_PCIE_MSI_RCV_B1_FUNC(void)
11876 {
11877 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11878     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11879         cvmx_warn("CVMX_PEXP_NPEI_PCIE_MSI_RCV_B1 not supported on this chip\n");
11880 #endif
11881     return CVMX_ADD_IO_SEG(0x00011F0000008650ull);
11882 }
11883
11884 #define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B2 CVMX_PEXP_NPEI_PCIE_MSI_RCV_B2_FUNC()
11885 static inline uint64_t CVMX_PEXP_NPEI_PCIE_MSI_RCV_B2_FUNC(void)
11886 {
11887 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11888     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11889         cvmx_warn("CVMX_PEXP_NPEI_PCIE_MSI_RCV_B2 not supported on this chip\n");
11890 #endif
11891     return CVMX_ADD_IO_SEG(0x00011F0000008660ull);
11892 }
11893
11894 #define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B3 CVMX_PEXP_NPEI_PCIE_MSI_RCV_B3_FUNC()
11895 static inline uint64_t CVMX_PEXP_NPEI_PCIE_MSI_RCV_B3_FUNC(void)
11896 {
11897 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11898     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
11899         cvmx_warn("CVMX_PEXP_NPEI_PCIE_MSI_RCV_B3 not supported on this chip\n");
11900 #endif
11901     return CVMX_ADD_IO_SEG(0x00011F0000008670ull);
11902 }
11903
11904 static inline uint64_t CVMX_PEXP_NPEI_PKTX_CNTS(unsigned long offset)
11905 {
11906 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11907     if (!(
11908         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11909         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11910         cvmx_warn("CVMX_PEXP_NPEI_PKTX_CNTS(%lu) is invalid on this chip\n", offset);
11911 #endif
11912     return CVMX_ADD_IO_SEG(0x00011F000000A400ull) + (offset&31)*16;
11913 }
11914
11915 static inline uint64_t CVMX_PEXP_NPEI_PKTX_INSTR_BADDR(unsigned long offset)
11916 {
11917 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11918     if (!(
11919         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11920         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11921         cvmx_warn("CVMX_PEXP_NPEI_PKTX_INSTR_BADDR(%lu) is invalid on this chip\n", offset);
11922 #endif
11923     return CVMX_ADD_IO_SEG(0x00011F000000A800ull) + (offset&31)*16;
11924 }
11925
11926 static inline uint64_t CVMX_PEXP_NPEI_PKTX_INSTR_BAOFF_DBELL(unsigned long offset)
11927 {
11928 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11929     if (!(
11930         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11931         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11932         cvmx_warn("CVMX_PEXP_NPEI_PKTX_INSTR_BAOFF_DBELL(%lu) is invalid on this chip\n", offset);
11933 #endif
11934     return CVMX_ADD_IO_SEG(0x00011F000000AC00ull) + (offset&31)*16;
11935 }
11936
11937 static inline uint64_t CVMX_PEXP_NPEI_PKTX_INSTR_FIFO_RSIZE(unsigned long offset)
11938 {
11939 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11940     if (!(
11941         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11942         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11943         cvmx_warn("CVMX_PEXP_NPEI_PKTX_INSTR_FIFO_RSIZE(%lu) is invalid on this chip\n", offset);
11944 #endif
11945     return CVMX_ADD_IO_SEG(0x00011F000000B000ull) + (offset&31)*16;
11946 }
11947
11948 static inline uint64_t CVMX_PEXP_NPEI_PKTX_INSTR_HEADER(unsigned long offset)
11949 {
11950 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11951     if (!(
11952         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11953         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11954         cvmx_warn("CVMX_PEXP_NPEI_PKTX_INSTR_HEADER(%lu) is invalid on this chip\n", offset);
11955 #endif
11956     return CVMX_ADD_IO_SEG(0x00011F000000B400ull) + (offset&31)*16;
11957 }
11958
11959 static inline uint64_t CVMX_PEXP_NPEI_PKTX_IN_BP(unsigned long offset)
11960 {
11961 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11962     if (!(
11963         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11964         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11965         cvmx_warn("CVMX_PEXP_NPEI_PKTX_IN_BP(%lu) is invalid on this chip\n", offset);
11966 #endif
11967     return CVMX_ADD_IO_SEG(0x00011F000000B800ull) + (offset&31)*16;
11968 }
11969
11970 static inline uint64_t CVMX_PEXP_NPEI_PKTX_SLIST_BADDR(unsigned long offset)
11971 {
11972 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11973     if (!(
11974         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11975         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11976         cvmx_warn("CVMX_PEXP_NPEI_PKTX_SLIST_BADDR(%lu) is invalid on this chip\n", offset);
11977 #endif
11978     return CVMX_ADD_IO_SEG(0x00011F0000009400ull) + (offset&31)*16;
11979 }
11980
11981 static inline uint64_t CVMX_PEXP_NPEI_PKTX_SLIST_BAOFF_DBELL(unsigned long offset)
11982 {
11983 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11984     if (!(
11985         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11986         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11987         cvmx_warn("CVMX_PEXP_NPEI_PKTX_SLIST_BAOFF_DBELL(%lu) is invalid on this chip\n", offset);
11988 #endif
11989     return CVMX_ADD_IO_SEG(0x00011F0000009800ull) + (offset&31)*16;
11990 }
11991
11992 static inline uint64_t CVMX_PEXP_NPEI_PKTX_SLIST_FIFO_RSIZE(unsigned long offset)
11993 {
11994 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
11995     if (!(
11996         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
11997         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
11998         cvmx_warn("CVMX_PEXP_NPEI_PKTX_SLIST_FIFO_RSIZE(%lu) is invalid on this chip\n", offset);
11999 #endif
12000     return CVMX_ADD_IO_SEG(0x00011F0000009C00ull) + (offset&31)*16;
12001 }
12002
12003 #define CVMX_PEXP_NPEI_PKT_CNT_INT CVMX_PEXP_NPEI_PKT_CNT_INT_FUNC()
12004 static inline uint64_t CVMX_PEXP_NPEI_PKT_CNT_INT_FUNC(void)
12005 {
12006 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12007     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12008         cvmx_warn("CVMX_PEXP_NPEI_PKT_CNT_INT not supported on this chip\n");
12009 #endif
12010     return CVMX_ADD_IO_SEG(0x00011F0000009110ull);
12011 }
12012
12013 #define CVMX_PEXP_NPEI_PKT_CNT_INT_ENB CVMX_PEXP_NPEI_PKT_CNT_INT_ENB_FUNC()
12014 static inline uint64_t CVMX_PEXP_NPEI_PKT_CNT_INT_ENB_FUNC(void)
12015 {
12016 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12017     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12018         cvmx_warn("CVMX_PEXP_NPEI_PKT_CNT_INT_ENB not supported on this chip\n");
12019 #endif
12020     return CVMX_ADD_IO_SEG(0x00011F0000009130ull);
12021 }
12022
12023 #define CVMX_PEXP_NPEI_PKT_DATA_OUT_ES CVMX_PEXP_NPEI_PKT_DATA_OUT_ES_FUNC()
12024 static inline uint64_t CVMX_PEXP_NPEI_PKT_DATA_OUT_ES_FUNC(void)
12025 {
12026 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12027     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12028         cvmx_warn("CVMX_PEXP_NPEI_PKT_DATA_OUT_ES not supported on this chip\n");
12029 #endif
12030     return CVMX_ADD_IO_SEG(0x00011F00000090B0ull);
12031 }
12032
12033 #define CVMX_PEXP_NPEI_PKT_DATA_OUT_NS CVMX_PEXP_NPEI_PKT_DATA_OUT_NS_FUNC()
12034 static inline uint64_t CVMX_PEXP_NPEI_PKT_DATA_OUT_NS_FUNC(void)
12035 {
12036 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12037     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12038         cvmx_warn("CVMX_PEXP_NPEI_PKT_DATA_OUT_NS not supported on this chip\n");
12039 #endif
12040     return CVMX_ADD_IO_SEG(0x00011F00000090A0ull);
12041 }
12042
12043 #define CVMX_PEXP_NPEI_PKT_DATA_OUT_ROR CVMX_PEXP_NPEI_PKT_DATA_OUT_ROR_FUNC()
12044 static inline uint64_t CVMX_PEXP_NPEI_PKT_DATA_OUT_ROR_FUNC(void)
12045 {
12046 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12047     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12048         cvmx_warn("CVMX_PEXP_NPEI_PKT_DATA_OUT_ROR not supported on this chip\n");
12049 #endif
12050     return CVMX_ADD_IO_SEG(0x00011F0000009090ull);
12051 }
12052
12053 #define CVMX_PEXP_NPEI_PKT_DPADDR CVMX_PEXP_NPEI_PKT_DPADDR_FUNC()
12054 static inline uint64_t CVMX_PEXP_NPEI_PKT_DPADDR_FUNC(void)
12055 {
12056 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12057     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12058         cvmx_warn("CVMX_PEXP_NPEI_PKT_DPADDR not supported on this chip\n");
12059 #endif
12060     return CVMX_ADD_IO_SEG(0x00011F0000009080ull);
12061 }
12062
12063 #define CVMX_PEXP_NPEI_PKT_INPUT_CONTROL CVMX_PEXP_NPEI_PKT_INPUT_CONTROL_FUNC()
12064 static inline uint64_t CVMX_PEXP_NPEI_PKT_INPUT_CONTROL_FUNC(void)
12065 {
12066 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12067     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12068         cvmx_warn("CVMX_PEXP_NPEI_PKT_INPUT_CONTROL not supported on this chip\n");
12069 #endif
12070     return CVMX_ADD_IO_SEG(0x00011F0000009150ull);
12071 }
12072
12073 #define CVMX_PEXP_NPEI_PKT_INSTR_ENB CVMX_PEXP_NPEI_PKT_INSTR_ENB_FUNC()
12074 static inline uint64_t CVMX_PEXP_NPEI_PKT_INSTR_ENB_FUNC(void)
12075 {
12076 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12077     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12078         cvmx_warn("CVMX_PEXP_NPEI_PKT_INSTR_ENB not supported on this chip\n");
12079 #endif
12080     return CVMX_ADD_IO_SEG(0x00011F0000009000ull);
12081 }
12082
12083 #define CVMX_PEXP_NPEI_PKT_INSTR_RD_SIZE CVMX_PEXP_NPEI_PKT_INSTR_RD_SIZE_FUNC()
12084 static inline uint64_t CVMX_PEXP_NPEI_PKT_INSTR_RD_SIZE_FUNC(void)
12085 {
12086 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12087     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12088         cvmx_warn("CVMX_PEXP_NPEI_PKT_INSTR_RD_SIZE not supported on this chip\n");
12089 #endif
12090     return CVMX_ADD_IO_SEG(0x00011F0000009190ull);
12091 }
12092
12093 #define CVMX_PEXP_NPEI_PKT_INSTR_SIZE CVMX_PEXP_NPEI_PKT_INSTR_SIZE_FUNC()
12094 static inline uint64_t CVMX_PEXP_NPEI_PKT_INSTR_SIZE_FUNC(void)
12095 {
12096 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12097     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12098         cvmx_warn("CVMX_PEXP_NPEI_PKT_INSTR_SIZE not supported on this chip\n");
12099 #endif
12100     return CVMX_ADD_IO_SEG(0x00011F0000009020ull);
12101 }
12102
12103 #define CVMX_PEXP_NPEI_PKT_INT_LEVELS CVMX_PEXP_NPEI_PKT_INT_LEVELS_FUNC()
12104 static inline uint64_t CVMX_PEXP_NPEI_PKT_INT_LEVELS_FUNC(void)
12105 {
12106 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12107     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12108         cvmx_warn("CVMX_PEXP_NPEI_PKT_INT_LEVELS not supported on this chip\n");
12109 #endif
12110     return CVMX_ADD_IO_SEG(0x00011F0000009100ull);
12111 }
12112
12113 #define CVMX_PEXP_NPEI_PKT_IN_BP CVMX_PEXP_NPEI_PKT_IN_BP_FUNC()
12114 static inline uint64_t CVMX_PEXP_NPEI_PKT_IN_BP_FUNC(void)
12115 {
12116 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12117     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12118         cvmx_warn("CVMX_PEXP_NPEI_PKT_IN_BP not supported on this chip\n");
12119 #endif
12120     return CVMX_ADD_IO_SEG(0x00011F00000086B0ull);
12121 }
12122
12123 static inline uint64_t CVMX_PEXP_NPEI_PKT_IN_DONEX_CNTS(unsigned long offset)
12124 {
12125 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12126     if (!(
12127         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 31))) ||
12128         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 31)))))
12129         cvmx_warn("CVMX_PEXP_NPEI_PKT_IN_DONEX_CNTS(%lu) is invalid on this chip\n", offset);
12130 #endif
12131     return CVMX_ADD_IO_SEG(0x00011F000000A000ull) + (offset&31)*16;
12132 }
12133
12134 #define CVMX_PEXP_NPEI_PKT_IN_INSTR_COUNTS CVMX_PEXP_NPEI_PKT_IN_INSTR_COUNTS_FUNC()
12135 static inline uint64_t CVMX_PEXP_NPEI_PKT_IN_INSTR_COUNTS_FUNC(void)
12136 {
12137 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12138     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12139         cvmx_warn("CVMX_PEXP_NPEI_PKT_IN_INSTR_COUNTS not supported on this chip\n");
12140 #endif
12141     return CVMX_ADD_IO_SEG(0x00011F00000086A0ull);
12142 }
12143
12144 #define CVMX_PEXP_NPEI_PKT_IN_PCIE_PORT CVMX_PEXP_NPEI_PKT_IN_PCIE_PORT_FUNC()
12145 static inline uint64_t CVMX_PEXP_NPEI_PKT_IN_PCIE_PORT_FUNC(void)
12146 {
12147 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12148     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12149         cvmx_warn("CVMX_PEXP_NPEI_PKT_IN_PCIE_PORT not supported on this chip\n");
12150 #endif
12151     return CVMX_ADD_IO_SEG(0x00011F00000091A0ull);
12152 }
12153
12154 #define CVMX_PEXP_NPEI_PKT_IPTR CVMX_PEXP_NPEI_PKT_IPTR_FUNC()
12155 static inline uint64_t CVMX_PEXP_NPEI_PKT_IPTR_FUNC(void)
12156 {
12157 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12158     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12159         cvmx_warn("CVMX_PEXP_NPEI_PKT_IPTR not supported on this chip\n");
12160 #endif
12161     return CVMX_ADD_IO_SEG(0x00011F0000009070ull);
12162 }
12163
12164 #define CVMX_PEXP_NPEI_PKT_OUTPUT_WMARK CVMX_PEXP_NPEI_PKT_OUTPUT_WMARK_FUNC()
12165 static inline uint64_t CVMX_PEXP_NPEI_PKT_OUTPUT_WMARK_FUNC(void)
12166 {
12167 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12168     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12169         cvmx_warn("CVMX_PEXP_NPEI_PKT_OUTPUT_WMARK not supported on this chip\n");
12170 #endif
12171     return CVMX_ADD_IO_SEG(0x00011F0000009160ull);
12172 }
12173
12174 #define CVMX_PEXP_NPEI_PKT_OUT_BMODE CVMX_PEXP_NPEI_PKT_OUT_BMODE_FUNC()
12175 static inline uint64_t CVMX_PEXP_NPEI_PKT_OUT_BMODE_FUNC(void)
12176 {
12177 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12178     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12179         cvmx_warn("CVMX_PEXP_NPEI_PKT_OUT_BMODE not supported on this chip\n");
12180 #endif
12181     return CVMX_ADD_IO_SEG(0x00011F00000090D0ull);
12182 }
12183
12184 #define CVMX_PEXP_NPEI_PKT_OUT_ENB CVMX_PEXP_NPEI_PKT_OUT_ENB_FUNC()
12185 static inline uint64_t CVMX_PEXP_NPEI_PKT_OUT_ENB_FUNC(void)
12186 {
12187 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12188     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12189         cvmx_warn("CVMX_PEXP_NPEI_PKT_OUT_ENB not supported on this chip\n");
12190 #endif
12191     return CVMX_ADD_IO_SEG(0x00011F0000009010ull);
12192 }
12193
12194 #define CVMX_PEXP_NPEI_PKT_PCIE_PORT CVMX_PEXP_NPEI_PKT_PCIE_PORT_FUNC()
12195 static inline uint64_t CVMX_PEXP_NPEI_PKT_PCIE_PORT_FUNC(void)
12196 {
12197 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12198     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12199         cvmx_warn("CVMX_PEXP_NPEI_PKT_PCIE_PORT not supported on this chip\n");
12200 #endif
12201     return CVMX_ADD_IO_SEG(0x00011F00000090E0ull);
12202 }
12203
12204 #define CVMX_PEXP_NPEI_PKT_PORT_IN_RST CVMX_PEXP_NPEI_PKT_PORT_IN_RST_FUNC()
12205 static inline uint64_t CVMX_PEXP_NPEI_PKT_PORT_IN_RST_FUNC(void)
12206 {
12207 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12208     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12209         cvmx_warn("CVMX_PEXP_NPEI_PKT_PORT_IN_RST not supported on this chip\n");
12210 #endif
12211     return CVMX_ADD_IO_SEG(0x00011F0000008690ull);
12212 }
12213
12214 #define CVMX_PEXP_NPEI_PKT_SLIST_ES CVMX_PEXP_NPEI_PKT_SLIST_ES_FUNC()
12215 static inline uint64_t CVMX_PEXP_NPEI_PKT_SLIST_ES_FUNC(void)
12216 {
12217 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12218     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12219         cvmx_warn("CVMX_PEXP_NPEI_PKT_SLIST_ES not supported on this chip\n");
12220 #endif
12221     return CVMX_ADD_IO_SEG(0x00011F0000009050ull);
12222 }
12223
12224 #define CVMX_PEXP_NPEI_PKT_SLIST_ID_SIZE CVMX_PEXP_NPEI_PKT_SLIST_ID_SIZE_FUNC()
12225 static inline uint64_t CVMX_PEXP_NPEI_PKT_SLIST_ID_SIZE_FUNC(void)
12226 {
12227 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12228     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12229         cvmx_warn("CVMX_PEXP_NPEI_PKT_SLIST_ID_SIZE not supported on this chip\n");
12230 #endif
12231     return CVMX_ADD_IO_SEG(0x00011F0000009180ull);
12232 }
12233
12234 #define CVMX_PEXP_NPEI_PKT_SLIST_NS CVMX_PEXP_NPEI_PKT_SLIST_NS_FUNC()
12235 static inline uint64_t CVMX_PEXP_NPEI_PKT_SLIST_NS_FUNC(void)
12236 {
12237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12238     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12239         cvmx_warn("CVMX_PEXP_NPEI_PKT_SLIST_NS not supported on this chip\n");
12240 #endif
12241     return CVMX_ADD_IO_SEG(0x00011F0000009040ull);
12242 }
12243
12244 #define CVMX_PEXP_NPEI_PKT_SLIST_ROR CVMX_PEXP_NPEI_PKT_SLIST_ROR_FUNC()
12245 static inline uint64_t CVMX_PEXP_NPEI_PKT_SLIST_ROR_FUNC(void)
12246 {
12247 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12248     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12249         cvmx_warn("CVMX_PEXP_NPEI_PKT_SLIST_ROR not supported on this chip\n");
12250 #endif
12251     return CVMX_ADD_IO_SEG(0x00011F0000009030ull);
12252 }
12253
12254 #define CVMX_PEXP_NPEI_PKT_TIME_INT CVMX_PEXP_NPEI_PKT_TIME_INT_FUNC()
12255 static inline uint64_t CVMX_PEXP_NPEI_PKT_TIME_INT_FUNC(void)
12256 {
12257 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12258     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12259         cvmx_warn("CVMX_PEXP_NPEI_PKT_TIME_INT not supported on this chip\n");
12260 #endif
12261     return CVMX_ADD_IO_SEG(0x00011F0000009120ull);
12262 }
12263
12264 #define CVMX_PEXP_NPEI_PKT_TIME_INT_ENB CVMX_PEXP_NPEI_PKT_TIME_INT_ENB_FUNC()
12265 static inline uint64_t CVMX_PEXP_NPEI_PKT_TIME_INT_ENB_FUNC(void)
12266 {
12267 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12268     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12269         cvmx_warn("CVMX_PEXP_NPEI_PKT_TIME_INT_ENB not supported on this chip\n");
12270 #endif
12271     return CVMX_ADD_IO_SEG(0x00011F0000009140ull);
12272 }
12273
12274 #define CVMX_PEXP_NPEI_RSL_INT_BLOCKS CVMX_PEXP_NPEI_RSL_INT_BLOCKS_FUNC()
12275 static inline uint64_t CVMX_PEXP_NPEI_RSL_INT_BLOCKS_FUNC(void)
12276 {
12277 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12278     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12279         cvmx_warn("CVMX_PEXP_NPEI_RSL_INT_BLOCKS not supported on this chip\n");
12280 #endif
12281     return CVMX_ADD_IO_SEG(0x00011F0000008520ull);
12282 }
12283
12284 #define CVMX_PEXP_NPEI_SCRATCH_1 CVMX_PEXP_NPEI_SCRATCH_1_FUNC()
12285 static inline uint64_t CVMX_PEXP_NPEI_SCRATCH_1_FUNC(void)
12286 {
12287 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12288     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12289         cvmx_warn("CVMX_PEXP_NPEI_SCRATCH_1 not supported on this chip\n");
12290 #endif
12291     return CVMX_ADD_IO_SEG(0x00011F0000008270ull);
12292 }
12293
12294 #define CVMX_PEXP_NPEI_STATE1 CVMX_PEXP_NPEI_STATE1_FUNC()
12295 static inline uint64_t CVMX_PEXP_NPEI_STATE1_FUNC(void)
12296 {
12297 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12298     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12299         cvmx_warn("CVMX_PEXP_NPEI_STATE1 not supported on this chip\n");
12300 #endif
12301     return CVMX_ADD_IO_SEG(0x00011F0000008620ull);
12302 }
12303
12304 #define CVMX_PEXP_NPEI_STATE2 CVMX_PEXP_NPEI_STATE2_FUNC()
12305 static inline uint64_t CVMX_PEXP_NPEI_STATE2_FUNC(void)
12306 {
12307 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12308     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12309         cvmx_warn("CVMX_PEXP_NPEI_STATE2 not supported on this chip\n");
12310 #endif
12311     return CVMX_ADD_IO_SEG(0x00011F0000008630ull);
12312 }
12313
12314 #define CVMX_PEXP_NPEI_STATE3 CVMX_PEXP_NPEI_STATE3_FUNC()
12315 static inline uint64_t CVMX_PEXP_NPEI_STATE3_FUNC(void)
12316 {
12317 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12318     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12319         cvmx_warn("CVMX_PEXP_NPEI_STATE3 not supported on this chip\n");
12320 #endif
12321     return CVMX_ADD_IO_SEG(0x00011F0000008640ull);
12322 }
12323
12324 #define CVMX_PEXP_NPEI_WINDOW_CTL CVMX_PEXP_NPEI_WINDOW_CTL_FUNC()
12325 static inline uint64_t CVMX_PEXP_NPEI_WINDOW_CTL_FUNC(void)
12326 {
12327 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12328     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12329         cvmx_warn("CVMX_PEXP_NPEI_WINDOW_CTL not supported on this chip\n");
12330 #endif
12331     return CVMX_ADD_IO_SEG(0x00011F0000008380ull);
12332 }
12333
12334 #define CVMX_PIP_BCK_PRS CVMX_PIP_BCK_PRS_FUNC()
12335 static inline uint64_t CVMX_PIP_BCK_PRS_FUNC(void)
12336 {
12337 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12338     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
12339         cvmx_warn("CVMX_PIP_BCK_PRS not supported on this chip\n");
12340 #endif
12341     return CVMX_ADD_IO_SEG(0x00011800A0000038ull);
12342 }
12343
12344 #define CVMX_PIP_BIST_STATUS CVMX_PIP_BIST_STATUS_FUNC()
12345 static inline uint64_t CVMX_PIP_BIST_STATUS_FUNC(void)
12346 {
12347     return CVMX_ADD_IO_SEG(0x00011800A0000000ull);
12348 }
12349
12350 static inline uint64_t CVMX_PIP_CRC_CTLX(unsigned long offset)
12351 {
12352 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12353     if (!(
12354         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
12355         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
12356         cvmx_warn("CVMX_PIP_CRC_CTLX(%lu) is invalid on this chip\n", offset);
12357 #endif
12358     return CVMX_ADD_IO_SEG(0x00011800A0000040ull) + (offset&1)*8;
12359 }
12360
12361 static inline uint64_t CVMX_PIP_CRC_IVX(unsigned long offset)
12362 {
12363 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12364     if (!(
12365         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
12366         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
12367         cvmx_warn("CVMX_PIP_CRC_IVX(%lu) is invalid on this chip\n", offset);
12368 #endif
12369     return CVMX_ADD_IO_SEG(0x00011800A0000050ull) + (offset&1)*8;
12370 }
12371
12372 static inline uint64_t CVMX_PIP_DEC_IPSECX(unsigned long offset)
12373 {
12374 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12375     if (!(
12376         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3))) ||
12377         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
12378         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 3))) ||
12379         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
12380         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
12381         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
12382         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
12383         cvmx_warn("CVMX_PIP_DEC_IPSECX(%lu) is invalid on this chip\n", offset);
12384 #endif
12385     return CVMX_ADD_IO_SEG(0x00011800A0000080ull) + (offset&3)*8;
12386 }
12387
12388 #define CVMX_PIP_DSA_SRC_GRP CVMX_PIP_DSA_SRC_GRP_FUNC()
12389 static inline uint64_t CVMX_PIP_DSA_SRC_GRP_FUNC(void)
12390 {
12391 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12392     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12393         cvmx_warn("CVMX_PIP_DSA_SRC_GRP not supported on this chip\n");
12394 #endif
12395     return CVMX_ADD_IO_SEG(0x00011800A0000190ull);
12396 }
12397
12398 #define CVMX_PIP_DSA_VID_GRP CVMX_PIP_DSA_VID_GRP_FUNC()
12399 static inline uint64_t CVMX_PIP_DSA_VID_GRP_FUNC(void)
12400 {
12401 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12402     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12403         cvmx_warn("CVMX_PIP_DSA_VID_GRP not supported on this chip\n");
12404 #endif
12405     return CVMX_ADD_IO_SEG(0x00011800A0000198ull);
12406 }
12407
12408 static inline uint64_t CVMX_PIP_FRM_LEN_CHKX(unsigned long offset)
12409 {
12410 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12411     if (!(
12412         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
12413         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
12414         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
12415         cvmx_warn("CVMX_PIP_FRM_LEN_CHKX(%lu) is invalid on this chip\n", offset);
12416 #endif
12417     return CVMX_ADD_IO_SEG(0x00011800A0000180ull) + (offset&1)*8;
12418 }
12419
12420 #define CVMX_PIP_GBL_CFG CVMX_PIP_GBL_CFG_FUNC()
12421 static inline uint64_t CVMX_PIP_GBL_CFG_FUNC(void)
12422 {
12423     return CVMX_ADD_IO_SEG(0x00011800A0000028ull);
12424 }
12425
12426 #define CVMX_PIP_GBL_CTL CVMX_PIP_GBL_CTL_FUNC()
12427 static inline uint64_t CVMX_PIP_GBL_CTL_FUNC(void)
12428 {
12429     return CVMX_ADD_IO_SEG(0x00011800A0000020ull);
12430 }
12431
12432 #define CVMX_PIP_HG_PRI_QOS CVMX_PIP_HG_PRI_QOS_FUNC()
12433 static inline uint64_t CVMX_PIP_HG_PRI_QOS_FUNC(void)
12434 {
12435 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12436     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12437         cvmx_warn("CVMX_PIP_HG_PRI_QOS not supported on this chip\n");
12438 #endif
12439     return CVMX_ADD_IO_SEG(0x00011800A00001A0ull);
12440 }
12441
12442 #define CVMX_PIP_INT_EN CVMX_PIP_INT_EN_FUNC()
12443 static inline uint64_t CVMX_PIP_INT_EN_FUNC(void)
12444 {
12445     return CVMX_ADD_IO_SEG(0x00011800A0000010ull);
12446 }
12447
12448 #define CVMX_PIP_INT_REG CVMX_PIP_INT_REG_FUNC()
12449 static inline uint64_t CVMX_PIP_INT_REG_FUNC(void)
12450 {
12451     return CVMX_ADD_IO_SEG(0x00011800A0000008ull);
12452 }
12453
12454 #define CVMX_PIP_IP_OFFSET CVMX_PIP_IP_OFFSET_FUNC()
12455 static inline uint64_t CVMX_PIP_IP_OFFSET_FUNC(void)
12456 {
12457     return CVMX_ADD_IO_SEG(0x00011800A0000060ull);
12458 }
12459
12460 static inline uint64_t CVMX_PIP_PRT_CFGX(unsigned long offset)
12461 {
12462 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12463     if (!(
12464         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12465         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12466         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12467         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12468         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12469         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12470         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12471         cvmx_warn("CVMX_PIP_PRT_CFGX(%lu) is invalid on this chip\n", offset);
12472 #endif
12473     return CVMX_ADD_IO_SEG(0x00011800A0000200ull) + (offset&63)*8;
12474 }
12475
12476 static inline uint64_t CVMX_PIP_PRT_TAGX(unsigned long offset)
12477 {
12478 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12479     if (!(
12480         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12481         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12482         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12483         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12484         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12485         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12486         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12487         cvmx_warn("CVMX_PIP_PRT_TAGX(%lu) is invalid on this chip\n", offset);
12488 #endif
12489     return CVMX_ADD_IO_SEG(0x00011800A0000400ull) + (offset&63)*8;
12490 }
12491
12492 static inline uint64_t CVMX_PIP_QOS_DIFFX(unsigned long offset)
12493 {
12494 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12495     if (!(
12496         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 63))) ||
12497         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 63))) ||
12498         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 63))) ||
12499         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 63))) ||
12500         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 63))) ||
12501         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 63))) ||
12502         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 63)))))
12503         cvmx_warn("CVMX_PIP_QOS_DIFFX(%lu) is invalid on this chip\n", offset);
12504 #endif
12505     return CVMX_ADD_IO_SEG(0x00011800A0000600ull) + (offset&63)*8;
12506 }
12507
12508 static inline uint64_t CVMX_PIP_QOS_VLANX(unsigned long offset)
12509 {
12510 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12511     if (!(
12512         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
12513         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
12514         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
12515         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
12516         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
12517         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
12518         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
12519         cvmx_warn("CVMX_PIP_QOS_VLANX(%lu) is invalid on this chip\n", offset);
12520 #endif
12521     return CVMX_ADD_IO_SEG(0x00011800A00000C0ull) + (offset&7)*8;
12522 }
12523
12524 static inline uint64_t CVMX_PIP_QOS_WATCHX(unsigned long offset)
12525 {
12526 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12527     if (!(
12528         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
12529         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 3))) ||
12530         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
12531         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 3))) ||
12532         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 3))) ||
12533         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 3))) ||
12534         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
12535         cvmx_warn("CVMX_PIP_QOS_WATCHX(%lu) is invalid on this chip\n", offset);
12536 #endif
12537     return CVMX_ADD_IO_SEG(0x00011800A0000100ull) + (offset&7)*8;
12538 }
12539
12540 #define CVMX_PIP_RAW_WORD CVMX_PIP_RAW_WORD_FUNC()
12541 static inline uint64_t CVMX_PIP_RAW_WORD_FUNC(void)
12542 {
12543     return CVMX_ADD_IO_SEG(0x00011800A00000B0ull);
12544 }
12545
12546 #define CVMX_PIP_SFT_RST CVMX_PIP_SFT_RST_FUNC()
12547 static inline uint64_t CVMX_PIP_SFT_RST_FUNC(void)
12548 {
12549     return CVMX_ADD_IO_SEG(0x00011800A0000030ull);
12550 }
12551
12552 static inline uint64_t CVMX_PIP_STAT0_PRTX(unsigned long offset)
12553 {
12554 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12555     if (!(
12556         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12557         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12558         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12559         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12560         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12561         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12562         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12563         cvmx_warn("CVMX_PIP_STAT0_PRTX(%lu) is invalid on this chip\n", offset);
12564 #endif
12565     return CVMX_ADD_IO_SEG(0x00011800A0000800ull) + (offset&63)*80;
12566 }
12567
12568 static inline uint64_t CVMX_PIP_STAT1_PRTX(unsigned long offset)
12569 {
12570 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12571     if (!(
12572         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12573         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12574         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12575         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12576         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12577         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12578         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12579         cvmx_warn("CVMX_PIP_STAT1_PRTX(%lu) is invalid on this chip\n", offset);
12580 #endif
12581     return CVMX_ADD_IO_SEG(0x00011800A0000808ull) + (offset&63)*80;
12582 }
12583
12584 static inline uint64_t CVMX_PIP_STAT2_PRTX(unsigned long offset)
12585 {
12586 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12587     if (!(
12588         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12589         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12590         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12591         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12592         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12593         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12594         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12595         cvmx_warn("CVMX_PIP_STAT2_PRTX(%lu) is invalid on this chip\n", offset);
12596 #endif
12597     return CVMX_ADD_IO_SEG(0x00011800A0000810ull) + (offset&63)*80;
12598 }
12599
12600 static inline uint64_t CVMX_PIP_STAT3_PRTX(unsigned long offset)
12601 {
12602 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12603     if (!(
12604         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12605         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12606         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12607         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12608         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12609         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12610         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12611         cvmx_warn("CVMX_PIP_STAT3_PRTX(%lu) is invalid on this chip\n", offset);
12612 #endif
12613     return CVMX_ADD_IO_SEG(0x00011800A0000818ull) + (offset&63)*80;
12614 }
12615
12616 static inline uint64_t CVMX_PIP_STAT4_PRTX(unsigned long offset)
12617 {
12618 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12619     if (!(
12620         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12621         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12622         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12623         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12624         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12625         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12626         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12627         cvmx_warn("CVMX_PIP_STAT4_PRTX(%lu) is invalid on this chip\n", offset);
12628 #endif
12629     return CVMX_ADD_IO_SEG(0x00011800A0000820ull) + (offset&63)*80;
12630 }
12631
12632 static inline uint64_t CVMX_PIP_STAT5_PRTX(unsigned long offset)
12633 {
12634 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12635     if (!(
12636         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12637         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12638         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12639         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12640         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12641         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12642         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12643         cvmx_warn("CVMX_PIP_STAT5_PRTX(%lu) is invalid on this chip\n", offset);
12644 #endif
12645     return CVMX_ADD_IO_SEG(0x00011800A0000828ull) + (offset&63)*80;
12646 }
12647
12648 static inline uint64_t CVMX_PIP_STAT6_PRTX(unsigned long offset)
12649 {
12650 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12651     if (!(
12652         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12653         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12654         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12655         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12656         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12657         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12658         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12659         cvmx_warn("CVMX_PIP_STAT6_PRTX(%lu) is invalid on this chip\n", offset);
12660 #endif
12661     return CVMX_ADD_IO_SEG(0x00011800A0000830ull) + (offset&63)*80;
12662 }
12663
12664 static inline uint64_t CVMX_PIP_STAT7_PRTX(unsigned long offset)
12665 {
12666 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12667     if (!(
12668         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12669         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12670         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12671         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12672         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12673         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12674         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12675         cvmx_warn("CVMX_PIP_STAT7_PRTX(%lu) is invalid on this chip\n", offset);
12676 #endif
12677     return CVMX_ADD_IO_SEG(0x00011800A0000838ull) + (offset&63)*80;
12678 }
12679
12680 static inline uint64_t CVMX_PIP_STAT8_PRTX(unsigned long offset)
12681 {
12682 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12683     if (!(
12684         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12685         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12686         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12687         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12688         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12689         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12690         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12691         cvmx_warn("CVMX_PIP_STAT8_PRTX(%lu) is invalid on this chip\n", offset);
12692 #endif
12693     return CVMX_ADD_IO_SEG(0x00011800A0000840ull) + (offset&63)*80;
12694 }
12695
12696 static inline uint64_t CVMX_PIP_STAT9_PRTX(unsigned long offset)
12697 {
12698 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12699     if (!(
12700         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12701         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12702         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12703         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12704         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12705         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12706         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12707         cvmx_warn("CVMX_PIP_STAT9_PRTX(%lu) is invalid on this chip\n", offset);
12708 #endif
12709     return CVMX_ADD_IO_SEG(0x00011800A0000848ull) + (offset&63)*80;
12710 }
12711
12712 #define CVMX_PIP_STAT_CTL CVMX_PIP_STAT_CTL_FUNC()
12713 static inline uint64_t CVMX_PIP_STAT_CTL_FUNC(void)
12714 {
12715     return CVMX_ADD_IO_SEG(0x00011800A0000018ull);
12716 }
12717
12718 static inline uint64_t CVMX_PIP_STAT_INB_ERRSX(unsigned long offset)
12719 {
12720 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12721     if (!(
12722         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12723         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12724         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12725         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12726         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12727         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12728         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12729         cvmx_warn("CVMX_PIP_STAT_INB_ERRSX(%lu) is invalid on this chip\n", offset);
12730 #endif
12731     return CVMX_ADD_IO_SEG(0x00011800A0001A10ull) + (offset&63)*32;
12732 }
12733
12734 static inline uint64_t CVMX_PIP_STAT_INB_OCTSX(unsigned long offset)
12735 {
12736 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12737     if (!(
12738         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12739         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12740         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12741         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12742         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12743         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12744         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12745         cvmx_warn("CVMX_PIP_STAT_INB_OCTSX(%lu) is invalid on this chip\n", offset);
12746 #endif
12747     return CVMX_ADD_IO_SEG(0x00011800A0001A08ull) + (offset&63)*32;
12748 }
12749
12750 static inline uint64_t CVMX_PIP_STAT_INB_PKTSX(unsigned long offset)
12751 {
12752 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12753     if (!(
12754         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 3) || ((offset >= 16) && (offset <= 19)) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39)))) ||
12755         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12756         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12757         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 35))) ||
12758         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 2) || ((offset >= 32) && (offset <= 33)))) ||
12759         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 35))) ||
12760         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3) || ((offset >= 32) && (offset <= 35)) || ((offset >= 36) && (offset <= 39))))))
12761         cvmx_warn("CVMX_PIP_STAT_INB_PKTSX(%lu) is invalid on this chip\n", offset);
12762 #endif
12763     return CVMX_ADD_IO_SEG(0x00011800A0001A00ull) + (offset&63)*32;
12764 }
12765
12766 static inline uint64_t CVMX_PIP_TAG_INCX(unsigned long offset)
12767 {
12768 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12769     if (!(
12770         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 63))) ||
12771         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 63))) ||
12772         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 63))) ||
12773         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 63))) ||
12774         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 63))) ||
12775         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 63))) ||
12776         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 63)))))
12777         cvmx_warn("CVMX_PIP_TAG_INCX(%lu) is invalid on this chip\n", offset);
12778 #endif
12779     return CVMX_ADD_IO_SEG(0x00011800A0001800ull) + (offset&63)*8;
12780 }
12781
12782 #define CVMX_PIP_TAG_MASK CVMX_PIP_TAG_MASK_FUNC()
12783 static inline uint64_t CVMX_PIP_TAG_MASK_FUNC(void)
12784 {
12785     return CVMX_ADD_IO_SEG(0x00011800A0000070ull);
12786 }
12787
12788 #define CVMX_PIP_TAG_SECRET CVMX_PIP_TAG_SECRET_FUNC()
12789 static inline uint64_t CVMX_PIP_TAG_SECRET_FUNC(void)
12790 {
12791     return CVMX_ADD_IO_SEG(0x00011800A0000068ull);
12792 }
12793
12794 #define CVMX_PIP_TODO_ENTRY CVMX_PIP_TODO_ENTRY_FUNC()
12795 static inline uint64_t CVMX_PIP_TODO_ENTRY_FUNC(void)
12796 {
12797     return CVMX_ADD_IO_SEG(0x00011800A0000078ull);
12798 }
12799
12800 #define CVMX_PKO_MEM_COUNT0 CVMX_PKO_MEM_COUNT0_FUNC()
12801 static inline uint64_t CVMX_PKO_MEM_COUNT0_FUNC(void)
12802 {
12803     return CVMX_ADD_IO_SEG(0x0001180050001080ull);
12804 }
12805
12806 #define CVMX_PKO_MEM_COUNT1 CVMX_PKO_MEM_COUNT1_FUNC()
12807 static inline uint64_t CVMX_PKO_MEM_COUNT1_FUNC(void)
12808 {
12809     return CVMX_ADD_IO_SEG(0x0001180050001088ull);
12810 }
12811
12812 #define CVMX_PKO_MEM_DEBUG0 CVMX_PKO_MEM_DEBUG0_FUNC()
12813 static inline uint64_t CVMX_PKO_MEM_DEBUG0_FUNC(void)
12814 {
12815     return CVMX_ADD_IO_SEG(0x0001180050001100ull);
12816 }
12817
12818 #define CVMX_PKO_MEM_DEBUG1 CVMX_PKO_MEM_DEBUG1_FUNC()
12819 static inline uint64_t CVMX_PKO_MEM_DEBUG1_FUNC(void)
12820 {
12821     return CVMX_ADD_IO_SEG(0x0001180050001108ull);
12822 }
12823
12824 #define CVMX_PKO_MEM_DEBUG10 CVMX_PKO_MEM_DEBUG10_FUNC()
12825 static inline uint64_t CVMX_PKO_MEM_DEBUG10_FUNC(void)
12826 {
12827     return CVMX_ADD_IO_SEG(0x0001180050001150ull);
12828 }
12829
12830 #define CVMX_PKO_MEM_DEBUG11 CVMX_PKO_MEM_DEBUG11_FUNC()
12831 static inline uint64_t CVMX_PKO_MEM_DEBUG11_FUNC(void)
12832 {
12833     return CVMX_ADD_IO_SEG(0x0001180050001158ull);
12834 }
12835
12836 #define CVMX_PKO_MEM_DEBUG12 CVMX_PKO_MEM_DEBUG12_FUNC()
12837 static inline uint64_t CVMX_PKO_MEM_DEBUG12_FUNC(void)
12838 {
12839     return CVMX_ADD_IO_SEG(0x0001180050001160ull);
12840 }
12841
12842 #define CVMX_PKO_MEM_DEBUG13 CVMX_PKO_MEM_DEBUG13_FUNC()
12843 static inline uint64_t CVMX_PKO_MEM_DEBUG13_FUNC(void)
12844 {
12845     return CVMX_ADD_IO_SEG(0x0001180050001168ull);
12846 }
12847
12848 #define CVMX_PKO_MEM_DEBUG14 CVMX_PKO_MEM_DEBUG14_FUNC()
12849 static inline uint64_t CVMX_PKO_MEM_DEBUG14_FUNC(void)
12850 {
12851 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12852     if (!(OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12853         cvmx_warn("CVMX_PKO_MEM_DEBUG14 not supported on this chip\n");
12854 #endif
12855     return CVMX_ADD_IO_SEG(0x0001180050001170ull);
12856 }
12857
12858 #define CVMX_PKO_MEM_DEBUG2 CVMX_PKO_MEM_DEBUG2_FUNC()
12859 static inline uint64_t CVMX_PKO_MEM_DEBUG2_FUNC(void)
12860 {
12861     return CVMX_ADD_IO_SEG(0x0001180050001110ull);
12862 }
12863
12864 #define CVMX_PKO_MEM_DEBUG3 CVMX_PKO_MEM_DEBUG3_FUNC()
12865 static inline uint64_t CVMX_PKO_MEM_DEBUG3_FUNC(void)
12866 {
12867     return CVMX_ADD_IO_SEG(0x0001180050001118ull);
12868 }
12869
12870 #define CVMX_PKO_MEM_DEBUG4 CVMX_PKO_MEM_DEBUG4_FUNC()
12871 static inline uint64_t CVMX_PKO_MEM_DEBUG4_FUNC(void)
12872 {
12873     return CVMX_ADD_IO_SEG(0x0001180050001120ull);
12874 }
12875
12876 #define CVMX_PKO_MEM_DEBUG5 CVMX_PKO_MEM_DEBUG5_FUNC()
12877 static inline uint64_t CVMX_PKO_MEM_DEBUG5_FUNC(void)
12878 {
12879     return CVMX_ADD_IO_SEG(0x0001180050001128ull);
12880 }
12881
12882 #define CVMX_PKO_MEM_DEBUG6 CVMX_PKO_MEM_DEBUG6_FUNC()
12883 static inline uint64_t CVMX_PKO_MEM_DEBUG6_FUNC(void)
12884 {
12885     return CVMX_ADD_IO_SEG(0x0001180050001130ull);
12886 }
12887
12888 #define CVMX_PKO_MEM_DEBUG7 CVMX_PKO_MEM_DEBUG7_FUNC()
12889 static inline uint64_t CVMX_PKO_MEM_DEBUG7_FUNC(void)
12890 {
12891     return CVMX_ADD_IO_SEG(0x0001180050001138ull);
12892 }
12893
12894 #define CVMX_PKO_MEM_DEBUG8 CVMX_PKO_MEM_DEBUG8_FUNC()
12895 static inline uint64_t CVMX_PKO_MEM_DEBUG8_FUNC(void)
12896 {
12897     return CVMX_ADD_IO_SEG(0x0001180050001140ull);
12898 }
12899
12900 #define CVMX_PKO_MEM_DEBUG9 CVMX_PKO_MEM_DEBUG9_FUNC()
12901 static inline uint64_t CVMX_PKO_MEM_DEBUG9_FUNC(void)
12902 {
12903     return CVMX_ADD_IO_SEG(0x0001180050001148ull);
12904 }
12905
12906 #define CVMX_PKO_MEM_PORT_PTRS CVMX_PKO_MEM_PORT_PTRS_FUNC()
12907 static inline uint64_t CVMX_PKO_MEM_PORT_PTRS_FUNC(void)
12908 {
12909 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12910     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12911         cvmx_warn("CVMX_PKO_MEM_PORT_PTRS not supported on this chip\n");
12912 #endif
12913     return CVMX_ADD_IO_SEG(0x0001180050001010ull);
12914 }
12915
12916 #define CVMX_PKO_MEM_PORT_QOS CVMX_PKO_MEM_PORT_QOS_FUNC()
12917 static inline uint64_t CVMX_PKO_MEM_PORT_QOS_FUNC(void)
12918 {
12919 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12920     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12921         cvmx_warn("CVMX_PKO_MEM_PORT_QOS not supported on this chip\n");
12922 #endif
12923     return CVMX_ADD_IO_SEG(0x0001180050001018ull);
12924 }
12925
12926 #define CVMX_PKO_MEM_PORT_RATE0 CVMX_PKO_MEM_PORT_RATE0_FUNC()
12927 static inline uint64_t CVMX_PKO_MEM_PORT_RATE0_FUNC(void)
12928 {
12929 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12930     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12931         cvmx_warn("CVMX_PKO_MEM_PORT_RATE0 not supported on this chip\n");
12932 #endif
12933     return CVMX_ADD_IO_SEG(0x0001180050001020ull);
12934 }
12935
12936 #define CVMX_PKO_MEM_PORT_RATE1 CVMX_PKO_MEM_PORT_RATE1_FUNC()
12937 static inline uint64_t CVMX_PKO_MEM_PORT_RATE1_FUNC(void)
12938 {
12939 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12940     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
12941         cvmx_warn("CVMX_PKO_MEM_PORT_RATE1 not supported on this chip\n");
12942 #endif
12943     return CVMX_ADD_IO_SEG(0x0001180050001028ull);
12944 }
12945
12946 #define CVMX_PKO_MEM_QUEUE_PTRS CVMX_PKO_MEM_QUEUE_PTRS_FUNC()
12947 static inline uint64_t CVMX_PKO_MEM_QUEUE_PTRS_FUNC(void)
12948 {
12949     return CVMX_ADD_IO_SEG(0x0001180050001000ull);
12950 }
12951
12952 #define CVMX_PKO_MEM_QUEUE_QOS CVMX_PKO_MEM_QUEUE_QOS_FUNC()
12953 static inline uint64_t CVMX_PKO_MEM_QUEUE_QOS_FUNC(void)
12954 {
12955     return CVMX_ADD_IO_SEG(0x0001180050001008ull);
12956 }
12957
12958 #define CVMX_PKO_REG_BIST_RESULT CVMX_PKO_REG_BIST_RESULT_FUNC()
12959 static inline uint64_t CVMX_PKO_REG_BIST_RESULT_FUNC(void)
12960 {
12961     return CVMX_ADD_IO_SEG(0x0001180050000080ull);
12962 }
12963
12964 #define CVMX_PKO_REG_CMD_BUF CVMX_PKO_REG_CMD_BUF_FUNC()
12965 static inline uint64_t CVMX_PKO_REG_CMD_BUF_FUNC(void)
12966 {
12967     return CVMX_ADD_IO_SEG(0x0001180050000010ull);
12968 }
12969
12970 static inline uint64_t CVMX_PKO_REG_CRC_CTLX(unsigned long offset)
12971 {
12972 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12973     if (!(
12974         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
12975         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
12976         cvmx_warn("CVMX_PKO_REG_CRC_CTLX(%lu) is invalid on this chip\n", offset);
12977 #endif
12978     return CVMX_ADD_IO_SEG(0x0001180050000028ull) + (offset&1)*8;
12979 }
12980
12981 #define CVMX_PKO_REG_CRC_ENABLE CVMX_PKO_REG_CRC_ENABLE_FUNC()
12982 static inline uint64_t CVMX_PKO_REG_CRC_ENABLE_FUNC(void)
12983 {
12984 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12985     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
12986         cvmx_warn("CVMX_PKO_REG_CRC_ENABLE not supported on this chip\n");
12987 #endif
12988     return CVMX_ADD_IO_SEG(0x0001180050000020ull);
12989 }
12990
12991 static inline uint64_t CVMX_PKO_REG_CRC_IVX(unsigned long offset)
12992 {
12993 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
12994     if (!(
12995         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 1))) ||
12996         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 1)))))
12997         cvmx_warn("CVMX_PKO_REG_CRC_IVX(%lu) is invalid on this chip\n", offset);
12998 #endif
12999     return CVMX_ADD_IO_SEG(0x0001180050000038ull) + (offset&1)*8;
13000 }
13001
13002 #define CVMX_PKO_REG_DEBUG0 CVMX_PKO_REG_DEBUG0_FUNC()
13003 static inline uint64_t CVMX_PKO_REG_DEBUG0_FUNC(void)
13004 {
13005     return CVMX_ADD_IO_SEG(0x0001180050000098ull);
13006 }
13007
13008 #define CVMX_PKO_REG_DEBUG1 CVMX_PKO_REG_DEBUG1_FUNC()
13009 static inline uint64_t CVMX_PKO_REG_DEBUG1_FUNC(void)
13010 {
13011 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13012     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
13013         cvmx_warn("CVMX_PKO_REG_DEBUG1 not supported on this chip\n");
13014 #endif
13015     return CVMX_ADD_IO_SEG(0x00011800500000A0ull);
13016 }
13017
13018 #define CVMX_PKO_REG_DEBUG2 CVMX_PKO_REG_DEBUG2_FUNC()
13019 static inline uint64_t CVMX_PKO_REG_DEBUG2_FUNC(void)
13020 {
13021 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13022     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
13023         cvmx_warn("CVMX_PKO_REG_DEBUG2 not supported on this chip\n");
13024 #endif
13025     return CVMX_ADD_IO_SEG(0x00011800500000A8ull);
13026 }
13027
13028 #define CVMX_PKO_REG_DEBUG3 CVMX_PKO_REG_DEBUG3_FUNC()
13029 static inline uint64_t CVMX_PKO_REG_DEBUG3_FUNC(void)
13030 {
13031 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13032     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
13033         cvmx_warn("CVMX_PKO_REG_DEBUG3 not supported on this chip\n");
13034 #endif
13035     return CVMX_ADD_IO_SEG(0x00011800500000B0ull);
13036 }
13037
13038 #define CVMX_PKO_REG_ENGINE_INFLIGHT CVMX_PKO_REG_ENGINE_INFLIGHT_FUNC()
13039 static inline uint64_t CVMX_PKO_REG_ENGINE_INFLIGHT_FUNC(void)
13040 {
13041 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13042     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13043         cvmx_warn("CVMX_PKO_REG_ENGINE_INFLIGHT not supported on this chip\n");
13044 #endif
13045     return CVMX_ADD_IO_SEG(0x0001180050000050ull);
13046 }
13047
13048 #define CVMX_PKO_REG_ENGINE_THRESH CVMX_PKO_REG_ENGINE_THRESH_FUNC()
13049 static inline uint64_t CVMX_PKO_REG_ENGINE_THRESH_FUNC(void)
13050 {
13051 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13052     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13053         cvmx_warn("CVMX_PKO_REG_ENGINE_THRESH not supported on this chip\n");
13054 #endif
13055     return CVMX_ADD_IO_SEG(0x0001180050000058ull);
13056 }
13057
13058 #define CVMX_PKO_REG_ERROR CVMX_PKO_REG_ERROR_FUNC()
13059 static inline uint64_t CVMX_PKO_REG_ERROR_FUNC(void)
13060 {
13061     return CVMX_ADD_IO_SEG(0x0001180050000088ull);
13062 }
13063
13064 #define CVMX_PKO_REG_FLAGS CVMX_PKO_REG_FLAGS_FUNC()
13065 static inline uint64_t CVMX_PKO_REG_FLAGS_FUNC(void)
13066 {
13067     return CVMX_ADD_IO_SEG(0x0001180050000000ull);
13068 }
13069
13070 #define CVMX_PKO_REG_GMX_PORT_MODE CVMX_PKO_REG_GMX_PORT_MODE_FUNC()
13071 static inline uint64_t CVMX_PKO_REG_GMX_PORT_MODE_FUNC(void)
13072 {
13073     return CVMX_ADD_IO_SEG(0x0001180050000018ull);
13074 }
13075
13076 #define CVMX_PKO_REG_INT_MASK CVMX_PKO_REG_INT_MASK_FUNC()
13077 static inline uint64_t CVMX_PKO_REG_INT_MASK_FUNC(void)
13078 {
13079     return CVMX_ADD_IO_SEG(0x0001180050000090ull);
13080 }
13081
13082 #define CVMX_PKO_REG_QUEUE_MODE CVMX_PKO_REG_QUEUE_MODE_FUNC()
13083 static inline uint64_t CVMX_PKO_REG_QUEUE_MODE_FUNC(void)
13084 {
13085     return CVMX_ADD_IO_SEG(0x0001180050000048ull);
13086 }
13087
13088 #define CVMX_PKO_REG_QUEUE_PTRS1 CVMX_PKO_REG_QUEUE_PTRS1_FUNC()
13089 static inline uint64_t CVMX_PKO_REG_QUEUE_PTRS1_FUNC(void)
13090 {
13091 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13092     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
13093         cvmx_warn("CVMX_PKO_REG_QUEUE_PTRS1 not supported on this chip\n");
13094 #endif
13095     return CVMX_ADD_IO_SEG(0x0001180050000100ull);
13096 }
13097
13098 #define CVMX_PKO_REG_READ_IDX CVMX_PKO_REG_READ_IDX_FUNC()
13099 static inline uint64_t CVMX_PKO_REG_READ_IDX_FUNC(void)
13100 {
13101     return CVMX_ADD_IO_SEG(0x0001180050000008ull);
13102 }
13103
13104 #define CVMX_POW_BIST_STAT CVMX_POW_BIST_STAT_FUNC()
13105 static inline uint64_t CVMX_POW_BIST_STAT_FUNC(void)
13106 {
13107     return CVMX_ADD_IO_SEG(0x00016700000003F8ull);
13108 }
13109
13110 #define CVMX_POW_DS_PC CVMX_POW_DS_PC_FUNC()
13111 static inline uint64_t CVMX_POW_DS_PC_FUNC(void)
13112 {
13113     return CVMX_ADD_IO_SEG(0x0001670000000398ull);
13114 }
13115
13116 #define CVMX_POW_ECC_ERR CVMX_POW_ECC_ERR_FUNC()
13117 static inline uint64_t CVMX_POW_ECC_ERR_FUNC(void)
13118 {
13119     return CVMX_ADD_IO_SEG(0x0001670000000218ull);
13120 }
13121
13122 #define CVMX_POW_INT_CTL CVMX_POW_INT_CTL_FUNC()
13123 static inline uint64_t CVMX_POW_INT_CTL_FUNC(void)
13124 {
13125     return CVMX_ADD_IO_SEG(0x0001670000000220ull);
13126 }
13127
13128 static inline uint64_t CVMX_POW_IQ_CNTX(unsigned long offset)
13129 {
13130 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13131     if (!(
13132         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
13133         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
13134         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
13135         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
13136         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
13137         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
13138         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
13139         cvmx_warn("CVMX_POW_IQ_CNTX(%lu) is invalid on this chip\n", offset);
13140 #endif
13141     return CVMX_ADD_IO_SEG(0x0001670000000340ull) + (offset&7)*8;
13142 }
13143
13144 #define CVMX_POW_IQ_COM_CNT CVMX_POW_IQ_COM_CNT_FUNC()
13145 static inline uint64_t CVMX_POW_IQ_COM_CNT_FUNC(void)
13146 {
13147     return CVMX_ADD_IO_SEG(0x0001670000000388ull);
13148 }
13149
13150 #define CVMX_POW_IQ_INT CVMX_POW_IQ_INT_FUNC()
13151 static inline uint64_t CVMX_POW_IQ_INT_FUNC(void)
13152 {
13153 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13154     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13155         cvmx_warn("CVMX_POW_IQ_INT not supported on this chip\n");
13156 #endif
13157     return CVMX_ADD_IO_SEG(0x0001670000000238ull);
13158 }
13159
13160 #define CVMX_POW_IQ_INT_EN CVMX_POW_IQ_INT_EN_FUNC()
13161 static inline uint64_t CVMX_POW_IQ_INT_EN_FUNC(void)
13162 {
13163 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13164     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13165         cvmx_warn("CVMX_POW_IQ_INT_EN not supported on this chip\n");
13166 #endif
13167     return CVMX_ADD_IO_SEG(0x0001670000000240ull);
13168 }
13169
13170 static inline uint64_t CVMX_POW_IQ_THRX(unsigned long offset)
13171 {
13172 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13173     if (!(
13174         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
13175         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
13176         cvmx_warn("CVMX_POW_IQ_THRX(%lu) is invalid on this chip\n", offset);
13177 #endif
13178     return CVMX_ADD_IO_SEG(0x00016700000003A0ull) + (offset&7)*8;
13179 }
13180
13181 #define CVMX_POW_NOS_CNT CVMX_POW_NOS_CNT_FUNC()
13182 static inline uint64_t CVMX_POW_NOS_CNT_FUNC(void)
13183 {
13184     return CVMX_ADD_IO_SEG(0x0001670000000228ull);
13185 }
13186
13187 #define CVMX_POW_NW_TIM CVMX_POW_NW_TIM_FUNC()
13188 static inline uint64_t CVMX_POW_NW_TIM_FUNC(void)
13189 {
13190     return CVMX_ADD_IO_SEG(0x0001670000000210ull);
13191 }
13192
13193 #define CVMX_POW_PF_RST_MSK CVMX_POW_PF_RST_MSK_FUNC()
13194 static inline uint64_t CVMX_POW_PF_RST_MSK_FUNC(void)
13195 {
13196 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13197     if (!(!OCTEON_IS_MODEL(OCTEON_CN3XXX)))
13198         cvmx_warn("CVMX_POW_PF_RST_MSK not supported on this chip\n");
13199 #endif
13200     return CVMX_ADD_IO_SEG(0x0001670000000230ull);
13201 }
13202
13203 static inline uint64_t CVMX_POW_PP_GRP_MSKX(unsigned long offset)
13204 {
13205 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13206     if (!(
13207         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 11))) ||
13208         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13209         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 1))) ||
13210         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
13211         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 1))) ||
13212         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
13213         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 3)))))
13214         cvmx_warn("CVMX_POW_PP_GRP_MSKX(%lu) is invalid on this chip\n", offset);
13215 #endif
13216     return CVMX_ADD_IO_SEG(0x0001670000000000ull) + (offset&15)*8;
13217 }
13218
13219 static inline uint64_t CVMX_POW_QOS_RNDX(unsigned long offset)
13220 {
13221 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13222     if (!(
13223         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
13224         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
13225         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
13226         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
13227         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
13228         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
13229         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
13230         cvmx_warn("CVMX_POW_QOS_RNDX(%lu) is invalid on this chip\n", offset);
13231 #endif
13232     return CVMX_ADD_IO_SEG(0x00016700000001C0ull) + (offset&7)*8;
13233 }
13234
13235 static inline uint64_t CVMX_POW_QOS_THRX(unsigned long offset)
13236 {
13237 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13238     if (!(
13239         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
13240         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
13241         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
13242         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
13243         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
13244         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
13245         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
13246         cvmx_warn("CVMX_POW_QOS_THRX(%lu) is invalid on this chip\n", offset);
13247 #endif
13248     return CVMX_ADD_IO_SEG(0x0001670000000180ull) + (offset&7)*8;
13249 }
13250
13251 #define CVMX_POW_TS_PC CVMX_POW_TS_PC_FUNC()
13252 static inline uint64_t CVMX_POW_TS_PC_FUNC(void)
13253 {
13254     return CVMX_ADD_IO_SEG(0x0001670000000390ull);
13255 }
13256
13257 #define CVMX_POW_WA_COM_PC CVMX_POW_WA_COM_PC_FUNC()
13258 static inline uint64_t CVMX_POW_WA_COM_PC_FUNC(void)
13259 {
13260     return CVMX_ADD_IO_SEG(0x0001670000000380ull);
13261 }
13262
13263 static inline uint64_t CVMX_POW_WA_PCX(unsigned long offset)
13264 {
13265 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13266     if (!(
13267         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 7))) ||
13268         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 7))) ||
13269         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 7))) ||
13270         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 7))) ||
13271         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 7))) ||
13272         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 7))) ||
13273         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 7)))))
13274         cvmx_warn("CVMX_POW_WA_PCX(%lu) is invalid on this chip\n", offset);
13275 #endif
13276     return CVMX_ADD_IO_SEG(0x0001670000000300ull) + (offset&7)*8;
13277 }
13278
13279 #define CVMX_POW_WQ_INT CVMX_POW_WQ_INT_FUNC()
13280 static inline uint64_t CVMX_POW_WQ_INT_FUNC(void)
13281 {
13282     return CVMX_ADD_IO_SEG(0x0001670000000200ull);
13283 }
13284
13285 static inline uint64_t CVMX_POW_WQ_INT_CNTX(unsigned long offset)
13286 {
13287 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13288     if (!(
13289         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 15))) ||
13290         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 15))) ||
13291         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 15))) ||
13292         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
13293         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 15))) ||
13294         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
13295         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 15)))))
13296         cvmx_warn("CVMX_POW_WQ_INT_CNTX(%lu) is invalid on this chip\n", offset);
13297 #endif
13298     return CVMX_ADD_IO_SEG(0x0001670000000100ull) + (offset&15)*8;
13299 }
13300
13301 #define CVMX_POW_WQ_INT_PC CVMX_POW_WQ_INT_PC_FUNC()
13302 static inline uint64_t CVMX_POW_WQ_INT_PC_FUNC(void)
13303 {
13304     return CVMX_ADD_IO_SEG(0x0001670000000208ull);
13305 }
13306
13307 static inline uint64_t CVMX_POW_WQ_INT_THRX(unsigned long offset)
13308 {
13309 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13310     if (!(
13311         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 15))) ||
13312         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 15))) ||
13313         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 15))) ||
13314         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
13315         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 15))) ||
13316         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
13317         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 15)))))
13318         cvmx_warn("CVMX_POW_WQ_INT_THRX(%lu) is invalid on this chip\n", offset);
13319 #endif
13320     return CVMX_ADD_IO_SEG(0x0001670000000080ull) + (offset&15)*8;
13321 }
13322
13323 static inline uint64_t CVMX_POW_WS_PCX(unsigned long offset)
13324 {
13325 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13326     if (!(
13327         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 15))) ||
13328         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset <= 15))) ||
13329         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset <= 15))) ||
13330         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset <= 15))) ||
13331         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset <= 15))) ||
13332         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset <= 15))) ||
13333         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 15)))))
13334         cvmx_warn("CVMX_POW_WS_PCX(%lu) is invalid on this chip\n", offset);
13335 #endif
13336     return CVMX_ADD_IO_SEG(0x0001670000000280ull) + (offset&15)*8;
13337 }
13338
13339 #define CVMX_RAD_MEM_DEBUG0 CVMX_RAD_MEM_DEBUG0_FUNC()
13340 static inline uint64_t CVMX_RAD_MEM_DEBUG0_FUNC(void)
13341 {
13342 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13343     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13344         cvmx_warn("CVMX_RAD_MEM_DEBUG0 not supported on this chip\n");
13345 #endif
13346     return CVMX_ADD_IO_SEG(0x0001180070001000ull);
13347 }
13348
13349 #define CVMX_RAD_MEM_DEBUG1 CVMX_RAD_MEM_DEBUG1_FUNC()
13350 static inline uint64_t CVMX_RAD_MEM_DEBUG1_FUNC(void)
13351 {
13352 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13353     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13354         cvmx_warn("CVMX_RAD_MEM_DEBUG1 not supported on this chip\n");
13355 #endif
13356     return CVMX_ADD_IO_SEG(0x0001180070001008ull);
13357 }
13358
13359 #define CVMX_RAD_MEM_DEBUG2 CVMX_RAD_MEM_DEBUG2_FUNC()
13360 static inline uint64_t CVMX_RAD_MEM_DEBUG2_FUNC(void)
13361 {
13362 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13363     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13364         cvmx_warn("CVMX_RAD_MEM_DEBUG2 not supported on this chip\n");
13365 #endif
13366     return CVMX_ADD_IO_SEG(0x0001180070001010ull);
13367 }
13368
13369 #define CVMX_RAD_REG_BIST_RESULT CVMX_RAD_REG_BIST_RESULT_FUNC()
13370 static inline uint64_t CVMX_RAD_REG_BIST_RESULT_FUNC(void)
13371 {
13372 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13373     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13374         cvmx_warn("CVMX_RAD_REG_BIST_RESULT not supported on this chip\n");
13375 #endif
13376     return CVMX_ADD_IO_SEG(0x0001180070000080ull);
13377 }
13378
13379 #define CVMX_RAD_REG_CMD_BUF CVMX_RAD_REG_CMD_BUF_FUNC()
13380 static inline uint64_t CVMX_RAD_REG_CMD_BUF_FUNC(void)
13381 {
13382 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13383     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13384         cvmx_warn("CVMX_RAD_REG_CMD_BUF not supported on this chip\n");
13385 #endif
13386     return CVMX_ADD_IO_SEG(0x0001180070000008ull);
13387 }
13388
13389 #define CVMX_RAD_REG_CTL CVMX_RAD_REG_CTL_FUNC()
13390 static inline uint64_t CVMX_RAD_REG_CTL_FUNC(void)
13391 {
13392 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13393     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13394         cvmx_warn("CVMX_RAD_REG_CTL not supported on this chip\n");
13395 #endif
13396     return CVMX_ADD_IO_SEG(0x0001180070000000ull);
13397 }
13398
13399 #define CVMX_RAD_REG_DEBUG0 CVMX_RAD_REG_DEBUG0_FUNC()
13400 static inline uint64_t CVMX_RAD_REG_DEBUG0_FUNC(void)
13401 {
13402 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13403     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13404         cvmx_warn("CVMX_RAD_REG_DEBUG0 not supported on this chip\n");
13405 #endif
13406     return CVMX_ADD_IO_SEG(0x0001180070000100ull);
13407 }
13408
13409 #define CVMX_RAD_REG_DEBUG1 CVMX_RAD_REG_DEBUG1_FUNC()
13410 static inline uint64_t CVMX_RAD_REG_DEBUG1_FUNC(void)
13411 {
13412 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13413     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13414         cvmx_warn("CVMX_RAD_REG_DEBUG1 not supported on this chip\n");
13415 #endif
13416     return CVMX_ADD_IO_SEG(0x0001180070000108ull);
13417 }
13418
13419 #define CVMX_RAD_REG_DEBUG10 CVMX_RAD_REG_DEBUG10_FUNC()
13420 static inline uint64_t CVMX_RAD_REG_DEBUG10_FUNC(void)
13421 {
13422 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13423     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13424         cvmx_warn("CVMX_RAD_REG_DEBUG10 not supported on this chip\n");
13425 #endif
13426     return CVMX_ADD_IO_SEG(0x0001180070000150ull);
13427 }
13428
13429 #define CVMX_RAD_REG_DEBUG11 CVMX_RAD_REG_DEBUG11_FUNC()
13430 static inline uint64_t CVMX_RAD_REG_DEBUG11_FUNC(void)
13431 {
13432 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13433     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13434         cvmx_warn("CVMX_RAD_REG_DEBUG11 not supported on this chip\n");
13435 #endif
13436     return CVMX_ADD_IO_SEG(0x0001180070000158ull);
13437 }
13438
13439 #define CVMX_RAD_REG_DEBUG12 CVMX_RAD_REG_DEBUG12_FUNC()
13440 static inline uint64_t CVMX_RAD_REG_DEBUG12_FUNC(void)
13441 {
13442 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13443     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13444         cvmx_warn("CVMX_RAD_REG_DEBUG12 not supported on this chip\n");
13445 #endif
13446     return CVMX_ADD_IO_SEG(0x0001180070000160ull);
13447 }
13448
13449 #define CVMX_RAD_REG_DEBUG2 CVMX_RAD_REG_DEBUG2_FUNC()
13450 static inline uint64_t CVMX_RAD_REG_DEBUG2_FUNC(void)
13451 {
13452 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13453     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13454         cvmx_warn("CVMX_RAD_REG_DEBUG2 not supported on this chip\n");
13455 #endif
13456     return CVMX_ADD_IO_SEG(0x0001180070000110ull);
13457 }
13458
13459 #define CVMX_RAD_REG_DEBUG3 CVMX_RAD_REG_DEBUG3_FUNC()
13460 static inline uint64_t CVMX_RAD_REG_DEBUG3_FUNC(void)
13461 {
13462 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13463     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13464         cvmx_warn("CVMX_RAD_REG_DEBUG3 not supported on this chip\n");
13465 #endif
13466     return CVMX_ADD_IO_SEG(0x0001180070000118ull);
13467 }
13468
13469 #define CVMX_RAD_REG_DEBUG4 CVMX_RAD_REG_DEBUG4_FUNC()
13470 static inline uint64_t CVMX_RAD_REG_DEBUG4_FUNC(void)
13471 {
13472 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13473     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13474         cvmx_warn("CVMX_RAD_REG_DEBUG4 not supported on this chip\n");
13475 #endif
13476     return CVMX_ADD_IO_SEG(0x0001180070000120ull);
13477 }
13478
13479 #define CVMX_RAD_REG_DEBUG5 CVMX_RAD_REG_DEBUG5_FUNC()
13480 static inline uint64_t CVMX_RAD_REG_DEBUG5_FUNC(void)
13481 {
13482 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13483     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13484         cvmx_warn("CVMX_RAD_REG_DEBUG5 not supported on this chip\n");
13485 #endif
13486     return CVMX_ADD_IO_SEG(0x0001180070000128ull);
13487 }
13488
13489 #define CVMX_RAD_REG_DEBUG6 CVMX_RAD_REG_DEBUG6_FUNC()
13490 static inline uint64_t CVMX_RAD_REG_DEBUG6_FUNC(void)
13491 {
13492 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13493     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13494         cvmx_warn("CVMX_RAD_REG_DEBUG6 not supported on this chip\n");
13495 #endif
13496     return CVMX_ADD_IO_SEG(0x0001180070000130ull);
13497 }
13498
13499 #define CVMX_RAD_REG_DEBUG7 CVMX_RAD_REG_DEBUG7_FUNC()
13500 static inline uint64_t CVMX_RAD_REG_DEBUG7_FUNC(void)
13501 {
13502 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13503     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13504         cvmx_warn("CVMX_RAD_REG_DEBUG7 not supported on this chip\n");
13505 #endif
13506     return CVMX_ADD_IO_SEG(0x0001180070000138ull);
13507 }
13508
13509 #define CVMX_RAD_REG_DEBUG8 CVMX_RAD_REG_DEBUG8_FUNC()
13510 static inline uint64_t CVMX_RAD_REG_DEBUG8_FUNC(void)
13511 {
13512 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13513     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13514         cvmx_warn("CVMX_RAD_REG_DEBUG8 not supported on this chip\n");
13515 #endif
13516     return CVMX_ADD_IO_SEG(0x0001180070000140ull);
13517 }
13518
13519 #define CVMX_RAD_REG_DEBUG9 CVMX_RAD_REG_DEBUG9_FUNC()
13520 static inline uint64_t CVMX_RAD_REG_DEBUG9_FUNC(void)
13521 {
13522 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13523     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13524         cvmx_warn("CVMX_RAD_REG_DEBUG9 not supported on this chip\n");
13525 #endif
13526     return CVMX_ADD_IO_SEG(0x0001180070000148ull);
13527 }
13528
13529 #define CVMX_RAD_REG_ERROR CVMX_RAD_REG_ERROR_FUNC()
13530 static inline uint64_t CVMX_RAD_REG_ERROR_FUNC(void)
13531 {
13532 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13533     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13534         cvmx_warn("CVMX_RAD_REG_ERROR not supported on this chip\n");
13535 #endif
13536     return CVMX_ADD_IO_SEG(0x0001180070000088ull);
13537 }
13538
13539 #define CVMX_RAD_REG_INT_MASK CVMX_RAD_REG_INT_MASK_FUNC()
13540 static inline uint64_t CVMX_RAD_REG_INT_MASK_FUNC(void)
13541 {
13542 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13543     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13544         cvmx_warn("CVMX_RAD_REG_INT_MASK not supported on this chip\n");
13545 #endif
13546     return CVMX_ADD_IO_SEG(0x0001180070000090ull);
13547 }
13548
13549 #define CVMX_RAD_REG_POLYNOMIAL CVMX_RAD_REG_POLYNOMIAL_FUNC()
13550 static inline uint64_t CVMX_RAD_REG_POLYNOMIAL_FUNC(void)
13551 {
13552 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13553     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13554         cvmx_warn("CVMX_RAD_REG_POLYNOMIAL not supported on this chip\n");
13555 #endif
13556     return CVMX_ADD_IO_SEG(0x0001180070000010ull);
13557 }
13558
13559 #define CVMX_RAD_REG_READ_IDX CVMX_RAD_REG_READ_IDX_FUNC()
13560 static inline uint64_t CVMX_RAD_REG_READ_IDX_FUNC(void)
13561 {
13562 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13563     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX)))
13564         cvmx_warn("CVMX_RAD_REG_READ_IDX not supported on this chip\n");
13565 #endif
13566     return CVMX_ADD_IO_SEG(0x0001180070000018ull);
13567 }
13568
13569 #define CVMX_RNM_BIST_STATUS CVMX_RNM_BIST_STATUS_FUNC()
13570 static inline uint64_t CVMX_RNM_BIST_STATUS_FUNC(void)
13571 {
13572     return CVMX_ADD_IO_SEG(0x0001180040000008ull);
13573 }
13574
13575 #define CVMX_RNM_CTL_STATUS CVMX_RNM_CTL_STATUS_FUNC()
13576 static inline uint64_t CVMX_RNM_CTL_STATUS_FUNC(void)
13577 {
13578     return CVMX_ADD_IO_SEG(0x0001180040000000ull);
13579 }
13580
13581 static inline uint64_t CVMX_SMIX_CLK(unsigned long offset)
13582 {
13583 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13584     if (!(
13585         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
13586         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13587         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
13588         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
13589         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
13590         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
13591         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
13592         cvmx_warn("CVMX_SMIX_CLK(%lu) is invalid on this chip\n", offset);
13593 #endif
13594     return CVMX_ADD_IO_SEG(0x0001180000001818ull) + (offset&1)*256;
13595 }
13596
13597 static inline uint64_t CVMX_SMIX_CMD(unsigned long offset)
13598 {
13599 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13600     if (!(
13601         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
13602         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13603         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
13604         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
13605         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
13606         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
13607         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
13608         cvmx_warn("CVMX_SMIX_CMD(%lu) is invalid on this chip\n", offset);
13609 #endif
13610     return CVMX_ADD_IO_SEG(0x0001180000001800ull) + (offset&1)*256;
13611 }
13612
13613 static inline uint64_t CVMX_SMIX_EN(unsigned long offset)
13614 {
13615 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13616     if (!(
13617         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
13618         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13619         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
13620         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
13621         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
13622         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
13623         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
13624         cvmx_warn("CVMX_SMIX_EN(%lu) is invalid on this chip\n", offset);
13625 #endif
13626     return CVMX_ADD_IO_SEG(0x0001180000001820ull) + (offset&1)*256;
13627 }
13628
13629 static inline uint64_t CVMX_SMIX_RD_DAT(unsigned long offset)
13630 {
13631 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13632     if (!(
13633         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
13634         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13635         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
13636         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
13637         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
13638         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
13639         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
13640         cvmx_warn("CVMX_SMIX_RD_DAT(%lu) is invalid on this chip\n", offset);
13641 #endif
13642     return CVMX_ADD_IO_SEG(0x0001180000001810ull) + (offset&1)*256;
13643 }
13644
13645 static inline uint64_t CVMX_SMIX_WR_DAT(unsigned long offset)
13646 {
13647 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13648     if (!(
13649         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((offset <= 1))) ||
13650         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((offset == 0))) ||
13651         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((offset == 0))) ||
13652         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((offset == 0))) ||
13653         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((offset == 0))) ||
13654         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((offset == 0))) ||
13655         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((offset <= 1)))))
13656         cvmx_warn("CVMX_SMIX_WR_DAT(%lu) is invalid on this chip\n", offset);
13657 #endif
13658     return CVMX_ADD_IO_SEG(0x0001180000001808ull) + (offset&1)*256;
13659 }
13660
13661 #define CVMX_SPX0_PLL_BW_CTL CVMX_SPX0_PLL_BW_CTL_FUNC()
13662 static inline uint64_t CVMX_SPX0_PLL_BW_CTL_FUNC(void)
13663 {
13664 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13665     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX)))
13666         cvmx_warn("CVMX_SPX0_PLL_BW_CTL not supported on this chip\n");
13667 #endif
13668     return CVMX_ADD_IO_SEG(0x0001180090000388ull);
13669 }
13670
13671 #define CVMX_SPX0_PLL_SETTING CVMX_SPX0_PLL_SETTING_FUNC()
13672 static inline uint64_t CVMX_SPX0_PLL_SETTING_FUNC(void)
13673 {
13674 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13675     if (!(OCTEON_IS_MODEL(OCTEON_CN38XX)))
13676         cvmx_warn("CVMX_SPX0_PLL_SETTING not supported on this chip\n");
13677 #endif
13678     return CVMX_ADD_IO_SEG(0x0001180090000380ull);
13679 }
13680
13681 static inline uint64_t CVMX_SPXX_BCKPRS_CNT(unsigned long block_id)
13682 {
13683 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13684     if (!(
13685         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13686         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13687         cvmx_warn("CVMX_SPXX_BCKPRS_CNT(%lu) is invalid on this chip\n", block_id);
13688 #endif
13689     return CVMX_ADD_IO_SEG(0x0001180090000340ull) + (block_id&1)*0x8000000ull;
13690 }
13691
13692 static inline uint64_t CVMX_SPXX_BIST_STAT(unsigned long block_id)
13693 {
13694 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13695     if (!(
13696         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13697         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13698         cvmx_warn("CVMX_SPXX_BIST_STAT(%lu) is invalid on this chip\n", block_id);
13699 #endif
13700     return CVMX_ADD_IO_SEG(0x00011800900007F8ull) + (block_id&1)*0x8000000ull;
13701 }
13702
13703 static inline uint64_t CVMX_SPXX_CLK_CTL(unsigned long block_id)
13704 {
13705 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13706     if (!(
13707         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13708         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13709         cvmx_warn("CVMX_SPXX_CLK_CTL(%lu) is invalid on this chip\n", block_id);
13710 #endif
13711     return CVMX_ADD_IO_SEG(0x0001180090000348ull) + (block_id&1)*0x8000000ull;
13712 }
13713
13714 static inline uint64_t CVMX_SPXX_CLK_STAT(unsigned long block_id)
13715 {
13716 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13717     if (!(
13718         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13719         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13720         cvmx_warn("CVMX_SPXX_CLK_STAT(%lu) is invalid on this chip\n", block_id);
13721 #endif
13722     return CVMX_ADD_IO_SEG(0x0001180090000350ull) + (block_id&1)*0x8000000ull;
13723 }
13724
13725 static inline uint64_t CVMX_SPXX_DBG_DESKEW_CTL(unsigned long block_id)
13726 {
13727 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13728     if (!(
13729         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13730         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13731         cvmx_warn("CVMX_SPXX_DBG_DESKEW_CTL(%lu) is invalid on this chip\n", block_id);
13732 #endif
13733     return CVMX_ADD_IO_SEG(0x0001180090000368ull) + (block_id&1)*0x8000000ull;
13734 }
13735
13736 static inline uint64_t CVMX_SPXX_DBG_DESKEW_STATE(unsigned long block_id)
13737 {
13738 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13739     if (!(
13740         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13741         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13742         cvmx_warn("CVMX_SPXX_DBG_DESKEW_STATE(%lu) is invalid on this chip\n", block_id);
13743 #endif
13744     return CVMX_ADD_IO_SEG(0x0001180090000370ull) + (block_id&1)*0x8000000ull;
13745 }
13746
13747 static inline uint64_t CVMX_SPXX_DRV_CTL(unsigned long block_id)
13748 {
13749 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13750     if (!(
13751         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13752         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13753         cvmx_warn("CVMX_SPXX_DRV_CTL(%lu) is invalid on this chip\n", block_id);
13754 #endif
13755     return CVMX_ADD_IO_SEG(0x0001180090000358ull) + (block_id&1)*0x8000000ull;
13756 }
13757
13758 static inline uint64_t CVMX_SPXX_ERR_CTL(unsigned long block_id)
13759 {
13760 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13761     if (!(
13762         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13763         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13764         cvmx_warn("CVMX_SPXX_ERR_CTL(%lu) is invalid on this chip\n", block_id);
13765 #endif
13766     return CVMX_ADD_IO_SEG(0x0001180090000320ull) + (block_id&1)*0x8000000ull;
13767 }
13768
13769 static inline uint64_t CVMX_SPXX_INT_DAT(unsigned long block_id)
13770 {
13771 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13772     if (!(
13773         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13774         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13775         cvmx_warn("CVMX_SPXX_INT_DAT(%lu) is invalid on this chip\n", block_id);
13776 #endif
13777     return CVMX_ADD_IO_SEG(0x0001180090000318ull) + (block_id&1)*0x8000000ull;
13778 }
13779
13780 static inline uint64_t CVMX_SPXX_INT_MSK(unsigned long block_id)
13781 {
13782 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13783     if (!(
13784         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13785         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13786         cvmx_warn("CVMX_SPXX_INT_MSK(%lu) is invalid on this chip\n", block_id);
13787 #endif
13788     return CVMX_ADD_IO_SEG(0x0001180090000308ull) + (block_id&1)*0x8000000ull;
13789 }
13790
13791 static inline uint64_t CVMX_SPXX_INT_REG(unsigned long block_id)
13792 {
13793 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13794     if (!(
13795         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13796         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13797         cvmx_warn("CVMX_SPXX_INT_REG(%lu) is invalid on this chip\n", block_id);
13798 #endif
13799     return CVMX_ADD_IO_SEG(0x0001180090000300ull) + (block_id&1)*0x8000000ull;
13800 }
13801
13802 static inline uint64_t CVMX_SPXX_INT_SYNC(unsigned long block_id)
13803 {
13804 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13805     if (!(
13806         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13807         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13808         cvmx_warn("CVMX_SPXX_INT_SYNC(%lu) is invalid on this chip\n", block_id);
13809 #endif
13810     return CVMX_ADD_IO_SEG(0x0001180090000310ull) + (block_id&1)*0x8000000ull;
13811 }
13812
13813 static inline uint64_t CVMX_SPXX_TPA_ACC(unsigned long block_id)
13814 {
13815 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13816     if (!(
13817         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13818         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13819         cvmx_warn("CVMX_SPXX_TPA_ACC(%lu) is invalid on this chip\n", block_id);
13820 #endif
13821     return CVMX_ADD_IO_SEG(0x0001180090000338ull) + (block_id&1)*0x8000000ull;
13822 }
13823
13824 static inline uint64_t CVMX_SPXX_TPA_MAX(unsigned long block_id)
13825 {
13826 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13827     if (!(
13828         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13829         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13830         cvmx_warn("CVMX_SPXX_TPA_MAX(%lu) is invalid on this chip\n", block_id);
13831 #endif
13832     return CVMX_ADD_IO_SEG(0x0001180090000330ull) + (block_id&1)*0x8000000ull;
13833 }
13834
13835 static inline uint64_t CVMX_SPXX_TPA_SEL(unsigned long block_id)
13836 {
13837 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13838     if (!(
13839         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13840         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13841         cvmx_warn("CVMX_SPXX_TPA_SEL(%lu) is invalid on this chip\n", block_id);
13842 #endif
13843     return CVMX_ADD_IO_SEG(0x0001180090000328ull) + (block_id&1)*0x8000000ull;
13844 }
13845
13846 static inline uint64_t CVMX_SPXX_TRN4_CTL(unsigned long block_id)
13847 {
13848 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13849     if (!(
13850         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13851         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13852         cvmx_warn("CVMX_SPXX_TRN4_CTL(%lu) is invalid on this chip\n", block_id);
13853 #endif
13854     return CVMX_ADD_IO_SEG(0x0001180090000360ull) + (block_id&1)*0x8000000ull;
13855 }
13856
13857 static inline uint64_t CVMX_SRXX_COM_CTL(unsigned long block_id)
13858 {
13859 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13860     if (!(
13861         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13862         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13863         cvmx_warn("CVMX_SRXX_COM_CTL(%lu) is invalid on this chip\n", block_id);
13864 #endif
13865     return CVMX_ADD_IO_SEG(0x0001180090000200ull) + (block_id&1)*0x8000000ull;
13866 }
13867
13868 static inline uint64_t CVMX_SRXX_IGN_RX_FULL(unsigned long block_id)
13869 {
13870 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13871     if (!(
13872         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13873         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13874         cvmx_warn("CVMX_SRXX_IGN_RX_FULL(%lu) is invalid on this chip\n", block_id);
13875 #endif
13876     return CVMX_ADD_IO_SEG(0x0001180090000218ull) + (block_id&1)*0x8000000ull;
13877 }
13878
13879 static inline uint64_t CVMX_SRXX_SPI4_CALX(unsigned long offset, unsigned long block_id)
13880 {
13881 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13882     if (!(
13883         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 31)) && ((block_id <= 1)))) ||
13884         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 31)) && ((block_id <= 1))))))
13885         cvmx_warn("CVMX_SRXX_SPI4_CALX(%lu,%lu) is invalid on this chip\n", offset, block_id);
13886 #endif
13887     return CVMX_ADD_IO_SEG(0x0001180090000000ull) + ((offset&31) + (block_id&1)*0x1000000ull)*8;
13888 }
13889
13890 static inline uint64_t CVMX_SRXX_SPI4_STAT(unsigned long block_id)
13891 {
13892 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13893     if (!(
13894         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13895         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13896         cvmx_warn("CVMX_SRXX_SPI4_STAT(%lu) is invalid on this chip\n", block_id);
13897 #endif
13898     return CVMX_ADD_IO_SEG(0x0001180090000208ull) + (block_id&1)*0x8000000ull;
13899 }
13900
13901 static inline uint64_t CVMX_SRXX_SW_TICK_CTL(unsigned long block_id)
13902 {
13903 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13904     if (!(
13905         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13906         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13907         cvmx_warn("CVMX_SRXX_SW_TICK_CTL(%lu) is invalid on this chip\n", block_id);
13908 #endif
13909     return CVMX_ADD_IO_SEG(0x0001180090000220ull) + (block_id&1)*0x8000000ull;
13910 }
13911
13912 static inline uint64_t CVMX_SRXX_SW_TICK_DAT(unsigned long block_id)
13913 {
13914 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13915     if (!(
13916         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13917         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13918         cvmx_warn("CVMX_SRXX_SW_TICK_DAT(%lu) is invalid on this chip\n", block_id);
13919 #endif
13920     return CVMX_ADD_IO_SEG(0x0001180090000228ull) + (block_id&1)*0x8000000ull;
13921 }
13922
13923 static inline uint64_t CVMX_STXX_ARB_CTL(unsigned long block_id)
13924 {
13925 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13926     if (!(
13927         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13928         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13929         cvmx_warn("CVMX_STXX_ARB_CTL(%lu) is invalid on this chip\n", block_id);
13930 #endif
13931     return CVMX_ADD_IO_SEG(0x0001180090000608ull) + (block_id&1)*0x8000000ull;
13932 }
13933
13934 static inline uint64_t CVMX_STXX_BCKPRS_CNT(unsigned long block_id)
13935 {
13936 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13937     if (!(
13938         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13939         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13940         cvmx_warn("CVMX_STXX_BCKPRS_CNT(%lu) is invalid on this chip\n", block_id);
13941 #endif
13942     return CVMX_ADD_IO_SEG(0x0001180090000688ull) + (block_id&1)*0x8000000ull;
13943 }
13944
13945 static inline uint64_t CVMX_STXX_COM_CTL(unsigned long block_id)
13946 {
13947 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13948     if (!(
13949         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13950         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13951         cvmx_warn("CVMX_STXX_COM_CTL(%lu) is invalid on this chip\n", block_id);
13952 #endif
13953     return CVMX_ADD_IO_SEG(0x0001180090000600ull) + (block_id&1)*0x8000000ull;
13954 }
13955
13956 static inline uint64_t CVMX_STXX_DIP_CNT(unsigned long block_id)
13957 {
13958 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13959     if (!(
13960         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13961         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13962         cvmx_warn("CVMX_STXX_DIP_CNT(%lu) is invalid on this chip\n", block_id);
13963 #endif
13964     return CVMX_ADD_IO_SEG(0x0001180090000690ull) + (block_id&1)*0x8000000ull;
13965 }
13966
13967 static inline uint64_t CVMX_STXX_IGN_CAL(unsigned long block_id)
13968 {
13969 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13970     if (!(
13971         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13972         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13973         cvmx_warn("CVMX_STXX_IGN_CAL(%lu) is invalid on this chip\n", block_id);
13974 #endif
13975     return CVMX_ADD_IO_SEG(0x0001180090000610ull) + (block_id&1)*0x8000000ull;
13976 }
13977
13978 static inline uint64_t CVMX_STXX_INT_MSK(unsigned long block_id)
13979 {
13980 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13981     if (!(
13982         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13983         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13984         cvmx_warn("CVMX_STXX_INT_MSK(%lu) is invalid on this chip\n", block_id);
13985 #endif
13986     return CVMX_ADD_IO_SEG(0x00011800900006A0ull) + (block_id&1)*0x8000000ull;
13987 }
13988
13989 static inline uint64_t CVMX_STXX_INT_REG(unsigned long block_id)
13990 {
13991 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
13992     if (!(
13993         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
13994         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
13995         cvmx_warn("CVMX_STXX_INT_REG(%lu) is invalid on this chip\n", block_id);
13996 #endif
13997     return CVMX_ADD_IO_SEG(0x0001180090000698ull) + (block_id&1)*0x8000000ull;
13998 }
13999
14000 static inline uint64_t CVMX_STXX_INT_SYNC(unsigned long block_id)
14001 {
14002 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14003     if (!(
14004         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14005         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14006         cvmx_warn("CVMX_STXX_INT_SYNC(%lu) is invalid on this chip\n", block_id);
14007 #endif
14008     return CVMX_ADD_IO_SEG(0x00011800900006A8ull) + (block_id&1)*0x8000000ull;
14009 }
14010
14011 static inline uint64_t CVMX_STXX_MIN_BST(unsigned long block_id)
14012 {
14013 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14014     if (!(
14015         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14016         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14017         cvmx_warn("CVMX_STXX_MIN_BST(%lu) is invalid on this chip\n", block_id);
14018 #endif
14019     return CVMX_ADD_IO_SEG(0x0001180090000618ull) + (block_id&1)*0x8000000ull;
14020 }
14021
14022 static inline uint64_t CVMX_STXX_SPI4_CALX(unsigned long offset, unsigned long block_id)
14023 {
14024 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14025     if (!(
14026         (OCTEON_IS_MODEL(OCTEON_CN38XX) && (((offset <= 31)) && ((block_id <= 1)))) ||
14027         (OCTEON_IS_MODEL(OCTEON_CN58XX) && (((offset <= 31)) && ((block_id <= 1))))))
14028         cvmx_warn("CVMX_STXX_SPI4_CALX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14029 #endif
14030     return CVMX_ADD_IO_SEG(0x0001180090000400ull) + ((offset&31) + (block_id&1)*0x1000000ull)*8;
14031 }
14032
14033 static inline uint64_t CVMX_STXX_SPI4_DAT(unsigned long block_id)
14034 {
14035 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14036     if (!(
14037         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14038         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14039         cvmx_warn("CVMX_STXX_SPI4_DAT(%lu) is invalid on this chip\n", block_id);
14040 #endif
14041     return CVMX_ADD_IO_SEG(0x0001180090000628ull) + (block_id&1)*0x8000000ull;
14042 }
14043
14044 static inline uint64_t CVMX_STXX_SPI4_STAT(unsigned long block_id)
14045 {
14046 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14047     if (!(
14048         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14049         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14050         cvmx_warn("CVMX_STXX_SPI4_STAT(%lu) is invalid on this chip\n", block_id);
14051 #endif
14052     return CVMX_ADD_IO_SEG(0x0001180090000630ull) + (block_id&1)*0x8000000ull;
14053 }
14054
14055 static inline uint64_t CVMX_STXX_STAT_BYTES_HI(unsigned long block_id)
14056 {
14057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14058     if (!(
14059         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14060         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14061         cvmx_warn("CVMX_STXX_STAT_BYTES_HI(%lu) is invalid on this chip\n", block_id);
14062 #endif
14063     return CVMX_ADD_IO_SEG(0x0001180090000648ull) + (block_id&1)*0x8000000ull;
14064 }
14065
14066 static inline uint64_t CVMX_STXX_STAT_BYTES_LO(unsigned long block_id)
14067 {
14068 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14069     if (!(
14070         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14071         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14072         cvmx_warn("CVMX_STXX_STAT_BYTES_LO(%lu) is invalid on this chip\n", block_id);
14073 #endif
14074     return CVMX_ADD_IO_SEG(0x0001180090000680ull) + (block_id&1)*0x8000000ull;
14075 }
14076
14077 static inline uint64_t CVMX_STXX_STAT_CTL(unsigned long block_id)
14078 {
14079 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14080     if (!(
14081         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14082         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14083         cvmx_warn("CVMX_STXX_STAT_CTL(%lu) is invalid on this chip\n", block_id);
14084 #endif
14085     return CVMX_ADD_IO_SEG(0x0001180090000638ull) + (block_id&1)*0x8000000ull;
14086 }
14087
14088 static inline uint64_t CVMX_STXX_STAT_PKT_XMT(unsigned long block_id)
14089 {
14090 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14091     if (!(
14092         (OCTEON_IS_MODEL(OCTEON_CN38XX) && ((block_id <= 1))) ||
14093         (OCTEON_IS_MODEL(OCTEON_CN58XX) && ((block_id <= 1)))))
14094         cvmx_warn("CVMX_STXX_STAT_PKT_XMT(%lu) is invalid on this chip\n", block_id);
14095 #endif
14096     return CVMX_ADD_IO_SEG(0x0001180090000640ull) + (block_id&1)*0x8000000ull;
14097 }
14098
14099 #define CVMX_TIM_MEM_DEBUG0 CVMX_TIM_MEM_DEBUG0_FUNC()
14100 static inline uint64_t CVMX_TIM_MEM_DEBUG0_FUNC(void)
14101 {
14102     return CVMX_ADD_IO_SEG(0x0001180058001100ull);
14103 }
14104
14105 #define CVMX_TIM_MEM_DEBUG1 CVMX_TIM_MEM_DEBUG1_FUNC()
14106 static inline uint64_t CVMX_TIM_MEM_DEBUG1_FUNC(void)
14107 {
14108     return CVMX_ADD_IO_SEG(0x0001180058001108ull);
14109 }
14110
14111 #define CVMX_TIM_MEM_DEBUG2 CVMX_TIM_MEM_DEBUG2_FUNC()
14112 static inline uint64_t CVMX_TIM_MEM_DEBUG2_FUNC(void)
14113 {
14114     return CVMX_ADD_IO_SEG(0x0001180058001110ull);
14115 }
14116
14117 #define CVMX_TIM_MEM_RING0 CVMX_TIM_MEM_RING0_FUNC()
14118 static inline uint64_t CVMX_TIM_MEM_RING0_FUNC(void)
14119 {
14120     return CVMX_ADD_IO_SEG(0x0001180058001000ull);
14121 }
14122
14123 #define CVMX_TIM_MEM_RING1 CVMX_TIM_MEM_RING1_FUNC()
14124 static inline uint64_t CVMX_TIM_MEM_RING1_FUNC(void)
14125 {
14126     return CVMX_ADD_IO_SEG(0x0001180058001008ull);
14127 }
14128
14129 #define CVMX_TIM_REG_BIST_RESULT CVMX_TIM_REG_BIST_RESULT_FUNC()
14130 static inline uint64_t CVMX_TIM_REG_BIST_RESULT_FUNC(void)
14131 {
14132     return CVMX_ADD_IO_SEG(0x0001180058000080ull);
14133 }
14134
14135 #define CVMX_TIM_REG_ERROR CVMX_TIM_REG_ERROR_FUNC()
14136 static inline uint64_t CVMX_TIM_REG_ERROR_FUNC(void)
14137 {
14138     return CVMX_ADD_IO_SEG(0x0001180058000088ull);
14139 }
14140
14141 #define CVMX_TIM_REG_FLAGS CVMX_TIM_REG_FLAGS_FUNC()
14142 static inline uint64_t CVMX_TIM_REG_FLAGS_FUNC(void)
14143 {
14144     return CVMX_ADD_IO_SEG(0x0001180058000000ull);
14145 }
14146
14147 #define CVMX_TIM_REG_INT_MASK CVMX_TIM_REG_INT_MASK_FUNC()
14148 static inline uint64_t CVMX_TIM_REG_INT_MASK_FUNC(void)
14149 {
14150     return CVMX_ADD_IO_SEG(0x0001180058000090ull);
14151 }
14152
14153 #define CVMX_TIM_REG_READ_IDX CVMX_TIM_REG_READ_IDX_FUNC()
14154 static inline uint64_t CVMX_TIM_REG_READ_IDX_FUNC(void)
14155 {
14156     return CVMX_ADD_IO_SEG(0x0001180058000008ull);
14157 }
14158
14159 #define CVMX_TRA_BIST_STATUS CVMX_TRA_BIST_STATUS_FUNC()
14160 static inline uint64_t CVMX_TRA_BIST_STATUS_FUNC(void)
14161 {
14162 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14163     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14164         cvmx_warn("CVMX_TRA_BIST_STATUS not supported on this chip\n");
14165 #endif
14166     return CVMX_ADD_IO_SEG(0x00011800A8000010ull);
14167 }
14168
14169 #define CVMX_TRA_CTL CVMX_TRA_CTL_FUNC()
14170 static inline uint64_t CVMX_TRA_CTL_FUNC(void)
14171 {
14172 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14173     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14174         cvmx_warn("CVMX_TRA_CTL not supported on this chip\n");
14175 #endif
14176     return CVMX_ADD_IO_SEG(0x00011800A8000000ull);
14177 }
14178
14179 #define CVMX_TRA_CYCLES_SINCE CVMX_TRA_CYCLES_SINCE_FUNC()
14180 static inline uint64_t CVMX_TRA_CYCLES_SINCE_FUNC(void)
14181 {
14182 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14183     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14184         cvmx_warn("CVMX_TRA_CYCLES_SINCE not supported on this chip\n");
14185 #endif
14186     return CVMX_ADD_IO_SEG(0x00011800A8000018ull);
14187 }
14188
14189 #define CVMX_TRA_CYCLES_SINCE1 CVMX_TRA_CYCLES_SINCE1_FUNC()
14190 static inline uint64_t CVMX_TRA_CYCLES_SINCE1_FUNC(void)
14191 {
14192 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14193     if (!(OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14194         cvmx_warn("CVMX_TRA_CYCLES_SINCE1 not supported on this chip\n");
14195 #endif
14196     return CVMX_ADD_IO_SEG(0x00011800A8000028ull);
14197 }
14198
14199 #define CVMX_TRA_FILT_ADR_ADR CVMX_TRA_FILT_ADR_ADR_FUNC()
14200 static inline uint64_t CVMX_TRA_FILT_ADR_ADR_FUNC(void)
14201 {
14202 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14203     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14204         cvmx_warn("CVMX_TRA_FILT_ADR_ADR not supported on this chip\n");
14205 #endif
14206     return CVMX_ADD_IO_SEG(0x00011800A8000058ull);
14207 }
14208
14209 #define CVMX_TRA_FILT_ADR_MSK CVMX_TRA_FILT_ADR_MSK_FUNC()
14210 static inline uint64_t CVMX_TRA_FILT_ADR_MSK_FUNC(void)
14211 {
14212 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14213     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14214         cvmx_warn("CVMX_TRA_FILT_ADR_MSK not supported on this chip\n");
14215 #endif
14216     return CVMX_ADD_IO_SEG(0x00011800A8000060ull);
14217 }
14218
14219 #define CVMX_TRA_FILT_CMD CVMX_TRA_FILT_CMD_FUNC()
14220 static inline uint64_t CVMX_TRA_FILT_CMD_FUNC(void)
14221 {
14222 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14223     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14224         cvmx_warn("CVMX_TRA_FILT_CMD not supported on this chip\n");
14225 #endif
14226     return CVMX_ADD_IO_SEG(0x00011800A8000040ull);
14227 }
14228
14229 #define CVMX_TRA_FILT_DID CVMX_TRA_FILT_DID_FUNC()
14230 static inline uint64_t CVMX_TRA_FILT_DID_FUNC(void)
14231 {
14232 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14233     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14234         cvmx_warn("CVMX_TRA_FILT_DID not supported on this chip\n");
14235 #endif
14236     return CVMX_ADD_IO_SEG(0x00011800A8000050ull);
14237 }
14238
14239 #define CVMX_TRA_FILT_SID CVMX_TRA_FILT_SID_FUNC()
14240 static inline uint64_t CVMX_TRA_FILT_SID_FUNC(void)
14241 {
14242 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14243     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14244         cvmx_warn("CVMX_TRA_FILT_SID not supported on this chip\n");
14245 #endif
14246     return CVMX_ADD_IO_SEG(0x00011800A8000048ull);
14247 }
14248
14249 #define CVMX_TRA_INT_STATUS CVMX_TRA_INT_STATUS_FUNC()
14250 static inline uint64_t CVMX_TRA_INT_STATUS_FUNC(void)
14251 {
14252 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14253     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14254         cvmx_warn("CVMX_TRA_INT_STATUS not supported on this chip\n");
14255 #endif
14256     return CVMX_ADD_IO_SEG(0x00011800A8000008ull);
14257 }
14258
14259 #define CVMX_TRA_READ_DAT CVMX_TRA_READ_DAT_FUNC()
14260 static inline uint64_t CVMX_TRA_READ_DAT_FUNC(void)
14261 {
14262 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14263     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14264         cvmx_warn("CVMX_TRA_READ_DAT not supported on this chip\n");
14265 #endif
14266     return CVMX_ADD_IO_SEG(0x00011800A8000020ull);
14267 }
14268
14269 #define CVMX_TRA_TRIG0_ADR_ADR CVMX_TRA_TRIG0_ADR_ADR_FUNC()
14270 static inline uint64_t CVMX_TRA_TRIG0_ADR_ADR_FUNC(void)
14271 {
14272 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14273     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14274         cvmx_warn("CVMX_TRA_TRIG0_ADR_ADR not supported on this chip\n");
14275 #endif
14276     return CVMX_ADD_IO_SEG(0x00011800A8000098ull);
14277 }
14278
14279 #define CVMX_TRA_TRIG0_ADR_MSK CVMX_TRA_TRIG0_ADR_MSK_FUNC()
14280 static inline uint64_t CVMX_TRA_TRIG0_ADR_MSK_FUNC(void)
14281 {
14282 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14283     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14284         cvmx_warn("CVMX_TRA_TRIG0_ADR_MSK not supported on this chip\n");
14285 #endif
14286     return CVMX_ADD_IO_SEG(0x00011800A80000A0ull);
14287 }
14288
14289 #define CVMX_TRA_TRIG0_CMD CVMX_TRA_TRIG0_CMD_FUNC()
14290 static inline uint64_t CVMX_TRA_TRIG0_CMD_FUNC(void)
14291 {
14292 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14293     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14294         cvmx_warn("CVMX_TRA_TRIG0_CMD not supported on this chip\n");
14295 #endif
14296     return CVMX_ADD_IO_SEG(0x00011800A8000080ull);
14297 }
14298
14299 #define CVMX_TRA_TRIG0_DID CVMX_TRA_TRIG0_DID_FUNC()
14300 static inline uint64_t CVMX_TRA_TRIG0_DID_FUNC(void)
14301 {
14302 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14303     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14304         cvmx_warn("CVMX_TRA_TRIG0_DID not supported on this chip\n");
14305 #endif
14306     return CVMX_ADD_IO_SEG(0x00011800A8000090ull);
14307 }
14308
14309 #define CVMX_TRA_TRIG0_SID CVMX_TRA_TRIG0_SID_FUNC()
14310 static inline uint64_t CVMX_TRA_TRIG0_SID_FUNC(void)
14311 {
14312 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14313     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14314         cvmx_warn("CVMX_TRA_TRIG0_SID not supported on this chip\n");
14315 #endif
14316     return CVMX_ADD_IO_SEG(0x00011800A8000088ull);
14317 }
14318
14319 #define CVMX_TRA_TRIG1_ADR_ADR CVMX_TRA_TRIG1_ADR_ADR_FUNC()
14320 static inline uint64_t CVMX_TRA_TRIG1_ADR_ADR_FUNC(void)
14321 {
14322 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14323     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14324         cvmx_warn("CVMX_TRA_TRIG1_ADR_ADR not supported on this chip\n");
14325 #endif
14326     return CVMX_ADD_IO_SEG(0x00011800A80000D8ull);
14327 }
14328
14329 #define CVMX_TRA_TRIG1_ADR_MSK CVMX_TRA_TRIG1_ADR_MSK_FUNC()
14330 static inline uint64_t CVMX_TRA_TRIG1_ADR_MSK_FUNC(void)
14331 {
14332 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14333     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14334         cvmx_warn("CVMX_TRA_TRIG1_ADR_MSK not supported on this chip\n");
14335 #endif
14336     return CVMX_ADD_IO_SEG(0x00011800A80000E0ull);
14337 }
14338
14339 #define CVMX_TRA_TRIG1_CMD CVMX_TRA_TRIG1_CMD_FUNC()
14340 static inline uint64_t CVMX_TRA_TRIG1_CMD_FUNC(void)
14341 {
14342 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14343     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14344         cvmx_warn("CVMX_TRA_TRIG1_CMD not supported on this chip\n");
14345 #endif
14346     return CVMX_ADD_IO_SEG(0x00011800A80000C0ull);
14347 }
14348
14349 #define CVMX_TRA_TRIG1_DID CVMX_TRA_TRIG1_DID_FUNC()
14350 static inline uint64_t CVMX_TRA_TRIG1_DID_FUNC(void)
14351 {
14352 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14353     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14354         cvmx_warn("CVMX_TRA_TRIG1_DID not supported on this chip\n");
14355 #endif
14356     return CVMX_ADD_IO_SEG(0x00011800A80000D0ull);
14357 }
14358
14359 #define CVMX_TRA_TRIG1_SID CVMX_TRA_TRIG1_SID_FUNC()
14360 static inline uint64_t CVMX_TRA_TRIG1_SID_FUNC(void)
14361 {
14362 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14363     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
14364         cvmx_warn("CVMX_TRA_TRIG1_SID not supported on this chip\n");
14365 #endif
14366     return CVMX_ADD_IO_SEG(0x00011800A80000C8ull);
14367 }
14368
14369 static inline uint64_t CVMX_USBCX_DAINT(unsigned long block_id)
14370 {
14371 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14372     if (!(
14373         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14374         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14375         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14376         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14377         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14378         cvmx_warn("CVMX_USBCX_DAINT(%lu) is invalid on this chip\n", block_id);
14379 #endif
14380     return CVMX_ADD_IO_SEG(0x00016F0010000818ull) + (block_id&1)*0x100000000000ull;
14381 }
14382
14383 static inline uint64_t CVMX_USBCX_DAINTMSK(unsigned long block_id)
14384 {
14385 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14386     if (!(
14387         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14388         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14389         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14390         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14391         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14392         cvmx_warn("CVMX_USBCX_DAINTMSK(%lu) is invalid on this chip\n", block_id);
14393 #endif
14394     return CVMX_ADD_IO_SEG(0x00016F001000081Cull) + (block_id&1)*0x100000000000ull;
14395 }
14396
14397 static inline uint64_t CVMX_USBCX_DCFG(unsigned long block_id)
14398 {
14399 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14400     if (!(
14401         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14402         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14403         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14404         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14405         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14406         cvmx_warn("CVMX_USBCX_DCFG(%lu) is invalid on this chip\n", block_id);
14407 #endif
14408     return CVMX_ADD_IO_SEG(0x00016F0010000800ull) + (block_id&1)*0x100000000000ull;
14409 }
14410
14411 static inline uint64_t CVMX_USBCX_DCTL(unsigned long block_id)
14412 {
14413 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14414     if (!(
14415         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14416         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14417         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14418         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14419         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14420         cvmx_warn("CVMX_USBCX_DCTL(%lu) is invalid on this chip\n", block_id);
14421 #endif
14422     return CVMX_ADD_IO_SEG(0x00016F0010000804ull) + (block_id&1)*0x100000000000ull;
14423 }
14424
14425 static inline uint64_t CVMX_USBCX_DIEPCTLX(unsigned long offset, unsigned long block_id)
14426 {
14427 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14428     if (!(
14429         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14430         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14431         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14432         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14433         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14434         cvmx_warn("CVMX_USBCX_DIEPCTLX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14435 #endif
14436     return CVMX_ADD_IO_SEG(0x00016F0010000900ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14437 }
14438
14439 static inline uint64_t CVMX_USBCX_DIEPINTX(unsigned long offset, unsigned long block_id)
14440 {
14441 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14442     if (!(
14443         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14444         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14445         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14446         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14447         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14448         cvmx_warn("CVMX_USBCX_DIEPINTX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14449 #endif
14450     return CVMX_ADD_IO_SEG(0x00016F0010000908ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14451 }
14452
14453 static inline uint64_t CVMX_USBCX_DIEPMSK(unsigned long block_id)
14454 {
14455 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14456     if (!(
14457         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14458         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14459         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14460         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14461         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14462         cvmx_warn("CVMX_USBCX_DIEPMSK(%lu) is invalid on this chip\n", block_id);
14463 #endif
14464     return CVMX_ADD_IO_SEG(0x00016F0010000810ull) + (block_id&1)*0x100000000000ull;
14465 }
14466
14467 static inline uint64_t CVMX_USBCX_DIEPTSIZX(unsigned long offset, unsigned long block_id)
14468 {
14469 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14470     if (!(
14471         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14472         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14473         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14474         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14475         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14476         cvmx_warn("CVMX_USBCX_DIEPTSIZX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14477 #endif
14478     return CVMX_ADD_IO_SEG(0x00016F0010000910ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14479 }
14480
14481 static inline uint64_t CVMX_USBCX_DOEPCTLX(unsigned long offset, unsigned long block_id)
14482 {
14483 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14484     if (!(
14485         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14486         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14487         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14488         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14489         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14490         cvmx_warn("CVMX_USBCX_DOEPCTLX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14491 #endif
14492     return CVMX_ADD_IO_SEG(0x00016F0010000B00ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14493 }
14494
14495 static inline uint64_t CVMX_USBCX_DOEPINTX(unsigned long offset, unsigned long block_id)
14496 {
14497 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14498     if (!(
14499         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14500         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14501         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14502         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14503         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14504         cvmx_warn("CVMX_USBCX_DOEPINTX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14505 #endif
14506     return CVMX_ADD_IO_SEG(0x00016F0010000B08ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14507 }
14508
14509 static inline uint64_t CVMX_USBCX_DOEPMSK(unsigned long block_id)
14510 {
14511 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14512     if (!(
14513         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14514         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14515         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14516         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14517         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14518         cvmx_warn("CVMX_USBCX_DOEPMSK(%lu) is invalid on this chip\n", block_id);
14519 #endif
14520     return CVMX_ADD_IO_SEG(0x00016F0010000814ull) + (block_id&1)*0x100000000000ull;
14521 }
14522
14523 static inline uint64_t CVMX_USBCX_DOEPTSIZX(unsigned long offset, unsigned long block_id)
14524 {
14525 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14526     if (!(
14527         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14528         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14529         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14530         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 4)) && ((block_id == 0)))) ||
14531         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 4)) && ((block_id <= 1))))))
14532         cvmx_warn("CVMX_USBCX_DOEPTSIZX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14533 #endif
14534     return CVMX_ADD_IO_SEG(0x00016F0010000B10ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14535 }
14536
14537 static inline uint64_t CVMX_USBCX_DPTXFSIZX(unsigned long offset, unsigned long block_id)
14538 {
14539 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14540     if (!(
14541         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((((offset >= 1) && (offset <= 4))) && ((block_id == 0)))) ||
14542         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((((offset >= 1) && (offset <= 4))) && ((block_id == 0)))) ||
14543         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((((offset >= 1) && (offset <= 4))) && ((block_id == 0)))) ||
14544         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((((offset >= 1) && (offset <= 4))) && ((block_id == 0)))) ||
14545         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((((offset >= 1) && (offset <= 4))) && ((block_id <= 1))))))
14546         cvmx_warn("CVMX_USBCX_DPTXFSIZX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14547 #endif
14548     return CVMX_ADD_IO_SEG(0x00016F0010000100ull) + ((offset&7) + (block_id&1)*0x40000000000ull)*4;
14549 }
14550
14551 static inline uint64_t CVMX_USBCX_DSTS(unsigned long block_id)
14552 {
14553 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14554     if (!(
14555         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14556         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14557         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14558         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14559         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14560         cvmx_warn("CVMX_USBCX_DSTS(%lu) is invalid on this chip\n", block_id);
14561 #endif
14562     return CVMX_ADD_IO_SEG(0x00016F0010000808ull) + (block_id&1)*0x100000000000ull;
14563 }
14564
14565 static inline uint64_t CVMX_USBCX_DTKNQR1(unsigned long block_id)
14566 {
14567 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14568     if (!(
14569         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14570         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14571         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14572         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14573         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14574         cvmx_warn("CVMX_USBCX_DTKNQR1(%lu) is invalid on this chip\n", block_id);
14575 #endif
14576     return CVMX_ADD_IO_SEG(0x00016F0010000820ull) + (block_id&1)*0x100000000000ull;
14577 }
14578
14579 static inline uint64_t CVMX_USBCX_DTKNQR2(unsigned long block_id)
14580 {
14581 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14582     if (!(
14583         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14584         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14585         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14586         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14587         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14588         cvmx_warn("CVMX_USBCX_DTKNQR2(%lu) is invalid on this chip\n", block_id);
14589 #endif
14590     return CVMX_ADD_IO_SEG(0x00016F0010000824ull) + (block_id&1)*0x100000000000ull;
14591 }
14592
14593 static inline uint64_t CVMX_USBCX_DTKNQR3(unsigned long block_id)
14594 {
14595 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14596     if (!(
14597         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14598         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14599         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14600         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14601         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14602         cvmx_warn("CVMX_USBCX_DTKNQR3(%lu) is invalid on this chip\n", block_id);
14603 #endif
14604     return CVMX_ADD_IO_SEG(0x00016F0010000830ull) + (block_id&1)*0x100000000000ull;
14605 }
14606
14607 static inline uint64_t CVMX_USBCX_DTKNQR4(unsigned long block_id)
14608 {
14609 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14610     if (!(
14611         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14612         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14613         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14614         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14615         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14616         cvmx_warn("CVMX_USBCX_DTKNQR4(%lu) is invalid on this chip\n", block_id);
14617 #endif
14618     return CVMX_ADD_IO_SEG(0x00016F0010000834ull) + (block_id&1)*0x100000000000ull;
14619 }
14620
14621 static inline uint64_t CVMX_USBCX_GAHBCFG(unsigned long block_id)
14622 {
14623 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14624     if (!(
14625         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14626         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14627         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14628         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14629         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14630         cvmx_warn("CVMX_USBCX_GAHBCFG(%lu) is invalid on this chip\n", block_id);
14631 #endif
14632     return CVMX_ADD_IO_SEG(0x00016F0010000008ull) + (block_id&1)*0x100000000000ull;
14633 }
14634
14635 static inline uint64_t CVMX_USBCX_GHWCFG1(unsigned long block_id)
14636 {
14637 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14638     if (!(
14639         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14640         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14641         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14642         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14643         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14644         cvmx_warn("CVMX_USBCX_GHWCFG1(%lu) is invalid on this chip\n", block_id);
14645 #endif
14646     return CVMX_ADD_IO_SEG(0x00016F0010000044ull) + (block_id&1)*0x100000000000ull;
14647 }
14648
14649 static inline uint64_t CVMX_USBCX_GHWCFG2(unsigned long block_id)
14650 {
14651 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14652     if (!(
14653         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14654         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14655         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14656         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14657         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14658         cvmx_warn("CVMX_USBCX_GHWCFG2(%lu) is invalid on this chip\n", block_id);
14659 #endif
14660     return CVMX_ADD_IO_SEG(0x00016F0010000048ull) + (block_id&1)*0x100000000000ull;
14661 }
14662
14663 static inline uint64_t CVMX_USBCX_GHWCFG3(unsigned long block_id)
14664 {
14665 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14666     if (!(
14667         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14668         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14669         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14670         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14671         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14672         cvmx_warn("CVMX_USBCX_GHWCFG3(%lu) is invalid on this chip\n", block_id);
14673 #endif
14674     return CVMX_ADD_IO_SEG(0x00016F001000004Cull) + (block_id&1)*0x100000000000ull;
14675 }
14676
14677 static inline uint64_t CVMX_USBCX_GHWCFG4(unsigned long block_id)
14678 {
14679 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14680     if (!(
14681         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14682         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14683         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14684         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14685         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14686         cvmx_warn("CVMX_USBCX_GHWCFG4(%lu) is invalid on this chip\n", block_id);
14687 #endif
14688     return CVMX_ADD_IO_SEG(0x00016F0010000050ull) + (block_id&1)*0x100000000000ull;
14689 }
14690
14691 static inline uint64_t CVMX_USBCX_GINTMSK(unsigned long block_id)
14692 {
14693 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14694     if (!(
14695         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14696         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14697         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14698         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14699         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14700         cvmx_warn("CVMX_USBCX_GINTMSK(%lu) is invalid on this chip\n", block_id);
14701 #endif
14702     return CVMX_ADD_IO_SEG(0x00016F0010000018ull) + (block_id&1)*0x100000000000ull;
14703 }
14704
14705 static inline uint64_t CVMX_USBCX_GINTSTS(unsigned long block_id)
14706 {
14707 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14708     if (!(
14709         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14710         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14711         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14712         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14713         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14714         cvmx_warn("CVMX_USBCX_GINTSTS(%lu) is invalid on this chip\n", block_id);
14715 #endif
14716     return CVMX_ADD_IO_SEG(0x00016F0010000014ull) + (block_id&1)*0x100000000000ull;
14717 }
14718
14719 static inline uint64_t CVMX_USBCX_GNPTXFSIZ(unsigned long block_id)
14720 {
14721 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14722     if (!(
14723         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14724         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14725         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14726         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14727         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14728         cvmx_warn("CVMX_USBCX_GNPTXFSIZ(%lu) is invalid on this chip\n", block_id);
14729 #endif
14730     return CVMX_ADD_IO_SEG(0x00016F0010000028ull) + (block_id&1)*0x100000000000ull;
14731 }
14732
14733 static inline uint64_t CVMX_USBCX_GNPTXSTS(unsigned long block_id)
14734 {
14735 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14736     if (!(
14737         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14738         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14739         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14740         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14741         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14742         cvmx_warn("CVMX_USBCX_GNPTXSTS(%lu) is invalid on this chip\n", block_id);
14743 #endif
14744     return CVMX_ADD_IO_SEG(0x00016F001000002Cull) + (block_id&1)*0x100000000000ull;
14745 }
14746
14747 static inline uint64_t CVMX_USBCX_GOTGCTL(unsigned long block_id)
14748 {
14749 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14750     if (!(
14751         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14752         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14753         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14754         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14755         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14756         cvmx_warn("CVMX_USBCX_GOTGCTL(%lu) is invalid on this chip\n", block_id);
14757 #endif
14758     return CVMX_ADD_IO_SEG(0x00016F0010000000ull) + (block_id&1)*0x100000000000ull;
14759 }
14760
14761 static inline uint64_t CVMX_USBCX_GOTGINT(unsigned long block_id)
14762 {
14763 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14764     if (!(
14765         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14766         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14767         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14768         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14769         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14770         cvmx_warn("CVMX_USBCX_GOTGINT(%lu) is invalid on this chip\n", block_id);
14771 #endif
14772     return CVMX_ADD_IO_SEG(0x00016F0010000004ull) + (block_id&1)*0x100000000000ull;
14773 }
14774
14775 static inline uint64_t CVMX_USBCX_GRSTCTL(unsigned long block_id)
14776 {
14777 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14778     if (!(
14779         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14780         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14781         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14782         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14783         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14784         cvmx_warn("CVMX_USBCX_GRSTCTL(%lu) is invalid on this chip\n", block_id);
14785 #endif
14786     return CVMX_ADD_IO_SEG(0x00016F0010000010ull) + (block_id&1)*0x100000000000ull;
14787 }
14788
14789 static inline uint64_t CVMX_USBCX_GRXFSIZ(unsigned long block_id)
14790 {
14791 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14792     if (!(
14793         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14794         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14795         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14796         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14797         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14798         cvmx_warn("CVMX_USBCX_GRXFSIZ(%lu) is invalid on this chip\n", block_id);
14799 #endif
14800     return CVMX_ADD_IO_SEG(0x00016F0010000024ull) + (block_id&1)*0x100000000000ull;
14801 }
14802
14803 static inline uint64_t CVMX_USBCX_GRXSTSPD(unsigned long block_id)
14804 {
14805 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14806     if (!(
14807         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14808         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14809         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14810         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14811         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14812         cvmx_warn("CVMX_USBCX_GRXSTSPD(%lu) is invalid on this chip\n", block_id);
14813 #endif
14814     return CVMX_ADD_IO_SEG(0x00016F0010040020ull) + (block_id&1)*0x100000000000ull;
14815 }
14816
14817 static inline uint64_t CVMX_USBCX_GRXSTSPH(unsigned long block_id)
14818 {
14819 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14820     if (!(
14821         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14822         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14823         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14824         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14825         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14826         cvmx_warn("CVMX_USBCX_GRXSTSPH(%lu) is invalid on this chip\n", block_id);
14827 #endif
14828     return CVMX_ADD_IO_SEG(0x00016F0010000020ull) + (block_id&1)*0x100000000000ull;
14829 }
14830
14831 static inline uint64_t CVMX_USBCX_GRXSTSRD(unsigned long block_id)
14832 {
14833 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14834     if (!(
14835         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14836         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14837         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14838         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14839         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14840         cvmx_warn("CVMX_USBCX_GRXSTSRD(%lu) is invalid on this chip\n", block_id);
14841 #endif
14842     return CVMX_ADD_IO_SEG(0x00016F001004001Cull) + (block_id&1)*0x100000000000ull;
14843 }
14844
14845 static inline uint64_t CVMX_USBCX_GRXSTSRH(unsigned long block_id)
14846 {
14847 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14848     if (!(
14849         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14850         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14851         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14852         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14853         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14854         cvmx_warn("CVMX_USBCX_GRXSTSRH(%lu) is invalid on this chip\n", block_id);
14855 #endif
14856     return CVMX_ADD_IO_SEG(0x00016F001000001Cull) + (block_id&1)*0x100000000000ull;
14857 }
14858
14859 static inline uint64_t CVMX_USBCX_GSNPSID(unsigned long block_id)
14860 {
14861 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14862     if (!(
14863         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14864         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14865         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14866         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14867         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14868         cvmx_warn("CVMX_USBCX_GSNPSID(%lu) is invalid on this chip\n", block_id);
14869 #endif
14870     return CVMX_ADD_IO_SEG(0x00016F0010000040ull) + (block_id&1)*0x100000000000ull;
14871 }
14872
14873 static inline uint64_t CVMX_USBCX_GUSBCFG(unsigned long block_id)
14874 {
14875 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14876     if (!(
14877         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14878         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14879         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14880         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14881         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14882         cvmx_warn("CVMX_USBCX_GUSBCFG(%lu) is invalid on this chip\n", block_id);
14883 #endif
14884     return CVMX_ADD_IO_SEG(0x00016F001000000Cull) + (block_id&1)*0x100000000000ull;
14885 }
14886
14887 static inline uint64_t CVMX_USBCX_HAINT(unsigned long block_id)
14888 {
14889 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14890     if (!(
14891         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14892         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14893         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14894         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14895         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14896         cvmx_warn("CVMX_USBCX_HAINT(%lu) is invalid on this chip\n", block_id);
14897 #endif
14898     return CVMX_ADD_IO_SEG(0x00016F0010000414ull) + (block_id&1)*0x100000000000ull;
14899 }
14900
14901 static inline uint64_t CVMX_USBCX_HAINTMSK(unsigned long block_id)
14902 {
14903 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14904     if (!(
14905         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14906         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14907         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14908         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14909         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14910         cvmx_warn("CVMX_USBCX_HAINTMSK(%lu) is invalid on this chip\n", block_id);
14911 #endif
14912     return CVMX_ADD_IO_SEG(0x00016F0010000418ull) + (block_id&1)*0x100000000000ull;
14913 }
14914
14915 static inline uint64_t CVMX_USBCX_HCCHARX(unsigned long offset, unsigned long block_id)
14916 {
14917 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14918     if (!(
14919         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14920         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14921         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14922         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14923         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
14924         cvmx_warn("CVMX_USBCX_HCCHARX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14925 #endif
14926     return CVMX_ADD_IO_SEG(0x00016F0010000500ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14927 }
14928
14929 static inline uint64_t CVMX_USBCX_HCFG(unsigned long block_id)
14930 {
14931 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14932     if (!(
14933         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
14934         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
14935         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
14936         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
14937         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
14938         cvmx_warn("CVMX_USBCX_HCFG(%lu) is invalid on this chip\n", block_id);
14939 #endif
14940     return CVMX_ADD_IO_SEG(0x00016F0010000400ull) + (block_id&1)*0x100000000000ull;
14941 }
14942
14943 static inline uint64_t CVMX_USBCX_HCINTMSKX(unsigned long offset, unsigned long block_id)
14944 {
14945 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14946     if (!(
14947         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14948         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14949         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14950         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14951         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
14952         cvmx_warn("CVMX_USBCX_HCINTMSKX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14953 #endif
14954     return CVMX_ADD_IO_SEG(0x00016F001000050Cull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14955 }
14956
14957 static inline uint64_t CVMX_USBCX_HCINTX(unsigned long offset, unsigned long block_id)
14958 {
14959 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14960     if (!(
14961         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14962         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14963         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14964         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14965         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
14966         cvmx_warn("CVMX_USBCX_HCINTX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14967 #endif
14968     return CVMX_ADD_IO_SEG(0x00016F0010000508ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14969 }
14970
14971 static inline uint64_t CVMX_USBCX_HCSPLTX(unsigned long offset, unsigned long block_id)
14972 {
14973 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14974     if (!(
14975         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14976         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14977         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14978         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14979         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
14980         cvmx_warn("CVMX_USBCX_HCSPLTX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14981 #endif
14982     return CVMX_ADD_IO_SEG(0x00016F0010000504ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14983 }
14984
14985 static inline uint64_t CVMX_USBCX_HCTSIZX(unsigned long offset, unsigned long block_id)
14986 {
14987 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
14988     if (!(
14989         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14990         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14991         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14992         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
14993         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
14994         cvmx_warn("CVMX_USBCX_HCTSIZX(%lu,%lu) is invalid on this chip\n", offset, block_id);
14995 #endif
14996     return CVMX_ADD_IO_SEG(0x00016F0010000510ull) + ((offset&7) + (block_id&1)*0x8000000000ull)*32;
14997 }
14998
14999 static inline uint64_t CVMX_USBCX_HFIR(unsigned long block_id)
15000 {
15001 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15002     if (!(
15003         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15004         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15005         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15006         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15007         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15008         cvmx_warn("CVMX_USBCX_HFIR(%lu) is invalid on this chip\n", block_id);
15009 #endif
15010     return CVMX_ADD_IO_SEG(0x00016F0010000404ull) + (block_id&1)*0x100000000000ull;
15011 }
15012
15013 static inline uint64_t CVMX_USBCX_HFNUM(unsigned long block_id)
15014 {
15015 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15016     if (!(
15017         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15018         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15019         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15020         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15021         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15022         cvmx_warn("CVMX_USBCX_HFNUM(%lu) is invalid on this chip\n", block_id);
15023 #endif
15024     return CVMX_ADD_IO_SEG(0x00016F0010000408ull) + (block_id&1)*0x100000000000ull;
15025 }
15026
15027 static inline uint64_t CVMX_USBCX_HPRT(unsigned long block_id)
15028 {
15029 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15030     if (!(
15031         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15032         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15033         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15034         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15035         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15036         cvmx_warn("CVMX_USBCX_HPRT(%lu) is invalid on this chip\n", block_id);
15037 #endif
15038     return CVMX_ADD_IO_SEG(0x00016F0010000440ull) + (block_id&1)*0x100000000000ull;
15039 }
15040
15041 static inline uint64_t CVMX_USBCX_HPTXFSIZ(unsigned long block_id)
15042 {
15043 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15044     if (!(
15045         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15046         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15047         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15048         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15049         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15050         cvmx_warn("CVMX_USBCX_HPTXFSIZ(%lu) is invalid on this chip\n", block_id);
15051 #endif
15052     return CVMX_ADD_IO_SEG(0x00016F0010000100ull) + (block_id&1)*0x100000000000ull;
15053 }
15054
15055 static inline uint64_t CVMX_USBCX_HPTXSTS(unsigned long block_id)
15056 {
15057 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15058     if (!(
15059         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15060         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15061         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15062         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15063         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15064         cvmx_warn("CVMX_USBCX_HPTXSTS(%lu) is invalid on this chip\n", block_id);
15065 #endif
15066     return CVMX_ADD_IO_SEG(0x00016F0010000410ull) + (block_id&1)*0x100000000000ull;
15067 }
15068
15069 static inline uint64_t CVMX_USBCX_NPTXDFIFOX(unsigned long offset, unsigned long block_id)
15070 {
15071 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15072     if (!(
15073         (OCTEON_IS_MODEL(OCTEON_CN30XX) && (((offset <= 7)) && ((block_id == 0)))) ||
15074         (OCTEON_IS_MODEL(OCTEON_CN50XX) && (((offset <= 7)) && ((block_id == 0)))) ||
15075         (OCTEON_IS_MODEL(OCTEON_CN31XX) && (((offset <= 7)) && ((block_id == 0)))) ||
15076         (OCTEON_IS_MODEL(OCTEON_CN56XX) && (((offset <= 7)) && ((block_id == 0)))) ||
15077         (OCTEON_IS_MODEL(OCTEON_CN52XX) && (((offset <= 7)) && ((block_id <= 1))))))
15078         cvmx_warn("CVMX_USBCX_NPTXDFIFOX(%lu,%lu) is invalid on this chip\n", offset, block_id);
15079 #endif
15080     return CVMX_ADD_IO_SEG(0x00016F0010001000ull) + ((offset&7) + (block_id&1)*0x100000000ull)*4096;
15081 }
15082
15083 static inline uint64_t CVMX_USBCX_PCGCCTL(unsigned long block_id)
15084 {
15085 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15086     if (!(
15087         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15088         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15089         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15090         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15091         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15092         cvmx_warn("CVMX_USBCX_PCGCCTL(%lu) is invalid on this chip\n", block_id);
15093 #endif
15094     return CVMX_ADD_IO_SEG(0x00016F0010000E00ull) + (block_id&1)*0x100000000000ull;
15095 }
15096
15097 static inline uint64_t CVMX_USBNX_BIST_STATUS(unsigned long block_id)
15098 {
15099 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15100     if (!(
15101         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15102         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15103         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15104         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15105         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15106         cvmx_warn("CVMX_USBNX_BIST_STATUS(%lu) is invalid on this chip\n", block_id);
15107 #endif
15108     return CVMX_ADD_IO_SEG(0x00011800680007F8ull) + (block_id&1)*0x10000000ull;
15109 }
15110
15111 static inline uint64_t CVMX_USBNX_CLK_CTL(unsigned long block_id)
15112 {
15113 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15114     if (!(
15115         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15116         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15117         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15118         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15119         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15120         cvmx_warn("CVMX_USBNX_CLK_CTL(%lu) is invalid on this chip\n", block_id);
15121 #endif
15122     return CVMX_ADD_IO_SEG(0x0001180068000010ull) + (block_id&1)*0x10000000ull;
15123 }
15124
15125 static inline uint64_t CVMX_USBNX_CTL_STATUS(unsigned long block_id)
15126 {
15127 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15128     if (!(
15129         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15130         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15131         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15132         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15133         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15134         cvmx_warn("CVMX_USBNX_CTL_STATUS(%lu) is invalid on this chip\n", block_id);
15135 #endif
15136     return CVMX_ADD_IO_SEG(0x00016F0000000800ull) + (block_id&1)*0x100000000000ull;
15137 }
15138
15139 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN0(unsigned long block_id)
15140 {
15141 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15142     if (!(
15143         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15144         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15145         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15146         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15147         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15148         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN0(%lu) is invalid on this chip\n", block_id);
15149 #endif
15150     return CVMX_ADD_IO_SEG(0x00016F0000000818ull) + (block_id&1)*0x100000000000ull;
15151 }
15152
15153 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN1(unsigned long block_id)
15154 {
15155 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15156     if (!(
15157         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15158         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15159         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15160         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15161         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15162         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN1(%lu) is invalid on this chip\n", block_id);
15163 #endif
15164     return CVMX_ADD_IO_SEG(0x00016F0000000820ull) + (block_id&1)*0x100000000000ull;
15165 }
15166
15167 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN2(unsigned long block_id)
15168 {
15169 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15170     if (!(
15171         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15172         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15173         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15174         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15175         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15176         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN2(%lu) is invalid on this chip\n", block_id);
15177 #endif
15178     return CVMX_ADD_IO_SEG(0x00016F0000000828ull) + (block_id&1)*0x100000000000ull;
15179 }
15180
15181 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN3(unsigned long block_id)
15182 {
15183 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15184     if (!(
15185         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15186         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15187         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15188         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15189         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15190         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN3(%lu) is invalid on this chip\n", block_id);
15191 #endif
15192     return CVMX_ADD_IO_SEG(0x00016F0000000830ull) + (block_id&1)*0x100000000000ull;
15193 }
15194
15195 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN4(unsigned long block_id)
15196 {
15197 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15198     if (!(
15199         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15200         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15201         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15202         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15203         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15204         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN4(%lu) is invalid on this chip\n", block_id);
15205 #endif
15206     return CVMX_ADD_IO_SEG(0x00016F0000000838ull) + (block_id&1)*0x100000000000ull;
15207 }
15208
15209 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN5(unsigned long block_id)
15210 {
15211 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15212     if (!(
15213         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15214         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15215         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15216         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15217         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15218         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN5(%lu) is invalid on this chip\n", block_id);
15219 #endif
15220     return CVMX_ADD_IO_SEG(0x00016F0000000840ull) + (block_id&1)*0x100000000000ull;
15221 }
15222
15223 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN6(unsigned long block_id)
15224 {
15225 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15226     if (!(
15227         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15228         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15229         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15230         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15231         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15232         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN6(%lu) is invalid on this chip\n", block_id);
15233 #endif
15234     return CVMX_ADD_IO_SEG(0x00016F0000000848ull) + (block_id&1)*0x100000000000ull;
15235 }
15236
15237 static inline uint64_t CVMX_USBNX_DMA0_INB_CHN7(unsigned long block_id)
15238 {
15239 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15240     if (!(
15241         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15242         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15243         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15244         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15245         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15246         cvmx_warn("CVMX_USBNX_DMA0_INB_CHN7(%lu) is invalid on this chip\n", block_id);
15247 #endif
15248     return CVMX_ADD_IO_SEG(0x00016F0000000850ull) + (block_id&1)*0x100000000000ull;
15249 }
15250
15251 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN0(unsigned long block_id)
15252 {
15253 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15254     if (!(
15255         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15256         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15257         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15258         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15259         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15260         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN0(%lu) is invalid on this chip\n", block_id);
15261 #endif
15262     return CVMX_ADD_IO_SEG(0x00016F0000000858ull) + (block_id&1)*0x100000000000ull;
15263 }
15264
15265 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN1(unsigned long block_id)
15266 {
15267 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15268     if (!(
15269         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15270         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15271         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15272         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15273         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15274         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN1(%lu) is invalid on this chip\n", block_id);
15275 #endif
15276     return CVMX_ADD_IO_SEG(0x00016F0000000860ull) + (block_id&1)*0x100000000000ull;
15277 }
15278
15279 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN2(unsigned long block_id)
15280 {
15281 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15282     if (!(
15283         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15284         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15285         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15286         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15287         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15288         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN2(%lu) is invalid on this chip\n", block_id);
15289 #endif
15290     return CVMX_ADD_IO_SEG(0x00016F0000000868ull) + (block_id&1)*0x100000000000ull;
15291 }
15292
15293 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN3(unsigned long block_id)
15294 {
15295 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15296     if (!(
15297         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15298         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15299         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15300         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15301         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15302         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN3(%lu) is invalid on this chip\n", block_id);
15303 #endif
15304     return CVMX_ADD_IO_SEG(0x00016F0000000870ull) + (block_id&1)*0x100000000000ull;
15305 }
15306
15307 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN4(unsigned long block_id)
15308 {
15309 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15310     if (!(
15311         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15312         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15313         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15314         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15315         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15316         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN4(%lu) is invalid on this chip\n", block_id);
15317 #endif
15318     return CVMX_ADD_IO_SEG(0x00016F0000000878ull) + (block_id&1)*0x100000000000ull;
15319 }
15320
15321 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN5(unsigned long block_id)
15322 {
15323 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15324     if (!(
15325         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15326         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15327         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15328         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15329         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15330         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN5(%lu) is invalid on this chip\n", block_id);
15331 #endif
15332     return CVMX_ADD_IO_SEG(0x00016F0000000880ull) + (block_id&1)*0x100000000000ull;
15333 }
15334
15335 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN6(unsigned long block_id)
15336 {
15337 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15338     if (!(
15339         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15340         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15341         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15342         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15343         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15344         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN6(%lu) is invalid on this chip\n", block_id);
15345 #endif
15346     return CVMX_ADD_IO_SEG(0x00016F0000000888ull) + (block_id&1)*0x100000000000ull;
15347 }
15348
15349 static inline uint64_t CVMX_USBNX_DMA0_OUTB_CHN7(unsigned long block_id)
15350 {
15351 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15352     if (!(
15353         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15354         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15355         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15356         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15357         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15358         cvmx_warn("CVMX_USBNX_DMA0_OUTB_CHN7(%lu) is invalid on this chip\n", block_id);
15359 #endif
15360     return CVMX_ADD_IO_SEG(0x00016F0000000890ull) + (block_id&1)*0x100000000000ull;
15361 }
15362
15363 static inline uint64_t CVMX_USBNX_DMA_TEST(unsigned long block_id)
15364 {
15365 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15366     if (!(
15367         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15368         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15369         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15370         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15371         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15372         cvmx_warn("CVMX_USBNX_DMA_TEST(%lu) is invalid on this chip\n", block_id);
15373 #endif
15374     return CVMX_ADD_IO_SEG(0x00016F0000000808ull) + (block_id&1)*0x100000000000ull;
15375 }
15376
15377 static inline uint64_t CVMX_USBNX_INT_ENB(unsigned long block_id)
15378 {
15379 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15380     if (!(
15381         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15382         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15383         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15384         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15385         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15386         cvmx_warn("CVMX_USBNX_INT_ENB(%lu) is invalid on this chip\n", block_id);
15387 #endif
15388     return CVMX_ADD_IO_SEG(0x0001180068000008ull) + (block_id&1)*0x10000000ull;
15389 }
15390
15391 static inline uint64_t CVMX_USBNX_INT_SUM(unsigned long block_id)
15392 {
15393 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15394     if (!(
15395         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15396         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15397         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15398         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15399         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15400         cvmx_warn("CVMX_USBNX_INT_SUM(%lu) is invalid on this chip\n", block_id);
15401 #endif
15402     return CVMX_ADD_IO_SEG(0x0001180068000000ull) + (block_id&1)*0x10000000ull;
15403 }
15404
15405 static inline uint64_t CVMX_USBNX_USBP_CTL_STATUS(unsigned long block_id)
15406 {
15407 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15408     if (!(
15409         (OCTEON_IS_MODEL(OCTEON_CN30XX) && ((block_id == 0))) ||
15410         (OCTEON_IS_MODEL(OCTEON_CN50XX) && ((block_id == 0))) ||
15411         (OCTEON_IS_MODEL(OCTEON_CN31XX) && ((block_id == 0))) ||
15412         (OCTEON_IS_MODEL(OCTEON_CN56XX) && ((block_id == 0))) ||
15413         (OCTEON_IS_MODEL(OCTEON_CN52XX) && ((block_id <= 1)))))
15414         cvmx_warn("CVMX_USBNX_USBP_CTL_STATUS(%lu) is invalid on this chip\n", block_id);
15415 #endif
15416     return CVMX_ADD_IO_SEG(0x0001180068000018ull) + (block_id&1)*0x10000000ull;
15417 }
15418
15419 #define CVMX_ZIP_CMD_BIST_RESULT CVMX_ZIP_CMD_BIST_RESULT_FUNC()
15420 static inline uint64_t CVMX_ZIP_CMD_BIST_RESULT_FUNC(void)
15421 {
15422 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15423     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15424         cvmx_warn("CVMX_ZIP_CMD_BIST_RESULT not supported on this chip\n");
15425 #endif
15426     return CVMX_ADD_IO_SEG(0x0001180038000080ull);
15427 }
15428
15429 #define CVMX_ZIP_CMD_BUF CVMX_ZIP_CMD_BUF_FUNC()
15430 static inline uint64_t CVMX_ZIP_CMD_BUF_FUNC(void)
15431 {
15432 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15433     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15434         cvmx_warn("CVMX_ZIP_CMD_BUF not supported on this chip\n");
15435 #endif
15436     return CVMX_ADD_IO_SEG(0x0001180038000008ull);
15437 }
15438
15439 #define CVMX_ZIP_CMD_CTL CVMX_ZIP_CMD_CTL_FUNC()
15440 static inline uint64_t CVMX_ZIP_CMD_CTL_FUNC(void)
15441 {
15442 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15443     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15444         cvmx_warn("CVMX_ZIP_CMD_CTL not supported on this chip\n");
15445 #endif
15446     return CVMX_ADD_IO_SEG(0x0001180038000000ull);
15447 }
15448
15449 #define CVMX_ZIP_CONSTANTS CVMX_ZIP_CONSTANTS_FUNC()
15450 static inline uint64_t CVMX_ZIP_CONSTANTS_FUNC(void)
15451 {
15452 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15453     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15454         cvmx_warn("CVMX_ZIP_CONSTANTS not supported on this chip\n");
15455 #endif
15456     return CVMX_ADD_IO_SEG(0x00011800380000A0ull);
15457 }
15458
15459 #define CVMX_ZIP_DEBUG0 CVMX_ZIP_DEBUG0_FUNC()
15460 static inline uint64_t CVMX_ZIP_DEBUG0_FUNC(void)
15461 {
15462 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15463     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15464         cvmx_warn("CVMX_ZIP_DEBUG0 not supported on this chip\n");
15465 #endif
15466     return CVMX_ADD_IO_SEG(0x0001180038000098ull);
15467 }
15468
15469 #define CVMX_ZIP_ERROR CVMX_ZIP_ERROR_FUNC()
15470 static inline uint64_t CVMX_ZIP_ERROR_FUNC(void)
15471 {
15472 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15473     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15474         cvmx_warn("CVMX_ZIP_ERROR not supported on this chip\n");
15475 #endif
15476     return CVMX_ADD_IO_SEG(0x0001180038000088ull);
15477 }
15478
15479 #define CVMX_ZIP_INT_MASK CVMX_ZIP_INT_MASK_FUNC()
15480 static inline uint64_t CVMX_ZIP_INT_MASK_FUNC(void)
15481 {
15482 #if CVMX_ENABLE_CSR_ADDRESS_CHECKING
15483     if (!(OCTEON_IS_MODEL(OCTEON_CN31XX) || OCTEON_IS_MODEL(OCTEON_CN38XX) || OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN58XX)))
15484         cvmx_warn("CVMX_ZIP_INT_MASK not supported on this chip\n");
15485 #endif
15486     return CVMX_ADD_IO_SEG(0x0001180038000090ull);
15487 }
15488
15489
15490 #endif /* __CVMX_CSR_ADDRESSES_H__ */