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-2010 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
55union cvmx_pow_bist_stat {
56 uint64_t u64;
57 struct cvmx_pow_bist_stat_s {
58 uint64_t reserved_32_63:32;
59 uint64_t pp:16;
60 uint64_t reserved_0_15:16;
61 } s;
62 struct cvmx_pow_bist_stat_cn30xx {
63 uint64_t reserved_17_63:47;
64 uint64_t pp:1;
65 uint64_t reserved_9_15:7;
66 uint64_t cam:1;
67 uint64_t nbt1:1;
68 uint64_t nbt0:1;
69 uint64_t index:1;
70 uint64_t fidx:1;
71 uint64_t nbr1:1;
72 uint64_t nbr0:1;
73 uint64_t pend:1;
74 uint64_t adr:1;
75 } cn30xx;
76 struct cvmx_pow_bist_stat_cn31xx {
77 uint64_t reserved_18_63:46;
78 uint64_t pp:2;
79 uint64_t reserved_9_15:7;
80 uint64_t cam:1;
81 uint64_t nbt1:1;
82 uint64_t nbt0:1;
83 uint64_t index:1;
84 uint64_t fidx:1;
85 uint64_t nbr1:1;
86 uint64_t nbr0:1;
87 uint64_t pend:1;
88 uint64_t adr:1;
89 } cn31xx;
90 struct cvmx_pow_bist_stat_cn38xx {
91 uint64_t reserved_32_63:32;
92 uint64_t pp:16;
93 uint64_t reserved_10_15:6;
94 uint64_t cam:1;
95 uint64_t nbt:1;
96 uint64_t index:1;
97 uint64_t fidx:1;
98 uint64_t nbr1:1;
99 uint64_t nbr0:1;
100 uint64_t pend1:1;
101 uint64_t pend0:1;
102 uint64_t adr1:1;
103 uint64_t adr0:1;
104 } cn38xx;
105 struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
106 struct cvmx_pow_bist_stat_cn31xx cn50xx;
107 struct cvmx_pow_bist_stat_cn52xx {
108 uint64_t reserved_20_63:44;
109 uint64_t pp:4;
110 uint64_t reserved_9_15:7;
111 uint64_t cam:1;
112 uint64_t nbt1:1;
113 uint64_t nbt0:1;
114 uint64_t index:1;
115 uint64_t fidx:1;
116 uint64_t nbr1:1;
117 uint64_t nbr0:1;
118 uint64_t pend:1;
119 uint64_t adr:1;
120 } cn52xx;
121 struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
122 struct cvmx_pow_bist_stat_cn56xx {
123 uint64_t reserved_28_63:36;
124 uint64_t pp:12;
125 uint64_t reserved_10_15:6;
126 uint64_t cam:1;
127 uint64_t nbt:1;
128 uint64_t index:1;
129 uint64_t fidx:1;
130 uint64_t nbr1:1;
131 uint64_t nbr0:1;
132 uint64_t pend1:1;
133 uint64_t pend0:1;
134 uint64_t adr1:1;
135 uint64_t adr0:1;
136 } cn56xx;
137 struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
138 struct cvmx_pow_bist_stat_cn38xx cn58xx;
139 struct cvmx_pow_bist_stat_cn38xx cn58xxp1;
140 struct cvmx_pow_bist_stat_cn63xx {
141 uint64_t reserved_22_63:42;
142 uint64_t pp:6;
143 uint64_t reserved_12_15:4;
144 uint64_t cam:1;
145 uint64_t nbr:3;
146 uint64_t nbt:4;
147 uint64_t index:1;
148 uint64_t fidx:1;
149 uint64_t pend:1;
150 uint64_t adr:1;
151 } cn63xx;
152 struct cvmx_pow_bist_stat_cn63xx cn63xxp1;
153};
154
155union cvmx_pow_ds_pc {
156 uint64_t u64;
157 struct cvmx_pow_ds_pc_s {
158 uint64_t reserved_32_63:32;
159 uint64_t ds_pc:32;
160 } s;
161 struct cvmx_pow_ds_pc_s cn30xx;
162 struct cvmx_pow_ds_pc_s cn31xx;
163 struct cvmx_pow_ds_pc_s cn38xx;
164 struct cvmx_pow_ds_pc_s cn38xxp2;
165 struct cvmx_pow_ds_pc_s cn50xx;
166 struct cvmx_pow_ds_pc_s cn52xx;
167 struct cvmx_pow_ds_pc_s cn52xxp1;
168 struct cvmx_pow_ds_pc_s cn56xx;
169 struct cvmx_pow_ds_pc_s cn56xxp1;
170 struct cvmx_pow_ds_pc_s cn58xx;
171 struct cvmx_pow_ds_pc_s cn58xxp1;
172 struct cvmx_pow_ds_pc_s cn63xx;
173 struct cvmx_pow_ds_pc_s cn63xxp1;
174};
175
176union cvmx_pow_ecc_err {
177 uint64_t u64;
178 struct cvmx_pow_ecc_err_s {
179 uint64_t reserved_45_63:19;
180 uint64_t iop_ie:13;
181 uint64_t reserved_29_31:3;
182 uint64_t iop:13;
183 uint64_t reserved_14_15:2;
184 uint64_t rpe_ie:1;
185 uint64_t rpe:1;
186 uint64_t reserved_9_11:3;
187 uint64_t syn:5;
188 uint64_t dbe_ie:1;
189 uint64_t sbe_ie:1;
190 uint64_t dbe:1;
191 uint64_t sbe:1;
192 } s;
193 struct cvmx_pow_ecc_err_s cn30xx;
194 struct cvmx_pow_ecc_err_cn31xx {
195 uint64_t reserved_14_63:50;
196 uint64_t rpe_ie:1;
197 uint64_t rpe:1;
198 uint64_t reserved_9_11:3;
199 uint64_t syn:5;
200 uint64_t dbe_ie:1;
201 uint64_t sbe_ie:1;
202 uint64_t dbe:1;
203 uint64_t sbe:1;
204 } cn31xx;
205 struct cvmx_pow_ecc_err_s cn38xx;
206 struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
207 struct cvmx_pow_ecc_err_s cn50xx;
208 struct cvmx_pow_ecc_err_s cn52xx;
209 struct cvmx_pow_ecc_err_s cn52xxp1;
210 struct cvmx_pow_ecc_err_s cn56xx;
211 struct cvmx_pow_ecc_err_s cn56xxp1;
212 struct cvmx_pow_ecc_err_s cn58xx;
213 struct cvmx_pow_ecc_err_s cn58xxp1;
214 struct cvmx_pow_ecc_err_s cn63xx;
215 struct cvmx_pow_ecc_err_s cn63xxp1;
216};
217
218union cvmx_pow_int_ctl {
219 uint64_t u64;
220 struct cvmx_pow_int_ctl_s {
221 uint64_t reserved_6_63:58;
222 uint64_t pfr_dis:1;
223 uint64_t nbr_thr:5;
224 } s;
225 struct cvmx_pow_int_ctl_s cn30xx;
226 struct cvmx_pow_int_ctl_s cn31xx;
227 struct cvmx_pow_int_ctl_s cn38xx;
228 struct cvmx_pow_int_ctl_s cn38xxp2;
229 struct cvmx_pow_int_ctl_s cn50xx;
230 struct cvmx_pow_int_ctl_s cn52xx;
231 struct cvmx_pow_int_ctl_s cn52xxp1;
232 struct cvmx_pow_int_ctl_s cn56xx;
233 struct cvmx_pow_int_ctl_s cn56xxp1;
234 struct cvmx_pow_int_ctl_s cn58xx;
235 struct cvmx_pow_int_ctl_s cn58xxp1;
236 struct cvmx_pow_int_ctl_s cn63xx;
237 struct cvmx_pow_int_ctl_s cn63xxp1;
238};
239
240union cvmx_pow_iq_cntx {
241 uint64_t u64;
242 struct cvmx_pow_iq_cntx_s {
243 uint64_t reserved_32_63:32;
244 uint64_t iq_cnt:32;
245 } s;
246 struct cvmx_pow_iq_cntx_s cn30xx;
247 struct cvmx_pow_iq_cntx_s cn31xx;
248 struct cvmx_pow_iq_cntx_s cn38xx;
249 struct cvmx_pow_iq_cntx_s cn38xxp2;
250 struct cvmx_pow_iq_cntx_s cn50xx;
251 struct cvmx_pow_iq_cntx_s cn52xx;
252 struct cvmx_pow_iq_cntx_s cn52xxp1;
253 struct cvmx_pow_iq_cntx_s cn56xx;
254 struct cvmx_pow_iq_cntx_s cn56xxp1;
255 struct cvmx_pow_iq_cntx_s cn58xx;
256 struct cvmx_pow_iq_cntx_s cn58xxp1;
257 struct cvmx_pow_iq_cntx_s cn63xx;
258 struct cvmx_pow_iq_cntx_s cn63xxp1;
259};
260
261union cvmx_pow_iq_com_cnt {
262 uint64_t u64;
263 struct cvmx_pow_iq_com_cnt_s {
264 uint64_t reserved_32_63:32;
265 uint64_t iq_cnt:32;
266 } s;
267 struct cvmx_pow_iq_com_cnt_s cn30xx;
268 struct cvmx_pow_iq_com_cnt_s cn31xx;
269 struct cvmx_pow_iq_com_cnt_s cn38xx;
270 struct cvmx_pow_iq_com_cnt_s cn38xxp2;
271 struct cvmx_pow_iq_com_cnt_s cn50xx;
272 struct cvmx_pow_iq_com_cnt_s cn52xx;
273 struct cvmx_pow_iq_com_cnt_s cn52xxp1;
274 struct cvmx_pow_iq_com_cnt_s cn56xx;
275 struct cvmx_pow_iq_com_cnt_s cn56xxp1;
276 struct cvmx_pow_iq_com_cnt_s cn58xx;
277 struct cvmx_pow_iq_com_cnt_s cn58xxp1;
278 struct cvmx_pow_iq_com_cnt_s cn63xx;
279 struct cvmx_pow_iq_com_cnt_s cn63xxp1;
280};
281
282union cvmx_pow_iq_int {
283 uint64_t u64;
284 struct cvmx_pow_iq_int_s {
285 uint64_t reserved_8_63:56;
286 uint64_t iq_int:8;
287 } s;
288 struct cvmx_pow_iq_int_s cn52xx;
289 struct cvmx_pow_iq_int_s cn52xxp1;
290 struct cvmx_pow_iq_int_s cn56xx;
291 struct cvmx_pow_iq_int_s cn56xxp1;
292 struct cvmx_pow_iq_int_s cn63xx;
293 struct cvmx_pow_iq_int_s cn63xxp1;
294};
295
296union cvmx_pow_iq_int_en {
297 uint64_t u64;
298 struct cvmx_pow_iq_int_en_s {
299 uint64_t reserved_8_63:56;
300 uint64_t int_en:8;
301 } s;
302 struct cvmx_pow_iq_int_en_s cn52xx;
303 struct cvmx_pow_iq_int_en_s cn52xxp1;
304 struct cvmx_pow_iq_int_en_s cn56xx;
305 struct cvmx_pow_iq_int_en_s cn56xxp1;
306 struct cvmx_pow_iq_int_en_s cn63xx;
307 struct cvmx_pow_iq_int_en_s cn63xxp1;
308};
309
310union cvmx_pow_iq_thrx {
311 uint64_t u64;
312 struct cvmx_pow_iq_thrx_s {
313 uint64_t reserved_32_63:32;
314 uint64_t iq_thr:32;
315 } s;
316 struct cvmx_pow_iq_thrx_s cn52xx;
317 struct cvmx_pow_iq_thrx_s cn52xxp1;
318 struct cvmx_pow_iq_thrx_s cn56xx;
319 struct cvmx_pow_iq_thrx_s cn56xxp1;
320 struct cvmx_pow_iq_thrx_s cn63xx;
321 struct cvmx_pow_iq_thrx_s cn63xxp1;
322};
323
324union cvmx_pow_nos_cnt {
325 uint64_t u64;
326 struct cvmx_pow_nos_cnt_s {
327 uint64_t reserved_12_63:52;
328 uint64_t nos_cnt:12;
329 } s;
330 struct cvmx_pow_nos_cnt_cn30xx {
331 uint64_t reserved_7_63:57;
332 uint64_t nos_cnt:7;
333 } cn30xx;
334 struct cvmx_pow_nos_cnt_cn31xx {
335 uint64_t reserved_9_63:55;
336 uint64_t nos_cnt:9;
337 } cn31xx;
338 struct cvmx_pow_nos_cnt_s cn38xx;
339 struct cvmx_pow_nos_cnt_s cn38xxp2;
340 struct cvmx_pow_nos_cnt_cn31xx cn50xx;
341 struct cvmx_pow_nos_cnt_cn52xx {
342 uint64_t reserved_10_63:54;
343 uint64_t nos_cnt:10;
344 } cn52xx;
345 struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
346 struct cvmx_pow_nos_cnt_s cn56xx;
347 struct cvmx_pow_nos_cnt_s cn56xxp1;
348 struct cvmx_pow_nos_cnt_s cn58xx;
349 struct cvmx_pow_nos_cnt_s cn58xxp1;
350 struct cvmx_pow_nos_cnt_cn63xx {
351 uint64_t reserved_11_63:53;
352 uint64_t nos_cnt:11;
353 } cn63xx;
354 struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
355};
356
357union cvmx_pow_nw_tim {
358 uint64_t u64;
359 struct cvmx_pow_nw_tim_s {
360 uint64_t reserved_10_63:54;
361 uint64_t nw_tim:10;
362 } s;
363 struct cvmx_pow_nw_tim_s cn30xx;
364 struct cvmx_pow_nw_tim_s cn31xx;
365 struct cvmx_pow_nw_tim_s cn38xx;
366 struct cvmx_pow_nw_tim_s cn38xxp2;
367 struct cvmx_pow_nw_tim_s cn50xx;
368 struct cvmx_pow_nw_tim_s cn52xx;
369 struct cvmx_pow_nw_tim_s cn52xxp1;
370 struct cvmx_pow_nw_tim_s cn56xx;
371 struct cvmx_pow_nw_tim_s cn56xxp1;
372 struct cvmx_pow_nw_tim_s cn58xx;
373 struct cvmx_pow_nw_tim_s cn58xxp1;
374 struct cvmx_pow_nw_tim_s cn63xx;
375 struct cvmx_pow_nw_tim_s cn63xxp1;
376};
377
378union cvmx_pow_pf_rst_msk {
379 uint64_t u64;
380 struct cvmx_pow_pf_rst_msk_s {
381 uint64_t reserved_8_63:56;
382 uint64_t rst_msk:8;
383 } s;
384 struct cvmx_pow_pf_rst_msk_s cn50xx;
385 struct cvmx_pow_pf_rst_msk_s cn52xx;
386 struct cvmx_pow_pf_rst_msk_s cn52xxp1;
387 struct cvmx_pow_pf_rst_msk_s cn56xx;
388 struct cvmx_pow_pf_rst_msk_s cn56xxp1;
389 struct cvmx_pow_pf_rst_msk_s cn58xx;
390 struct cvmx_pow_pf_rst_msk_s cn58xxp1;
391 struct cvmx_pow_pf_rst_msk_s cn63xx;
392 struct cvmx_pow_pf_rst_msk_s cn63xxp1;
393};
394
395union cvmx_pow_pp_grp_mskx {
396 uint64_t u64;
397 struct cvmx_pow_pp_grp_mskx_s {
398 uint64_t reserved_48_63:16;
399 uint64_t qos7_pri:4;
400 uint64_t qos6_pri:4;
401 uint64_t qos5_pri:4;
402 uint64_t qos4_pri:4;
403 uint64_t qos3_pri:4;
404 uint64_t qos2_pri:4;
405 uint64_t qos1_pri:4;
406 uint64_t qos0_pri:4;
407 uint64_t grp_msk:16;
408 } s;
409 struct cvmx_pow_pp_grp_mskx_cn30xx {
410 uint64_t reserved_16_63:48;
411 uint64_t grp_msk:16;
412 } cn30xx;
413 struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
414 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
415 struct cvmx_pow_pp_grp_mskx_cn30xx cn38xxp2;
416 struct cvmx_pow_pp_grp_mskx_s cn50xx;
417 struct cvmx_pow_pp_grp_mskx_s cn52xx;
418 struct cvmx_pow_pp_grp_mskx_s cn52xxp1;
419 struct cvmx_pow_pp_grp_mskx_s cn56xx;
420 struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
421 struct cvmx_pow_pp_grp_mskx_s cn58xx;
422 struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
423 struct cvmx_pow_pp_grp_mskx_s cn63xx;
424 struct cvmx_pow_pp_grp_mskx_s cn63xxp1;
425};
426
427union cvmx_pow_qos_rndx {
428 uint64_t u64;
429 struct cvmx_pow_qos_rndx_s {
430 uint64_t reserved_32_63:32;
431 uint64_t rnd_p3:8;
432 uint64_t rnd_p2:8;
433 uint64_t rnd_p1:8;
434 uint64_t rnd:8;
435 } s;
436 struct cvmx_pow_qos_rndx_s cn30xx;
437 struct cvmx_pow_qos_rndx_s cn31xx;
438 struct cvmx_pow_qos_rndx_s cn38xx;
439 struct cvmx_pow_qos_rndx_s cn38xxp2;
440 struct cvmx_pow_qos_rndx_s cn50xx;
441 struct cvmx_pow_qos_rndx_s cn52xx;
442 struct cvmx_pow_qos_rndx_s cn52xxp1;
443 struct cvmx_pow_qos_rndx_s cn56xx;
444 struct cvmx_pow_qos_rndx_s cn56xxp1;
445 struct cvmx_pow_qos_rndx_s cn58xx;
446 struct cvmx_pow_qos_rndx_s cn58xxp1;
447 struct cvmx_pow_qos_rndx_s cn63xx;
448 struct cvmx_pow_qos_rndx_s cn63xxp1;
449};
450
451union cvmx_pow_qos_thrx {
452 uint64_t u64;
453 struct cvmx_pow_qos_thrx_s {
454 uint64_t reserved_60_63:4;
455 uint64_t des_cnt:12;
456 uint64_t buf_cnt:12;
457 uint64_t free_cnt:12;
458 uint64_t reserved_23_23:1;
459 uint64_t max_thr:11;
460 uint64_t reserved_11_11:1;
461 uint64_t min_thr:11;
462 } s;
463 struct cvmx_pow_qos_thrx_cn30xx {
464 uint64_t reserved_55_63:9;
465 uint64_t des_cnt:7;
466 uint64_t reserved_43_47:5;
467 uint64_t buf_cnt:7;
468 uint64_t reserved_31_35:5;
469 uint64_t free_cnt:7;
470 uint64_t reserved_18_23:6;
471 uint64_t max_thr:6;
472 uint64_t reserved_6_11:6;
473 uint64_t min_thr:6;
474 } cn30xx;
475 struct cvmx_pow_qos_thrx_cn31xx {
476 uint64_t reserved_57_63:7;
477 uint64_t des_cnt:9;
478 uint64_t reserved_45_47:3;
479 uint64_t buf_cnt:9;
480 uint64_t reserved_33_35:3;
481 uint64_t free_cnt:9;
482 uint64_t reserved_20_23:4;
483 uint64_t max_thr:8;
484 uint64_t reserved_8_11:4;
485 uint64_t min_thr:8;
486 } cn31xx;
487 struct cvmx_pow_qos_thrx_s cn38xx;
488 struct cvmx_pow_qos_thrx_s cn38xxp2;
489 struct cvmx_pow_qos_thrx_cn31xx cn50xx;
490 struct cvmx_pow_qos_thrx_cn52xx {
491 uint64_t reserved_58_63:6;
492 uint64_t des_cnt:10;
493 uint64_t reserved_46_47:2;
494 uint64_t buf_cnt:10;
495 uint64_t reserved_34_35:2;
496 uint64_t free_cnt:10;
497 uint64_t reserved_21_23:3;
498 uint64_t max_thr:9;
499 uint64_t reserved_9_11:3;
500 uint64_t min_thr:9;
501 } cn52xx;
502 struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
503 struct cvmx_pow_qos_thrx_s cn56xx;
504 struct cvmx_pow_qos_thrx_s cn56xxp1;
505 struct cvmx_pow_qos_thrx_s cn58xx;
506 struct cvmx_pow_qos_thrx_s cn58xxp1;
507 struct cvmx_pow_qos_thrx_cn63xx {
508 uint64_t reserved_59_63:5;
509 uint64_t des_cnt:11;
510 uint64_t reserved_47_47:1;
511 uint64_t buf_cnt:11;
512 uint64_t reserved_35_35:1;
513 uint64_t free_cnt:11;
514 uint64_t reserved_22_23:2;
515 uint64_t max_thr:10;
516 uint64_t reserved_10_11:2;
517 uint64_t min_thr:10;
518 } cn63xx;
519 struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
520};
521
522union cvmx_pow_ts_pc {
523 uint64_t u64;
524 struct cvmx_pow_ts_pc_s {
525 uint64_t reserved_32_63:32;
526 uint64_t ts_pc:32;
527 } s;
528 struct cvmx_pow_ts_pc_s cn30xx;
529 struct cvmx_pow_ts_pc_s cn31xx;
530 struct cvmx_pow_ts_pc_s cn38xx;
531 struct cvmx_pow_ts_pc_s cn38xxp2;
532 struct cvmx_pow_ts_pc_s cn50xx;
533 struct cvmx_pow_ts_pc_s cn52xx;
534 struct cvmx_pow_ts_pc_s cn52xxp1;
535 struct cvmx_pow_ts_pc_s cn56xx;
536 struct cvmx_pow_ts_pc_s cn56xxp1;
537 struct cvmx_pow_ts_pc_s cn58xx;
538 struct cvmx_pow_ts_pc_s cn58xxp1;
539 struct cvmx_pow_ts_pc_s cn63xx;
540 struct cvmx_pow_ts_pc_s cn63xxp1;
541};
542
543union cvmx_pow_wa_com_pc {
544 uint64_t u64;
545 struct cvmx_pow_wa_com_pc_s {
546 uint64_t reserved_32_63:32;
547 uint64_t wa_pc:32;
548 } s;
549 struct cvmx_pow_wa_com_pc_s cn30xx;
550 struct cvmx_pow_wa_com_pc_s cn31xx;
551 struct cvmx_pow_wa_com_pc_s cn38xx;
552 struct cvmx_pow_wa_com_pc_s cn38xxp2;
553 struct cvmx_pow_wa_com_pc_s cn50xx;
554 struct cvmx_pow_wa_com_pc_s cn52xx;
555 struct cvmx_pow_wa_com_pc_s cn52xxp1;
556 struct cvmx_pow_wa_com_pc_s cn56xx;
557 struct cvmx_pow_wa_com_pc_s cn56xxp1;
558 struct cvmx_pow_wa_com_pc_s cn58xx;
559 struct cvmx_pow_wa_com_pc_s cn58xxp1;
560 struct cvmx_pow_wa_com_pc_s cn63xx;
561 struct cvmx_pow_wa_com_pc_s cn63xxp1;
562};
563
564union cvmx_pow_wa_pcx {
565 uint64_t u64;
566 struct cvmx_pow_wa_pcx_s {
567 uint64_t reserved_32_63:32;
568 uint64_t wa_pc:32;
569 } s;
570 struct cvmx_pow_wa_pcx_s cn30xx;
571 struct cvmx_pow_wa_pcx_s cn31xx;
572 struct cvmx_pow_wa_pcx_s cn38xx;
573 struct cvmx_pow_wa_pcx_s cn38xxp2;
574 struct cvmx_pow_wa_pcx_s cn50xx;
575 struct cvmx_pow_wa_pcx_s cn52xx;
576 struct cvmx_pow_wa_pcx_s cn52xxp1;
577 struct cvmx_pow_wa_pcx_s cn56xx;
578 struct cvmx_pow_wa_pcx_s cn56xxp1;
579 struct cvmx_pow_wa_pcx_s cn58xx;
580 struct cvmx_pow_wa_pcx_s cn58xxp1;
581 struct cvmx_pow_wa_pcx_s cn63xx;
582 struct cvmx_pow_wa_pcx_s cn63xxp1;
583};
584
585union cvmx_pow_wq_int {
586 uint64_t u64;
587 struct cvmx_pow_wq_int_s {
588 uint64_t reserved_32_63:32;
589 uint64_t iq_dis:16;
590 uint64_t wq_int:16;
591 } s;
592 struct cvmx_pow_wq_int_s cn30xx;
593 struct cvmx_pow_wq_int_s cn31xx;
594 struct cvmx_pow_wq_int_s cn38xx;
595 struct cvmx_pow_wq_int_s cn38xxp2;
596 struct cvmx_pow_wq_int_s cn50xx;
597 struct cvmx_pow_wq_int_s cn52xx;
598 struct cvmx_pow_wq_int_s cn52xxp1;
599 struct cvmx_pow_wq_int_s cn56xx;
600 struct cvmx_pow_wq_int_s cn56xxp1;
601 struct cvmx_pow_wq_int_s cn58xx;
602 struct cvmx_pow_wq_int_s cn58xxp1;
603 struct cvmx_pow_wq_int_s cn63xx;
604 struct cvmx_pow_wq_int_s cn63xxp1;
605};
606
607union cvmx_pow_wq_int_cntx {
608 uint64_t u64;
609 struct cvmx_pow_wq_int_cntx_s {
610 uint64_t reserved_28_63:36;
611 uint64_t tc_cnt:4;
612 uint64_t ds_cnt:12;
613 uint64_t iq_cnt:12;
614 } s;
615 struct cvmx_pow_wq_int_cntx_cn30xx {
616 uint64_t reserved_28_63:36;
617 uint64_t tc_cnt:4;
618 uint64_t reserved_19_23:5;
619 uint64_t ds_cnt:7;
620 uint64_t reserved_7_11:5;
621 uint64_t iq_cnt:7;
622 } cn30xx;
623 struct cvmx_pow_wq_int_cntx_cn31xx {
624 uint64_t reserved_28_63:36;
625 uint64_t tc_cnt:4;
626 uint64_t reserved_21_23:3;
627 uint64_t ds_cnt:9;
628 uint64_t reserved_9_11:3;
629 uint64_t iq_cnt:9;
630 } cn31xx;
631 struct cvmx_pow_wq_int_cntx_s cn38xx;
632 struct cvmx_pow_wq_int_cntx_s cn38xxp2;
633 struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
634 struct cvmx_pow_wq_int_cntx_cn52xx {
635 uint64_t reserved_28_63:36;
636 uint64_t tc_cnt:4;
637 uint64_t reserved_22_23:2;
638 uint64_t ds_cnt:10;
639 uint64_t reserved_10_11:2;
640 uint64_t iq_cnt:10;
641 } cn52xx;
642 struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
643 struct cvmx_pow_wq_int_cntx_s cn56xx;
644 struct cvmx_pow_wq_int_cntx_s cn56xxp1;
645 struct cvmx_pow_wq_int_cntx_s cn58xx;
646 struct cvmx_pow_wq_int_cntx_s cn58xxp1;
647 struct cvmx_pow_wq_int_cntx_cn63xx {
648 uint64_t reserved_28_63:36;
649 uint64_t tc_cnt:4;
650 uint64_t reserved_23_23:1;
651 uint64_t ds_cnt:11;
652 uint64_t reserved_11_11:1;
653 uint64_t iq_cnt:11;
654 } cn63xx;
655 struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1;
656};
657
658union cvmx_pow_wq_int_pc {
659 uint64_t u64;
660 struct cvmx_pow_wq_int_pc_s {
661 uint64_t reserved_60_63:4;
662 uint64_t pc:28;
663 uint64_t reserved_28_31:4;
664 uint64_t pc_thr:20;
665 uint64_t reserved_0_7:8;
666 } s;
667 struct cvmx_pow_wq_int_pc_s cn30xx;
668 struct cvmx_pow_wq_int_pc_s cn31xx;
669 struct cvmx_pow_wq_int_pc_s cn38xx;
670 struct cvmx_pow_wq_int_pc_s cn38xxp2;
671 struct cvmx_pow_wq_int_pc_s cn50xx;
672 struct cvmx_pow_wq_int_pc_s cn52xx;
673 struct cvmx_pow_wq_int_pc_s cn52xxp1;
674 struct cvmx_pow_wq_int_pc_s cn56xx;
675 struct cvmx_pow_wq_int_pc_s cn56xxp1;
676 struct cvmx_pow_wq_int_pc_s cn58xx;
677 struct cvmx_pow_wq_int_pc_s cn58xxp1;
678 struct cvmx_pow_wq_int_pc_s cn63xx;
679 struct cvmx_pow_wq_int_pc_s cn63xxp1;
680};
681
682union cvmx_pow_wq_int_thrx {
683 uint64_t u64;
684 struct cvmx_pow_wq_int_thrx_s {
685 uint64_t reserved_29_63:35;
686 uint64_t tc_en:1;
687 uint64_t tc_thr:4;
688 uint64_t reserved_23_23:1;
689 uint64_t ds_thr:11;
690 uint64_t reserved_11_11:1;
691 uint64_t iq_thr:11;
692 } s;
693 struct cvmx_pow_wq_int_thrx_cn30xx {
694 uint64_t reserved_29_63:35;
695 uint64_t tc_en:1;
696 uint64_t tc_thr:4;
697 uint64_t reserved_18_23:6;
698 uint64_t ds_thr:6;
699 uint64_t reserved_6_11:6;
700 uint64_t iq_thr:6;
701 } cn30xx;
702 struct cvmx_pow_wq_int_thrx_cn31xx {
703 uint64_t reserved_29_63:35;
704 uint64_t tc_en:1;
705 uint64_t tc_thr:4;
706 uint64_t reserved_20_23:4;
707 uint64_t ds_thr:8;
708 uint64_t reserved_8_11:4;
709 uint64_t iq_thr:8;
710 } cn31xx;
711 struct cvmx_pow_wq_int_thrx_s cn38xx;
712 struct cvmx_pow_wq_int_thrx_s cn38xxp2;
713 struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
714 struct cvmx_pow_wq_int_thrx_cn52xx {
715 uint64_t reserved_29_63:35;
716 uint64_t tc_en:1;
717 uint64_t tc_thr:4;
718 uint64_t reserved_21_23:3;
719 uint64_t ds_thr:9;
720 uint64_t reserved_9_11:3;
721 uint64_t iq_thr:9;
722 } cn52xx;
723 struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
724 struct cvmx_pow_wq_int_thrx_s cn56xx;
725 struct cvmx_pow_wq_int_thrx_s cn56xxp1;
726 struct cvmx_pow_wq_int_thrx_s cn58xx;
727 struct cvmx_pow_wq_int_thrx_s cn58xxp1;
728 struct cvmx_pow_wq_int_thrx_cn63xx {
729 uint64_t reserved_29_63:35;
730 uint64_t tc_en:1;
731 uint64_t tc_thr:4;
732 uint64_t reserved_22_23:2;
733 uint64_t ds_thr:10;
734 uint64_t reserved_10_11:2;
735 uint64_t iq_thr:10;
736 } cn63xx;
737 struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1;
738};
739
740union cvmx_pow_ws_pcx {
741 uint64_t u64;
742 struct cvmx_pow_ws_pcx_s {
743 uint64_t reserved_32_63:32;
744 uint64_t ws_pc:32;
745 } s;
746 struct cvmx_pow_ws_pcx_s cn30xx;
747 struct cvmx_pow_ws_pcx_s cn31xx;
748 struct cvmx_pow_ws_pcx_s cn38xx;
749 struct cvmx_pow_ws_pcx_s cn38xxp2;
750 struct cvmx_pow_ws_pcx_s cn50xx;
751 struct cvmx_pow_ws_pcx_s cn52xx;
752 struct cvmx_pow_ws_pcx_s cn52xxp1;
753 struct cvmx_pow_ws_pcx_s cn56xx;
754 struct cvmx_pow_ws_pcx_s cn56xxp1;
755 struct cvmx_pow_ws_pcx_s cn58xx;
756 struct cvmx_pow_ws_pcx_s cn58xxp1;
757 struct cvmx_pow_ws_pcx_s cn63xx;
758 struct cvmx_pow_ws_pcx_s cn63xxp1;
759};
760
761#endif