arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / mips / include / asm / octeon / cvmx-pow-defs.h
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
61 union 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
300 union 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
313 union 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
371 union 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
386 union 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
399 union 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
412 union 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
425 union 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
438 union 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
451 union 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
500 union 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
513 union 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
526 union 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
564 union 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
583 union 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
708 union 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
721 union 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
734 union 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
747 union 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
762 union 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
847 union 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
866 union 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
965 union 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
978 union 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