Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / mips / include / asm / octeon / cvmx-ipd-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_IPD_DEFS_H__
29 #define __CVMX_IPD_DEFS_H__
30
31 #define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
32 #define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
33 #define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
34 #define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
35 #define CVMX_IPD_BPIDX_MBUF_TH(offset) (CVMX_ADD_IO_SEG(0x00014F0000002000ull) + ((offset) & 63) * 8)
36 #define CVMX_IPD_BPID_BP_COUNTERX(offset) (CVMX_ADD_IO_SEG(0x00014F0000003000ull) + ((offset) & 63) * 8)
37 #define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
38 #define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
39 #define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull))
40 #define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
41 #define CVMX_IPD_ECC_CTL (CVMX_ADD_IO_SEG(0x00014F0000004408ull))
42 #define CVMX_IPD_FREE_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000780ull))
43 #define CVMX_IPD_FREE_PTR_VALUE (CVMX_ADD_IO_SEG(0x00014F0000000788ull))
44 #define CVMX_IPD_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000790ull))
45 #define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
46 #define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
47 #define CVMX_IPD_NEXT_PKT_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A0ull))
48 #define CVMX_IPD_NEXT_WQE_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A8ull))
49 #define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
50 #define CVMX_IPD_ON_BP_DROP_PKTX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004100ull))
51 #define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
52 #define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull))
53 #define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
54 #define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
55 #define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
56 #define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
57 #define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
58 #define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
59 #define CVMX_IPD_PORT_BP_COUNTERS4_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000410ull) + ((offset) & 63) * 8 - 8*44)
60 #define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
61 #define CVMX_IPD_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000798ull))
62 #define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
63 #define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
64 #define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
65 #define CVMX_IPD_PORT_SOPX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004400ull))
66 #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
67 #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
68 #define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
69 #define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
70 #define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
71 #define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
72 #define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
73 #define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
74 #define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
75 #define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
76 #define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
77 #define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
78 #define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
79 #define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
80 #define CVMX_IPD_RED_BPID_ENABLEX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004200ull))
81 #define CVMX_IPD_RED_DELAY (CVMX_ADD_IO_SEG(0x00014F0000004300ull))
82 #define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
83 #define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
84 #define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
85 #define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
86 #define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
87 #define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
88 #define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
89 #define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
90 #define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
91 #define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
92 #define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
93 #define CVMX_IPD_REQ_WGT (CVMX_ADD_IO_SEG(0x00014F0000004418ull))
94 #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
95 #define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
96 #define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
97 #define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
98 #define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
99
100 union cvmx_ipd_1st_mbuff_skip {
101         uint64_t u64;
102         struct cvmx_ipd_1st_mbuff_skip_s {
103 #ifdef __BIG_ENDIAN_BITFIELD
104                 uint64_t reserved_6_63:58;
105                 uint64_t skip_sz:6;
106 #else
107                 uint64_t skip_sz:6;
108                 uint64_t reserved_6_63:58;
109 #endif
110         } s;
111         struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
112         struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
113         struct cvmx_ipd_1st_mbuff_skip_s cn38xx;
114         struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2;
115         struct cvmx_ipd_1st_mbuff_skip_s cn50xx;
116         struct cvmx_ipd_1st_mbuff_skip_s cn52xx;
117         struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1;
118         struct cvmx_ipd_1st_mbuff_skip_s cn56xx;
119         struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
120         struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
121         struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
122         struct cvmx_ipd_1st_mbuff_skip_s cn61xx;
123         struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
124         struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
125         struct cvmx_ipd_1st_mbuff_skip_s cn66xx;
126         struct cvmx_ipd_1st_mbuff_skip_s cn68xx;
127         struct cvmx_ipd_1st_mbuff_skip_s cn68xxp1;
128         struct cvmx_ipd_1st_mbuff_skip_s cnf71xx;
129 };
130
131 union cvmx_ipd_1st_next_ptr_back {
132         uint64_t u64;
133         struct cvmx_ipd_1st_next_ptr_back_s {
134 #ifdef __BIG_ENDIAN_BITFIELD
135                 uint64_t reserved_4_63:60;
136                 uint64_t back:4;
137 #else
138                 uint64_t back:4;
139                 uint64_t reserved_4_63:60;
140 #endif
141         } s;
142         struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
143         struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
144         struct cvmx_ipd_1st_next_ptr_back_s cn38xx;
145         struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2;
146         struct cvmx_ipd_1st_next_ptr_back_s cn50xx;
147         struct cvmx_ipd_1st_next_ptr_back_s cn52xx;
148         struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1;
149         struct cvmx_ipd_1st_next_ptr_back_s cn56xx;
150         struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
151         struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
152         struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
153         struct cvmx_ipd_1st_next_ptr_back_s cn61xx;
154         struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
155         struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
156         struct cvmx_ipd_1st_next_ptr_back_s cn66xx;
157         struct cvmx_ipd_1st_next_ptr_back_s cn68xx;
158         struct cvmx_ipd_1st_next_ptr_back_s cn68xxp1;
159         struct cvmx_ipd_1st_next_ptr_back_s cnf71xx;
160 };
161
162 union cvmx_ipd_2nd_next_ptr_back {
163         uint64_t u64;
164         struct cvmx_ipd_2nd_next_ptr_back_s {
165 #ifdef __BIG_ENDIAN_BITFIELD
166                 uint64_t reserved_4_63:60;
167                 uint64_t back:4;
168 #else
169                 uint64_t back:4;
170                 uint64_t reserved_4_63:60;
171 #endif
172         } s;
173         struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
174         struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
175         struct cvmx_ipd_2nd_next_ptr_back_s cn38xx;
176         struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2;
177         struct cvmx_ipd_2nd_next_ptr_back_s cn50xx;
178         struct cvmx_ipd_2nd_next_ptr_back_s cn52xx;
179         struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1;
180         struct cvmx_ipd_2nd_next_ptr_back_s cn56xx;
181         struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
182         struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
183         struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
184         struct cvmx_ipd_2nd_next_ptr_back_s cn61xx;
185         struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
186         struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
187         struct cvmx_ipd_2nd_next_ptr_back_s cn66xx;
188         struct cvmx_ipd_2nd_next_ptr_back_s cn68xx;
189         struct cvmx_ipd_2nd_next_ptr_back_s cn68xxp1;
190         struct cvmx_ipd_2nd_next_ptr_back_s cnf71xx;
191 };
192
193 union cvmx_ipd_bist_status {
194         uint64_t u64;
195         struct cvmx_ipd_bist_status_s {
196 #ifdef __BIG_ENDIAN_BITFIELD
197                 uint64_t reserved_23_63:41;
198                 uint64_t iiwo1:1;
199                 uint64_t iiwo0:1;
200                 uint64_t iio1:1;
201                 uint64_t iio0:1;
202                 uint64_t pbm4:1;
203                 uint64_t csr_mem:1;
204                 uint64_t csr_ncmd:1;
205                 uint64_t pwq_wqed:1;
206                 uint64_t pwq_wp1:1;
207                 uint64_t pwq_pow:1;
208                 uint64_t ipq_pbe1:1;
209                 uint64_t ipq_pbe0:1;
210                 uint64_t pbm3:1;
211                 uint64_t pbm2:1;
212                 uint64_t pbm1:1;
213                 uint64_t pbm0:1;
214                 uint64_t pbm_word:1;
215                 uint64_t pwq1:1;
216                 uint64_t pwq0:1;
217                 uint64_t prc_off:1;
218                 uint64_t ipd_old:1;
219                 uint64_t ipd_new:1;
220                 uint64_t pwp:1;
221 #else
222                 uint64_t pwp:1;
223                 uint64_t ipd_new:1;
224                 uint64_t ipd_old:1;
225                 uint64_t prc_off:1;
226                 uint64_t pwq0:1;
227                 uint64_t pwq1:1;
228                 uint64_t pbm_word:1;
229                 uint64_t pbm0:1;
230                 uint64_t pbm1:1;
231                 uint64_t pbm2:1;
232                 uint64_t pbm3:1;
233                 uint64_t ipq_pbe0:1;
234                 uint64_t ipq_pbe1:1;
235                 uint64_t pwq_pow:1;
236                 uint64_t pwq_wp1:1;
237                 uint64_t pwq_wqed:1;
238                 uint64_t csr_ncmd:1;
239                 uint64_t csr_mem:1;
240                 uint64_t pbm4:1;
241                 uint64_t iio0:1;
242                 uint64_t iio1:1;
243                 uint64_t iiwo0:1;
244                 uint64_t iiwo1:1;
245                 uint64_t reserved_23_63:41;
246 #endif
247         } s;
248         struct cvmx_ipd_bist_status_cn30xx {
249 #ifdef __BIG_ENDIAN_BITFIELD
250                 uint64_t reserved_16_63:48;
251                 uint64_t pwq_wqed:1;
252                 uint64_t pwq_wp1:1;
253                 uint64_t pwq_pow:1;
254                 uint64_t ipq_pbe1:1;
255                 uint64_t ipq_pbe0:1;
256                 uint64_t pbm3:1;
257                 uint64_t pbm2:1;
258                 uint64_t pbm1:1;
259                 uint64_t pbm0:1;
260                 uint64_t pbm_word:1;
261                 uint64_t pwq1:1;
262                 uint64_t pwq0:1;
263                 uint64_t prc_off:1;
264                 uint64_t ipd_old:1;
265                 uint64_t ipd_new:1;
266                 uint64_t pwp:1;
267 #else
268                 uint64_t pwp:1;
269                 uint64_t ipd_new:1;
270                 uint64_t ipd_old:1;
271                 uint64_t prc_off:1;
272                 uint64_t pwq0:1;
273                 uint64_t pwq1:1;
274                 uint64_t pbm_word:1;
275                 uint64_t pbm0:1;
276                 uint64_t pbm1:1;
277                 uint64_t pbm2:1;
278                 uint64_t pbm3:1;
279                 uint64_t ipq_pbe0:1;
280                 uint64_t ipq_pbe1:1;
281                 uint64_t pwq_pow:1;
282                 uint64_t pwq_wp1:1;
283                 uint64_t pwq_wqed:1;
284                 uint64_t reserved_16_63:48;
285 #endif
286         } cn30xx;
287         struct cvmx_ipd_bist_status_cn30xx cn31xx;
288         struct cvmx_ipd_bist_status_cn30xx cn38xx;
289         struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
290         struct cvmx_ipd_bist_status_cn30xx cn50xx;
291         struct cvmx_ipd_bist_status_cn52xx {
292 #ifdef __BIG_ENDIAN_BITFIELD
293                 uint64_t reserved_18_63:46;
294                 uint64_t csr_mem:1;
295                 uint64_t csr_ncmd:1;
296                 uint64_t pwq_wqed:1;
297                 uint64_t pwq_wp1:1;
298                 uint64_t pwq_pow:1;
299                 uint64_t ipq_pbe1:1;
300                 uint64_t ipq_pbe0:1;
301                 uint64_t pbm3:1;
302                 uint64_t pbm2:1;
303                 uint64_t pbm1:1;
304                 uint64_t pbm0:1;
305                 uint64_t pbm_word:1;
306                 uint64_t pwq1:1;
307                 uint64_t pwq0:1;
308                 uint64_t prc_off:1;
309                 uint64_t ipd_old:1;
310                 uint64_t ipd_new:1;
311                 uint64_t pwp:1;
312 #else
313                 uint64_t pwp:1;
314                 uint64_t ipd_new:1;
315                 uint64_t ipd_old:1;
316                 uint64_t prc_off:1;
317                 uint64_t pwq0:1;
318                 uint64_t pwq1:1;
319                 uint64_t pbm_word:1;
320                 uint64_t pbm0:1;
321                 uint64_t pbm1:1;
322                 uint64_t pbm2:1;
323                 uint64_t pbm3:1;
324                 uint64_t ipq_pbe0:1;
325                 uint64_t ipq_pbe1:1;
326                 uint64_t pwq_pow:1;
327                 uint64_t pwq_wp1:1;
328                 uint64_t pwq_wqed:1;
329                 uint64_t csr_ncmd:1;
330                 uint64_t csr_mem:1;
331                 uint64_t reserved_18_63:46;
332 #endif
333         } cn52xx;
334         struct cvmx_ipd_bist_status_cn52xx cn52xxp1;
335         struct cvmx_ipd_bist_status_cn52xx cn56xx;
336         struct cvmx_ipd_bist_status_cn52xx cn56xxp1;
337         struct cvmx_ipd_bist_status_cn30xx cn58xx;
338         struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
339         struct cvmx_ipd_bist_status_cn52xx cn61xx;
340         struct cvmx_ipd_bist_status_cn52xx cn63xx;
341         struct cvmx_ipd_bist_status_cn52xx cn63xxp1;
342         struct cvmx_ipd_bist_status_cn52xx cn66xx;
343         struct cvmx_ipd_bist_status_s cn68xx;
344         struct cvmx_ipd_bist_status_s cn68xxp1;
345         struct cvmx_ipd_bist_status_cn52xx cnf71xx;
346 };
347
348 union cvmx_ipd_bp_prt_red_end {
349         uint64_t u64;
350         struct cvmx_ipd_bp_prt_red_end_s {
351 #ifdef __BIG_ENDIAN_BITFIELD
352                 uint64_t reserved_48_63:16;
353                 uint64_t prt_enb:48;
354 #else
355                 uint64_t prt_enb:48;
356                 uint64_t reserved_48_63:16;
357 #endif
358         } s;
359         struct cvmx_ipd_bp_prt_red_end_cn30xx {
360 #ifdef __BIG_ENDIAN_BITFIELD
361                 uint64_t reserved_36_63:28;
362                 uint64_t prt_enb:36;
363 #else
364                 uint64_t prt_enb:36;
365                 uint64_t reserved_36_63:28;
366 #endif
367         } cn30xx;
368         struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
369         struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
370         struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
371         struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
372         struct cvmx_ipd_bp_prt_red_end_cn52xx {
373 #ifdef __BIG_ENDIAN_BITFIELD
374                 uint64_t reserved_40_63:24;
375                 uint64_t prt_enb:40;
376 #else
377                 uint64_t prt_enb:40;
378                 uint64_t reserved_40_63:24;
379 #endif
380         } cn52xx;
381         struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
382         struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
383         struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
384         struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
385         struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
386         struct cvmx_ipd_bp_prt_red_end_s cn61xx;
387         struct cvmx_ipd_bp_prt_red_end_cn63xx {
388 #ifdef __BIG_ENDIAN_BITFIELD
389                 uint64_t reserved_44_63:20;
390                 uint64_t prt_enb:44;
391 #else
392                 uint64_t prt_enb:44;
393                 uint64_t reserved_44_63:20;
394 #endif
395         } cn63xx;
396         struct cvmx_ipd_bp_prt_red_end_cn63xx cn63xxp1;
397         struct cvmx_ipd_bp_prt_red_end_s cn66xx;
398         struct cvmx_ipd_bp_prt_red_end_s cnf71xx;
399 };
400
401 union cvmx_ipd_bpidx_mbuf_th {
402         uint64_t u64;
403         struct cvmx_ipd_bpidx_mbuf_th_s {
404 #ifdef __BIG_ENDIAN_BITFIELD
405                 uint64_t reserved_18_63:46;
406                 uint64_t bp_enb:1;
407                 uint64_t page_cnt:17;
408 #else
409                 uint64_t page_cnt:17;
410                 uint64_t bp_enb:1;
411                 uint64_t reserved_18_63:46;
412 #endif
413         } s;
414         struct cvmx_ipd_bpidx_mbuf_th_s cn68xx;
415         struct cvmx_ipd_bpidx_mbuf_th_s cn68xxp1;
416 };
417
418 union cvmx_ipd_bpid_bp_counterx {
419         uint64_t u64;
420         struct cvmx_ipd_bpid_bp_counterx_s {
421 #ifdef __BIG_ENDIAN_BITFIELD
422                 uint64_t reserved_25_63:39;
423                 uint64_t cnt_val:25;
424 #else
425                 uint64_t cnt_val:25;
426                 uint64_t reserved_25_63:39;
427 #endif
428         } s;
429         struct cvmx_ipd_bpid_bp_counterx_s cn68xx;
430         struct cvmx_ipd_bpid_bp_counterx_s cn68xxp1;
431 };
432
433 union cvmx_ipd_clk_count {
434         uint64_t u64;
435         struct cvmx_ipd_clk_count_s {
436 #ifdef __BIG_ENDIAN_BITFIELD
437                 uint64_t clk_cnt:64;
438 #else
439                 uint64_t clk_cnt:64;
440 #endif
441         } s;
442         struct cvmx_ipd_clk_count_s cn30xx;
443         struct cvmx_ipd_clk_count_s cn31xx;
444         struct cvmx_ipd_clk_count_s cn38xx;
445         struct cvmx_ipd_clk_count_s cn38xxp2;
446         struct cvmx_ipd_clk_count_s cn50xx;
447         struct cvmx_ipd_clk_count_s cn52xx;
448         struct cvmx_ipd_clk_count_s cn52xxp1;
449         struct cvmx_ipd_clk_count_s cn56xx;
450         struct cvmx_ipd_clk_count_s cn56xxp1;
451         struct cvmx_ipd_clk_count_s cn58xx;
452         struct cvmx_ipd_clk_count_s cn58xxp1;
453         struct cvmx_ipd_clk_count_s cn61xx;
454         struct cvmx_ipd_clk_count_s cn63xx;
455         struct cvmx_ipd_clk_count_s cn63xxp1;
456         struct cvmx_ipd_clk_count_s cn66xx;
457         struct cvmx_ipd_clk_count_s cn68xx;
458         struct cvmx_ipd_clk_count_s cn68xxp1;
459         struct cvmx_ipd_clk_count_s cnf71xx;
460 };
461
462 union cvmx_ipd_credits {
463         uint64_t u64;
464         struct cvmx_ipd_credits_s {
465 #ifdef __BIG_ENDIAN_BITFIELD
466                 uint64_t reserved_16_63:48;
467                 uint64_t iob_wrc:8;
468                 uint64_t iob_wr:8;
469 #else
470                 uint64_t iob_wr:8;
471                 uint64_t iob_wrc:8;
472                 uint64_t reserved_16_63:48;
473 #endif
474         } s;
475         struct cvmx_ipd_credits_s cn68xx;
476         struct cvmx_ipd_credits_s cn68xxp1;
477 };
478
479 union cvmx_ipd_ctl_status {
480         uint64_t u64;
481         struct cvmx_ipd_ctl_status_s {
482 #ifdef __BIG_ENDIAN_BITFIELD
483                 uint64_t reserved_18_63:46;
484                 uint64_t use_sop:1;
485                 uint64_t rst_done:1;
486                 uint64_t clken:1;
487                 uint64_t no_wptr:1;
488                 uint64_t pq_apkt:1;
489                 uint64_t pq_nabuf:1;
490                 uint64_t ipd_full:1;
491                 uint64_t pkt_off:1;
492                 uint64_t len_m8:1;
493                 uint64_t reset:1;
494                 uint64_t addpkt:1;
495                 uint64_t naddbuf:1;
496                 uint64_t pkt_lend:1;
497                 uint64_t wqe_lend:1;
498                 uint64_t pbp_en:1;
499                 uint64_t opc_mode:2;
500                 uint64_t ipd_en:1;
501 #else
502                 uint64_t ipd_en:1;
503                 uint64_t opc_mode:2;
504                 uint64_t pbp_en:1;
505                 uint64_t wqe_lend:1;
506                 uint64_t pkt_lend:1;
507                 uint64_t naddbuf:1;
508                 uint64_t addpkt:1;
509                 uint64_t reset:1;
510                 uint64_t len_m8:1;
511                 uint64_t pkt_off:1;
512                 uint64_t ipd_full:1;
513                 uint64_t pq_nabuf:1;
514                 uint64_t pq_apkt:1;
515                 uint64_t no_wptr:1;
516                 uint64_t clken:1;
517                 uint64_t rst_done:1;
518                 uint64_t use_sop:1;
519                 uint64_t reserved_18_63:46;
520 #endif
521         } s;
522         struct cvmx_ipd_ctl_status_cn30xx {
523 #ifdef __BIG_ENDIAN_BITFIELD
524                 uint64_t reserved_10_63:54;
525                 uint64_t len_m8:1;
526                 uint64_t reset:1;
527                 uint64_t addpkt:1;
528                 uint64_t naddbuf:1;
529                 uint64_t pkt_lend:1;
530                 uint64_t wqe_lend:1;
531                 uint64_t pbp_en:1;
532                 uint64_t opc_mode:2;
533                 uint64_t ipd_en:1;
534 #else
535                 uint64_t ipd_en:1;
536                 uint64_t opc_mode:2;
537                 uint64_t pbp_en:1;
538                 uint64_t wqe_lend:1;
539                 uint64_t pkt_lend:1;
540                 uint64_t naddbuf:1;
541                 uint64_t addpkt:1;
542                 uint64_t reset:1;
543                 uint64_t len_m8:1;
544                 uint64_t reserved_10_63:54;
545 #endif
546         } cn30xx;
547         struct cvmx_ipd_ctl_status_cn30xx cn31xx;
548         struct cvmx_ipd_ctl_status_cn30xx cn38xx;
549         struct cvmx_ipd_ctl_status_cn38xxp2 {
550 #ifdef __BIG_ENDIAN_BITFIELD
551                 uint64_t reserved_9_63:55;
552                 uint64_t reset:1;
553                 uint64_t addpkt:1;
554                 uint64_t naddbuf:1;
555                 uint64_t pkt_lend:1;
556                 uint64_t wqe_lend:1;
557                 uint64_t pbp_en:1;
558                 uint64_t opc_mode:2;
559                 uint64_t ipd_en:1;
560 #else
561                 uint64_t ipd_en:1;
562                 uint64_t opc_mode:2;
563                 uint64_t pbp_en:1;
564                 uint64_t wqe_lend:1;
565                 uint64_t pkt_lend:1;
566                 uint64_t naddbuf:1;
567                 uint64_t addpkt:1;
568                 uint64_t reset:1;
569                 uint64_t reserved_9_63:55;
570 #endif
571         } cn38xxp2;
572         struct cvmx_ipd_ctl_status_cn50xx {
573 #ifdef __BIG_ENDIAN_BITFIELD
574                 uint64_t reserved_15_63:49;
575                 uint64_t no_wptr:1;
576                 uint64_t pq_apkt:1;
577                 uint64_t pq_nabuf:1;
578                 uint64_t ipd_full:1;
579                 uint64_t pkt_off:1;
580                 uint64_t len_m8:1;
581                 uint64_t reset:1;
582                 uint64_t addpkt:1;
583                 uint64_t naddbuf:1;
584                 uint64_t pkt_lend:1;
585                 uint64_t wqe_lend:1;
586                 uint64_t pbp_en:1;
587                 uint64_t opc_mode:2;
588                 uint64_t ipd_en:1;
589 #else
590                 uint64_t ipd_en:1;
591                 uint64_t opc_mode:2;
592                 uint64_t pbp_en:1;
593                 uint64_t wqe_lend:1;
594                 uint64_t pkt_lend:1;
595                 uint64_t naddbuf:1;
596                 uint64_t addpkt:1;
597                 uint64_t reset:1;
598                 uint64_t len_m8:1;
599                 uint64_t pkt_off:1;
600                 uint64_t ipd_full:1;
601                 uint64_t pq_nabuf:1;
602                 uint64_t pq_apkt:1;
603                 uint64_t no_wptr:1;
604                 uint64_t reserved_15_63:49;
605 #endif
606         } cn50xx;
607         struct cvmx_ipd_ctl_status_cn50xx cn52xx;
608         struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
609         struct cvmx_ipd_ctl_status_cn50xx cn56xx;
610         struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
611         struct cvmx_ipd_ctl_status_cn58xx {
612 #ifdef __BIG_ENDIAN_BITFIELD
613                 uint64_t reserved_12_63:52;
614                 uint64_t ipd_full:1;
615                 uint64_t pkt_off:1;
616                 uint64_t len_m8:1;
617                 uint64_t reset:1;
618                 uint64_t addpkt:1;
619                 uint64_t naddbuf:1;
620                 uint64_t pkt_lend:1;
621                 uint64_t wqe_lend:1;
622                 uint64_t pbp_en:1;
623                 uint64_t opc_mode:2;
624                 uint64_t ipd_en:1;
625 #else
626                 uint64_t ipd_en:1;
627                 uint64_t opc_mode:2;
628                 uint64_t pbp_en:1;
629                 uint64_t wqe_lend:1;
630                 uint64_t pkt_lend:1;
631                 uint64_t naddbuf:1;
632                 uint64_t addpkt:1;
633                 uint64_t reset:1;
634                 uint64_t len_m8:1;
635                 uint64_t pkt_off:1;
636                 uint64_t ipd_full:1;
637                 uint64_t reserved_12_63:52;
638 #endif
639         } cn58xx;
640         struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
641         struct cvmx_ipd_ctl_status_s cn61xx;
642         struct cvmx_ipd_ctl_status_s cn63xx;
643         struct cvmx_ipd_ctl_status_cn63xxp1 {
644 #ifdef __BIG_ENDIAN_BITFIELD
645                 uint64_t reserved_16_63:48;
646                 uint64_t clken:1;
647                 uint64_t no_wptr:1;
648                 uint64_t pq_apkt:1;
649                 uint64_t pq_nabuf:1;
650                 uint64_t ipd_full:1;
651                 uint64_t pkt_off:1;
652                 uint64_t len_m8:1;
653                 uint64_t reset:1;
654                 uint64_t addpkt:1;
655                 uint64_t naddbuf:1;
656                 uint64_t pkt_lend:1;
657                 uint64_t wqe_lend:1;
658                 uint64_t pbp_en:1;
659                 uint64_t opc_mode:2;
660                 uint64_t ipd_en:1;
661 #else
662                 uint64_t ipd_en:1;
663                 uint64_t opc_mode:2;
664                 uint64_t pbp_en:1;
665                 uint64_t wqe_lend:1;
666                 uint64_t pkt_lend:1;
667                 uint64_t naddbuf:1;
668                 uint64_t addpkt:1;
669                 uint64_t reset:1;
670                 uint64_t len_m8:1;
671                 uint64_t pkt_off:1;
672                 uint64_t ipd_full:1;
673                 uint64_t pq_nabuf:1;
674                 uint64_t pq_apkt:1;
675                 uint64_t no_wptr:1;
676                 uint64_t clken:1;
677                 uint64_t reserved_16_63:48;
678 #endif
679         } cn63xxp1;
680         struct cvmx_ipd_ctl_status_s cn66xx;
681         struct cvmx_ipd_ctl_status_s cn68xx;
682         struct cvmx_ipd_ctl_status_s cn68xxp1;
683         struct cvmx_ipd_ctl_status_s cnf71xx;
684 };
685
686 union cvmx_ipd_ecc_ctl {
687         uint64_t u64;
688         struct cvmx_ipd_ecc_ctl_s {
689 #ifdef __BIG_ENDIAN_BITFIELD
690                 uint64_t reserved_8_63:56;
691                 uint64_t pm3_syn:2;
692                 uint64_t pm2_syn:2;
693                 uint64_t pm1_syn:2;
694                 uint64_t pm0_syn:2;
695 #else
696                 uint64_t pm0_syn:2;
697                 uint64_t pm1_syn:2;
698                 uint64_t pm2_syn:2;
699                 uint64_t pm3_syn:2;
700                 uint64_t reserved_8_63:56;
701 #endif
702         } s;
703         struct cvmx_ipd_ecc_ctl_s cn68xx;
704         struct cvmx_ipd_ecc_ctl_s cn68xxp1;
705 };
706
707 union cvmx_ipd_free_ptr_fifo_ctl {
708         uint64_t u64;
709         struct cvmx_ipd_free_ptr_fifo_ctl_s {
710 #ifdef __BIG_ENDIAN_BITFIELD
711                 uint64_t reserved_32_63:32;
712                 uint64_t max_cnts:7;
713                 uint64_t wraddr:8;
714                 uint64_t praddr:8;
715                 uint64_t cena:1;
716                 uint64_t raddr:8;
717 #else
718                 uint64_t raddr:8;
719                 uint64_t cena:1;
720                 uint64_t praddr:8;
721                 uint64_t wraddr:8;
722                 uint64_t max_cnts:7;
723                 uint64_t reserved_32_63:32;
724 #endif
725         } s;
726         struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xx;
727         struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xxp1;
728 };
729
730 union cvmx_ipd_free_ptr_value {
731         uint64_t u64;
732         struct cvmx_ipd_free_ptr_value_s {
733 #ifdef __BIG_ENDIAN_BITFIELD
734                 uint64_t reserved_33_63:31;
735                 uint64_t ptr:33;
736 #else
737                 uint64_t ptr:33;
738                 uint64_t reserved_33_63:31;
739 #endif
740         } s;
741         struct cvmx_ipd_free_ptr_value_s cn68xx;
742         struct cvmx_ipd_free_ptr_value_s cn68xxp1;
743 };
744
745 union cvmx_ipd_hold_ptr_fifo_ctl {
746         uint64_t u64;
747         struct cvmx_ipd_hold_ptr_fifo_ctl_s {
748 #ifdef __BIG_ENDIAN_BITFIELD
749                 uint64_t reserved_43_63:21;
750                 uint64_t ptr:33;
751                 uint64_t max_pkt:3;
752                 uint64_t praddr:3;
753                 uint64_t cena:1;
754                 uint64_t raddr:3;
755 #else
756                 uint64_t raddr:3;
757                 uint64_t cena:1;
758                 uint64_t praddr:3;
759                 uint64_t max_pkt:3;
760                 uint64_t ptr:33;
761                 uint64_t reserved_43_63:21;
762 #endif
763         } s;
764         struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xx;
765         struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xxp1;
766 };
767
768 union cvmx_ipd_int_enb {
769         uint64_t u64;
770         struct cvmx_ipd_int_enb_s {
771 #ifdef __BIG_ENDIAN_BITFIELD
772                 uint64_t reserved_23_63:41;
773                 uint64_t pw3_dbe:1;
774                 uint64_t pw3_sbe:1;
775                 uint64_t pw2_dbe:1;
776                 uint64_t pw2_sbe:1;
777                 uint64_t pw1_dbe:1;
778                 uint64_t pw1_sbe:1;
779                 uint64_t pw0_dbe:1;
780                 uint64_t pw0_sbe:1;
781                 uint64_t dat:1;
782                 uint64_t eop:1;
783                 uint64_t sop:1;
784                 uint64_t pq_sub:1;
785                 uint64_t pq_add:1;
786                 uint64_t bc_ovr:1;
787                 uint64_t d_coll:1;
788                 uint64_t c_coll:1;
789                 uint64_t cc_ovr:1;
790                 uint64_t dc_ovr:1;
791                 uint64_t bp_sub:1;
792                 uint64_t prc_par3:1;
793                 uint64_t prc_par2:1;
794                 uint64_t prc_par1:1;
795                 uint64_t prc_par0:1;
796 #else
797                 uint64_t prc_par0:1;
798                 uint64_t prc_par1:1;
799                 uint64_t prc_par2:1;
800                 uint64_t prc_par3:1;
801                 uint64_t bp_sub:1;
802                 uint64_t dc_ovr:1;
803                 uint64_t cc_ovr:1;
804                 uint64_t c_coll:1;
805                 uint64_t d_coll:1;
806                 uint64_t bc_ovr:1;
807                 uint64_t pq_add:1;
808                 uint64_t pq_sub:1;
809                 uint64_t sop:1;
810                 uint64_t eop:1;
811                 uint64_t dat:1;
812                 uint64_t pw0_sbe:1;
813                 uint64_t pw0_dbe:1;
814                 uint64_t pw1_sbe:1;
815                 uint64_t pw1_dbe:1;
816                 uint64_t pw2_sbe:1;
817                 uint64_t pw2_dbe:1;
818                 uint64_t pw3_sbe:1;
819                 uint64_t pw3_dbe:1;
820                 uint64_t reserved_23_63:41;
821 #endif
822         } s;
823         struct cvmx_ipd_int_enb_cn30xx {
824 #ifdef __BIG_ENDIAN_BITFIELD
825                 uint64_t reserved_5_63:59;
826                 uint64_t bp_sub:1;
827                 uint64_t prc_par3:1;
828                 uint64_t prc_par2:1;
829                 uint64_t prc_par1:1;
830                 uint64_t prc_par0:1;
831 #else
832                 uint64_t prc_par0:1;
833                 uint64_t prc_par1:1;
834                 uint64_t prc_par2:1;
835                 uint64_t prc_par3:1;
836                 uint64_t bp_sub:1;
837                 uint64_t reserved_5_63:59;
838 #endif
839         } cn30xx;
840         struct cvmx_ipd_int_enb_cn30xx cn31xx;
841         struct cvmx_ipd_int_enb_cn38xx {
842 #ifdef __BIG_ENDIAN_BITFIELD
843                 uint64_t reserved_10_63:54;
844                 uint64_t bc_ovr:1;
845                 uint64_t d_coll:1;
846                 uint64_t c_coll:1;
847                 uint64_t cc_ovr:1;
848                 uint64_t dc_ovr:1;
849                 uint64_t bp_sub:1;
850                 uint64_t prc_par3:1;
851                 uint64_t prc_par2:1;
852                 uint64_t prc_par1:1;
853                 uint64_t prc_par0:1;
854 #else
855                 uint64_t prc_par0:1;
856                 uint64_t prc_par1:1;
857                 uint64_t prc_par2:1;
858                 uint64_t prc_par3:1;
859                 uint64_t bp_sub:1;
860                 uint64_t dc_ovr:1;
861                 uint64_t cc_ovr:1;
862                 uint64_t c_coll:1;
863                 uint64_t d_coll:1;
864                 uint64_t bc_ovr:1;
865                 uint64_t reserved_10_63:54;
866 #endif
867         } cn38xx;
868         struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
869         struct cvmx_ipd_int_enb_cn38xx cn50xx;
870         struct cvmx_ipd_int_enb_cn52xx {
871 #ifdef __BIG_ENDIAN_BITFIELD
872                 uint64_t reserved_12_63:52;
873                 uint64_t pq_sub:1;
874                 uint64_t pq_add:1;
875                 uint64_t bc_ovr:1;
876                 uint64_t d_coll:1;
877                 uint64_t c_coll:1;
878                 uint64_t cc_ovr:1;
879                 uint64_t dc_ovr:1;
880                 uint64_t bp_sub:1;
881                 uint64_t prc_par3:1;
882                 uint64_t prc_par2:1;
883                 uint64_t prc_par1:1;
884                 uint64_t prc_par0:1;
885 #else
886                 uint64_t prc_par0:1;
887                 uint64_t prc_par1:1;
888                 uint64_t prc_par2:1;
889                 uint64_t prc_par3:1;
890                 uint64_t bp_sub:1;
891                 uint64_t dc_ovr:1;
892                 uint64_t cc_ovr:1;
893                 uint64_t c_coll:1;
894                 uint64_t d_coll:1;
895                 uint64_t bc_ovr:1;
896                 uint64_t pq_add:1;
897                 uint64_t pq_sub:1;
898                 uint64_t reserved_12_63:52;
899 #endif
900         } cn52xx;
901         struct cvmx_ipd_int_enb_cn52xx cn52xxp1;
902         struct cvmx_ipd_int_enb_cn52xx cn56xx;
903         struct cvmx_ipd_int_enb_cn52xx cn56xxp1;
904         struct cvmx_ipd_int_enb_cn38xx cn58xx;
905         struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
906         struct cvmx_ipd_int_enb_cn52xx cn61xx;
907         struct cvmx_ipd_int_enb_cn52xx cn63xx;
908         struct cvmx_ipd_int_enb_cn52xx cn63xxp1;
909         struct cvmx_ipd_int_enb_cn52xx cn66xx;
910         struct cvmx_ipd_int_enb_s cn68xx;
911         struct cvmx_ipd_int_enb_s cn68xxp1;
912         struct cvmx_ipd_int_enb_cn52xx cnf71xx;
913 };
914
915 union cvmx_ipd_int_sum {
916         uint64_t u64;
917         struct cvmx_ipd_int_sum_s {
918 #ifdef __BIG_ENDIAN_BITFIELD
919                 uint64_t reserved_23_63:41;
920                 uint64_t pw3_dbe:1;
921                 uint64_t pw3_sbe:1;
922                 uint64_t pw2_dbe:1;
923                 uint64_t pw2_sbe:1;
924                 uint64_t pw1_dbe:1;
925                 uint64_t pw1_sbe:1;
926                 uint64_t pw0_dbe:1;
927                 uint64_t pw0_sbe:1;
928                 uint64_t dat:1;
929                 uint64_t eop:1;
930                 uint64_t sop:1;
931                 uint64_t pq_sub:1;
932                 uint64_t pq_add:1;
933                 uint64_t bc_ovr:1;
934                 uint64_t d_coll:1;
935                 uint64_t c_coll:1;
936                 uint64_t cc_ovr:1;
937                 uint64_t dc_ovr:1;
938                 uint64_t bp_sub:1;
939                 uint64_t prc_par3:1;
940                 uint64_t prc_par2:1;
941                 uint64_t prc_par1:1;
942                 uint64_t prc_par0:1;
943 #else
944                 uint64_t prc_par0:1;
945                 uint64_t prc_par1:1;
946                 uint64_t prc_par2:1;
947                 uint64_t prc_par3:1;
948                 uint64_t bp_sub:1;
949                 uint64_t dc_ovr:1;
950                 uint64_t cc_ovr:1;
951                 uint64_t c_coll:1;
952                 uint64_t d_coll:1;
953                 uint64_t bc_ovr:1;
954                 uint64_t pq_add:1;
955                 uint64_t pq_sub:1;
956                 uint64_t sop:1;
957                 uint64_t eop:1;
958                 uint64_t dat:1;
959                 uint64_t pw0_sbe:1;
960                 uint64_t pw0_dbe:1;
961                 uint64_t pw1_sbe:1;
962                 uint64_t pw1_dbe:1;
963                 uint64_t pw2_sbe:1;
964                 uint64_t pw2_dbe:1;
965                 uint64_t pw3_sbe:1;
966                 uint64_t pw3_dbe:1;
967                 uint64_t reserved_23_63:41;
968 #endif
969         } s;
970         struct cvmx_ipd_int_sum_cn30xx {
971 #ifdef __BIG_ENDIAN_BITFIELD
972                 uint64_t reserved_5_63:59;
973                 uint64_t bp_sub:1;
974                 uint64_t prc_par3:1;
975                 uint64_t prc_par2:1;
976                 uint64_t prc_par1:1;
977                 uint64_t prc_par0:1;
978 #else
979                 uint64_t prc_par0:1;
980                 uint64_t prc_par1:1;
981                 uint64_t prc_par2:1;
982                 uint64_t prc_par3:1;
983                 uint64_t bp_sub:1;
984                 uint64_t reserved_5_63:59;
985 #endif
986         } cn30xx;
987         struct cvmx_ipd_int_sum_cn30xx cn31xx;
988         struct cvmx_ipd_int_sum_cn38xx {
989 #ifdef __BIG_ENDIAN_BITFIELD
990                 uint64_t reserved_10_63:54;
991                 uint64_t bc_ovr:1;
992                 uint64_t d_coll:1;
993                 uint64_t c_coll:1;
994                 uint64_t cc_ovr:1;
995                 uint64_t dc_ovr:1;
996                 uint64_t bp_sub:1;
997                 uint64_t prc_par3:1;
998                 uint64_t prc_par2:1;
999                 uint64_t prc_par1:1;
1000                 uint64_t prc_par0:1;
1001 #else
1002                 uint64_t prc_par0:1;
1003                 uint64_t prc_par1:1;
1004                 uint64_t prc_par2:1;
1005                 uint64_t prc_par3:1;
1006                 uint64_t bp_sub:1;
1007                 uint64_t dc_ovr:1;
1008                 uint64_t cc_ovr:1;
1009                 uint64_t c_coll:1;
1010                 uint64_t d_coll:1;
1011                 uint64_t bc_ovr:1;
1012                 uint64_t reserved_10_63:54;
1013 #endif
1014         } cn38xx;
1015         struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
1016         struct cvmx_ipd_int_sum_cn38xx cn50xx;
1017         struct cvmx_ipd_int_sum_cn52xx {
1018 #ifdef __BIG_ENDIAN_BITFIELD
1019                 uint64_t reserved_12_63:52;
1020                 uint64_t pq_sub:1;
1021                 uint64_t pq_add:1;
1022                 uint64_t bc_ovr:1;
1023                 uint64_t d_coll:1;
1024                 uint64_t c_coll:1;
1025                 uint64_t cc_ovr:1;
1026                 uint64_t dc_ovr:1;
1027                 uint64_t bp_sub:1;
1028                 uint64_t prc_par3:1;
1029                 uint64_t prc_par2:1;
1030                 uint64_t prc_par1:1;
1031                 uint64_t prc_par0:1;
1032 #else
1033                 uint64_t prc_par0:1;
1034                 uint64_t prc_par1:1;
1035                 uint64_t prc_par2:1;
1036                 uint64_t prc_par3:1;
1037                 uint64_t bp_sub:1;
1038                 uint64_t dc_ovr:1;
1039                 uint64_t cc_ovr:1;
1040                 uint64_t c_coll:1;
1041                 uint64_t d_coll:1;
1042                 uint64_t bc_ovr:1;
1043                 uint64_t pq_add:1;
1044                 uint64_t pq_sub:1;
1045                 uint64_t reserved_12_63:52;
1046 #endif
1047         } cn52xx;
1048         struct cvmx_ipd_int_sum_cn52xx cn52xxp1;
1049         struct cvmx_ipd_int_sum_cn52xx cn56xx;
1050         struct cvmx_ipd_int_sum_cn52xx cn56xxp1;
1051         struct cvmx_ipd_int_sum_cn38xx cn58xx;
1052         struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
1053         struct cvmx_ipd_int_sum_cn52xx cn61xx;
1054         struct cvmx_ipd_int_sum_cn52xx cn63xx;
1055         struct cvmx_ipd_int_sum_cn52xx cn63xxp1;
1056         struct cvmx_ipd_int_sum_cn52xx cn66xx;
1057         struct cvmx_ipd_int_sum_s cn68xx;
1058         struct cvmx_ipd_int_sum_s cn68xxp1;
1059         struct cvmx_ipd_int_sum_cn52xx cnf71xx;
1060 };
1061
1062 union cvmx_ipd_next_pkt_ptr {
1063         uint64_t u64;
1064         struct cvmx_ipd_next_pkt_ptr_s {
1065 #ifdef __BIG_ENDIAN_BITFIELD
1066                 uint64_t reserved_33_63:31;
1067                 uint64_t ptr:33;
1068 #else
1069                 uint64_t ptr:33;
1070                 uint64_t reserved_33_63:31;
1071 #endif
1072         } s;
1073         struct cvmx_ipd_next_pkt_ptr_s cn68xx;
1074         struct cvmx_ipd_next_pkt_ptr_s cn68xxp1;
1075 };
1076
1077 union cvmx_ipd_next_wqe_ptr {
1078         uint64_t u64;
1079         struct cvmx_ipd_next_wqe_ptr_s {
1080 #ifdef __BIG_ENDIAN_BITFIELD
1081                 uint64_t reserved_33_63:31;
1082                 uint64_t ptr:33;
1083 #else
1084                 uint64_t ptr:33;
1085                 uint64_t reserved_33_63:31;
1086 #endif
1087         } s;
1088         struct cvmx_ipd_next_wqe_ptr_s cn68xx;
1089         struct cvmx_ipd_next_wqe_ptr_s cn68xxp1;
1090 };
1091
1092 union cvmx_ipd_not_1st_mbuff_skip {
1093         uint64_t u64;
1094         struct cvmx_ipd_not_1st_mbuff_skip_s {
1095 #ifdef __BIG_ENDIAN_BITFIELD
1096                 uint64_t reserved_6_63:58;
1097                 uint64_t skip_sz:6;
1098 #else
1099                 uint64_t skip_sz:6;
1100                 uint64_t reserved_6_63:58;
1101 #endif
1102         } s;
1103         struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
1104         struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
1105         struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx;
1106         struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2;
1107         struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx;
1108         struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx;
1109         struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1;
1110         struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx;
1111         struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
1112         struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
1113         struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
1114         struct cvmx_ipd_not_1st_mbuff_skip_s cn61xx;
1115         struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
1116         struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
1117         struct cvmx_ipd_not_1st_mbuff_skip_s cn66xx;
1118         struct cvmx_ipd_not_1st_mbuff_skip_s cn68xx;
1119         struct cvmx_ipd_not_1st_mbuff_skip_s cn68xxp1;
1120         struct cvmx_ipd_not_1st_mbuff_skip_s cnf71xx;
1121 };
1122
1123 union cvmx_ipd_on_bp_drop_pktx {
1124         uint64_t u64;
1125         struct cvmx_ipd_on_bp_drop_pktx_s {
1126 #ifdef __BIG_ENDIAN_BITFIELD
1127                 uint64_t prt_enb:64;
1128 #else
1129                 uint64_t prt_enb:64;
1130 #endif
1131         } s;
1132         struct cvmx_ipd_on_bp_drop_pktx_s cn68xx;
1133         struct cvmx_ipd_on_bp_drop_pktx_s cn68xxp1;
1134 };
1135
1136 union cvmx_ipd_packet_mbuff_size {
1137         uint64_t u64;
1138         struct cvmx_ipd_packet_mbuff_size_s {
1139 #ifdef __BIG_ENDIAN_BITFIELD
1140                 uint64_t reserved_12_63:52;
1141                 uint64_t mb_size:12;
1142 #else
1143                 uint64_t mb_size:12;
1144                 uint64_t reserved_12_63:52;
1145 #endif
1146         } s;
1147         struct cvmx_ipd_packet_mbuff_size_s cn30xx;
1148         struct cvmx_ipd_packet_mbuff_size_s cn31xx;
1149         struct cvmx_ipd_packet_mbuff_size_s cn38xx;
1150         struct cvmx_ipd_packet_mbuff_size_s cn38xxp2;
1151         struct cvmx_ipd_packet_mbuff_size_s cn50xx;
1152         struct cvmx_ipd_packet_mbuff_size_s cn52xx;
1153         struct cvmx_ipd_packet_mbuff_size_s cn52xxp1;
1154         struct cvmx_ipd_packet_mbuff_size_s cn56xx;
1155         struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
1156         struct cvmx_ipd_packet_mbuff_size_s cn58xx;
1157         struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
1158         struct cvmx_ipd_packet_mbuff_size_s cn61xx;
1159         struct cvmx_ipd_packet_mbuff_size_s cn63xx;
1160         struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
1161         struct cvmx_ipd_packet_mbuff_size_s cn66xx;
1162         struct cvmx_ipd_packet_mbuff_size_s cn68xx;
1163         struct cvmx_ipd_packet_mbuff_size_s cn68xxp1;
1164         struct cvmx_ipd_packet_mbuff_size_s cnf71xx;
1165 };
1166
1167 union cvmx_ipd_pkt_err {
1168         uint64_t u64;
1169         struct cvmx_ipd_pkt_err_s {
1170 #ifdef __BIG_ENDIAN_BITFIELD
1171                 uint64_t reserved_6_63:58;
1172                 uint64_t reasm:6;
1173 #else
1174                 uint64_t reasm:6;
1175                 uint64_t reserved_6_63:58;
1176 #endif
1177         } s;
1178         struct cvmx_ipd_pkt_err_s cn68xx;
1179         struct cvmx_ipd_pkt_err_s cn68xxp1;
1180 };
1181
1182 union cvmx_ipd_pkt_ptr_valid {
1183         uint64_t u64;
1184         struct cvmx_ipd_pkt_ptr_valid_s {
1185 #ifdef __BIG_ENDIAN_BITFIELD
1186                 uint64_t reserved_29_63:35;
1187                 uint64_t ptr:29;
1188 #else
1189                 uint64_t ptr:29;
1190                 uint64_t reserved_29_63:35;
1191 #endif
1192         } s;
1193         struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
1194         struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
1195         struct cvmx_ipd_pkt_ptr_valid_s cn38xx;
1196         struct cvmx_ipd_pkt_ptr_valid_s cn50xx;
1197         struct cvmx_ipd_pkt_ptr_valid_s cn52xx;
1198         struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1;
1199         struct cvmx_ipd_pkt_ptr_valid_s cn56xx;
1200         struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
1201         struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
1202         struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
1203         struct cvmx_ipd_pkt_ptr_valid_s cn61xx;
1204         struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
1205         struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
1206         struct cvmx_ipd_pkt_ptr_valid_s cn66xx;
1207         struct cvmx_ipd_pkt_ptr_valid_s cnf71xx;
1208 };
1209
1210 union cvmx_ipd_portx_bp_page_cnt {
1211         uint64_t u64;
1212         struct cvmx_ipd_portx_bp_page_cnt_s {
1213 #ifdef __BIG_ENDIAN_BITFIELD
1214                 uint64_t reserved_18_63:46;
1215                 uint64_t bp_enb:1;
1216                 uint64_t page_cnt:17;
1217 #else
1218                 uint64_t page_cnt:17;
1219                 uint64_t bp_enb:1;
1220                 uint64_t reserved_18_63:46;
1221 #endif
1222         } s;
1223         struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
1224         struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
1225         struct cvmx_ipd_portx_bp_page_cnt_s cn38xx;
1226         struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2;
1227         struct cvmx_ipd_portx_bp_page_cnt_s cn50xx;
1228         struct cvmx_ipd_portx_bp_page_cnt_s cn52xx;
1229         struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1;
1230         struct cvmx_ipd_portx_bp_page_cnt_s cn56xx;
1231         struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
1232         struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
1233         struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
1234         struct cvmx_ipd_portx_bp_page_cnt_s cn61xx;
1235         struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
1236         struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
1237         struct cvmx_ipd_portx_bp_page_cnt_s cn66xx;
1238         struct cvmx_ipd_portx_bp_page_cnt_s cnf71xx;
1239 };
1240
1241 union cvmx_ipd_portx_bp_page_cnt2 {
1242         uint64_t u64;
1243         struct cvmx_ipd_portx_bp_page_cnt2_s {
1244 #ifdef __BIG_ENDIAN_BITFIELD
1245                 uint64_t reserved_18_63:46;
1246                 uint64_t bp_enb:1;
1247                 uint64_t page_cnt:17;
1248 #else
1249                 uint64_t page_cnt:17;
1250                 uint64_t bp_enb:1;
1251                 uint64_t reserved_18_63:46;
1252 #endif
1253         } s;
1254         struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
1255         struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
1256         struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
1257         struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
1258         struct cvmx_ipd_portx_bp_page_cnt2_s cn61xx;
1259         struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
1260         struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
1261         struct cvmx_ipd_portx_bp_page_cnt2_s cn66xx;
1262         struct cvmx_ipd_portx_bp_page_cnt2_s cnf71xx;
1263 };
1264
1265 union cvmx_ipd_portx_bp_page_cnt3 {
1266         uint64_t u64;
1267         struct cvmx_ipd_portx_bp_page_cnt3_s {
1268 #ifdef __BIG_ENDIAN_BITFIELD
1269                 uint64_t reserved_18_63:46;
1270                 uint64_t bp_enb:1;
1271                 uint64_t page_cnt:17;
1272 #else
1273                 uint64_t page_cnt:17;
1274                 uint64_t bp_enb:1;
1275                 uint64_t reserved_18_63:46;
1276 #endif
1277         } s;
1278         struct cvmx_ipd_portx_bp_page_cnt3_s cn61xx;
1279         struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
1280         struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
1281         struct cvmx_ipd_portx_bp_page_cnt3_s cn66xx;
1282         struct cvmx_ipd_portx_bp_page_cnt3_s cnf71xx;
1283 };
1284
1285 union cvmx_ipd_port_bp_counters2_pairx {
1286         uint64_t u64;
1287         struct cvmx_ipd_port_bp_counters2_pairx_s {
1288 #ifdef __BIG_ENDIAN_BITFIELD
1289                 uint64_t reserved_25_63:39;
1290                 uint64_t cnt_val:25;
1291 #else
1292                 uint64_t cnt_val:25;
1293                 uint64_t reserved_25_63:39;
1294 #endif
1295         } s;
1296         struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
1297         struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
1298         struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
1299         struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
1300         struct cvmx_ipd_port_bp_counters2_pairx_s cn61xx;
1301         struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
1302         struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
1303         struct cvmx_ipd_port_bp_counters2_pairx_s cn66xx;
1304         struct cvmx_ipd_port_bp_counters2_pairx_s cnf71xx;
1305 };
1306
1307 union cvmx_ipd_port_bp_counters3_pairx {
1308         uint64_t u64;
1309         struct cvmx_ipd_port_bp_counters3_pairx_s {
1310 #ifdef __BIG_ENDIAN_BITFIELD
1311                 uint64_t reserved_25_63:39;
1312                 uint64_t cnt_val:25;
1313 #else
1314                 uint64_t cnt_val:25;
1315                 uint64_t reserved_25_63:39;
1316 #endif
1317         } s;
1318         struct cvmx_ipd_port_bp_counters3_pairx_s cn61xx;
1319         struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
1320         struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
1321         struct cvmx_ipd_port_bp_counters3_pairx_s cn66xx;
1322         struct cvmx_ipd_port_bp_counters3_pairx_s cnf71xx;
1323 };
1324
1325 union cvmx_ipd_port_bp_counters4_pairx {
1326         uint64_t u64;
1327         struct cvmx_ipd_port_bp_counters4_pairx_s {
1328 #ifdef __BIG_ENDIAN_BITFIELD
1329                 uint64_t reserved_25_63:39;
1330                 uint64_t cnt_val:25;
1331 #else
1332                 uint64_t cnt_val:25;
1333                 uint64_t reserved_25_63:39;
1334 #endif
1335         } s;
1336         struct cvmx_ipd_port_bp_counters4_pairx_s cn61xx;
1337         struct cvmx_ipd_port_bp_counters4_pairx_s cn66xx;
1338         struct cvmx_ipd_port_bp_counters4_pairx_s cnf71xx;
1339 };
1340
1341 union cvmx_ipd_port_bp_counters_pairx {
1342         uint64_t u64;
1343         struct cvmx_ipd_port_bp_counters_pairx_s {
1344 #ifdef __BIG_ENDIAN_BITFIELD
1345                 uint64_t reserved_25_63:39;
1346                 uint64_t cnt_val:25;
1347 #else
1348                 uint64_t cnt_val:25;
1349                 uint64_t reserved_25_63:39;
1350 #endif
1351         } s;
1352         struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
1353         struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
1354         struct cvmx_ipd_port_bp_counters_pairx_s cn38xx;
1355         struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2;
1356         struct cvmx_ipd_port_bp_counters_pairx_s cn50xx;
1357         struct cvmx_ipd_port_bp_counters_pairx_s cn52xx;
1358         struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1;
1359         struct cvmx_ipd_port_bp_counters_pairx_s cn56xx;
1360         struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
1361         struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
1362         struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
1363         struct cvmx_ipd_port_bp_counters_pairx_s cn61xx;
1364         struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
1365         struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
1366         struct cvmx_ipd_port_bp_counters_pairx_s cn66xx;
1367         struct cvmx_ipd_port_bp_counters_pairx_s cnf71xx;
1368 };
1369
1370 union cvmx_ipd_port_ptr_fifo_ctl {
1371         uint64_t u64;
1372         struct cvmx_ipd_port_ptr_fifo_ctl_s {
1373 #ifdef __BIG_ENDIAN_BITFIELD
1374                 uint64_t reserved_48_63:16;
1375                 uint64_t ptr:33;
1376                 uint64_t max_pkt:7;
1377                 uint64_t cena:1;
1378                 uint64_t raddr:7;
1379 #else
1380                 uint64_t raddr:7;
1381                 uint64_t cena:1;
1382                 uint64_t max_pkt:7;
1383                 uint64_t ptr:33;
1384                 uint64_t reserved_48_63:16;
1385 #endif
1386         } s;
1387         struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xx;
1388         struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xxp1;
1389 };
1390
1391 union cvmx_ipd_port_qos_x_cnt {
1392         uint64_t u64;
1393         struct cvmx_ipd_port_qos_x_cnt_s {
1394 #ifdef __BIG_ENDIAN_BITFIELD
1395                 uint64_t wmark:32;
1396                 uint64_t cnt:32;
1397 #else
1398                 uint64_t cnt:32;
1399                 uint64_t wmark:32;
1400 #endif
1401         } s;
1402         struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
1403         struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
1404         struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
1405         struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
1406         struct cvmx_ipd_port_qos_x_cnt_s cn61xx;
1407         struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
1408         struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
1409         struct cvmx_ipd_port_qos_x_cnt_s cn66xx;
1410         struct cvmx_ipd_port_qos_x_cnt_s cn68xx;
1411         struct cvmx_ipd_port_qos_x_cnt_s cn68xxp1;
1412         struct cvmx_ipd_port_qos_x_cnt_s cnf71xx;
1413 };
1414
1415 union cvmx_ipd_port_qos_intx {
1416         uint64_t u64;
1417         struct cvmx_ipd_port_qos_intx_s {
1418 #ifdef __BIG_ENDIAN_BITFIELD
1419                 uint64_t intr:64;
1420 #else
1421                 uint64_t intr:64;
1422 #endif
1423         } s;
1424         struct cvmx_ipd_port_qos_intx_s cn52xx;
1425         struct cvmx_ipd_port_qos_intx_s cn52xxp1;
1426         struct cvmx_ipd_port_qos_intx_s cn56xx;
1427         struct cvmx_ipd_port_qos_intx_s cn56xxp1;
1428         struct cvmx_ipd_port_qos_intx_s cn61xx;
1429         struct cvmx_ipd_port_qos_intx_s cn63xx;
1430         struct cvmx_ipd_port_qos_intx_s cn63xxp1;
1431         struct cvmx_ipd_port_qos_intx_s cn66xx;
1432         struct cvmx_ipd_port_qos_intx_s cn68xx;
1433         struct cvmx_ipd_port_qos_intx_s cn68xxp1;
1434         struct cvmx_ipd_port_qos_intx_s cnf71xx;
1435 };
1436
1437 union cvmx_ipd_port_qos_int_enbx {
1438         uint64_t u64;
1439         struct cvmx_ipd_port_qos_int_enbx_s {
1440 #ifdef __BIG_ENDIAN_BITFIELD
1441                 uint64_t enb:64;
1442 #else
1443                 uint64_t enb:64;
1444 #endif
1445         } s;
1446         struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
1447         struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
1448         struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
1449         struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
1450         struct cvmx_ipd_port_qos_int_enbx_s cn61xx;
1451         struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
1452         struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
1453         struct cvmx_ipd_port_qos_int_enbx_s cn66xx;
1454         struct cvmx_ipd_port_qos_int_enbx_s cn68xx;
1455         struct cvmx_ipd_port_qos_int_enbx_s cn68xxp1;
1456         struct cvmx_ipd_port_qos_int_enbx_s cnf71xx;
1457 };
1458
1459 union cvmx_ipd_port_sopx {
1460         uint64_t u64;
1461         struct cvmx_ipd_port_sopx_s {
1462 #ifdef __BIG_ENDIAN_BITFIELD
1463                 uint64_t sop:64;
1464 #else
1465                 uint64_t sop:64;
1466 #endif
1467         } s;
1468         struct cvmx_ipd_port_sopx_s cn68xx;
1469         struct cvmx_ipd_port_sopx_s cn68xxp1;
1470 };
1471
1472 union cvmx_ipd_prc_hold_ptr_fifo_ctl {
1473         uint64_t u64;
1474         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
1475 #ifdef __BIG_ENDIAN_BITFIELD
1476                 uint64_t reserved_39_63:25;
1477                 uint64_t max_pkt:3;
1478                 uint64_t praddr:3;
1479                 uint64_t ptr:29;
1480                 uint64_t cena:1;
1481                 uint64_t raddr:3;
1482 #else
1483                 uint64_t raddr:3;
1484                 uint64_t cena:1;
1485                 uint64_t ptr:29;
1486                 uint64_t praddr:3;
1487                 uint64_t max_pkt:3;
1488                 uint64_t reserved_39_63:25;
1489 #endif
1490         } s;
1491         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
1492         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
1493         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx;
1494         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx;
1495         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx;
1496         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1;
1497         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx;
1498         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
1499         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
1500         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
1501         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn61xx;
1502         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
1503         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
1504         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn66xx;
1505         struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cnf71xx;
1506 };
1507
1508 union cvmx_ipd_prc_port_ptr_fifo_ctl {
1509         uint64_t u64;
1510         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
1511 #ifdef __BIG_ENDIAN_BITFIELD
1512                 uint64_t reserved_44_63:20;
1513                 uint64_t max_pkt:7;
1514                 uint64_t ptr:29;
1515                 uint64_t cena:1;
1516                 uint64_t raddr:7;
1517 #else
1518                 uint64_t raddr:7;
1519                 uint64_t cena:1;
1520                 uint64_t ptr:29;
1521                 uint64_t max_pkt:7;
1522                 uint64_t reserved_44_63:20;
1523 #endif
1524         } s;
1525         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
1526         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
1527         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx;
1528         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx;
1529         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx;
1530         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1;
1531         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx;
1532         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
1533         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
1534         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
1535         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn61xx;
1536         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
1537         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
1538         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn66xx;
1539         struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cnf71xx;
1540 };
1541
1542 union cvmx_ipd_ptr_count {
1543         uint64_t u64;
1544         struct cvmx_ipd_ptr_count_s {
1545 #ifdef __BIG_ENDIAN_BITFIELD
1546                 uint64_t reserved_19_63:45;
1547                 uint64_t pktv_cnt:1;
1548                 uint64_t wqev_cnt:1;
1549                 uint64_t pfif_cnt:3;
1550                 uint64_t pkt_pcnt:7;
1551                 uint64_t wqe_pcnt:7;
1552 #else
1553                 uint64_t wqe_pcnt:7;
1554                 uint64_t pkt_pcnt:7;
1555                 uint64_t pfif_cnt:3;
1556                 uint64_t wqev_cnt:1;
1557                 uint64_t pktv_cnt:1;
1558                 uint64_t reserved_19_63:45;
1559 #endif
1560         } s;
1561         struct cvmx_ipd_ptr_count_s cn30xx;
1562         struct cvmx_ipd_ptr_count_s cn31xx;
1563         struct cvmx_ipd_ptr_count_s cn38xx;
1564         struct cvmx_ipd_ptr_count_s cn38xxp2;
1565         struct cvmx_ipd_ptr_count_s cn50xx;
1566         struct cvmx_ipd_ptr_count_s cn52xx;
1567         struct cvmx_ipd_ptr_count_s cn52xxp1;
1568         struct cvmx_ipd_ptr_count_s cn56xx;
1569         struct cvmx_ipd_ptr_count_s cn56xxp1;
1570         struct cvmx_ipd_ptr_count_s cn58xx;
1571         struct cvmx_ipd_ptr_count_s cn58xxp1;
1572         struct cvmx_ipd_ptr_count_s cn61xx;
1573         struct cvmx_ipd_ptr_count_s cn63xx;
1574         struct cvmx_ipd_ptr_count_s cn63xxp1;
1575         struct cvmx_ipd_ptr_count_s cn66xx;
1576         struct cvmx_ipd_ptr_count_s cn68xx;
1577         struct cvmx_ipd_ptr_count_s cn68xxp1;
1578         struct cvmx_ipd_ptr_count_s cnf71xx;
1579 };
1580
1581 union cvmx_ipd_pwp_ptr_fifo_ctl {
1582         uint64_t u64;
1583         struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
1584 #ifdef __BIG_ENDIAN_BITFIELD
1585                 uint64_t reserved_61_63:3;
1586                 uint64_t max_cnts:7;
1587                 uint64_t wraddr:8;
1588                 uint64_t praddr:8;
1589                 uint64_t ptr:29;
1590                 uint64_t cena:1;
1591                 uint64_t raddr:8;
1592 #else
1593                 uint64_t raddr:8;
1594                 uint64_t cena:1;
1595                 uint64_t ptr:29;
1596                 uint64_t praddr:8;
1597                 uint64_t wraddr:8;
1598                 uint64_t max_cnts:7;
1599                 uint64_t reserved_61_63:3;
1600 #endif
1601         } s;
1602         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
1603         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
1604         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx;
1605         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx;
1606         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx;
1607         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1;
1608         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx;
1609         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
1610         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
1611         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
1612         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn61xx;
1613         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
1614         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
1615         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn66xx;
1616         struct cvmx_ipd_pwp_ptr_fifo_ctl_s cnf71xx;
1617 };
1618
1619 union cvmx_ipd_qosx_red_marks {
1620         uint64_t u64;
1621         struct cvmx_ipd_qosx_red_marks_s {
1622 #ifdef __BIG_ENDIAN_BITFIELD
1623                 uint64_t drop:32;
1624                 uint64_t pass:32;
1625 #else
1626                 uint64_t pass:32;
1627                 uint64_t drop:32;
1628 #endif
1629         } s;
1630         struct cvmx_ipd_qosx_red_marks_s cn30xx;
1631         struct cvmx_ipd_qosx_red_marks_s cn31xx;
1632         struct cvmx_ipd_qosx_red_marks_s cn38xx;
1633         struct cvmx_ipd_qosx_red_marks_s cn38xxp2;
1634         struct cvmx_ipd_qosx_red_marks_s cn50xx;
1635         struct cvmx_ipd_qosx_red_marks_s cn52xx;
1636         struct cvmx_ipd_qosx_red_marks_s cn52xxp1;
1637         struct cvmx_ipd_qosx_red_marks_s cn56xx;
1638         struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
1639         struct cvmx_ipd_qosx_red_marks_s cn58xx;
1640         struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
1641         struct cvmx_ipd_qosx_red_marks_s cn61xx;
1642         struct cvmx_ipd_qosx_red_marks_s cn63xx;
1643         struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
1644         struct cvmx_ipd_qosx_red_marks_s cn66xx;
1645         struct cvmx_ipd_qosx_red_marks_s cn68xx;
1646         struct cvmx_ipd_qosx_red_marks_s cn68xxp1;
1647         struct cvmx_ipd_qosx_red_marks_s cnf71xx;
1648 };
1649
1650 union cvmx_ipd_que0_free_page_cnt {
1651         uint64_t u64;
1652         struct cvmx_ipd_que0_free_page_cnt_s {
1653 #ifdef __BIG_ENDIAN_BITFIELD
1654                 uint64_t reserved_32_63:32;
1655                 uint64_t q0_pcnt:32;
1656 #else
1657                 uint64_t q0_pcnt:32;
1658                 uint64_t reserved_32_63:32;
1659 #endif
1660         } s;
1661         struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
1662         struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
1663         struct cvmx_ipd_que0_free_page_cnt_s cn38xx;
1664         struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2;
1665         struct cvmx_ipd_que0_free_page_cnt_s cn50xx;
1666         struct cvmx_ipd_que0_free_page_cnt_s cn52xx;
1667         struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1;
1668         struct cvmx_ipd_que0_free_page_cnt_s cn56xx;
1669         struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
1670         struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
1671         struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
1672         struct cvmx_ipd_que0_free_page_cnt_s cn61xx;
1673         struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
1674         struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
1675         struct cvmx_ipd_que0_free_page_cnt_s cn66xx;
1676         struct cvmx_ipd_que0_free_page_cnt_s cn68xx;
1677         struct cvmx_ipd_que0_free_page_cnt_s cn68xxp1;
1678         struct cvmx_ipd_que0_free_page_cnt_s cnf71xx;
1679 };
1680
1681 union cvmx_ipd_red_bpid_enablex {
1682         uint64_t u64;
1683         struct cvmx_ipd_red_bpid_enablex_s {
1684 #ifdef __BIG_ENDIAN_BITFIELD
1685                 uint64_t prt_enb:64;
1686 #else
1687                 uint64_t prt_enb:64;
1688 #endif
1689         } s;
1690         struct cvmx_ipd_red_bpid_enablex_s cn68xx;
1691         struct cvmx_ipd_red_bpid_enablex_s cn68xxp1;
1692 };
1693
1694 union cvmx_ipd_red_delay {
1695         uint64_t u64;
1696         struct cvmx_ipd_red_delay_s {
1697 #ifdef __BIG_ENDIAN_BITFIELD
1698                 uint64_t reserved_28_63:36;
1699                 uint64_t prb_dly:14;
1700                 uint64_t avg_dly:14;
1701 #else
1702                 uint64_t avg_dly:14;
1703                 uint64_t prb_dly:14;
1704                 uint64_t reserved_28_63:36;
1705 #endif
1706         } s;
1707         struct cvmx_ipd_red_delay_s cn68xx;
1708         struct cvmx_ipd_red_delay_s cn68xxp1;
1709 };
1710
1711 union cvmx_ipd_red_port_enable {
1712         uint64_t u64;
1713         struct cvmx_ipd_red_port_enable_s {
1714 #ifdef __BIG_ENDIAN_BITFIELD
1715                 uint64_t prb_dly:14;
1716                 uint64_t avg_dly:14;
1717                 uint64_t prt_enb:36;
1718 #else
1719                 uint64_t prt_enb:36;
1720                 uint64_t avg_dly:14;
1721                 uint64_t prb_dly:14;
1722 #endif
1723         } s;
1724         struct cvmx_ipd_red_port_enable_s cn30xx;
1725         struct cvmx_ipd_red_port_enable_s cn31xx;
1726         struct cvmx_ipd_red_port_enable_s cn38xx;
1727         struct cvmx_ipd_red_port_enable_s cn38xxp2;
1728         struct cvmx_ipd_red_port_enable_s cn50xx;
1729         struct cvmx_ipd_red_port_enable_s cn52xx;
1730         struct cvmx_ipd_red_port_enable_s cn52xxp1;
1731         struct cvmx_ipd_red_port_enable_s cn56xx;
1732         struct cvmx_ipd_red_port_enable_s cn56xxp1;
1733         struct cvmx_ipd_red_port_enable_s cn58xx;
1734         struct cvmx_ipd_red_port_enable_s cn58xxp1;
1735         struct cvmx_ipd_red_port_enable_s cn61xx;
1736         struct cvmx_ipd_red_port_enable_s cn63xx;
1737         struct cvmx_ipd_red_port_enable_s cn63xxp1;
1738         struct cvmx_ipd_red_port_enable_s cn66xx;
1739         struct cvmx_ipd_red_port_enable_s cnf71xx;
1740 };
1741
1742 union cvmx_ipd_red_port_enable2 {
1743         uint64_t u64;
1744         struct cvmx_ipd_red_port_enable2_s {
1745 #ifdef __BIG_ENDIAN_BITFIELD
1746                 uint64_t reserved_12_63:52;
1747                 uint64_t prt_enb:12;
1748 #else
1749                 uint64_t prt_enb:12;
1750                 uint64_t reserved_12_63:52;
1751 #endif
1752         } s;
1753         struct cvmx_ipd_red_port_enable2_cn52xx {
1754 #ifdef __BIG_ENDIAN_BITFIELD
1755                 uint64_t reserved_4_63:60;
1756                 uint64_t prt_enb:4;
1757 #else
1758                 uint64_t prt_enb:4;
1759                 uint64_t reserved_4_63:60;
1760 #endif
1761         } cn52xx;
1762         struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
1763         struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
1764         struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
1765         struct cvmx_ipd_red_port_enable2_s cn61xx;
1766         struct cvmx_ipd_red_port_enable2_cn63xx {
1767 #ifdef __BIG_ENDIAN_BITFIELD
1768                 uint64_t reserved_8_63:56;
1769                 uint64_t prt_enb:8;
1770 #else
1771                 uint64_t prt_enb:8;
1772                 uint64_t reserved_8_63:56;
1773 #endif
1774         } cn63xx;
1775         struct cvmx_ipd_red_port_enable2_cn63xx cn63xxp1;
1776         struct cvmx_ipd_red_port_enable2_s cn66xx;
1777         struct cvmx_ipd_red_port_enable2_s cnf71xx;
1778 };
1779
1780 union cvmx_ipd_red_quex_param {
1781         uint64_t u64;
1782         struct cvmx_ipd_red_quex_param_s {
1783 #ifdef __BIG_ENDIAN_BITFIELD
1784                 uint64_t reserved_49_63:15;
1785                 uint64_t use_pcnt:1;
1786                 uint64_t new_con:8;
1787                 uint64_t avg_con:8;
1788                 uint64_t prb_con:32;
1789 #else
1790                 uint64_t prb_con:32;
1791                 uint64_t avg_con:8;
1792                 uint64_t new_con:8;
1793                 uint64_t use_pcnt:1;
1794                 uint64_t reserved_49_63:15;
1795 #endif
1796         } s;
1797         struct cvmx_ipd_red_quex_param_s cn30xx;
1798         struct cvmx_ipd_red_quex_param_s cn31xx;
1799         struct cvmx_ipd_red_quex_param_s cn38xx;
1800         struct cvmx_ipd_red_quex_param_s cn38xxp2;
1801         struct cvmx_ipd_red_quex_param_s cn50xx;
1802         struct cvmx_ipd_red_quex_param_s cn52xx;
1803         struct cvmx_ipd_red_quex_param_s cn52xxp1;
1804         struct cvmx_ipd_red_quex_param_s cn56xx;
1805         struct cvmx_ipd_red_quex_param_s cn56xxp1;
1806         struct cvmx_ipd_red_quex_param_s cn58xx;
1807         struct cvmx_ipd_red_quex_param_s cn58xxp1;
1808         struct cvmx_ipd_red_quex_param_s cn61xx;
1809         struct cvmx_ipd_red_quex_param_s cn63xx;
1810         struct cvmx_ipd_red_quex_param_s cn63xxp1;
1811         struct cvmx_ipd_red_quex_param_s cn66xx;
1812         struct cvmx_ipd_red_quex_param_s cn68xx;
1813         struct cvmx_ipd_red_quex_param_s cn68xxp1;
1814         struct cvmx_ipd_red_quex_param_s cnf71xx;
1815 };
1816
1817 union cvmx_ipd_req_wgt {
1818         uint64_t u64;
1819         struct cvmx_ipd_req_wgt_s {
1820 #ifdef __BIG_ENDIAN_BITFIELD
1821                 uint64_t wgt7:8;
1822                 uint64_t wgt6:8;
1823                 uint64_t wgt5:8;
1824                 uint64_t wgt4:8;
1825                 uint64_t wgt3:8;
1826                 uint64_t wgt2:8;
1827                 uint64_t wgt1:8;
1828                 uint64_t wgt0:8;
1829 #else
1830                 uint64_t wgt0:8;
1831                 uint64_t wgt1:8;
1832                 uint64_t wgt2:8;
1833                 uint64_t wgt3:8;
1834                 uint64_t wgt4:8;
1835                 uint64_t wgt5:8;
1836                 uint64_t wgt6:8;
1837                 uint64_t wgt7:8;
1838 #endif
1839         } s;
1840         struct cvmx_ipd_req_wgt_s cn68xx;
1841 };
1842
1843 union cvmx_ipd_sub_port_bp_page_cnt {
1844         uint64_t u64;
1845         struct cvmx_ipd_sub_port_bp_page_cnt_s {
1846 #ifdef __BIG_ENDIAN_BITFIELD
1847                 uint64_t reserved_31_63:33;
1848                 uint64_t port:6;
1849                 uint64_t page_cnt:25;
1850 #else
1851                 uint64_t page_cnt:25;
1852                 uint64_t port:6;
1853                 uint64_t reserved_31_63:33;
1854 #endif
1855         } s;
1856         struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
1857         struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
1858         struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx;
1859         struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2;
1860         struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx;
1861         struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx;
1862         struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1;
1863         struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx;
1864         struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
1865         struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
1866         struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
1867         struct cvmx_ipd_sub_port_bp_page_cnt_s cn61xx;
1868         struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
1869         struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
1870         struct cvmx_ipd_sub_port_bp_page_cnt_s cn66xx;
1871         struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xx;
1872         struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xxp1;
1873         struct cvmx_ipd_sub_port_bp_page_cnt_s cnf71xx;
1874 };
1875
1876 union cvmx_ipd_sub_port_fcs {
1877         uint64_t u64;
1878         struct cvmx_ipd_sub_port_fcs_s {
1879 #ifdef __BIG_ENDIAN_BITFIELD
1880                 uint64_t reserved_40_63:24;
1881                 uint64_t port_bit2:4;
1882                 uint64_t reserved_32_35:4;
1883                 uint64_t port_bit:32;
1884 #else
1885                 uint64_t port_bit:32;
1886                 uint64_t reserved_32_35:4;
1887                 uint64_t port_bit2:4;
1888                 uint64_t reserved_40_63:24;
1889 #endif
1890         } s;
1891         struct cvmx_ipd_sub_port_fcs_cn30xx {
1892 #ifdef __BIG_ENDIAN_BITFIELD
1893                 uint64_t reserved_3_63:61;
1894                 uint64_t port_bit:3;
1895 #else
1896                 uint64_t port_bit:3;
1897                 uint64_t reserved_3_63:61;
1898 #endif
1899         } cn30xx;
1900         struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
1901         struct cvmx_ipd_sub_port_fcs_cn38xx {
1902 #ifdef __BIG_ENDIAN_BITFIELD
1903                 uint64_t reserved_32_63:32;
1904                 uint64_t port_bit:32;
1905 #else
1906                 uint64_t port_bit:32;
1907                 uint64_t reserved_32_63:32;
1908 #endif
1909         } cn38xx;
1910         struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
1911         struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
1912         struct cvmx_ipd_sub_port_fcs_s cn52xx;
1913         struct cvmx_ipd_sub_port_fcs_s cn52xxp1;
1914         struct cvmx_ipd_sub_port_fcs_s cn56xx;
1915         struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
1916         struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
1917         struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
1918         struct cvmx_ipd_sub_port_fcs_s cn61xx;
1919         struct cvmx_ipd_sub_port_fcs_s cn63xx;
1920         struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
1921         struct cvmx_ipd_sub_port_fcs_s cn66xx;
1922         struct cvmx_ipd_sub_port_fcs_s cnf71xx;
1923 };
1924
1925 union cvmx_ipd_sub_port_qos_cnt {
1926         uint64_t u64;
1927         struct cvmx_ipd_sub_port_qos_cnt_s {
1928 #ifdef __BIG_ENDIAN_BITFIELD
1929                 uint64_t reserved_41_63:23;
1930                 uint64_t port_qos:9;
1931                 uint64_t cnt:32;
1932 #else
1933                 uint64_t cnt:32;
1934                 uint64_t port_qos:9;
1935                 uint64_t reserved_41_63:23;
1936 #endif
1937         } s;
1938         struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
1939         struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
1940         struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
1941         struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
1942         struct cvmx_ipd_sub_port_qos_cnt_s cn61xx;
1943         struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
1944         struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
1945         struct cvmx_ipd_sub_port_qos_cnt_s cn66xx;
1946         struct cvmx_ipd_sub_port_qos_cnt_s cn68xx;
1947         struct cvmx_ipd_sub_port_qos_cnt_s cn68xxp1;
1948         struct cvmx_ipd_sub_port_qos_cnt_s cnf71xx;
1949 };
1950
1951 union cvmx_ipd_wqe_fpa_queue {
1952         uint64_t u64;
1953         struct cvmx_ipd_wqe_fpa_queue_s {
1954 #ifdef __BIG_ENDIAN_BITFIELD
1955                 uint64_t reserved_3_63:61;
1956                 uint64_t wqe_pool:3;
1957 #else
1958                 uint64_t wqe_pool:3;
1959                 uint64_t reserved_3_63:61;
1960 #endif
1961         } s;
1962         struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
1963         struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
1964         struct cvmx_ipd_wqe_fpa_queue_s cn38xx;
1965         struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2;
1966         struct cvmx_ipd_wqe_fpa_queue_s cn50xx;
1967         struct cvmx_ipd_wqe_fpa_queue_s cn52xx;
1968         struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1;
1969         struct cvmx_ipd_wqe_fpa_queue_s cn56xx;
1970         struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
1971         struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
1972         struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
1973         struct cvmx_ipd_wqe_fpa_queue_s cn61xx;
1974         struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
1975         struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
1976         struct cvmx_ipd_wqe_fpa_queue_s cn66xx;
1977         struct cvmx_ipd_wqe_fpa_queue_s cn68xx;
1978         struct cvmx_ipd_wqe_fpa_queue_s cn68xxp1;
1979         struct cvmx_ipd_wqe_fpa_queue_s cnf71xx;
1980 };
1981
1982 union cvmx_ipd_wqe_ptr_valid {
1983         uint64_t u64;
1984         struct cvmx_ipd_wqe_ptr_valid_s {
1985 #ifdef __BIG_ENDIAN_BITFIELD
1986                 uint64_t reserved_29_63:35;
1987                 uint64_t ptr:29;
1988 #else
1989                 uint64_t ptr:29;
1990                 uint64_t reserved_29_63:35;
1991 #endif
1992         } s;
1993         struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
1994         struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
1995         struct cvmx_ipd_wqe_ptr_valid_s cn38xx;
1996         struct cvmx_ipd_wqe_ptr_valid_s cn50xx;
1997         struct cvmx_ipd_wqe_ptr_valid_s cn52xx;
1998         struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1;
1999         struct cvmx_ipd_wqe_ptr_valid_s cn56xx;
2000         struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
2001         struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
2002         struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
2003         struct cvmx_ipd_wqe_ptr_valid_s cn61xx;
2004         struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
2005         struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;
2006         struct cvmx_ipd_wqe_ptr_valid_s cn66xx;
2007         struct cvmx_ipd_wqe_ptr_valid_s cnf71xx;
2008 };
2009
2010 #endif