Loading...
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_POW_DEFS_H__
29#define __CVMX_POW_DEFS_H__
30
31#define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
32#define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
33#define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
34#define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
35#define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
36#define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
37#define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
38#define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
39#define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
40#define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
41#define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
42#define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
43#define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
44#define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
45#define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
46#define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
47#define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
48#define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
49#define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
50#define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
51#define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
52#define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
53#define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
54
55#define CVMX_SSO_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000001000ull))
56#define CVMX_SSO_WQ_IQ_DIS (CVMX_ADD_IO_SEG(0x0001670000001010ull))
57#define CVMX_SSO_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000001020ull))
58#define CVMX_SSO_PPX_GRP_MSK(offset) (CVMX_ADD_IO_SEG(0x0001670000006000ull) + ((offset) & 31) * 8)
59#define CVMX_SSO_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000007000ull) + ((offset) & 63) * 8)
60
61union cvmx_pow_bist_stat {
62 uint64_t u64;
63 struct cvmx_pow_bist_stat_s {
64#ifdef __BIG_ENDIAN_BITFIELD
65 uint64_t reserved_32_63:32;
66 uint64_t pp:16;
67 uint64_t reserved_0_15:16;
68#else
69 uint64_t reserved_0_15:16;
70 uint64_t pp:16;
71 uint64_t reserved_32_63:32;
72#endif
73 } s;
74 struct cvmx_pow_bist_stat_cn30xx {
75#ifdef __BIG_ENDIAN_BITFIELD
76 uint64_t reserved_17_63:47;
77 uint64_t pp:1;
78 uint64_t reserved_9_15:7;
79 uint64_t cam:1;
80 uint64_t nbt1:1;
81 uint64_t nbt0:1;
82 uint64_t index:1;
83 uint64_t fidx:1;
84 uint64_t nbr1:1;
85 uint64_t nbr0:1;
86 uint64_t pend:1;
87 uint64_t adr:1;
88#else
89 uint64_t adr:1;
90 uint64_t pend:1;
91 uint64_t nbr0:1;
92 uint64_t nbr1:1;
93 uint64_t fidx:1;
94 uint64_t index:1;
95 uint64_t nbt0:1;
96 uint64_t nbt1:1;
97 uint64_t cam:1;
98 uint64_t reserved_9_15:7;
99 uint64_t pp:1;
100 uint64_t reserved_17_63:47;
101#endif
102 } cn30xx;
103 struct cvmx_pow_bist_stat_cn31xx {
104#ifdef __BIG_ENDIAN_BITFIELD
105 uint64_t reserved_18_63:46;
106 uint64_t pp:2;
107 uint64_t reserved_9_15:7;
108 uint64_t cam:1;
109 uint64_t nbt1:1;
110 uint64_t nbt0:1;
111 uint64_t index:1;
112 uint64_t fidx:1;
113 uint64_t nbr1:1;
114 uint64_t nbr0:1;
115 uint64_t pend:1;
116 uint64_t adr:1;
117#else
118 uint64_t adr:1;
119 uint64_t pend:1;
120 uint64_t nbr0:1;
121 uint64_t nbr1:1;
122 uint64_t fidx:1;
123 uint64_t index:1;
124 uint64_t nbt0:1;
125 uint64_t nbt1:1;
126 uint64_t cam:1;
127 uint64_t reserved_9_15:7;
128 uint64_t pp:2;
129 uint64_t reserved_18_63:46;
130#endif
131 } cn31xx;
132 struct cvmx_pow_bist_stat_cn38xx {
133#ifdef __BIG_ENDIAN_BITFIELD
134 uint64_t reserved_32_63:32;
135 uint64_t pp:16;
136 uint64_t reserved_10_15:6;
137 uint64_t cam:1;
138 uint64_t nbt:1;
139 uint64_t index:1;
140 uint64_t fidx:1;
141 uint64_t nbr1:1;
142 uint64_t nbr0:1;
143 uint64_t pend1:1;
144 uint64_t pend0:1;
145 uint64_t adr1:1;
146 uint64_t adr0:1;
147#else
148 uint64_t adr0:1;
149 uint64_t adr1:1;
150 uint64_t pend0:1;
151 uint64_t pend1:1;
152 uint64_t nbr0:1;
153 uint64_t nbr1:1;
154 uint64_t fidx:1;
155 uint64_t index:1;
156 uint64_t nbt:1;
157 uint64_t cam:1;
158 uint64_t reserved_10_15:6;
159 uint64_t pp:16;
160 uint64_t reserved_32_63:32;
161#endif
162 } cn38xx;
163 struct cvmx_pow_bist_stat_cn52xx {
164#ifdef __BIG_ENDIAN_BITFIELD
165 uint64_t reserved_20_63:44;
166 uint64_t pp:4;
167 uint64_t reserved_9_15:7;
168 uint64_t cam:1;
169 uint64_t nbt1:1;
170 uint64_t nbt0:1;
171 uint64_t index:1;
172 uint64_t fidx:1;
173 uint64_t nbr1:1;
174 uint64_t nbr0:1;
175 uint64_t pend:1;
176 uint64_t adr:1;
177#else
178 uint64_t adr:1;
179 uint64_t pend:1;
180 uint64_t nbr0:1;
181 uint64_t nbr1:1;
182 uint64_t fidx:1;
183 uint64_t index:1;
184 uint64_t nbt0:1;
185 uint64_t nbt1:1;
186 uint64_t cam:1;
187 uint64_t reserved_9_15:7;
188 uint64_t pp:4;
189 uint64_t reserved_20_63:44;
190#endif
191 } cn52xx;
192 struct cvmx_pow_bist_stat_cn56xx {
193#ifdef __BIG_ENDIAN_BITFIELD
194 uint64_t reserved_28_63:36;
195 uint64_t pp:12;
196 uint64_t reserved_10_15:6;
197 uint64_t cam:1;
198 uint64_t nbt:1;
199 uint64_t index:1;
200 uint64_t fidx:1;
201 uint64_t nbr1:1;
202 uint64_t nbr0:1;
203 uint64_t pend1:1;
204 uint64_t pend0:1;
205 uint64_t adr1:1;
206 uint64_t adr0:1;
207#else
208 uint64_t adr0:1;
209 uint64_t adr1:1;
210 uint64_t pend0:1;
211 uint64_t pend1:1;
212 uint64_t nbr0:1;
213 uint64_t nbr1:1;
214 uint64_t fidx:1;
215 uint64_t index:1;
216 uint64_t nbt:1;
217 uint64_t cam:1;
218 uint64_t reserved_10_15:6;
219 uint64_t pp:12;
220 uint64_t reserved_28_63:36;
221#endif
222 } cn56xx;
223 struct cvmx_pow_bist_stat_cn61xx {
224#ifdef __BIG_ENDIAN_BITFIELD
225 uint64_t reserved_20_63:44;
226 uint64_t pp:4;
227 uint64_t reserved_12_15:4;
228 uint64_t cam:1;
229 uint64_t nbr:3;
230 uint64_t nbt:4;
231 uint64_t index:1;
232 uint64_t fidx:1;
233 uint64_t pend:1;
234 uint64_t adr:1;
235#else
236 uint64_t adr:1;
237 uint64_t pend:1;
238 uint64_t fidx:1;
239 uint64_t index:1;
240 uint64_t nbt:4;
241 uint64_t nbr:3;
242 uint64_t cam:1;
243 uint64_t reserved_12_15:4;
244 uint64_t pp:4;
245 uint64_t reserved_20_63:44;
246#endif
247 } cn61xx;
248 struct cvmx_pow_bist_stat_cn63xx {
249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_22_63:42;
251 uint64_t pp:6;
252 uint64_t reserved_12_15:4;
253 uint64_t cam:1;
254 uint64_t nbr:3;
255 uint64_t nbt:4;
256 uint64_t index:1;
257 uint64_t fidx:1;
258 uint64_t pend:1;
259 uint64_t adr:1;
260#else
261 uint64_t adr:1;
262 uint64_t pend:1;
263 uint64_t fidx:1;
264 uint64_t index:1;
265 uint64_t nbt:4;
266 uint64_t nbr:3;
267 uint64_t cam:1;
268 uint64_t reserved_12_15:4;
269 uint64_t pp:6;
270 uint64_t reserved_22_63:42;
271#endif
272 } cn63xx;
273 struct cvmx_pow_bist_stat_cn66xx {
274#ifdef __BIG_ENDIAN_BITFIELD
275 uint64_t reserved_26_63:38;
276 uint64_t pp:10;
277 uint64_t reserved_12_15:4;
278 uint64_t cam:1;
279 uint64_t nbr:3;
280 uint64_t nbt:4;
281 uint64_t index:1;
282 uint64_t fidx:1;
283 uint64_t pend:1;
284 uint64_t adr:1;
285#else
286 uint64_t adr:1;
287 uint64_t pend:1;
288 uint64_t fidx:1;
289 uint64_t index:1;
290 uint64_t nbt:4;
291 uint64_t nbr:3;
292 uint64_t cam:1;
293 uint64_t reserved_12_15:4;
294 uint64_t pp:10;
295 uint64_t reserved_26_63:38;
296#endif
297 } cn66xx;
298};
299
300union cvmx_pow_ds_pc {
301 uint64_t u64;
302 struct cvmx_pow_ds_pc_s {
303#ifdef __BIG_ENDIAN_BITFIELD
304 uint64_t reserved_32_63:32;
305 uint64_t ds_pc:32;
306#else
307 uint64_t ds_pc:32;
308 uint64_t reserved_32_63:32;
309#endif
310 } s;
311};
312
313union cvmx_pow_ecc_err {
314 uint64_t u64;
315 struct cvmx_pow_ecc_err_s {
316#ifdef __BIG_ENDIAN_BITFIELD
317 uint64_t reserved_45_63:19;
318 uint64_t iop_ie:13;
319 uint64_t reserved_29_31:3;
320 uint64_t iop:13;
321 uint64_t reserved_14_15:2;
322 uint64_t rpe_ie:1;
323 uint64_t rpe:1;
324 uint64_t reserved_9_11:3;
325 uint64_t syn:5;
326 uint64_t dbe_ie:1;
327 uint64_t sbe_ie:1;
328 uint64_t dbe:1;
329 uint64_t sbe:1;
330#else
331 uint64_t sbe:1;
332 uint64_t dbe:1;
333 uint64_t sbe_ie:1;
334 uint64_t dbe_ie:1;
335 uint64_t syn:5;
336 uint64_t reserved_9_11:3;
337 uint64_t rpe:1;
338 uint64_t rpe_ie:1;
339 uint64_t reserved_14_15:2;
340 uint64_t iop:13;
341 uint64_t reserved_29_31:3;
342 uint64_t iop_ie:13;
343 uint64_t reserved_45_63:19;
344#endif
345 } s;
346 struct cvmx_pow_ecc_err_cn31xx {
347#ifdef __BIG_ENDIAN_BITFIELD
348 uint64_t reserved_14_63:50;
349 uint64_t rpe_ie:1;
350 uint64_t rpe:1;
351 uint64_t reserved_9_11:3;
352 uint64_t syn:5;
353 uint64_t dbe_ie:1;
354 uint64_t sbe_ie:1;
355 uint64_t dbe:1;
356 uint64_t sbe:1;
357#else
358 uint64_t sbe:1;
359 uint64_t dbe:1;
360 uint64_t sbe_ie:1;
361 uint64_t dbe_ie:1;
362 uint64_t syn:5;
363 uint64_t reserved_9_11:3;
364 uint64_t rpe:1;
365 uint64_t rpe_ie:1;
366 uint64_t reserved_14_63:50;
367#endif
368 } cn31xx;
369};
370
371union cvmx_pow_int_ctl {
372 uint64_t u64;
373 struct cvmx_pow_int_ctl_s {
374#ifdef __BIG_ENDIAN_BITFIELD
375 uint64_t reserved_6_63:58;
376 uint64_t pfr_dis:1;
377 uint64_t nbr_thr:5;
378#else
379 uint64_t nbr_thr:5;
380 uint64_t pfr_dis:1;
381 uint64_t reserved_6_63:58;
382#endif
383 } s;
384};
385
386union cvmx_pow_iq_cntx {
387 uint64_t u64;
388 struct cvmx_pow_iq_cntx_s {
389#ifdef __BIG_ENDIAN_BITFIELD
390 uint64_t reserved_32_63:32;
391 uint64_t iq_cnt:32;
392#else
393 uint64_t iq_cnt:32;
394 uint64_t reserved_32_63:32;
395#endif
396 } s;
397};
398
399union cvmx_pow_iq_com_cnt {
400 uint64_t u64;
401 struct cvmx_pow_iq_com_cnt_s {
402#ifdef __BIG_ENDIAN_BITFIELD
403 uint64_t reserved_32_63:32;
404 uint64_t iq_cnt:32;
405#else
406 uint64_t iq_cnt:32;
407 uint64_t reserved_32_63:32;
408#endif
409 } s;
410};
411
412union cvmx_pow_iq_int {
413 uint64_t u64;
414 struct cvmx_pow_iq_int_s {
415#ifdef __BIG_ENDIAN_BITFIELD
416 uint64_t reserved_8_63:56;
417 uint64_t iq_int:8;
418#else
419 uint64_t iq_int:8;
420 uint64_t reserved_8_63:56;
421#endif
422 } s;
423};
424
425union cvmx_pow_iq_int_en {
426 uint64_t u64;
427 struct cvmx_pow_iq_int_en_s {
428#ifdef __BIG_ENDIAN_BITFIELD
429 uint64_t reserved_8_63:56;
430 uint64_t int_en:8;
431#else
432 uint64_t int_en:8;
433 uint64_t reserved_8_63:56;
434#endif
435 } s;
436};
437
438union cvmx_pow_iq_thrx {
439 uint64_t u64;
440 struct cvmx_pow_iq_thrx_s {
441#ifdef __BIG_ENDIAN_BITFIELD
442 uint64_t reserved_32_63:32;
443 uint64_t iq_thr:32;
444#else
445 uint64_t iq_thr:32;
446 uint64_t reserved_32_63:32;
447#endif
448 } s;
449};
450
451union cvmx_pow_nos_cnt {
452 uint64_t u64;
453 struct cvmx_pow_nos_cnt_s {
454#ifdef __BIG_ENDIAN_BITFIELD
455 uint64_t reserved_12_63:52;
456 uint64_t nos_cnt:12;
457#else
458 uint64_t nos_cnt:12;
459 uint64_t reserved_12_63:52;
460#endif
461 } s;
462 struct cvmx_pow_nos_cnt_cn30xx {
463#ifdef __BIG_ENDIAN_BITFIELD
464 uint64_t reserved_7_63:57;
465 uint64_t nos_cnt:7;
466#else
467 uint64_t nos_cnt:7;
468 uint64_t reserved_7_63:57;
469#endif
470 } cn30xx;
471 struct cvmx_pow_nos_cnt_cn31xx {
472#ifdef __BIG_ENDIAN_BITFIELD
473 uint64_t reserved_9_63:55;
474 uint64_t nos_cnt:9;
475#else
476 uint64_t nos_cnt:9;
477 uint64_t reserved_9_63:55;
478#endif
479 } cn31xx;
480 struct cvmx_pow_nos_cnt_cn52xx {
481#ifdef __BIG_ENDIAN_BITFIELD
482 uint64_t reserved_10_63:54;
483 uint64_t nos_cnt:10;
484#else
485 uint64_t nos_cnt:10;
486 uint64_t reserved_10_63:54;
487#endif
488 } cn52xx;
489 struct cvmx_pow_nos_cnt_cn63xx {
490#ifdef __BIG_ENDIAN_BITFIELD
491 uint64_t reserved_11_63:53;
492 uint64_t nos_cnt:11;
493#else
494 uint64_t nos_cnt:11;
495 uint64_t reserved_11_63:53;
496#endif
497 } cn63xx;
498};
499
500union cvmx_pow_nw_tim {
501 uint64_t u64;
502 struct cvmx_pow_nw_tim_s {
503#ifdef __BIG_ENDIAN_BITFIELD
504 uint64_t reserved_10_63:54;
505 uint64_t nw_tim:10;
506#else
507 uint64_t nw_tim:10;
508 uint64_t reserved_10_63:54;
509#endif
510 } s;
511};
512
513union cvmx_pow_pf_rst_msk {
514 uint64_t u64;
515 struct cvmx_pow_pf_rst_msk_s {
516#ifdef __BIG_ENDIAN_BITFIELD
517 uint64_t reserved_8_63:56;
518 uint64_t rst_msk:8;
519#else
520 uint64_t rst_msk:8;
521 uint64_t reserved_8_63:56;
522#endif
523 } s;
524};
525
526union cvmx_pow_pp_grp_mskx {
527 uint64_t u64;
528 struct cvmx_pow_pp_grp_mskx_s {
529#ifdef __BIG_ENDIAN_BITFIELD
530 uint64_t reserved_48_63:16;
531 uint64_t qos7_pri:4;
532 uint64_t qos6_pri:4;
533 uint64_t qos5_pri:4;
534 uint64_t qos4_pri:4;
535 uint64_t qos3_pri:4;
536 uint64_t qos2_pri:4;
537 uint64_t qos1_pri:4;
538 uint64_t qos0_pri:4;
539 uint64_t grp_msk:16;
540#else
541 uint64_t grp_msk:16;
542 uint64_t qos0_pri:4;
543 uint64_t qos1_pri:4;
544 uint64_t qos2_pri:4;
545 uint64_t qos3_pri:4;
546 uint64_t qos4_pri:4;
547 uint64_t qos5_pri:4;
548 uint64_t qos6_pri:4;
549 uint64_t qos7_pri:4;
550 uint64_t reserved_48_63:16;
551#endif
552 } s;
553 struct cvmx_pow_pp_grp_mskx_cn30xx {
554#ifdef __BIG_ENDIAN_BITFIELD
555 uint64_t reserved_16_63:48;
556 uint64_t grp_msk:16;
557#else
558 uint64_t grp_msk:16;
559 uint64_t reserved_16_63:48;
560#endif
561 } cn30xx;
562};
563
564union cvmx_pow_qos_rndx {
565 uint64_t u64;
566 struct cvmx_pow_qos_rndx_s {
567#ifdef __BIG_ENDIAN_BITFIELD
568 uint64_t reserved_32_63:32;
569 uint64_t rnd_p3:8;
570 uint64_t rnd_p2:8;
571 uint64_t rnd_p1:8;
572 uint64_t rnd:8;
573#else
574 uint64_t rnd:8;
575 uint64_t rnd_p1:8;
576 uint64_t rnd_p2:8;
577 uint64_t rnd_p3:8;
578 uint64_t reserved_32_63:32;
579#endif
580 } s;
581};
582
583union cvmx_pow_qos_thrx {
584 uint64_t u64;
585 struct cvmx_pow_qos_thrx_s {
586#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_60_63:4;
588 uint64_t des_cnt:12;
589 uint64_t buf_cnt:12;
590 uint64_t free_cnt:12;
591 uint64_t reserved_23_23:1;
592 uint64_t max_thr:11;
593 uint64_t reserved_11_11:1;
594 uint64_t min_thr:11;
595#else
596 uint64_t min_thr:11;
597 uint64_t reserved_11_11:1;
598 uint64_t max_thr:11;
599 uint64_t reserved_23_23:1;
600 uint64_t free_cnt:12;
601 uint64_t buf_cnt:12;
602 uint64_t des_cnt:12;
603 uint64_t reserved_60_63:4;
604#endif
605 } s;
606 struct cvmx_pow_qos_thrx_cn30xx {
607#ifdef __BIG_ENDIAN_BITFIELD
608 uint64_t reserved_55_63:9;
609 uint64_t des_cnt:7;
610 uint64_t reserved_43_47:5;
611 uint64_t buf_cnt:7;
612 uint64_t reserved_31_35:5;
613 uint64_t free_cnt:7;
614 uint64_t reserved_18_23:6;
615 uint64_t max_thr:6;
616 uint64_t reserved_6_11:6;
617 uint64_t min_thr:6;
618#else
619 uint64_t min_thr:6;
620 uint64_t reserved_6_11:6;
621 uint64_t max_thr:6;
622 uint64_t reserved_18_23:6;
623 uint64_t free_cnt:7;
624 uint64_t reserved_31_35:5;
625 uint64_t buf_cnt:7;
626 uint64_t reserved_43_47:5;
627 uint64_t des_cnt:7;
628 uint64_t reserved_55_63:9;
629#endif
630 } cn30xx;
631 struct cvmx_pow_qos_thrx_cn31xx {
632#ifdef __BIG_ENDIAN_BITFIELD
633 uint64_t reserved_57_63:7;
634 uint64_t des_cnt:9;
635 uint64_t reserved_45_47:3;
636 uint64_t buf_cnt:9;
637 uint64_t reserved_33_35:3;
638 uint64_t free_cnt:9;
639 uint64_t reserved_20_23:4;
640 uint64_t max_thr:8;
641 uint64_t reserved_8_11:4;
642 uint64_t min_thr:8;
643#else
644 uint64_t min_thr:8;
645 uint64_t reserved_8_11:4;
646 uint64_t max_thr:8;
647 uint64_t reserved_20_23:4;
648 uint64_t free_cnt:9;
649 uint64_t reserved_33_35:3;
650 uint64_t buf_cnt:9;
651 uint64_t reserved_45_47:3;
652 uint64_t des_cnt:9;
653 uint64_t reserved_57_63:7;
654#endif
655 } cn31xx;
656 struct cvmx_pow_qos_thrx_cn52xx {
657#ifdef __BIG_ENDIAN_BITFIELD
658 uint64_t reserved_58_63:6;
659 uint64_t des_cnt:10;
660 uint64_t reserved_46_47:2;
661 uint64_t buf_cnt:10;
662 uint64_t reserved_34_35:2;
663 uint64_t free_cnt:10;
664 uint64_t reserved_21_23:3;
665 uint64_t max_thr:9;
666 uint64_t reserved_9_11:3;
667 uint64_t min_thr:9;
668#else
669 uint64_t min_thr:9;
670 uint64_t reserved_9_11:3;
671 uint64_t max_thr:9;
672 uint64_t reserved_21_23:3;
673 uint64_t free_cnt:10;
674 uint64_t reserved_34_35:2;
675 uint64_t buf_cnt:10;
676 uint64_t reserved_46_47:2;
677 uint64_t des_cnt:10;
678 uint64_t reserved_58_63:6;
679#endif
680 } cn52xx;
681 struct cvmx_pow_qos_thrx_cn63xx {
682#ifdef __BIG_ENDIAN_BITFIELD
683 uint64_t reserved_59_63:5;
684 uint64_t des_cnt:11;
685 uint64_t reserved_47_47:1;
686 uint64_t buf_cnt:11;
687 uint64_t reserved_35_35:1;
688 uint64_t free_cnt:11;
689 uint64_t reserved_22_23:2;
690 uint64_t max_thr:10;
691 uint64_t reserved_10_11:2;
692 uint64_t min_thr:10;
693#else
694 uint64_t min_thr:10;
695 uint64_t reserved_10_11:2;
696 uint64_t max_thr:10;
697 uint64_t reserved_22_23:2;
698 uint64_t free_cnt:11;
699 uint64_t reserved_35_35:1;
700 uint64_t buf_cnt:11;
701 uint64_t reserved_47_47:1;
702 uint64_t des_cnt:11;
703 uint64_t reserved_59_63:5;
704#endif
705 } cn63xx;
706};
707
708union cvmx_pow_ts_pc {
709 uint64_t u64;
710 struct cvmx_pow_ts_pc_s {
711#ifdef __BIG_ENDIAN_BITFIELD
712 uint64_t reserved_32_63:32;
713 uint64_t ts_pc:32;
714#else
715 uint64_t ts_pc:32;
716 uint64_t reserved_32_63:32;
717#endif
718 } s;
719};
720
721union cvmx_pow_wa_com_pc {
722 uint64_t u64;
723 struct cvmx_pow_wa_com_pc_s {
724#ifdef __BIG_ENDIAN_BITFIELD
725 uint64_t reserved_32_63:32;
726 uint64_t wa_pc:32;
727#else
728 uint64_t wa_pc:32;
729 uint64_t reserved_32_63:32;
730#endif
731 } s;
732};
733
734union cvmx_pow_wa_pcx {
735 uint64_t u64;
736 struct cvmx_pow_wa_pcx_s {
737#ifdef __BIG_ENDIAN_BITFIELD
738 uint64_t reserved_32_63:32;
739 uint64_t wa_pc:32;
740#else
741 uint64_t wa_pc:32;
742 uint64_t reserved_32_63:32;
743#endif
744 } s;
745};
746
747union cvmx_pow_wq_int {
748 uint64_t u64;
749 struct cvmx_pow_wq_int_s {
750#ifdef __BIG_ENDIAN_BITFIELD
751 uint64_t reserved_32_63:32;
752 uint64_t iq_dis:16;
753 uint64_t wq_int:16;
754#else
755 uint64_t wq_int:16;
756 uint64_t iq_dis:16;
757 uint64_t reserved_32_63:32;
758#endif
759 } s;
760};
761
762union cvmx_pow_wq_int_cntx {
763 uint64_t u64;
764 struct cvmx_pow_wq_int_cntx_s {
765#ifdef __BIG_ENDIAN_BITFIELD
766 uint64_t reserved_28_63:36;
767 uint64_t tc_cnt:4;
768 uint64_t ds_cnt:12;
769 uint64_t iq_cnt:12;
770#else
771 uint64_t iq_cnt:12;
772 uint64_t ds_cnt:12;
773 uint64_t tc_cnt:4;
774 uint64_t reserved_28_63:36;
775#endif
776 } s;
777 struct cvmx_pow_wq_int_cntx_cn30xx {
778#ifdef __BIG_ENDIAN_BITFIELD
779 uint64_t reserved_28_63:36;
780 uint64_t tc_cnt:4;
781 uint64_t reserved_19_23:5;
782 uint64_t ds_cnt:7;
783 uint64_t reserved_7_11:5;
784 uint64_t iq_cnt:7;
785#else
786 uint64_t iq_cnt:7;
787 uint64_t reserved_7_11:5;
788 uint64_t ds_cnt:7;
789 uint64_t reserved_19_23:5;
790 uint64_t tc_cnt:4;
791 uint64_t reserved_28_63:36;
792#endif
793 } cn30xx;
794 struct cvmx_pow_wq_int_cntx_cn31xx {
795#ifdef __BIG_ENDIAN_BITFIELD
796 uint64_t reserved_28_63:36;
797 uint64_t tc_cnt:4;
798 uint64_t reserved_21_23:3;
799 uint64_t ds_cnt:9;
800 uint64_t reserved_9_11:3;
801 uint64_t iq_cnt:9;
802#else
803 uint64_t iq_cnt:9;
804 uint64_t reserved_9_11:3;
805 uint64_t ds_cnt:9;
806 uint64_t reserved_21_23:3;
807 uint64_t tc_cnt:4;
808 uint64_t reserved_28_63:36;
809#endif
810 } cn31xx;
811 struct cvmx_pow_wq_int_cntx_cn52xx {
812#ifdef __BIG_ENDIAN_BITFIELD
813 uint64_t reserved_28_63:36;
814 uint64_t tc_cnt:4;
815 uint64_t reserved_22_23:2;
816 uint64_t ds_cnt:10;
817 uint64_t reserved_10_11:2;
818 uint64_t iq_cnt:10;
819#else
820 uint64_t iq_cnt:10;
821 uint64_t reserved_10_11:2;
822 uint64_t ds_cnt:10;
823 uint64_t reserved_22_23:2;
824 uint64_t tc_cnt:4;
825 uint64_t reserved_28_63:36;
826#endif
827 } cn52xx;
828 struct cvmx_pow_wq_int_cntx_cn63xx {
829#ifdef __BIG_ENDIAN_BITFIELD
830 uint64_t reserved_28_63:36;
831 uint64_t tc_cnt:4;
832 uint64_t reserved_23_23:1;
833 uint64_t ds_cnt:11;
834 uint64_t reserved_11_11:1;
835 uint64_t iq_cnt:11;
836#else
837 uint64_t iq_cnt:11;
838 uint64_t reserved_11_11:1;
839 uint64_t ds_cnt:11;
840 uint64_t reserved_23_23:1;
841 uint64_t tc_cnt:4;
842 uint64_t reserved_28_63:36;
843#endif
844 } cn63xx;
845};
846
847union cvmx_pow_wq_int_pc {
848 uint64_t u64;
849 struct cvmx_pow_wq_int_pc_s {
850#ifdef __BIG_ENDIAN_BITFIELD
851 uint64_t reserved_60_63:4;
852 uint64_t pc:28;
853 uint64_t reserved_28_31:4;
854 uint64_t pc_thr:20;
855 uint64_t reserved_0_7:8;
856#else
857 uint64_t reserved_0_7:8;
858 uint64_t pc_thr:20;
859 uint64_t reserved_28_31:4;
860 uint64_t pc:28;
861 uint64_t reserved_60_63:4;
862#endif
863 } s;
864};
865
866union cvmx_pow_wq_int_thrx {
867 uint64_t u64;
868 struct cvmx_pow_wq_int_thrx_s {
869#ifdef __BIG_ENDIAN_BITFIELD
870 uint64_t reserved_29_63:35;
871 uint64_t tc_en:1;
872 uint64_t tc_thr:4;
873 uint64_t reserved_23_23:1;
874 uint64_t ds_thr:11;
875 uint64_t reserved_11_11:1;
876 uint64_t iq_thr:11;
877#else
878 uint64_t iq_thr:11;
879 uint64_t reserved_11_11:1;
880 uint64_t ds_thr:11;
881 uint64_t reserved_23_23:1;
882 uint64_t tc_thr:4;
883 uint64_t tc_en:1;
884 uint64_t reserved_29_63:35;
885#endif
886 } s;
887 struct cvmx_pow_wq_int_thrx_cn30xx {
888#ifdef __BIG_ENDIAN_BITFIELD
889 uint64_t reserved_29_63:35;
890 uint64_t tc_en:1;
891 uint64_t tc_thr:4;
892 uint64_t reserved_18_23:6;
893 uint64_t ds_thr:6;
894 uint64_t reserved_6_11:6;
895 uint64_t iq_thr:6;
896#else
897 uint64_t iq_thr:6;
898 uint64_t reserved_6_11:6;
899 uint64_t ds_thr:6;
900 uint64_t reserved_18_23:6;
901 uint64_t tc_thr:4;
902 uint64_t tc_en:1;
903 uint64_t reserved_29_63:35;
904#endif
905 } cn30xx;
906 struct cvmx_pow_wq_int_thrx_cn31xx {
907#ifdef __BIG_ENDIAN_BITFIELD
908 uint64_t reserved_29_63:35;
909 uint64_t tc_en:1;
910 uint64_t tc_thr:4;
911 uint64_t reserved_20_23:4;
912 uint64_t ds_thr:8;
913 uint64_t reserved_8_11:4;
914 uint64_t iq_thr:8;
915#else
916 uint64_t iq_thr:8;
917 uint64_t reserved_8_11:4;
918 uint64_t ds_thr:8;
919 uint64_t reserved_20_23:4;
920 uint64_t tc_thr:4;
921 uint64_t tc_en:1;
922 uint64_t reserved_29_63:35;
923#endif
924 } cn31xx;
925 struct cvmx_pow_wq_int_thrx_cn52xx {
926#ifdef __BIG_ENDIAN_BITFIELD
927 uint64_t reserved_29_63:35;
928 uint64_t tc_en:1;
929 uint64_t tc_thr:4;
930 uint64_t reserved_21_23:3;
931 uint64_t ds_thr:9;
932 uint64_t reserved_9_11:3;
933 uint64_t iq_thr:9;
934#else
935 uint64_t iq_thr:9;
936 uint64_t reserved_9_11:3;
937 uint64_t ds_thr:9;
938 uint64_t reserved_21_23:3;
939 uint64_t tc_thr:4;
940 uint64_t tc_en:1;
941 uint64_t reserved_29_63:35;
942#endif
943 } cn52xx;
944 struct cvmx_pow_wq_int_thrx_cn63xx {
945#ifdef __BIG_ENDIAN_BITFIELD
946 uint64_t reserved_29_63:35;
947 uint64_t tc_en:1;
948 uint64_t tc_thr:4;
949 uint64_t reserved_22_23:2;
950 uint64_t ds_thr:10;
951 uint64_t reserved_10_11:2;
952 uint64_t iq_thr:10;
953#else
954 uint64_t iq_thr:10;
955 uint64_t reserved_10_11:2;
956 uint64_t ds_thr:10;
957 uint64_t reserved_22_23:2;
958 uint64_t tc_thr:4;
959 uint64_t tc_en:1;
960 uint64_t reserved_29_63:35;
961#endif
962 } cn63xx;
963};
964
965union cvmx_pow_ws_pcx {
966 uint64_t u64;
967 struct cvmx_pow_ws_pcx_s {
968#ifdef __BIG_ENDIAN_BITFIELD
969 uint64_t reserved_32_63:32;
970 uint64_t ws_pc:32;
971#else
972 uint64_t ws_pc:32;
973 uint64_t reserved_32_63:32;
974#endif
975 } s;
976};
977
978union cvmx_sso_wq_int_thrx {
979 uint64_t u64;
980 struct {
981#ifdef __BIG_ENDIAN_BITFIELD
982 uint64_t reserved_33_63:31;
983 uint64_t tc_en:1;
984 uint64_t tc_thr:4;
985 uint64_t reserved_26_27:2;
986 uint64_t ds_thr:12;
987 uint64_t reserved_12_13:2;
988 uint64_t iq_thr:12;
989#else
990 uint64_t iq_thr:12;
991 uint64_t reserved_12_13:2;
992 uint64_t ds_thr:12;
993 uint64_t reserved_26_27:2;
994 uint64_t tc_thr:4;
995 uint64_t tc_en:1;
996 uint64_t reserved_33_63:31;
997#endif
998 } s;
999};
1000
1001#endif
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_POW_DEFS_H__
29#define __CVMX_POW_DEFS_H__
30
31#define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
32#define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
33#define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
34#define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
35#define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
36#define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
37#define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
38#define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
39#define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
40#define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
41#define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
42#define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
43#define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
44#define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
45#define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
46#define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
47#define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
48#define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
49#define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
50#define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
51#define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
52#define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
53#define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
54
55#define CVMX_SSO_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000001000ull))
56#define CVMX_SSO_WQ_IQ_DIS (CVMX_ADD_IO_SEG(0x0001670000001010ull))
57#define CVMX_SSO_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000001020ull))
58#define CVMX_SSO_PPX_GRP_MSK(offset) (CVMX_ADD_IO_SEG(0x0001670000006000ull) + ((offset) & 31) * 8)
59#define CVMX_SSO_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000007000ull) + ((offset) & 63) * 8)
60
61union cvmx_pow_bist_stat {
62 uint64_t u64;
63 struct cvmx_pow_bist_stat_s {
64#ifdef __BIG_ENDIAN_BITFIELD
65 uint64_t reserved_32_63:32;
66 uint64_t pp:16;
67 uint64_t reserved_0_15:16;
68#else
69 uint64_t reserved_0_15:16;
70 uint64_t pp:16;
71 uint64_t reserved_32_63:32;
72#endif
73 } s;
74 struct cvmx_pow_bist_stat_cn30xx {
75#ifdef __BIG_ENDIAN_BITFIELD
76 uint64_t reserved_17_63:47;
77 uint64_t pp:1;
78 uint64_t reserved_9_15:7;
79 uint64_t cam:1;
80 uint64_t nbt1:1;
81 uint64_t nbt0:1;
82 uint64_t index:1;
83 uint64_t fidx:1;
84 uint64_t nbr1:1;
85 uint64_t nbr0:1;
86 uint64_t pend:1;
87 uint64_t adr:1;
88#else
89 uint64_t adr:1;
90 uint64_t pend:1;
91 uint64_t nbr0:1;
92 uint64_t nbr1:1;
93 uint64_t fidx:1;
94 uint64_t index:1;
95 uint64_t nbt0:1;
96 uint64_t nbt1:1;
97 uint64_t cam:1;
98 uint64_t reserved_9_15:7;
99 uint64_t pp:1;
100 uint64_t reserved_17_63:47;
101#endif
102 } cn30xx;
103 struct cvmx_pow_bist_stat_cn31xx {
104#ifdef __BIG_ENDIAN_BITFIELD
105 uint64_t reserved_18_63:46;
106 uint64_t pp:2;
107 uint64_t reserved_9_15:7;
108 uint64_t cam:1;
109 uint64_t nbt1:1;
110 uint64_t nbt0:1;
111 uint64_t index:1;
112 uint64_t fidx:1;
113 uint64_t nbr1:1;
114 uint64_t nbr0:1;
115 uint64_t pend:1;
116 uint64_t adr:1;
117#else
118 uint64_t adr:1;
119 uint64_t pend:1;
120 uint64_t nbr0:1;
121 uint64_t nbr1:1;
122 uint64_t fidx:1;
123 uint64_t index:1;
124 uint64_t nbt0:1;
125 uint64_t nbt1:1;
126 uint64_t cam:1;
127 uint64_t reserved_9_15:7;
128 uint64_t pp:2;
129 uint64_t reserved_18_63:46;
130#endif
131 } cn31xx;
132 struct cvmx_pow_bist_stat_cn38xx {
133#ifdef __BIG_ENDIAN_BITFIELD
134 uint64_t reserved_32_63:32;
135 uint64_t pp:16;
136 uint64_t reserved_10_15:6;
137 uint64_t cam:1;
138 uint64_t nbt:1;
139 uint64_t index:1;
140 uint64_t fidx:1;
141 uint64_t nbr1:1;
142 uint64_t nbr0:1;
143 uint64_t pend1:1;
144 uint64_t pend0:1;
145 uint64_t adr1:1;
146 uint64_t adr0:1;
147#else
148 uint64_t adr0:1;
149 uint64_t adr1:1;
150 uint64_t pend0:1;
151 uint64_t pend1:1;
152 uint64_t nbr0:1;
153 uint64_t nbr1:1;
154 uint64_t fidx:1;
155 uint64_t index:1;
156 uint64_t nbt:1;
157 uint64_t cam:1;
158 uint64_t reserved_10_15:6;
159 uint64_t pp:16;
160 uint64_t reserved_32_63:32;
161#endif
162 } cn38xx;
163 struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
164 struct cvmx_pow_bist_stat_cn31xx cn50xx;
165 struct cvmx_pow_bist_stat_cn52xx {
166#ifdef __BIG_ENDIAN_BITFIELD
167 uint64_t reserved_20_63:44;
168 uint64_t pp:4;
169 uint64_t reserved_9_15:7;
170 uint64_t cam:1;
171 uint64_t nbt1:1;
172 uint64_t nbt0:1;
173 uint64_t index:1;
174 uint64_t fidx:1;
175 uint64_t nbr1:1;
176 uint64_t nbr0:1;
177 uint64_t pend:1;
178 uint64_t adr:1;
179#else
180 uint64_t adr:1;
181 uint64_t pend:1;
182 uint64_t nbr0:1;
183 uint64_t nbr1:1;
184 uint64_t fidx:1;
185 uint64_t index:1;
186 uint64_t nbt0:1;
187 uint64_t nbt1:1;
188 uint64_t cam:1;
189 uint64_t reserved_9_15:7;
190 uint64_t pp:4;
191 uint64_t reserved_20_63:44;
192#endif
193 } cn52xx;
194 struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
195 struct cvmx_pow_bist_stat_cn56xx {
196#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_28_63:36;
198 uint64_t pp:12;
199 uint64_t reserved_10_15:6;
200 uint64_t cam:1;
201 uint64_t nbt:1;
202 uint64_t index:1;
203 uint64_t fidx:1;
204 uint64_t nbr1:1;
205 uint64_t nbr0:1;
206 uint64_t pend1:1;
207 uint64_t pend0:1;
208 uint64_t adr1:1;
209 uint64_t adr0:1;
210#else
211 uint64_t adr0:1;
212 uint64_t adr1:1;
213 uint64_t pend0:1;
214 uint64_t pend1:1;
215 uint64_t nbr0:1;
216 uint64_t nbr1:1;
217 uint64_t fidx:1;
218 uint64_t index:1;
219 uint64_t nbt:1;
220 uint64_t cam:1;
221 uint64_t reserved_10_15:6;
222 uint64_t pp:12;
223 uint64_t reserved_28_63:36;
224#endif
225 } cn56xx;
226 struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
227 struct cvmx_pow_bist_stat_cn38xx cn58xx;
228 struct cvmx_pow_bist_stat_cn38xx cn58xxp1;
229 struct cvmx_pow_bist_stat_cn61xx {
230#ifdef __BIG_ENDIAN_BITFIELD
231 uint64_t reserved_20_63:44;
232 uint64_t pp:4;
233 uint64_t reserved_12_15:4;
234 uint64_t cam:1;
235 uint64_t nbr:3;
236 uint64_t nbt:4;
237 uint64_t index:1;
238 uint64_t fidx:1;
239 uint64_t pend:1;
240 uint64_t adr:1;
241#else
242 uint64_t adr:1;
243 uint64_t pend:1;
244 uint64_t fidx:1;
245 uint64_t index:1;
246 uint64_t nbt:4;
247 uint64_t nbr:3;
248 uint64_t cam:1;
249 uint64_t reserved_12_15:4;
250 uint64_t pp:4;
251 uint64_t reserved_20_63:44;
252#endif
253 } cn61xx;
254 struct cvmx_pow_bist_stat_cn63xx {
255#ifdef __BIG_ENDIAN_BITFIELD
256 uint64_t reserved_22_63:42;
257 uint64_t pp:6;
258 uint64_t reserved_12_15:4;
259 uint64_t cam:1;
260 uint64_t nbr:3;
261 uint64_t nbt:4;
262 uint64_t index:1;
263 uint64_t fidx:1;
264 uint64_t pend:1;
265 uint64_t adr:1;
266#else
267 uint64_t adr:1;
268 uint64_t pend:1;
269 uint64_t fidx:1;
270 uint64_t index:1;
271 uint64_t nbt:4;
272 uint64_t nbr:3;
273 uint64_t cam:1;
274 uint64_t reserved_12_15:4;
275 uint64_t pp:6;
276 uint64_t reserved_22_63:42;
277#endif
278 } cn63xx;
279 struct cvmx_pow_bist_stat_cn63xx cn63xxp1;
280 struct cvmx_pow_bist_stat_cn66xx {
281#ifdef __BIG_ENDIAN_BITFIELD
282 uint64_t reserved_26_63:38;
283 uint64_t pp:10;
284 uint64_t reserved_12_15:4;
285 uint64_t cam:1;
286 uint64_t nbr:3;
287 uint64_t nbt:4;
288 uint64_t index:1;
289 uint64_t fidx:1;
290 uint64_t pend:1;
291 uint64_t adr:1;
292#else
293 uint64_t adr:1;
294 uint64_t pend:1;
295 uint64_t fidx:1;
296 uint64_t index:1;
297 uint64_t nbt:4;
298 uint64_t nbr:3;
299 uint64_t cam:1;
300 uint64_t reserved_12_15:4;
301 uint64_t pp:10;
302 uint64_t reserved_26_63:38;
303#endif
304 } cn66xx;
305 struct cvmx_pow_bist_stat_cn61xx cnf71xx;
306};
307
308union cvmx_pow_ds_pc {
309 uint64_t u64;
310 struct cvmx_pow_ds_pc_s {
311#ifdef __BIG_ENDIAN_BITFIELD
312 uint64_t reserved_32_63:32;
313 uint64_t ds_pc:32;
314#else
315 uint64_t ds_pc:32;
316 uint64_t reserved_32_63:32;
317#endif
318 } s;
319 struct cvmx_pow_ds_pc_s cn30xx;
320 struct cvmx_pow_ds_pc_s cn31xx;
321 struct cvmx_pow_ds_pc_s cn38xx;
322 struct cvmx_pow_ds_pc_s cn38xxp2;
323 struct cvmx_pow_ds_pc_s cn50xx;
324 struct cvmx_pow_ds_pc_s cn52xx;
325 struct cvmx_pow_ds_pc_s cn52xxp1;
326 struct cvmx_pow_ds_pc_s cn56xx;
327 struct cvmx_pow_ds_pc_s cn56xxp1;
328 struct cvmx_pow_ds_pc_s cn58xx;
329 struct cvmx_pow_ds_pc_s cn58xxp1;
330 struct cvmx_pow_ds_pc_s cn61xx;
331 struct cvmx_pow_ds_pc_s cn63xx;
332 struct cvmx_pow_ds_pc_s cn63xxp1;
333 struct cvmx_pow_ds_pc_s cn66xx;
334 struct cvmx_pow_ds_pc_s cnf71xx;
335};
336
337union cvmx_pow_ecc_err {
338 uint64_t u64;
339 struct cvmx_pow_ecc_err_s {
340#ifdef __BIG_ENDIAN_BITFIELD
341 uint64_t reserved_45_63:19;
342 uint64_t iop_ie:13;
343 uint64_t reserved_29_31:3;
344 uint64_t iop:13;
345 uint64_t reserved_14_15:2;
346 uint64_t rpe_ie:1;
347 uint64_t rpe:1;
348 uint64_t reserved_9_11:3;
349 uint64_t syn:5;
350 uint64_t dbe_ie:1;
351 uint64_t sbe_ie:1;
352 uint64_t dbe:1;
353 uint64_t sbe:1;
354#else
355 uint64_t sbe:1;
356 uint64_t dbe:1;
357 uint64_t sbe_ie:1;
358 uint64_t dbe_ie:1;
359 uint64_t syn:5;
360 uint64_t reserved_9_11:3;
361 uint64_t rpe:1;
362 uint64_t rpe_ie:1;
363 uint64_t reserved_14_15:2;
364 uint64_t iop:13;
365 uint64_t reserved_29_31:3;
366 uint64_t iop_ie:13;
367 uint64_t reserved_45_63:19;
368#endif
369 } s;
370 struct cvmx_pow_ecc_err_s cn30xx;
371 struct cvmx_pow_ecc_err_cn31xx {
372#ifdef __BIG_ENDIAN_BITFIELD
373 uint64_t reserved_14_63:50;
374 uint64_t rpe_ie:1;
375 uint64_t rpe:1;
376 uint64_t reserved_9_11:3;
377 uint64_t syn:5;
378 uint64_t dbe_ie:1;
379 uint64_t sbe_ie:1;
380 uint64_t dbe:1;
381 uint64_t sbe:1;
382#else
383 uint64_t sbe:1;
384 uint64_t dbe:1;
385 uint64_t sbe_ie:1;
386 uint64_t dbe_ie:1;
387 uint64_t syn:5;
388 uint64_t reserved_9_11:3;
389 uint64_t rpe:1;
390 uint64_t rpe_ie:1;
391 uint64_t reserved_14_63:50;
392#endif
393 } cn31xx;
394 struct cvmx_pow_ecc_err_s cn38xx;
395 struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
396 struct cvmx_pow_ecc_err_s cn50xx;
397 struct cvmx_pow_ecc_err_s cn52xx;
398 struct cvmx_pow_ecc_err_s cn52xxp1;
399 struct cvmx_pow_ecc_err_s cn56xx;
400 struct cvmx_pow_ecc_err_s cn56xxp1;
401 struct cvmx_pow_ecc_err_s cn58xx;
402 struct cvmx_pow_ecc_err_s cn58xxp1;
403 struct cvmx_pow_ecc_err_s cn61xx;
404 struct cvmx_pow_ecc_err_s cn63xx;
405 struct cvmx_pow_ecc_err_s cn63xxp1;
406 struct cvmx_pow_ecc_err_s cn66xx;
407 struct cvmx_pow_ecc_err_s cnf71xx;
408};
409
410union cvmx_pow_int_ctl {
411 uint64_t u64;
412 struct cvmx_pow_int_ctl_s {
413#ifdef __BIG_ENDIAN_BITFIELD
414 uint64_t reserved_6_63:58;
415 uint64_t pfr_dis:1;
416 uint64_t nbr_thr:5;
417#else
418 uint64_t nbr_thr:5;
419 uint64_t pfr_dis:1;
420 uint64_t reserved_6_63:58;
421#endif
422 } s;
423 struct cvmx_pow_int_ctl_s cn30xx;
424 struct cvmx_pow_int_ctl_s cn31xx;
425 struct cvmx_pow_int_ctl_s cn38xx;
426 struct cvmx_pow_int_ctl_s cn38xxp2;
427 struct cvmx_pow_int_ctl_s cn50xx;
428 struct cvmx_pow_int_ctl_s cn52xx;
429 struct cvmx_pow_int_ctl_s cn52xxp1;
430 struct cvmx_pow_int_ctl_s cn56xx;
431 struct cvmx_pow_int_ctl_s cn56xxp1;
432 struct cvmx_pow_int_ctl_s cn58xx;
433 struct cvmx_pow_int_ctl_s cn58xxp1;
434 struct cvmx_pow_int_ctl_s cn61xx;
435 struct cvmx_pow_int_ctl_s cn63xx;
436 struct cvmx_pow_int_ctl_s cn63xxp1;
437 struct cvmx_pow_int_ctl_s cn66xx;
438 struct cvmx_pow_int_ctl_s cnf71xx;
439};
440
441union cvmx_pow_iq_cntx {
442 uint64_t u64;
443 struct cvmx_pow_iq_cntx_s {
444#ifdef __BIG_ENDIAN_BITFIELD
445 uint64_t reserved_32_63:32;
446 uint64_t iq_cnt:32;
447#else
448 uint64_t iq_cnt:32;
449 uint64_t reserved_32_63:32;
450#endif
451 } s;
452 struct cvmx_pow_iq_cntx_s cn30xx;
453 struct cvmx_pow_iq_cntx_s cn31xx;
454 struct cvmx_pow_iq_cntx_s cn38xx;
455 struct cvmx_pow_iq_cntx_s cn38xxp2;
456 struct cvmx_pow_iq_cntx_s cn50xx;
457 struct cvmx_pow_iq_cntx_s cn52xx;
458 struct cvmx_pow_iq_cntx_s cn52xxp1;
459 struct cvmx_pow_iq_cntx_s cn56xx;
460 struct cvmx_pow_iq_cntx_s cn56xxp1;
461 struct cvmx_pow_iq_cntx_s cn58xx;
462 struct cvmx_pow_iq_cntx_s cn58xxp1;
463 struct cvmx_pow_iq_cntx_s cn61xx;
464 struct cvmx_pow_iq_cntx_s cn63xx;
465 struct cvmx_pow_iq_cntx_s cn63xxp1;
466 struct cvmx_pow_iq_cntx_s cn66xx;
467 struct cvmx_pow_iq_cntx_s cnf71xx;
468};
469
470union cvmx_pow_iq_com_cnt {
471 uint64_t u64;
472 struct cvmx_pow_iq_com_cnt_s {
473#ifdef __BIG_ENDIAN_BITFIELD
474 uint64_t reserved_32_63:32;
475 uint64_t iq_cnt:32;
476#else
477 uint64_t iq_cnt:32;
478 uint64_t reserved_32_63:32;
479#endif
480 } s;
481 struct cvmx_pow_iq_com_cnt_s cn30xx;
482 struct cvmx_pow_iq_com_cnt_s cn31xx;
483 struct cvmx_pow_iq_com_cnt_s cn38xx;
484 struct cvmx_pow_iq_com_cnt_s cn38xxp2;
485 struct cvmx_pow_iq_com_cnt_s cn50xx;
486 struct cvmx_pow_iq_com_cnt_s cn52xx;
487 struct cvmx_pow_iq_com_cnt_s cn52xxp1;
488 struct cvmx_pow_iq_com_cnt_s cn56xx;
489 struct cvmx_pow_iq_com_cnt_s cn56xxp1;
490 struct cvmx_pow_iq_com_cnt_s cn58xx;
491 struct cvmx_pow_iq_com_cnt_s cn58xxp1;
492 struct cvmx_pow_iq_com_cnt_s cn61xx;
493 struct cvmx_pow_iq_com_cnt_s cn63xx;
494 struct cvmx_pow_iq_com_cnt_s cn63xxp1;
495 struct cvmx_pow_iq_com_cnt_s cn66xx;
496 struct cvmx_pow_iq_com_cnt_s cnf71xx;
497};
498
499union cvmx_pow_iq_int {
500 uint64_t u64;
501 struct cvmx_pow_iq_int_s {
502#ifdef __BIG_ENDIAN_BITFIELD
503 uint64_t reserved_8_63:56;
504 uint64_t iq_int:8;
505#else
506 uint64_t iq_int:8;
507 uint64_t reserved_8_63:56;
508#endif
509 } s;
510 struct cvmx_pow_iq_int_s cn52xx;
511 struct cvmx_pow_iq_int_s cn52xxp1;
512 struct cvmx_pow_iq_int_s cn56xx;
513 struct cvmx_pow_iq_int_s cn56xxp1;
514 struct cvmx_pow_iq_int_s cn61xx;
515 struct cvmx_pow_iq_int_s cn63xx;
516 struct cvmx_pow_iq_int_s cn63xxp1;
517 struct cvmx_pow_iq_int_s cn66xx;
518 struct cvmx_pow_iq_int_s cnf71xx;
519};
520
521union cvmx_pow_iq_int_en {
522 uint64_t u64;
523 struct cvmx_pow_iq_int_en_s {
524#ifdef __BIG_ENDIAN_BITFIELD
525 uint64_t reserved_8_63:56;
526 uint64_t int_en:8;
527#else
528 uint64_t int_en:8;
529 uint64_t reserved_8_63:56;
530#endif
531 } s;
532 struct cvmx_pow_iq_int_en_s cn52xx;
533 struct cvmx_pow_iq_int_en_s cn52xxp1;
534 struct cvmx_pow_iq_int_en_s cn56xx;
535 struct cvmx_pow_iq_int_en_s cn56xxp1;
536 struct cvmx_pow_iq_int_en_s cn61xx;
537 struct cvmx_pow_iq_int_en_s cn63xx;
538 struct cvmx_pow_iq_int_en_s cn63xxp1;
539 struct cvmx_pow_iq_int_en_s cn66xx;
540 struct cvmx_pow_iq_int_en_s cnf71xx;
541};
542
543union cvmx_pow_iq_thrx {
544 uint64_t u64;
545 struct cvmx_pow_iq_thrx_s {
546#ifdef __BIG_ENDIAN_BITFIELD
547 uint64_t reserved_32_63:32;
548 uint64_t iq_thr:32;
549#else
550 uint64_t iq_thr:32;
551 uint64_t reserved_32_63:32;
552#endif
553 } s;
554 struct cvmx_pow_iq_thrx_s cn52xx;
555 struct cvmx_pow_iq_thrx_s cn52xxp1;
556 struct cvmx_pow_iq_thrx_s cn56xx;
557 struct cvmx_pow_iq_thrx_s cn56xxp1;
558 struct cvmx_pow_iq_thrx_s cn61xx;
559 struct cvmx_pow_iq_thrx_s cn63xx;
560 struct cvmx_pow_iq_thrx_s cn63xxp1;
561 struct cvmx_pow_iq_thrx_s cn66xx;
562 struct cvmx_pow_iq_thrx_s cnf71xx;
563};
564
565union cvmx_pow_nos_cnt {
566 uint64_t u64;
567 struct cvmx_pow_nos_cnt_s {
568#ifdef __BIG_ENDIAN_BITFIELD
569 uint64_t reserved_12_63:52;
570 uint64_t nos_cnt:12;
571#else
572 uint64_t nos_cnt:12;
573 uint64_t reserved_12_63:52;
574#endif
575 } s;
576 struct cvmx_pow_nos_cnt_cn30xx {
577#ifdef __BIG_ENDIAN_BITFIELD
578 uint64_t reserved_7_63:57;
579 uint64_t nos_cnt:7;
580#else
581 uint64_t nos_cnt:7;
582 uint64_t reserved_7_63:57;
583#endif
584 } cn30xx;
585 struct cvmx_pow_nos_cnt_cn31xx {
586#ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_9_63:55;
588 uint64_t nos_cnt:9;
589#else
590 uint64_t nos_cnt:9;
591 uint64_t reserved_9_63:55;
592#endif
593 } cn31xx;
594 struct cvmx_pow_nos_cnt_s cn38xx;
595 struct cvmx_pow_nos_cnt_s cn38xxp2;
596 struct cvmx_pow_nos_cnt_cn31xx cn50xx;
597 struct cvmx_pow_nos_cnt_cn52xx {
598#ifdef __BIG_ENDIAN_BITFIELD
599 uint64_t reserved_10_63:54;
600 uint64_t nos_cnt:10;
601#else
602 uint64_t nos_cnt:10;
603 uint64_t reserved_10_63:54;
604#endif
605 } cn52xx;
606 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
607 struct cvmx_pow_nos_cnt_s cn56xx;
608 struct cvmx_pow_nos_cnt_s cn56xxp1;
609 struct cvmx_pow_nos_cnt_s cn58xx;
610 struct cvmx_pow_nos_cnt_s cn58xxp1;
611 struct cvmx_pow_nos_cnt_cn52xx cn61xx;
612 struct cvmx_pow_nos_cnt_cn63xx {
613#ifdef __BIG_ENDIAN_BITFIELD
614 uint64_t reserved_11_63:53;
615 uint64_t nos_cnt:11;
616#else
617 uint64_t nos_cnt:11;
618 uint64_t reserved_11_63:53;
619#endif
620 } cn63xx;
621 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
622 struct cvmx_pow_nos_cnt_cn63xx cn66xx;
623 struct cvmx_pow_nos_cnt_cn52xx cnf71xx;
624};
625
626union cvmx_pow_nw_tim {
627 uint64_t u64;
628 struct cvmx_pow_nw_tim_s {
629#ifdef __BIG_ENDIAN_BITFIELD
630 uint64_t reserved_10_63:54;
631 uint64_t nw_tim:10;
632#else
633 uint64_t nw_tim:10;
634 uint64_t reserved_10_63:54;
635#endif
636 } s;
637 struct cvmx_pow_nw_tim_s cn30xx;
638 struct cvmx_pow_nw_tim_s cn31xx;
639 struct cvmx_pow_nw_tim_s cn38xx;
640 struct cvmx_pow_nw_tim_s cn38xxp2;
641 struct cvmx_pow_nw_tim_s cn50xx;
642 struct cvmx_pow_nw_tim_s cn52xx;
643 struct cvmx_pow_nw_tim_s cn52xxp1;
644 struct cvmx_pow_nw_tim_s cn56xx;
645 struct cvmx_pow_nw_tim_s cn56xxp1;
646 struct cvmx_pow_nw_tim_s cn58xx;
647 struct cvmx_pow_nw_tim_s cn58xxp1;
648 struct cvmx_pow_nw_tim_s cn61xx;
649 struct cvmx_pow_nw_tim_s cn63xx;
650 struct cvmx_pow_nw_tim_s cn63xxp1;
651 struct cvmx_pow_nw_tim_s cn66xx;
652 struct cvmx_pow_nw_tim_s cnf71xx;
653};
654
655union cvmx_pow_pf_rst_msk {
656 uint64_t u64;
657 struct cvmx_pow_pf_rst_msk_s {
658#ifdef __BIG_ENDIAN_BITFIELD
659 uint64_t reserved_8_63:56;
660 uint64_t rst_msk:8;
661#else
662 uint64_t rst_msk:8;
663 uint64_t reserved_8_63:56;
664#endif
665 } s;
666 struct cvmx_pow_pf_rst_msk_s cn50xx;
667 struct cvmx_pow_pf_rst_msk_s cn52xx;
668 struct cvmx_pow_pf_rst_msk_s cn52xxp1;
669 struct cvmx_pow_pf_rst_msk_s cn56xx;
670 struct cvmx_pow_pf_rst_msk_s cn56xxp1;
671 struct cvmx_pow_pf_rst_msk_s cn58xx;
672 struct cvmx_pow_pf_rst_msk_s cn58xxp1;
673 struct cvmx_pow_pf_rst_msk_s cn61xx;
674 struct cvmx_pow_pf_rst_msk_s cn63xx;
675 struct cvmx_pow_pf_rst_msk_s cn63xxp1;
676 struct cvmx_pow_pf_rst_msk_s cn66xx;
677 struct cvmx_pow_pf_rst_msk_s cnf71xx;
678};
679
680union cvmx_pow_pp_grp_mskx {
681 uint64_t u64;
682 struct cvmx_pow_pp_grp_mskx_s {
683#ifdef __BIG_ENDIAN_BITFIELD
684 uint64_t reserved_48_63:16;
685 uint64_t qos7_pri:4;
686 uint64_t qos6_pri:4;
687 uint64_t qos5_pri:4;
688 uint64_t qos4_pri:4;
689 uint64_t qos3_pri:4;
690 uint64_t qos2_pri:4;
691 uint64_t qos1_pri:4;
692 uint64_t qos0_pri:4;
693 uint64_t grp_msk:16;
694#else
695 uint64_t grp_msk:16;
696 uint64_t qos0_pri:4;
697 uint64_t qos1_pri:4;
698 uint64_t qos2_pri:4;
699 uint64_t qos3_pri:4;
700 uint64_t qos4_pri:4;
701 uint64_t qos5_pri:4;
702 uint64_t qos6_pri:4;
703 uint64_t qos7_pri:4;
704 uint64_t reserved_48_63:16;
705#endif
706 } s;
707 struct cvmx_pow_pp_grp_mskx_cn30xx {
708#ifdef __BIG_ENDIAN_BITFIELD
709 uint64_t reserved_16_63:48;
710 uint64_t grp_msk:16;
711#else
712 uint64_t grp_msk:16;
713 uint64_t reserved_16_63:48;
714#endif
715 } cn30xx;
716 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
717 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
718 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xxp2;
719 struct cvmx_pow_pp_grp_mskx_s cn50xx;
720 struct cvmx_pow_pp_grp_mskx_s cn52xx;
721 struct cvmx_pow_pp_grp_mskx_s cn52xxp1;
722 struct cvmx_pow_pp_grp_mskx_s cn56xx;
723 struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
724 struct cvmx_pow_pp_grp_mskx_s cn58xx;
725 struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
726 struct cvmx_pow_pp_grp_mskx_s cn61xx;
727 struct cvmx_pow_pp_grp_mskx_s cn63xx;
728 struct cvmx_pow_pp_grp_mskx_s cn63xxp1;
729 struct cvmx_pow_pp_grp_mskx_s cn66xx;
730 struct cvmx_pow_pp_grp_mskx_s cnf71xx;
731};
732
733union cvmx_pow_qos_rndx {
734 uint64_t u64;
735 struct cvmx_pow_qos_rndx_s {
736#ifdef __BIG_ENDIAN_BITFIELD
737 uint64_t reserved_32_63:32;
738 uint64_t rnd_p3:8;
739 uint64_t rnd_p2:8;
740 uint64_t rnd_p1:8;
741 uint64_t rnd:8;
742#else
743 uint64_t rnd:8;
744 uint64_t rnd_p1:8;
745 uint64_t rnd_p2:8;
746 uint64_t rnd_p3:8;
747 uint64_t reserved_32_63:32;
748#endif
749 } s;
750 struct cvmx_pow_qos_rndx_s cn30xx;
751 struct cvmx_pow_qos_rndx_s cn31xx;
752 struct cvmx_pow_qos_rndx_s cn38xx;
753 struct cvmx_pow_qos_rndx_s cn38xxp2;
754 struct cvmx_pow_qos_rndx_s cn50xx;
755 struct cvmx_pow_qos_rndx_s cn52xx;
756 struct cvmx_pow_qos_rndx_s cn52xxp1;
757 struct cvmx_pow_qos_rndx_s cn56xx;
758 struct cvmx_pow_qos_rndx_s cn56xxp1;
759 struct cvmx_pow_qos_rndx_s cn58xx;
760 struct cvmx_pow_qos_rndx_s cn58xxp1;
761 struct cvmx_pow_qos_rndx_s cn61xx;
762 struct cvmx_pow_qos_rndx_s cn63xx;
763 struct cvmx_pow_qos_rndx_s cn63xxp1;
764 struct cvmx_pow_qos_rndx_s cn66xx;
765 struct cvmx_pow_qos_rndx_s cnf71xx;
766};
767
768union cvmx_pow_qos_thrx {
769 uint64_t u64;
770 struct cvmx_pow_qos_thrx_s {
771#ifdef __BIG_ENDIAN_BITFIELD
772 uint64_t reserved_60_63:4;
773 uint64_t des_cnt:12;
774 uint64_t buf_cnt:12;
775 uint64_t free_cnt:12;
776 uint64_t reserved_23_23:1;
777 uint64_t max_thr:11;
778 uint64_t reserved_11_11:1;
779 uint64_t min_thr:11;
780#else
781 uint64_t min_thr:11;
782 uint64_t reserved_11_11:1;
783 uint64_t max_thr:11;
784 uint64_t reserved_23_23:1;
785 uint64_t free_cnt:12;
786 uint64_t buf_cnt:12;
787 uint64_t des_cnt:12;
788 uint64_t reserved_60_63:4;
789#endif
790 } s;
791 struct cvmx_pow_qos_thrx_cn30xx {
792#ifdef __BIG_ENDIAN_BITFIELD
793 uint64_t reserved_55_63:9;
794 uint64_t des_cnt:7;
795 uint64_t reserved_43_47:5;
796 uint64_t buf_cnt:7;
797 uint64_t reserved_31_35:5;
798 uint64_t free_cnt:7;
799 uint64_t reserved_18_23:6;
800 uint64_t max_thr:6;
801 uint64_t reserved_6_11:6;
802 uint64_t min_thr:6;
803#else
804 uint64_t min_thr:6;
805 uint64_t reserved_6_11:6;
806 uint64_t max_thr:6;
807 uint64_t reserved_18_23:6;
808 uint64_t free_cnt:7;
809 uint64_t reserved_31_35:5;
810 uint64_t buf_cnt:7;
811 uint64_t reserved_43_47:5;
812 uint64_t des_cnt:7;
813 uint64_t reserved_55_63:9;
814#endif
815 } cn30xx;
816 struct cvmx_pow_qos_thrx_cn31xx {
817#ifdef __BIG_ENDIAN_BITFIELD
818 uint64_t reserved_57_63:7;
819 uint64_t des_cnt:9;
820 uint64_t reserved_45_47:3;
821 uint64_t buf_cnt:9;
822 uint64_t reserved_33_35:3;
823 uint64_t free_cnt:9;
824 uint64_t reserved_20_23:4;
825 uint64_t max_thr:8;
826 uint64_t reserved_8_11:4;
827 uint64_t min_thr:8;
828#else
829 uint64_t min_thr:8;
830 uint64_t reserved_8_11:4;
831 uint64_t max_thr:8;
832 uint64_t reserved_20_23:4;
833 uint64_t free_cnt:9;
834 uint64_t reserved_33_35:3;
835 uint64_t buf_cnt:9;
836 uint64_t reserved_45_47:3;
837 uint64_t des_cnt:9;
838 uint64_t reserved_57_63:7;
839#endif
840 } cn31xx;
841 struct cvmx_pow_qos_thrx_s cn38xx;
842 struct cvmx_pow_qos_thrx_s cn38xxp2;
843 struct cvmx_pow_qos_thrx_cn31xx cn50xx;
844 struct cvmx_pow_qos_thrx_cn52xx {
845#ifdef __BIG_ENDIAN_BITFIELD
846 uint64_t reserved_58_63:6;
847 uint64_t des_cnt:10;
848 uint64_t reserved_46_47:2;
849 uint64_t buf_cnt:10;
850 uint64_t reserved_34_35:2;
851 uint64_t free_cnt:10;
852 uint64_t reserved_21_23:3;
853 uint64_t max_thr:9;
854 uint64_t reserved_9_11:3;
855 uint64_t min_thr:9;
856#else
857 uint64_t min_thr:9;
858 uint64_t reserved_9_11:3;
859 uint64_t max_thr:9;
860 uint64_t reserved_21_23:3;
861 uint64_t free_cnt:10;
862 uint64_t reserved_34_35:2;
863 uint64_t buf_cnt:10;
864 uint64_t reserved_46_47:2;
865 uint64_t des_cnt:10;
866 uint64_t reserved_58_63:6;
867#endif
868 } cn52xx;
869 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
870 struct cvmx_pow_qos_thrx_s cn56xx;
871 struct cvmx_pow_qos_thrx_s cn56xxp1;
872 struct cvmx_pow_qos_thrx_s cn58xx;
873 struct cvmx_pow_qos_thrx_s cn58xxp1;
874 struct cvmx_pow_qos_thrx_cn52xx cn61xx;
875 struct cvmx_pow_qos_thrx_cn63xx {
876#ifdef __BIG_ENDIAN_BITFIELD
877 uint64_t reserved_59_63:5;
878 uint64_t des_cnt:11;
879 uint64_t reserved_47_47:1;
880 uint64_t buf_cnt:11;
881 uint64_t reserved_35_35:1;
882 uint64_t free_cnt:11;
883 uint64_t reserved_22_23:2;
884 uint64_t max_thr:10;
885 uint64_t reserved_10_11:2;
886 uint64_t min_thr:10;
887#else
888 uint64_t min_thr:10;
889 uint64_t reserved_10_11:2;
890 uint64_t max_thr:10;
891 uint64_t reserved_22_23:2;
892 uint64_t free_cnt:11;
893 uint64_t reserved_35_35:1;
894 uint64_t buf_cnt:11;
895 uint64_t reserved_47_47:1;
896 uint64_t des_cnt:11;
897 uint64_t reserved_59_63:5;
898#endif
899 } cn63xx;
900 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
901 struct cvmx_pow_qos_thrx_cn63xx cn66xx;
902 struct cvmx_pow_qos_thrx_cn52xx cnf71xx;
903};
904
905union cvmx_pow_ts_pc {
906 uint64_t u64;
907 struct cvmx_pow_ts_pc_s {
908#ifdef __BIG_ENDIAN_BITFIELD
909 uint64_t reserved_32_63:32;
910 uint64_t ts_pc:32;
911#else
912 uint64_t ts_pc:32;
913 uint64_t reserved_32_63:32;
914#endif
915 } s;
916 struct cvmx_pow_ts_pc_s cn30xx;
917 struct cvmx_pow_ts_pc_s cn31xx;
918 struct cvmx_pow_ts_pc_s cn38xx;
919 struct cvmx_pow_ts_pc_s cn38xxp2;
920 struct cvmx_pow_ts_pc_s cn50xx;
921 struct cvmx_pow_ts_pc_s cn52xx;
922 struct cvmx_pow_ts_pc_s cn52xxp1;
923 struct cvmx_pow_ts_pc_s cn56xx;
924 struct cvmx_pow_ts_pc_s cn56xxp1;
925 struct cvmx_pow_ts_pc_s cn58xx;
926 struct cvmx_pow_ts_pc_s cn58xxp1;
927 struct cvmx_pow_ts_pc_s cn61xx;
928 struct cvmx_pow_ts_pc_s cn63xx;
929 struct cvmx_pow_ts_pc_s cn63xxp1;
930 struct cvmx_pow_ts_pc_s cn66xx;
931 struct cvmx_pow_ts_pc_s cnf71xx;
932};
933
934union cvmx_pow_wa_com_pc {
935 uint64_t u64;
936 struct cvmx_pow_wa_com_pc_s {
937#ifdef __BIG_ENDIAN_BITFIELD
938 uint64_t reserved_32_63:32;
939 uint64_t wa_pc:32;
940#else
941 uint64_t wa_pc:32;
942 uint64_t reserved_32_63:32;
943#endif
944 } s;
945 struct cvmx_pow_wa_com_pc_s cn30xx;
946 struct cvmx_pow_wa_com_pc_s cn31xx;
947 struct cvmx_pow_wa_com_pc_s cn38xx;
948 struct cvmx_pow_wa_com_pc_s cn38xxp2;
949 struct cvmx_pow_wa_com_pc_s cn50xx;
950 struct cvmx_pow_wa_com_pc_s cn52xx;
951 struct cvmx_pow_wa_com_pc_s cn52xxp1;
952 struct cvmx_pow_wa_com_pc_s cn56xx;
953 struct cvmx_pow_wa_com_pc_s cn56xxp1;
954 struct cvmx_pow_wa_com_pc_s cn58xx;
955 struct cvmx_pow_wa_com_pc_s cn58xxp1;
956 struct cvmx_pow_wa_com_pc_s cn61xx;
957 struct cvmx_pow_wa_com_pc_s cn63xx;
958 struct cvmx_pow_wa_com_pc_s cn63xxp1;
959 struct cvmx_pow_wa_com_pc_s cn66xx;
960 struct cvmx_pow_wa_com_pc_s cnf71xx;
961};
962
963union cvmx_pow_wa_pcx {
964 uint64_t u64;
965 struct cvmx_pow_wa_pcx_s {
966#ifdef __BIG_ENDIAN_BITFIELD
967 uint64_t reserved_32_63:32;
968 uint64_t wa_pc:32;
969#else
970 uint64_t wa_pc:32;
971 uint64_t reserved_32_63:32;
972#endif
973 } s;
974 struct cvmx_pow_wa_pcx_s cn30xx;
975 struct cvmx_pow_wa_pcx_s cn31xx;
976 struct cvmx_pow_wa_pcx_s cn38xx;
977 struct cvmx_pow_wa_pcx_s cn38xxp2;
978 struct cvmx_pow_wa_pcx_s cn50xx;
979 struct cvmx_pow_wa_pcx_s cn52xx;
980 struct cvmx_pow_wa_pcx_s cn52xxp1;
981 struct cvmx_pow_wa_pcx_s cn56xx;
982 struct cvmx_pow_wa_pcx_s cn56xxp1;
983 struct cvmx_pow_wa_pcx_s cn58xx;
984 struct cvmx_pow_wa_pcx_s cn58xxp1;
985 struct cvmx_pow_wa_pcx_s cn61xx;
986 struct cvmx_pow_wa_pcx_s cn63xx;
987 struct cvmx_pow_wa_pcx_s cn63xxp1;
988 struct cvmx_pow_wa_pcx_s cn66xx;
989 struct cvmx_pow_wa_pcx_s cnf71xx;
990};
991
992union cvmx_pow_wq_int {
993 uint64_t u64;
994 struct cvmx_pow_wq_int_s {
995#ifdef __BIG_ENDIAN_BITFIELD
996 uint64_t reserved_32_63:32;
997 uint64_t iq_dis:16;
998 uint64_t wq_int:16;
999#else
1000 uint64_t wq_int:16;
1001 uint64_t iq_dis:16;
1002 uint64_t reserved_32_63:32;
1003#endif
1004 } s;
1005 struct cvmx_pow_wq_int_s cn30xx;
1006 struct cvmx_pow_wq_int_s cn31xx;
1007 struct cvmx_pow_wq_int_s cn38xx;
1008 struct cvmx_pow_wq_int_s cn38xxp2;
1009 struct cvmx_pow_wq_int_s cn50xx;
1010 struct cvmx_pow_wq_int_s cn52xx;
1011 struct cvmx_pow_wq_int_s cn52xxp1;
1012 struct cvmx_pow_wq_int_s cn56xx;
1013 struct cvmx_pow_wq_int_s cn56xxp1;
1014 struct cvmx_pow_wq_int_s cn58xx;
1015 struct cvmx_pow_wq_int_s cn58xxp1;
1016 struct cvmx_pow_wq_int_s cn61xx;
1017 struct cvmx_pow_wq_int_s cn63xx;
1018 struct cvmx_pow_wq_int_s cn63xxp1;
1019 struct cvmx_pow_wq_int_s cn66xx;
1020 struct cvmx_pow_wq_int_s cnf71xx;
1021};
1022
1023union cvmx_pow_wq_int_cntx {
1024 uint64_t u64;
1025 struct cvmx_pow_wq_int_cntx_s {
1026#ifdef __BIG_ENDIAN_BITFIELD
1027 uint64_t reserved_28_63:36;
1028 uint64_t tc_cnt:4;
1029 uint64_t ds_cnt:12;
1030 uint64_t iq_cnt:12;
1031#else
1032 uint64_t iq_cnt:12;
1033 uint64_t ds_cnt:12;
1034 uint64_t tc_cnt:4;
1035 uint64_t reserved_28_63:36;
1036#endif
1037 } s;
1038 struct cvmx_pow_wq_int_cntx_cn30xx {
1039#ifdef __BIG_ENDIAN_BITFIELD
1040 uint64_t reserved_28_63:36;
1041 uint64_t tc_cnt:4;
1042 uint64_t reserved_19_23:5;
1043 uint64_t ds_cnt:7;
1044 uint64_t reserved_7_11:5;
1045 uint64_t iq_cnt:7;
1046#else
1047 uint64_t iq_cnt:7;
1048 uint64_t reserved_7_11:5;
1049 uint64_t ds_cnt:7;
1050 uint64_t reserved_19_23:5;
1051 uint64_t tc_cnt:4;
1052 uint64_t reserved_28_63:36;
1053#endif
1054 } cn30xx;
1055 struct cvmx_pow_wq_int_cntx_cn31xx {
1056#ifdef __BIG_ENDIAN_BITFIELD
1057 uint64_t reserved_28_63:36;
1058 uint64_t tc_cnt:4;
1059 uint64_t reserved_21_23:3;
1060 uint64_t ds_cnt:9;
1061 uint64_t reserved_9_11:3;
1062 uint64_t iq_cnt:9;
1063#else
1064 uint64_t iq_cnt:9;
1065 uint64_t reserved_9_11:3;
1066 uint64_t ds_cnt:9;
1067 uint64_t reserved_21_23:3;
1068 uint64_t tc_cnt:4;
1069 uint64_t reserved_28_63:36;
1070#endif
1071 } cn31xx;
1072 struct cvmx_pow_wq_int_cntx_s cn38xx;
1073 struct cvmx_pow_wq_int_cntx_s cn38xxp2;
1074 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
1075 struct cvmx_pow_wq_int_cntx_cn52xx {
1076#ifdef __BIG_ENDIAN_BITFIELD
1077 uint64_t reserved_28_63:36;
1078 uint64_t tc_cnt:4;
1079 uint64_t reserved_22_23:2;
1080 uint64_t ds_cnt:10;
1081 uint64_t reserved_10_11:2;
1082 uint64_t iq_cnt:10;
1083#else
1084 uint64_t iq_cnt:10;
1085 uint64_t reserved_10_11:2;
1086 uint64_t ds_cnt:10;
1087 uint64_t reserved_22_23:2;
1088 uint64_t tc_cnt:4;
1089 uint64_t reserved_28_63:36;
1090#endif
1091 } cn52xx;
1092 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
1093 struct cvmx_pow_wq_int_cntx_s cn56xx;
1094 struct cvmx_pow_wq_int_cntx_s cn56xxp1;
1095 struct cvmx_pow_wq_int_cntx_s cn58xx;
1096 struct cvmx_pow_wq_int_cntx_s cn58xxp1;
1097 struct cvmx_pow_wq_int_cntx_cn52xx cn61xx;
1098 struct cvmx_pow_wq_int_cntx_cn63xx {
1099#ifdef __BIG_ENDIAN_BITFIELD
1100 uint64_t reserved_28_63:36;
1101 uint64_t tc_cnt:4;
1102 uint64_t reserved_23_23:1;
1103 uint64_t ds_cnt:11;
1104 uint64_t reserved_11_11:1;
1105 uint64_t iq_cnt:11;
1106#else
1107 uint64_t iq_cnt:11;
1108 uint64_t reserved_11_11:1;
1109 uint64_t ds_cnt:11;
1110 uint64_t reserved_23_23:1;
1111 uint64_t tc_cnt:4;
1112 uint64_t reserved_28_63:36;
1113#endif
1114 } cn63xx;
1115 struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1;
1116 struct cvmx_pow_wq_int_cntx_cn63xx cn66xx;
1117 struct cvmx_pow_wq_int_cntx_cn52xx cnf71xx;
1118};
1119
1120union cvmx_pow_wq_int_pc {
1121 uint64_t u64;
1122 struct cvmx_pow_wq_int_pc_s {
1123#ifdef __BIG_ENDIAN_BITFIELD
1124 uint64_t reserved_60_63:4;
1125 uint64_t pc:28;
1126 uint64_t reserved_28_31:4;
1127 uint64_t pc_thr:20;
1128 uint64_t reserved_0_7:8;
1129#else
1130 uint64_t reserved_0_7:8;
1131 uint64_t pc_thr:20;
1132 uint64_t reserved_28_31:4;
1133 uint64_t pc:28;
1134 uint64_t reserved_60_63:4;
1135#endif
1136 } s;
1137 struct cvmx_pow_wq_int_pc_s cn30xx;
1138 struct cvmx_pow_wq_int_pc_s cn31xx;
1139 struct cvmx_pow_wq_int_pc_s cn38xx;
1140 struct cvmx_pow_wq_int_pc_s cn38xxp2;
1141 struct cvmx_pow_wq_int_pc_s cn50xx;
1142 struct cvmx_pow_wq_int_pc_s cn52xx;
1143 struct cvmx_pow_wq_int_pc_s cn52xxp1;
1144 struct cvmx_pow_wq_int_pc_s cn56xx;
1145 struct cvmx_pow_wq_int_pc_s cn56xxp1;
1146 struct cvmx_pow_wq_int_pc_s cn58xx;
1147 struct cvmx_pow_wq_int_pc_s cn58xxp1;
1148 struct cvmx_pow_wq_int_pc_s cn61xx;
1149 struct cvmx_pow_wq_int_pc_s cn63xx;
1150 struct cvmx_pow_wq_int_pc_s cn63xxp1;
1151 struct cvmx_pow_wq_int_pc_s cn66xx;
1152 struct cvmx_pow_wq_int_pc_s cnf71xx;
1153};
1154
1155union cvmx_pow_wq_int_thrx {
1156 uint64_t u64;
1157 struct cvmx_pow_wq_int_thrx_s {
1158#ifdef __BIG_ENDIAN_BITFIELD
1159 uint64_t reserved_29_63:35;
1160 uint64_t tc_en:1;
1161 uint64_t tc_thr:4;
1162 uint64_t reserved_23_23:1;
1163 uint64_t ds_thr:11;
1164 uint64_t reserved_11_11:1;
1165 uint64_t iq_thr:11;
1166#else
1167 uint64_t iq_thr:11;
1168 uint64_t reserved_11_11:1;
1169 uint64_t ds_thr:11;
1170 uint64_t reserved_23_23:1;
1171 uint64_t tc_thr:4;
1172 uint64_t tc_en:1;
1173 uint64_t reserved_29_63:35;
1174#endif
1175 } s;
1176 struct cvmx_pow_wq_int_thrx_cn30xx {
1177#ifdef __BIG_ENDIAN_BITFIELD
1178 uint64_t reserved_29_63:35;
1179 uint64_t tc_en:1;
1180 uint64_t tc_thr:4;
1181 uint64_t reserved_18_23:6;
1182 uint64_t ds_thr:6;
1183 uint64_t reserved_6_11:6;
1184 uint64_t iq_thr:6;
1185#else
1186 uint64_t iq_thr:6;
1187 uint64_t reserved_6_11:6;
1188 uint64_t ds_thr:6;
1189 uint64_t reserved_18_23:6;
1190 uint64_t tc_thr:4;
1191 uint64_t tc_en:1;
1192 uint64_t reserved_29_63:35;
1193#endif
1194 } cn30xx;
1195 struct cvmx_pow_wq_int_thrx_cn31xx {
1196#ifdef __BIG_ENDIAN_BITFIELD
1197 uint64_t reserved_29_63:35;
1198 uint64_t tc_en:1;
1199 uint64_t tc_thr:4;
1200 uint64_t reserved_20_23:4;
1201 uint64_t ds_thr:8;
1202 uint64_t reserved_8_11:4;
1203 uint64_t iq_thr:8;
1204#else
1205 uint64_t iq_thr:8;
1206 uint64_t reserved_8_11:4;
1207 uint64_t ds_thr:8;
1208 uint64_t reserved_20_23:4;
1209 uint64_t tc_thr:4;
1210 uint64_t tc_en:1;
1211 uint64_t reserved_29_63:35;
1212#endif
1213 } cn31xx;
1214 struct cvmx_pow_wq_int_thrx_s cn38xx;
1215 struct cvmx_pow_wq_int_thrx_s cn38xxp2;
1216 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
1217 struct cvmx_pow_wq_int_thrx_cn52xx {
1218#ifdef __BIG_ENDIAN_BITFIELD
1219 uint64_t reserved_29_63:35;
1220 uint64_t tc_en:1;
1221 uint64_t tc_thr:4;
1222 uint64_t reserved_21_23:3;
1223 uint64_t ds_thr:9;
1224 uint64_t reserved_9_11:3;
1225 uint64_t iq_thr:9;
1226#else
1227 uint64_t iq_thr:9;
1228 uint64_t reserved_9_11:3;
1229 uint64_t ds_thr:9;
1230 uint64_t reserved_21_23:3;
1231 uint64_t tc_thr:4;
1232 uint64_t tc_en:1;
1233 uint64_t reserved_29_63:35;
1234#endif
1235 } cn52xx;
1236 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
1237 struct cvmx_pow_wq_int_thrx_s cn56xx;
1238 struct cvmx_pow_wq_int_thrx_s cn56xxp1;
1239 struct cvmx_pow_wq_int_thrx_s cn58xx;
1240 struct cvmx_pow_wq_int_thrx_s cn58xxp1;
1241 struct cvmx_pow_wq_int_thrx_cn52xx cn61xx;
1242 struct cvmx_pow_wq_int_thrx_cn63xx {
1243#ifdef __BIG_ENDIAN_BITFIELD
1244 uint64_t reserved_29_63:35;
1245 uint64_t tc_en:1;
1246 uint64_t tc_thr:4;
1247 uint64_t reserved_22_23:2;
1248 uint64_t ds_thr:10;
1249 uint64_t reserved_10_11:2;
1250 uint64_t iq_thr:10;
1251#else
1252 uint64_t iq_thr:10;
1253 uint64_t reserved_10_11:2;
1254 uint64_t ds_thr:10;
1255 uint64_t reserved_22_23:2;
1256 uint64_t tc_thr:4;
1257 uint64_t tc_en:1;
1258 uint64_t reserved_29_63:35;
1259#endif
1260 } cn63xx;
1261 struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1;
1262 struct cvmx_pow_wq_int_thrx_cn63xx cn66xx;
1263 struct cvmx_pow_wq_int_thrx_cn52xx cnf71xx;
1264};
1265
1266union cvmx_pow_ws_pcx {
1267 uint64_t u64;
1268 struct cvmx_pow_ws_pcx_s {
1269#ifdef __BIG_ENDIAN_BITFIELD
1270 uint64_t reserved_32_63:32;
1271 uint64_t ws_pc:32;
1272#else
1273 uint64_t ws_pc:32;
1274 uint64_t reserved_32_63:32;
1275#endif
1276 } s;
1277 struct cvmx_pow_ws_pcx_s cn30xx;
1278 struct cvmx_pow_ws_pcx_s cn31xx;
1279 struct cvmx_pow_ws_pcx_s cn38xx;
1280 struct cvmx_pow_ws_pcx_s cn38xxp2;
1281 struct cvmx_pow_ws_pcx_s cn50xx;
1282 struct cvmx_pow_ws_pcx_s cn52xx;
1283 struct cvmx_pow_ws_pcx_s cn52xxp1;
1284 struct cvmx_pow_ws_pcx_s cn56xx;
1285 struct cvmx_pow_ws_pcx_s cn56xxp1;
1286 struct cvmx_pow_ws_pcx_s cn58xx;
1287 struct cvmx_pow_ws_pcx_s cn58xxp1;
1288 struct cvmx_pow_ws_pcx_s cn61xx;
1289 struct cvmx_pow_ws_pcx_s cn63xx;
1290 struct cvmx_pow_ws_pcx_s cn63xxp1;
1291 struct cvmx_pow_ws_pcx_s cn66xx;
1292 struct cvmx_pow_ws_pcx_s cnf71xx;
1293};
1294
1295union cvmx_sso_wq_int_thrx {
1296 uint64_t u64;
1297 struct {
1298#ifdef __BIG_ENDIAN_BITFIELD
1299 uint64_t reserved_33_63:31;
1300 uint64_t tc_en:1;
1301 uint64_t tc_thr:4;
1302 uint64_t reserved_26_27:2;
1303 uint64_t ds_thr:12;
1304 uint64_t reserved_12_13:2;
1305 uint64_t iq_thr:12;
1306#else
1307 uint64_t iq_thr:12;
1308 uint64_t reserved_12_13:2;
1309 uint64_t ds_thr:12;
1310 uint64_t reserved_26_27:2;
1311 uint64_t tc_thr:4;
1312 uint64_t tc_en:1;
1313 uint64_t reserved_33_63:31;
1314#endif
1315 } s;
1316};
1317
1318#endif