1*4882a593Smuzhiyun /***********************license start***************
2*4882a593Smuzhiyun * Author: Cavium Networks
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * Contact: support@caviumnetworks.com
5*4882a593Smuzhiyun * This file is part of the OCTEON SDK
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun * Copyright (c) 2003-2012 Cavium Networks
8*4882a593Smuzhiyun *
9*4882a593Smuzhiyun * This file is free software; you can redistribute it and/or modify
10*4882a593Smuzhiyun * it under the terms of the GNU General Public License, Version 2, as
11*4882a593Smuzhiyun * published by the Free Software Foundation.
12*4882a593Smuzhiyun *
13*4882a593Smuzhiyun * This file is distributed in the hope that it will be useful, but
14*4882a593Smuzhiyun * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15*4882a593Smuzhiyun * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16*4882a593Smuzhiyun * NONINFRINGEMENT. See the GNU General Public License for more
17*4882a593Smuzhiyun * details.
18*4882a593Smuzhiyun *
19*4882a593Smuzhiyun * You should have received a copy of the GNU General Public License
20*4882a593Smuzhiyun * along with this file; if not, write to the Free Software
21*4882a593Smuzhiyun * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22*4882a593Smuzhiyun * or visit http://www.gnu.org/licenses/.
23*4882a593Smuzhiyun *
24*4882a593Smuzhiyun * This file may also be available under a different license from Cavium.
25*4882a593Smuzhiyun * Contact Cavium Networks for more information
26*4882a593Smuzhiyun ***********************license end**************************************/
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun #ifndef __CVMX_DPI_DEFS_H__
29*4882a593Smuzhiyun #define __CVMX_DPI_DEFS_H__
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun #define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull))
32*4882a593Smuzhiyun #define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull))
33*4882a593Smuzhiyun #define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8)
34*4882a593Smuzhiyun #define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8)
35*4882a593Smuzhiyun #define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8)
36*4882a593Smuzhiyun #define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8)
37*4882a593Smuzhiyun #define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8)
38*4882a593Smuzhiyun #define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8)
39*4882a593Smuzhiyun #define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8)
40*4882a593Smuzhiyun #define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8)
41*4882a593Smuzhiyun #define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull))
42*4882a593Smuzhiyun #define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8)
43*4882a593Smuzhiyun #define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8)
44*4882a593Smuzhiyun #define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8)
45*4882a593Smuzhiyun #define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull))
46*4882a593Smuzhiyun #define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull))
47*4882a593Smuzhiyun #define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull))
48*4882a593Smuzhiyun #define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull))
49*4882a593Smuzhiyun #define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull))
50*4882a593Smuzhiyun #define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull))
51*4882a593Smuzhiyun #define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull))
52*4882a593Smuzhiyun #define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull))
53*4882a593Smuzhiyun #define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull))
54*4882a593Smuzhiyun #define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull))
55*4882a593Smuzhiyun #define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull))
56*4882a593Smuzhiyun #define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull))
57*4882a593Smuzhiyun #define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8)
CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)58*4882a593Smuzhiyun static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)
59*4882a593Smuzhiyun {
60*4882a593Smuzhiyun switch (cvmx_get_octeon_family()) {
61*4882a593Smuzhiyun case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
62*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
63*4882a593Smuzhiyun case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
64*4882a593Smuzhiyun case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
65*4882a593Smuzhiyun case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1))
68*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2))
71*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
72*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
73*4882a593Smuzhiyun case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
74*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
75*4882a593Smuzhiyun }
76*4882a593Smuzhiyun return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
77*4882a593Smuzhiyun }
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun #define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun union cvmx_dpi_bist_status {
82*4882a593Smuzhiyun uint64_t u64;
83*4882a593Smuzhiyun struct cvmx_dpi_bist_status_s {
84*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
85*4882a593Smuzhiyun uint64_t reserved_47_63:17;
86*4882a593Smuzhiyun uint64_t bist:47;
87*4882a593Smuzhiyun #else
88*4882a593Smuzhiyun uint64_t bist:47;
89*4882a593Smuzhiyun uint64_t reserved_47_63:17;
90*4882a593Smuzhiyun #endif
91*4882a593Smuzhiyun } s;
92*4882a593Smuzhiyun struct cvmx_dpi_bist_status_cn63xx {
93*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
94*4882a593Smuzhiyun uint64_t reserved_45_63:19;
95*4882a593Smuzhiyun uint64_t bist:45;
96*4882a593Smuzhiyun #else
97*4882a593Smuzhiyun uint64_t bist:45;
98*4882a593Smuzhiyun uint64_t reserved_45_63:19;
99*4882a593Smuzhiyun #endif
100*4882a593Smuzhiyun } cn63xx;
101*4882a593Smuzhiyun struct cvmx_dpi_bist_status_cn63xxp1 {
102*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
103*4882a593Smuzhiyun uint64_t reserved_37_63:27;
104*4882a593Smuzhiyun uint64_t bist:37;
105*4882a593Smuzhiyun #else
106*4882a593Smuzhiyun uint64_t bist:37;
107*4882a593Smuzhiyun uint64_t reserved_37_63:27;
108*4882a593Smuzhiyun #endif
109*4882a593Smuzhiyun } cn63xxp1;
110*4882a593Smuzhiyun };
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun union cvmx_dpi_ctl {
113*4882a593Smuzhiyun uint64_t u64;
114*4882a593Smuzhiyun struct cvmx_dpi_ctl_s {
115*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
116*4882a593Smuzhiyun uint64_t reserved_2_63:62;
117*4882a593Smuzhiyun uint64_t clk:1;
118*4882a593Smuzhiyun uint64_t en:1;
119*4882a593Smuzhiyun #else
120*4882a593Smuzhiyun uint64_t en:1;
121*4882a593Smuzhiyun uint64_t clk:1;
122*4882a593Smuzhiyun uint64_t reserved_2_63:62;
123*4882a593Smuzhiyun #endif
124*4882a593Smuzhiyun } s;
125*4882a593Smuzhiyun struct cvmx_dpi_ctl_cn61xx {
126*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
127*4882a593Smuzhiyun uint64_t reserved_1_63:63;
128*4882a593Smuzhiyun uint64_t en:1;
129*4882a593Smuzhiyun #else
130*4882a593Smuzhiyun uint64_t en:1;
131*4882a593Smuzhiyun uint64_t reserved_1_63:63;
132*4882a593Smuzhiyun #endif
133*4882a593Smuzhiyun } cn61xx;
134*4882a593Smuzhiyun };
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun union cvmx_dpi_dmax_counts {
137*4882a593Smuzhiyun uint64_t u64;
138*4882a593Smuzhiyun struct cvmx_dpi_dmax_counts_s {
139*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
140*4882a593Smuzhiyun uint64_t reserved_39_63:25;
141*4882a593Smuzhiyun uint64_t fcnt:7;
142*4882a593Smuzhiyun uint64_t dbell:32;
143*4882a593Smuzhiyun #else
144*4882a593Smuzhiyun uint64_t dbell:32;
145*4882a593Smuzhiyun uint64_t fcnt:7;
146*4882a593Smuzhiyun uint64_t reserved_39_63:25;
147*4882a593Smuzhiyun #endif
148*4882a593Smuzhiyun } s;
149*4882a593Smuzhiyun };
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun union cvmx_dpi_dmax_dbell {
152*4882a593Smuzhiyun uint64_t u64;
153*4882a593Smuzhiyun struct cvmx_dpi_dmax_dbell_s {
154*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
155*4882a593Smuzhiyun uint64_t reserved_16_63:48;
156*4882a593Smuzhiyun uint64_t dbell:16;
157*4882a593Smuzhiyun #else
158*4882a593Smuzhiyun uint64_t dbell:16;
159*4882a593Smuzhiyun uint64_t reserved_16_63:48;
160*4882a593Smuzhiyun #endif
161*4882a593Smuzhiyun } s;
162*4882a593Smuzhiyun };
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun union cvmx_dpi_dmax_err_rsp_status {
165*4882a593Smuzhiyun uint64_t u64;
166*4882a593Smuzhiyun struct cvmx_dpi_dmax_err_rsp_status_s {
167*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
168*4882a593Smuzhiyun uint64_t reserved_6_63:58;
169*4882a593Smuzhiyun uint64_t status:6;
170*4882a593Smuzhiyun #else
171*4882a593Smuzhiyun uint64_t status:6;
172*4882a593Smuzhiyun uint64_t reserved_6_63:58;
173*4882a593Smuzhiyun #endif
174*4882a593Smuzhiyun } s;
175*4882a593Smuzhiyun };
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun union cvmx_dpi_dmax_ibuff_saddr {
178*4882a593Smuzhiyun uint64_t u64;
179*4882a593Smuzhiyun struct cvmx_dpi_dmax_ibuff_saddr_s {
180*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
181*4882a593Smuzhiyun uint64_t reserved_62_63:2;
182*4882a593Smuzhiyun uint64_t csize:14;
183*4882a593Smuzhiyun uint64_t reserved_41_47:7;
184*4882a593Smuzhiyun uint64_t idle:1;
185*4882a593Smuzhiyun uint64_t saddr:33;
186*4882a593Smuzhiyun uint64_t reserved_0_6:7;
187*4882a593Smuzhiyun #else
188*4882a593Smuzhiyun uint64_t reserved_0_6:7;
189*4882a593Smuzhiyun uint64_t saddr:33;
190*4882a593Smuzhiyun uint64_t idle:1;
191*4882a593Smuzhiyun uint64_t reserved_41_47:7;
192*4882a593Smuzhiyun uint64_t csize:14;
193*4882a593Smuzhiyun uint64_t reserved_62_63:2;
194*4882a593Smuzhiyun #endif
195*4882a593Smuzhiyun } s;
196*4882a593Smuzhiyun struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
197*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
198*4882a593Smuzhiyun uint64_t reserved_62_63:2;
199*4882a593Smuzhiyun uint64_t csize:14;
200*4882a593Smuzhiyun uint64_t reserved_41_47:7;
201*4882a593Smuzhiyun uint64_t idle:1;
202*4882a593Smuzhiyun uint64_t reserved_36_39:4;
203*4882a593Smuzhiyun uint64_t saddr:29;
204*4882a593Smuzhiyun uint64_t reserved_0_6:7;
205*4882a593Smuzhiyun #else
206*4882a593Smuzhiyun uint64_t reserved_0_6:7;
207*4882a593Smuzhiyun uint64_t saddr:29;
208*4882a593Smuzhiyun uint64_t reserved_36_39:4;
209*4882a593Smuzhiyun uint64_t idle:1;
210*4882a593Smuzhiyun uint64_t reserved_41_47:7;
211*4882a593Smuzhiyun uint64_t csize:14;
212*4882a593Smuzhiyun uint64_t reserved_62_63:2;
213*4882a593Smuzhiyun #endif
214*4882a593Smuzhiyun } cn61xx;
215*4882a593Smuzhiyun };
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun union cvmx_dpi_dmax_iflight {
218*4882a593Smuzhiyun uint64_t u64;
219*4882a593Smuzhiyun struct cvmx_dpi_dmax_iflight_s {
220*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
221*4882a593Smuzhiyun uint64_t reserved_3_63:61;
222*4882a593Smuzhiyun uint64_t cnt:3;
223*4882a593Smuzhiyun #else
224*4882a593Smuzhiyun uint64_t cnt:3;
225*4882a593Smuzhiyun uint64_t reserved_3_63:61;
226*4882a593Smuzhiyun #endif
227*4882a593Smuzhiyun } s;
228*4882a593Smuzhiyun };
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun union cvmx_dpi_dmax_naddr {
231*4882a593Smuzhiyun uint64_t u64;
232*4882a593Smuzhiyun struct cvmx_dpi_dmax_naddr_s {
233*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
234*4882a593Smuzhiyun uint64_t reserved_40_63:24;
235*4882a593Smuzhiyun uint64_t addr:40;
236*4882a593Smuzhiyun #else
237*4882a593Smuzhiyun uint64_t addr:40;
238*4882a593Smuzhiyun uint64_t reserved_40_63:24;
239*4882a593Smuzhiyun #endif
240*4882a593Smuzhiyun } s;
241*4882a593Smuzhiyun struct cvmx_dpi_dmax_naddr_cn61xx {
242*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
243*4882a593Smuzhiyun uint64_t reserved_36_63:28;
244*4882a593Smuzhiyun uint64_t addr:36;
245*4882a593Smuzhiyun #else
246*4882a593Smuzhiyun uint64_t addr:36;
247*4882a593Smuzhiyun uint64_t reserved_36_63:28;
248*4882a593Smuzhiyun #endif
249*4882a593Smuzhiyun } cn61xx;
250*4882a593Smuzhiyun };
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun union cvmx_dpi_dmax_reqbnk0 {
253*4882a593Smuzhiyun uint64_t u64;
254*4882a593Smuzhiyun struct cvmx_dpi_dmax_reqbnk0_s {
255*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
256*4882a593Smuzhiyun uint64_t state:64;
257*4882a593Smuzhiyun #else
258*4882a593Smuzhiyun uint64_t state:64;
259*4882a593Smuzhiyun #endif
260*4882a593Smuzhiyun } s;
261*4882a593Smuzhiyun };
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun union cvmx_dpi_dmax_reqbnk1 {
264*4882a593Smuzhiyun uint64_t u64;
265*4882a593Smuzhiyun struct cvmx_dpi_dmax_reqbnk1_s {
266*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
267*4882a593Smuzhiyun uint64_t state:64;
268*4882a593Smuzhiyun #else
269*4882a593Smuzhiyun uint64_t state:64;
270*4882a593Smuzhiyun #endif
271*4882a593Smuzhiyun } s;
272*4882a593Smuzhiyun };
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun union cvmx_dpi_dma_control {
275*4882a593Smuzhiyun uint64_t u64;
276*4882a593Smuzhiyun struct cvmx_dpi_dma_control_s {
277*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
278*4882a593Smuzhiyun uint64_t reserved_62_63:2;
279*4882a593Smuzhiyun uint64_t dici_mode:1;
280*4882a593Smuzhiyun uint64_t pkt_en1:1;
281*4882a593Smuzhiyun uint64_t ffp_dis:1;
282*4882a593Smuzhiyun uint64_t commit_mode:1;
283*4882a593Smuzhiyun uint64_t pkt_hp:1;
284*4882a593Smuzhiyun uint64_t pkt_en:1;
285*4882a593Smuzhiyun uint64_t reserved_54_55:2;
286*4882a593Smuzhiyun uint64_t dma_enb:6;
287*4882a593Smuzhiyun uint64_t reserved_34_47:14;
288*4882a593Smuzhiyun uint64_t b0_lend:1;
289*4882a593Smuzhiyun uint64_t dwb_denb:1;
290*4882a593Smuzhiyun uint64_t dwb_ichk:9;
291*4882a593Smuzhiyun uint64_t fpa_que:3;
292*4882a593Smuzhiyun uint64_t o_add1:1;
293*4882a593Smuzhiyun uint64_t o_ro:1;
294*4882a593Smuzhiyun uint64_t o_ns:1;
295*4882a593Smuzhiyun uint64_t o_es:2;
296*4882a593Smuzhiyun uint64_t o_mode:1;
297*4882a593Smuzhiyun uint64_t reserved_0_13:14;
298*4882a593Smuzhiyun #else
299*4882a593Smuzhiyun uint64_t reserved_0_13:14;
300*4882a593Smuzhiyun uint64_t o_mode:1;
301*4882a593Smuzhiyun uint64_t o_es:2;
302*4882a593Smuzhiyun uint64_t o_ns:1;
303*4882a593Smuzhiyun uint64_t o_ro:1;
304*4882a593Smuzhiyun uint64_t o_add1:1;
305*4882a593Smuzhiyun uint64_t fpa_que:3;
306*4882a593Smuzhiyun uint64_t dwb_ichk:9;
307*4882a593Smuzhiyun uint64_t dwb_denb:1;
308*4882a593Smuzhiyun uint64_t b0_lend:1;
309*4882a593Smuzhiyun uint64_t reserved_34_47:14;
310*4882a593Smuzhiyun uint64_t dma_enb:6;
311*4882a593Smuzhiyun uint64_t reserved_54_55:2;
312*4882a593Smuzhiyun uint64_t pkt_en:1;
313*4882a593Smuzhiyun uint64_t pkt_hp:1;
314*4882a593Smuzhiyun uint64_t commit_mode:1;
315*4882a593Smuzhiyun uint64_t ffp_dis:1;
316*4882a593Smuzhiyun uint64_t pkt_en1:1;
317*4882a593Smuzhiyun uint64_t dici_mode:1;
318*4882a593Smuzhiyun uint64_t reserved_62_63:2;
319*4882a593Smuzhiyun #endif
320*4882a593Smuzhiyun } s;
321*4882a593Smuzhiyun struct cvmx_dpi_dma_control_cn63xx {
322*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
323*4882a593Smuzhiyun uint64_t reserved_61_63:3;
324*4882a593Smuzhiyun uint64_t pkt_en1:1;
325*4882a593Smuzhiyun uint64_t ffp_dis:1;
326*4882a593Smuzhiyun uint64_t commit_mode:1;
327*4882a593Smuzhiyun uint64_t pkt_hp:1;
328*4882a593Smuzhiyun uint64_t pkt_en:1;
329*4882a593Smuzhiyun uint64_t reserved_54_55:2;
330*4882a593Smuzhiyun uint64_t dma_enb:6;
331*4882a593Smuzhiyun uint64_t reserved_34_47:14;
332*4882a593Smuzhiyun uint64_t b0_lend:1;
333*4882a593Smuzhiyun uint64_t dwb_denb:1;
334*4882a593Smuzhiyun uint64_t dwb_ichk:9;
335*4882a593Smuzhiyun uint64_t fpa_que:3;
336*4882a593Smuzhiyun uint64_t o_add1:1;
337*4882a593Smuzhiyun uint64_t o_ro:1;
338*4882a593Smuzhiyun uint64_t o_ns:1;
339*4882a593Smuzhiyun uint64_t o_es:2;
340*4882a593Smuzhiyun uint64_t o_mode:1;
341*4882a593Smuzhiyun uint64_t reserved_0_13:14;
342*4882a593Smuzhiyun #else
343*4882a593Smuzhiyun uint64_t reserved_0_13:14;
344*4882a593Smuzhiyun uint64_t o_mode:1;
345*4882a593Smuzhiyun uint64_t o_es:2;
346*4882a593Smuzhiyun uint64_t o_ns:1;
347*4882a593Smuzhiyun uint64_t o_ro:1;
348*4882a593Smuzhiyun uint64_t o_add1:1;
349*4882a593Smuzhiyun uint64_t fpa_que:3;
350*4882a593Smuzhiyun uint64_t dwb_ichk:9;
351*4882a593Smuzhiyun uint64_t dwb_denb:1;
352*4882a593Smuzhiyun uint64_t b0_lend:1;
353*4882a593Smuzhiyun uint64_t reserved_34_47:14;
354*4882a593Smuzhiyun uint64_t dma_enb:6;
355*4882a593Smuzhiyun uint64_t reserved_54_55:2;
356*4882a593Smuzhiyun uint64_t pkt_en:1;
357*4882a593Smuzhiyun uint64_t pkt_hp:1;
358*4882a593Smuzhiyun uint64_t commit_mode:1;
359*4882a593Smuzhiyun uint64_t ffp_dis:1;
360*4882a593Smuzhiyun uint64_t pkt_en1:1;
361*4882a593Smuzhiyun uint64_t reserved_61_63:3;
362*4882a593Smuzhiyun #endif
363*4882a593Smuzhiyun } cn63xx;
364*4882a593Smuzhiyun struct cvmx_dpi_dma_control_cn63xxp1 {
365*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
366*4882a593Smuzhiyun uint64_t reserved_59_63:5;
367*4882a593Smuzhiyun uint64_t commit_mode:1;
368*4882a593Smuzhiyun uint64_t pkt_hp:1;
369*4882a593Smuzhiyun uint64_t pkt_en:1;
370*4882a593Smuzhiyun uint64_t reserved_54_55:2;
371*4882a593Smuzhiyun uint64_t dma_enb:6;
372*4882a593Smuzhiyun uint64_t reserved_34_47:14;
373*4882a593Smuzhiyun uint64_t b0_lend:1;
374*4882a593Smuzhiyun uint64_t dwb_denb:1;
375*4882a593Smuzhiyun uint64_t dwb_ichk:9;
376*4882a593Smuzhiyun uint64_t fpa_que:3;
377*4882a593Smuzhiyun uint64_t o_add1:1;
378*4882a593Smuzhiyun uint64_t o_ro:1;
379*4882a593Smuzhiyun uint64_t o_ns:1;
380*4882a593Smuzhiyun uint64_t o_es:2;
381*4882a593Smuzhiyun uint64_t o_mode:1;
382*4882a593Smuzhiyun uint64_t reserved_0_13:14;
383*4882a593Smuzhiyun #else
384*4882a593Smuzhiyun uint64_t reserved_0_13:14;
385*4882a593Smuzhiyun uint64_t o_mode:1;
386*4882a593Smuzhiyun uint64_t o_es:2;
387*4882a593Smuzhiyun uint64_t o_ns:1;
388*4882a593Smuzhiyun uint64_t o_ro:1;
389*4882a593Smuzhiyun uint64_t o_add1:1;
390*4882a593Smuzhiyun uint64_t fpa_que:3;
391*4882a593Smuzhiyun uint64_t dwb_ichk:9;
392*4882a593Smuzhiyun uint64_t dwb_denb:1;
393*4882a593Smuzhiyun uint64_t b0_lend:1;
394*4882a593Smuzhiyun uint64_t reserved_34_47:14;
395*4882a593Smuzhiyun uint64_t dma_enb:6;
396*4882a593Smuzhiyun uint64_t reserved_54_55:2;
397*4882a593Smuzhiyun uint64_t pkt_en:1;
398*4882a593Smuzhiyun uint64_t pkt_hp:1;
399*4882a593Smuzhiyun uint64_t commit_mode:1;
400*4882a593Smuzhiyun uint64_t reserved_59_63:5;
401*4882a593Smuzhiyun #endif
402*4882a593Smuzhiyun } cn63xxp1;
403*4882a593Smuzhiyun };
404*4882a593Smuzhiyun
405*4882a593Smuzhiyun union cvmx_dpi_dma_engx_en {
406*4882a593Smuzhiyun uint64_t u64;
407*4882a593Smuzhiyun struct cvmx_dpi_dma_engx_en_s {
408*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
409*4882a593Smuzhiyun uint64_t reserved_8_63:56;
410*4882a593Smuzhiyun uint64_t qen:8;
411*4882a593Smuzhiyun #else
412*4882a593Smuzhiyun uint64_t qen:8;
413*4882a593Smuzhiyun uint64_t reserved_8_63:56;
414*4882a593Smuzhiyun #endif
415*4882a593Smuzhiyun } s;
416*4882a593Smuzhiyun };
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun union cvmx_dpi_dma_ppx_cnt {
419*4882a593Smuzhiyun uint64_t u64;
420*4882a593Smuzhiyun struct cvmx_dpi_dma_ppx_cnt_s {
421*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
422*4882a593Smuzhiyun uint64_t reserved_16_63:48;
423*4882a593Smuzhiyun uint64_t cnt:16;
424*4882a593Smuzhiyun #else
425*4882a593Smuzhiyun uint64_t cnt:16;
426*4882a593Smuzhiyun uint64_t reserved_16_63:48;
427*4882a593Smuzhiyun #endif
428*4882a593Smuzhiyun } s;
429*4882a593Smuzhiyun };
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun union cvmx_dpi_engx_buf {
432*4882a593Smuzhiyun uint64_t u64;
433*4882a593Smuzhiyun struct cvmx_dpi_engx_buf_s {
434*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
435*4882a593Smuzhiyun uint64_t reserved_37_63:27;
436*4882a593Smuzhiyun uint64_t compblks:5;
437*4882a593Smuzhiyun uint64_t reserved_9_31:23;
438*4882a593Smuzhiyun uint64_t base:5;
439*4882a593Smuzhiyun uint64_t blks:4;
440*4882a593Smuzhiyun #else
441*4882a593Smuzhiyun uint64_t blks:4;
442*4882a593Smuzhiyun uint64_t base:5;
443*4882a593Smuzhiyun uint64_t reserved_9_31:23;
444*4882a593Smuzhiyun uint64_t compblks:5;
445*4882a593Smuzhiyun uint64_t reserved_37_63:27;
446*4882a593Smuzhiyun #endif
447*4882a593Smuzhiyun } s;
448*4882a593Smuzhiyun struct cvmx_dpi_engx_buf_cn63xx {
449*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
450*4882a593Smuzhiyun uint64_t reserved_8_63:56;
451*4882a593Smuzhiyun uint64_t base:4;
452*4882a593Smuzhiyun uint64_t blks:4;
453*4882a593Smuzhiyun #else
454*4882a593Smuzhiyun uint64_t blks:4;
455*4882a593Smuzhiyun uint64_t base:4;
456*4882a593Smuzhiyun uint64_t reserved_8_63:56;
457*4882a593Smuzhiyun #endif
458*4882a593Smuzhiyun } cn63xx;
459*4882a593Smuzhiyun };
460*4882a593Smuzhiyun
461*4882a593Smuzhiyun union cvmx_dpi_info_reg {
462*4882a593Smuzhiyun uint64_t u64;
463*4882a593Smuzhiyun struct cvmx_dpi_info_reg_s {
464*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
465*4882a593Smuzhiyun uint64_t reserved_8_63:56;
466*4882a593Smuzhiyun uint64_t ffp:4;
467*4882a593Smuzhiyun uint64_t reserved_2_3:2;
468*4882a593Smuzhiyun uint64_t ncb:1;
469*4882a593Smuzhiyun uint64_t rsl:1;
470*4882a593Smuzhiyun #else
471*4882a593Smuzhiyun uint64_t rsl:1;
472*4882a593Smuzhiyun uint64_t ncb:1;
473*4882a593Smuzhiyun uint64_t reserved_2_3:2;
474*4882a593Smuzhiyun uint64_t ffp:4;
475*4882a593Smuzhiyun uint64_t reserved_8_63:56;
476*4882a593Smuzhiyun #endif
477*4882a593Smuzhiyun } s;
478*4882a593Smuzhiyun struct cvmx_dpi_info_reg_cn63xxp1 {
479*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
480*4882a593Smuzhiyun uint64_t reserved_2_63:62;
481*4882a593Smuzhiyun uint64_t ncb:1;
482*4882a593Smuzhiyun uint64_t rsl:1;
483*4882a593Smuzhiyun #else
484*4882a593Smuzhiyun uint64_t rsl:1;
485*4882a593Smuzhiyun uint64_t ncb:1;
486*4882a593Smuzhiyun uint64_t reserved_2_63:62;
487*4882a593Smuzhiyun #endif
488*4882a593Smuzhiyun } cn63xxp1;
489*4882a593Smuzhiyun };
490*4882a593Smuzhiyun
491*4882a593Smuzhiyun union cvmx_dpi_int_en {
492*4882a593Smuzhiyun uint64_t u64;
493*4882a593Smuzhiyun struct cvmx_dpi_int_en_s {
494*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
495*4882a593Smuzhiyun uint64_t reserved_28_63:36;
496*4882a593Smuzhiyun uint64_t sprt3_rst:1;
497*4882a593Smuzhiyun uint64_t sprt2_rst:1;
498*4882a593Smuzhiyun uint64_t sprt1_rst:1;
499*4882a593Smuzhiyun uint64_t sprt0_rst:1;
500*4882a593Smuzhiyun uint64_t reserved_23_23:1;
501*4882a593Smuzhiyun uint64_t req_badfil:1;
502*4882a593Smuzhiyun uint64_t req_inull:1;
503*4882a593Smuzhiyun uint64_t req_anull:1;
504*4882a593Smuzhiyun uint64_t req_undflw:1;
505*4882a593Smuzhiyun uint64_t req_ovrflw:1;
506*4882a593Smuzhiyun uint64_t req_badlen:1;
507*4882a593Smuzhiyun uint64_t req_badadr:1;
508*4882a593Smuzhiyun uint64_t dmadbo:8;
509*4882a593Smuzhiyun uint64_t reserved_2_7:6;
510*4882a593Smuzhiyun uint64_t nfovr:1;
511*4882a593Smuzhiyun uint64_t nderr:1;
512*4882a593Smuzhiyun #else
513*4882a593Smuzhiyun uint64_t nderr:1;
514*4882a593Smuzhiyun uint64_t nfovr:1;
515*4882a593Smuzhiyun uint64_t reserved_2_7:6;
516*4882a593Smuzhiyun uint64_t dmadbo:8;
517*4882a593Smuzhiyun uint64_t req_badadr:1;
518*4882a593Smuzhiyun uint64_t req_badlen:1;
519*4882a593Smuzhiyun uint64_t req_ovrflw:1;
520*4882a593Smuzhiyun uint64_t req_undflw:1;
521*4882a593Smuzhiyun uint64_t req_anull:1;
522*4882a593Smuzhiyun uint64_t req_inull:1;
523*4882a593Smuzhiyun uint64_t req_badfil:1;
524*4882a593Smuzhiyun uint64_t reserved_23_23:1;
525*4882a593Smuzhiyun uint64_t sprt0_rst:1;
526*4882a593Smuzhiyun uint64_t sprt1_rst:1;
527*4882a593Smuzhiyun uint64_t sprt2_rst:1;
528*4882a593Smuzhiyun uint64_t sprt3_rst:1;
529*4882a593Smuzhiyun uint64_t reserved_28_63:36;
530*4882a593Smuzhiyun #endif
531*4882a593Smuzhiyun } s;
532*4882a593Smuzhiyun struct cvmx_dpi_int_en_cn63xx {
533*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
534*4882a593Smuzhiyun uint64_t reserved_26_63:38;
535*4882a593Smuzhiyun uint64_t sprt1_rst:1;
536*4882a593Smuzhiyun uint64_t sprt0_rst:1;
537*4882a593Smuzhiyun uint64_t reserved_23_23:1;
538*4882a593Smuzhiyun uint64_t req_badfil:1;
539*4882a593Smuzhiyun uint64_t req_inull:1;
540*4882a593Smuzhiyun uint64_t req_anull:1;
541*4882a593Smuzhiyun uint64_t req_undflw:1;
542*4882a593Smuzhiyun uint64_t req_ovrflw:1;
543*4882a593Smuzhiyun uint64_t req_badlen:1;
544*4882a593Smuzhiyun uint64_t req_badadr:1;
545*4882a593Smuzhiyun uint64_t dmadbo:8;
546*4882a593Smuzhiyun uint64_t reserved_2_7:6;
547*4882a593Smuzhiyun uint64_t nfovr:1;
548*4882a593Smuzhiyun uint64_t nderr:1;
549*4882a593Smuzhiyun #else
550*4882a593Smuzhiyun uint64_t nderr:1;
551*4882a593Smuzhiyun uint64_t nfovr:1;
552*4882a593Smuzhiyun uint64_t reserved_2_7:6;
553*4882a593Smuzhiyun uint64_t dmadbo:8;
554*4882a593Smuzhiyun uint64_t req_badadr:1;
555*4882a593Smuzhiyun uint64_t req_badlen:1;
556*4882a593Smuzhiyun uint64_t req_ovrflw:1;
557*4882a593Smuzhiyun uint64_t req_undflw:1;
558*4882a593Smuzhiyun uint64_t req_anull:1;
559*4882a593Smuzhiyun uint64_t req_inull:1;
560*4882a593Smuzhiyun uint64_t req_badfil:1;
561*4882a593Smuzhiyun uint64_t reserved_23_23:1;
562*4882a593Smuzhiyun uint64_t sprt0_rst:1;
563*4882a593Smuzhiyun uint64_t sprt1_rst:1;
564*4882a593Smuzhiyun uint64_t reserved_26_63:38;
565*4882a593Smuzhiyun #endif
566*4882a593Smuzhiyun } cn63xx;
567*4882a593Smuzhiyun };
568*4882a593Smuzhiyun
569*4882a593Smuzhiyun union cvmx_dpi_int_reg {
570*4882a593Smuzhiyun uint64_t u64;
571*4882a593Smuzhiyun struct cvmx_dpi_int_reg_s {
572*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
573*4882a593Smuzhiyun uint64_t reserved_28_63:36;
574*4882a593Smuzhiyun uint64_t sprt3_rst:1;
575*4882a593Smuzhiyun uint64_t sprt2_rst:1;
576*4882a593Smuzhiyun uint64_t sprt1_rst:1;
577*4882a593Smuzhiyun uint64_t sprt0_rst:1;
578*4882a593Smuzhiyun uint64_t reserved_23_23:1;
579*4882a593Smuzhiyun uint64_t req_badfil:1;
580*4882a593Smuzhiyun uint64_t req_inull:1;
581*4882a593Smuzhiyun uint64_t req_anull:1;
582*4882a593Smuzhiyun uint64_t req_undflw:1;
583*4882a593Smuzhiyun uint64_t req_ovrflw:1;
584*4882a593Smuzhiyun uint64_t req_badlen:1;
585*4882a593Smuzhiyun uint64_t req_badadr:1;
586*4882a593Smuzhiyun uint64_t dmadbo:8;
587*4882a593Smuzhiyun uint64_t reserved_2_7:6;
588*4882a593Smuzhiyun uint64_t nfovr:1;
589*4882a593Smuzhiyun uint64_t nderr:1;
590*4882a593Smuzhiyun #else
591*4882a593Smuzhiyun uint64_t nderr:1;
592*4882a593Smuzhiyun uint64_t nfovr:1;
593*4882a593Smuzhiyun uint64_t reserved_2_7:6;
594*4882a593Smuzhiyun uint64_t dmadbo:8;
595*4882a593Smuzhiyun uint64_t req_badadr:1;
596*4882a593Smuzhiyun uint64_t req_badlen:1;
597*4882a593Smuzhiyun uint64_t req_ovrflw:1;
598*4882a593Smuzhiyun uint64_t req_undflw:1;
599*4882a593Smuzhiyun uint64_t req_anull:1;
600*4882a593Smuzhiyun uint64_t req_inull:1;
601*4882a593Smuzhiyun uint64_t req_badfil:1;
602*4882a593Smuzhiyun uint64_t reserved_23_23:1;
603*4882a593Smuzhiyun uint64_t sprt0_rst:1;
604*4882a593Smuzhiyun uint64_t sprt1_rst:1;
605*4882a593Smuzhiyun uint64_t sprt2_rst:1;
606*4882a593Smuzhiyun uint64_t sprt3_rst:1;
607*4882a593Smuzhiyun uint64_t reserved_28_63:36;
608*4882a593Smuzhiyun #endif
609*4882a593Smuzhiyun } s;
610*4882a593Smuzhiyun struct cvmx_dpi_int_reg_cn63xx {
611*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
612*4882a593Smuzhiyun uint64_t reserved_26_63:38;
613*4882a593Smuzhiyun uint64_t sprt1_rst:1;
614*4882a593Smuzhiyun uint64_t sprt0_rst:1;
615*4882a593Smuzhiyun uint64_t reserved_23_23:1;
616*4882a593Smuzhiyun uint64_t req_badfil:1;
617*4882a593Smuzhiyun uint64_t req_inull:1;
618*4882a593Smuzhiyun uint64_t req_anull:1;
619*4882a593Smuzhiyun uint64_t req_undflw:1;
620*4882a593Smuzhiyun uint64_t req_ovrflw:1;
621*4882a593Smuzhiyun uint64_t req_badlen:1;
622*4882a593Smuzhiyun uint64_t req_badadr:1;
623*4882a593Smuzhiyun uint64_t dmadbo:8;
624*4882a593Smuzhiyun uint64_t reserved_2_7:6;
625*4882a593Smuzhiyun uint64_t nfovr:1;
626*4882a593Smuzhiyun uint64_t nderr:1;
627*4882a593Smuzhiyun #else
628*4882a593Smuzhiyun uint64_t nderr:1;
629*4882a593Smuzhiyun uint64_t nfovr:1;
630*4882a593Smuzhiyun uint64_t reserved_2_7:6;
631*4882a593Smuzhiyun uint64_t dmadbo:8;
632*4882a593Smuzhiyun uint64_t req_badadr:1;
633*4882a593Smuzhiyun uint64_t req_badlen:1;
634*4882a593Smuzhiyun uint64_t req_ovrflw:1;
635*4882a593Smuzhiyun uint64_t req_undflw:1;
636*4882a593Smuzhiyun uint64_t req_anull:1;
637*4882a593Smuzhiyun uint64_t req_inull:1;
638*4882a593Smuzhiyun uint64_t req_badfil:1;
639*4882a593Smuzhiyun uint64_t reserved_23_23:1;
640*4882a593Smuzhiyun uint64_t sprt0_rst:1;
641*4882a593Smuzhiyun uint64_t sprt1_rst:1;
642*4882a593Smuzhiyun uint64_t reserved_26_63:38;
643*4882a593Smuzhiyun #endif
644*4882a593Smuzhiyun } cn63xx;
645*4882a593Smuzhiyun };
646*4882a593Smuzhiyun
647*4882a593Smuzhiyun union cvmx_dpi_ncbx_cfg {
648*4882a593Smuzhiyun uint64_t u64;
649*4882a593Smuzhiyun struct cvmx_dpi_ncbx_cfg_s {
650*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
651*4882a593Smuzhiyun uint64_t reserved_6_63:58;
652*4882a593Smuzhiyun uint64_t molr:6;
653*4882a593Smuzhiyun #else
654*4882a593Smuzhiyun uint64_t molr:6;
655*4882a593Smuzhiyun uint64_t reserved_6_63:58;
656*4882a593Smuzhiyun #endif
657*4882a593Smuzhiyun } s;
658*4882a593Smuzhiyun };
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun union cvmx_dpi_pint_info {
661*4882a593Smuzhiyun uint64_t u64;
662*4882a593Smuzhiyun struct cvmx_dpi_pint_info_s {
663*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
664*4882a593Smuzhiyun uint64_t reserved_14_63:50;
665*4882a593Smuzhiyun uint64_t iinfo:6;
666*4882a593Smuzhiyun uint64_t reserved_6_7:2;
667*4882a593Smuzhiyun uint64_t sinfo:6;
668*4882a593Smuzhiyun #else
669*4882a593Smuzhiyun uint64_t sinfo:6;
670*4882a593Smuzhiyun uint64_t reserved_6_7:2;
671*4882a593Smuzhiyun uint64_t iinfo:6;
672*4882a593Smuzhiyun uint64_t reserved_14_63:50;
673*4882a593Smuzhiyun #endif
674*4882a593Smuzhiyun } s;
675*4882a593Smuzhiyun };
676*4882a593Smuzhiyun
677*4882a593Smuzhiyun union cvmx_dpi_pkt_err_rsp {
678*4882a593Smuzhiyun uint64_t u64;
679*4882a593Smuzhiyun struct cvmx_dpi_pkt_err_rsp_s {
680*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
681*4882a593Smuzhiyun uint64_t reserved_1_63:63;
682*4882a593Smuzhiyun uint64_t pkterr:1;
683*4882a593Smuzhiyun #else
684*4882a593Smuzhiyun uint64_t pkterr:1;
685*4882a593Smuzhiyun uint64_t reserved_1_63:63;
686*4882a593Smuzhiyun #endif
687*4882a593Smuzhiyun } s;
688*4882a593Smuzhiyun };
689*4882a593Smuzhiyun
690*4882a593Smuzhiyun union cvmx_dpi_req_err_rsp {
691*4882a593Smuzhiyun uint64_t u64;
692*4882a593Smuzhiyun struct cvmx_dpi_req_err_rsp_s {
693*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
694*4882a593Smuzhiyun uint64_t reserved_8_63:56;
695*4882a593Smuzhiyun uint64_t qerr:8;
696*4882a593Smuzhiyun #else
697*4882a593Smuzhiyun uint64_t qerr:8;
698*4882a593Smuzhiyun uint64_t reserved_8_63:56;
699*4882a593Smuzhiyun #endif
700*4882a593Smuzhiyun } s;
701*4882a593Smuzhiyun };
702*4882a593Smuzhiyun
703*4882a593Smuzhiyun union cvmx_dpi_req_err_rsp_en {
704*4882a593Smuzhiyun uint64_t u64;
705*4882a593Smuzhiyun struct cvmx_dpi_req_err_rsp_en_s {
706*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
707*4882a593Smuzhiyun uint64_t reserved_8_63:56;
708*4882a593Smuzhiyun uint64_t en:8;
709*4882a593Smuzhiyun #else
710*4882a593Smuzhiyun uint64_t en:8;
711*4882a593Smuzhiyun uint64_t reserved_8_63:56;
712*4882a593Smuzhiyun #endif
713*4882a593Smuzhiyun } s;
714*4882a593Smuzhiyun };
715*4882a593Smuzhiyun
716*4882a593Smuzhiyun union cvmx_dpi_req_err_rst {
717*4882a593Smuzhiyun uint64_t u64;
718*4882a593Smuzhiyun struct cvmx_dpi_req_err_rst_s {
719*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
720*4882a593Smuzhiyun uint64_t reserved_8_63:56;
721*4882a593Smuzhiyun uint64_t qerr:8;
722*4882a593Smuzhiyun #else
723*4882a593Smuzhiyun uint64_t qerr:8;
724*4882a593Smuzhiyun uint64_t reserved_8_63:56;
725*4882a593Smuzhiyun #endif
726*4882a593Smuzhiyun } s;
727*4882a593Smuzhiyun };
728*4882a593Smuzhiyun
729*4882a593Smuzhiyun union cvmx_dpi_req_err_rst_en {
730*4882a593Smuzhiyun uint64_t u64;
731*4882a593Smuzhiyun struct cvmx_dpi_req_err_rst_en_s {
732*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
733*4882a593Smuzhiyun uint64_t reserved_8_63:56;
734*4882a593Smuzhiyun uint64_t en:8;
735*4882a593Smuzhiyun #else
736*4882a593Smuzhiyun uint64_t en:8;
737*4882a593Smuzhiyun uint64_t reserved_8_63:56;
738*4882a593Smuzhiyun #endif
739*4882a593Smuzhiyun } s;
740*4882a593Smuzhiyun };
741*4882a593Smuzhiyun
742*4882a593Smuzhiyun union cvmx_dpi_req_err_skip_comp {
743*4882a593Smuzhiyun uint64_t u64;
744*4882a593Smuzhiyun struct cvmx_dpi_req_err_skip_comp_s {
745*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
746*4882a593Smuzhiyun uint64_t reserved_24_63:40;
747*4882a593Smuzhiyun uint64_t en_rst:8;
748*4882a593Smuzhiyun uint64_t reserved_8_15:8;
749*4882a593Smuzhiyun uint64_t en_rsp:8;
750*4882a593Smuzhiyun #else
751*4882a593Smuzhiyun uint64_t en_rsp:8;
752*4882a593Smuzhiyun uint64_t reserved_8_15:8;
753*4882a593Smuzhiyun uint64_t en_rst:8;
754*4882a593Smuzhiyun uint64_t reserved_24_63:40;
755*4882a593Smuzhiyun #endif
756*4882a593Smuzhiyun } s;
757*4882a593Smuzhiyun };
758*4882a593Smuzhiyun
759*4882a593Smuzhiyun union cvmx_dpi_req_gbl_en {
760*4882a593Smuzhiyun uint64_t u64;
761*4882a593Smuzhiyun struct cvmx_dpi_req_gbl_en_s {
762*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
763*4882a593Smuzhiyun uint64_t reserved_8_63:56;
764*4882a593Smuzhiyun uint64_t qen:8;
765*4882a593Smuzhiyun #else
766*4882a593Smuzhiyun uint64_t qen:8;
767*4882a593Smuzhiyun uint64_t reserved_8_63:56;
768*4882a593Smuzhiyun #endif
769*4882a593Smuzhiyun } s;
770*4882a593Smuzhiyun };
771*4882a593Smuzhiyun
772*4882a593Smuzhiyun union cvmx_dpi_sli_prtx_cfg {
773*4882a593Smuzhiyun uint64_t u64;
774*4882a593Smuzhiyun struct cvmx_dpi_sli_prtx_cfg_s {
775*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
776*4882a593Smuzhiyun uint64_t reserved_25_63:39;
777*4882a593Smuzhiyun uint64_t halt:1;
778*4882a593Smuzhiyun uint64_t qlm_cfg:4;
779*4882a593Smuzhiyun uint64_t reserved_17_19:3;
780*4882a593Smuzhiyun uint64_t rd_mode:1;
781*4882a593Smuzhiyun uint64_t reserved_14_15:2;
782*4882a593Smuzhiyun uint64_t molr:6;
783*4882a593Smuzhiyun uint64_t mps_lim:1;
784*4882a593Smuzhiyun uint64_t reserved_5_6:2;
785*4882a593Smuzhiyun uint64_t mps:1;
786*4882a593Smuzhiyun uint64_t mrrs_lim:1;
787*4882a593Smuzhiyun uint64_t reserved_2_2:1;
788*4882a593Smuzhiyun uint64_t mrrs:2;
789*4882a593Smuzhiyun #else
790*4882a593Smuzhiyun uint64_t mrrs:2;
791*4882a593Smuzhiyun uint64_t reserved_2_2:1;
792*4882a593Smuzhiyun uint64_t mrrs_lim:1;
793*4882a593Smuzhiyun uint64_t mps:1;
794*4882a593Smuzhiyun uint64_t reserved_5_6:2;
795*4882a593Smuzhiyun uint64_t mps_lim:1;
796*4882a593Smuzhiyun uint64_t molr:6;
797*4882a593Smuzhiyun uint64_t reserved_14_15:2;
798*4882a593Smuzhiyun uint64_t rd_mode:1;
799*4882a593Smuzhiyun uint64_t reserved_17_19:3;
800*4882a593Smuzhiyun uint64_t qlm_cfg:4;
801*4882a593Smuzhiyun uint64_t halt:1;
802*4882a593Smuzhiyun uint64_t reserved_25_63:39;
803*4882a593Smuzhiyun #endif
804*4882a593Smuzhiyun } s;
805*4882a593Smuzhiyun struct cvmx_dpi_sli_prtx_cfg_cn63xx {
806*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
807*4882a593Smuzhiyun uint64_t reserved_25_63:39;
808*4882a593Smuzhiyun uint64_t halt:1;
809*4882a593Smuzhiyun uint64_t reserved_21_23:3;
810*4882a593Smuzhiyun uint64_t qlm_cfg:1;
811*4882a593Smuzhiyun uint64_t reserved_17_19:3;
812*4882a593Smuzhiyun uint64_t rd_mode:1;
813*4882a593Smuzhiyun uint64_t reserved_14_15:2;
814*4882a593Smuzhiyun uint64_t molr:6;
815*4882a593Smuzhiyun uint64_t mps_lim:1;
816*4882a593Smuzhiyun uint64_t reserved_5_6:2;
817*4882a593Smuzhiyun uint64_t mps:1;
818*4882a593Smuzhiyun uint64_t mrrs_lim:1;
819*4882a593Smuzhiyun uint64_t reserved_2_2:1;
820*4882a593Smuzhiyun uint64_t mrrs:2;
821*4882a593Smuzhiyun #else
822*4882a593Smuzhiyun uint64_t mrrs:2;
823*4882a593Smuzhiyun uint64_t reserved_2_2:1;
824*4882a593Smuzhiyun uint64_t mrrs_lim:1;
825*4882a593Smuzhiyun uint64_t mps:1;
826*4882a593Smuzhiyun uint64_t reserved_5_6:2;
827*4882a593Smuzhiyun uint64_t mps_lim:1;
828*4882a593Smuzhiyun uint64_t molr:6;
829*4882a593Smuzhiyun uint64_t reserved_14_15:2;
830*4882a593Smuzhiyun uint64_t rd_mode:1;
831*4882a593Smuzhiyun uint64_t reserved_17_19:3;
832*4882a593Smuzhiyun uint64_t qlm_cfg:1;
833*4882a593Smuzhiyun uint64_t reserved_21_23:3;
834*4882a593Smuzhiyun uint64_t halt:1;
835*4882a593Smuzhiyun uint64_t reserved_25_63:39;
836*4882a593Smuzhiyun #endif
837*4882a593Smuzhiyun } cn63xx;
838*4882a593Smuzhiyun };
839*4882a593Smuzhiyun
840*4882a593Smuzhiyun union cvmx_dpi_sli_prtx_err {
841*4882a593Smuzhiyun uint64_t u64;
842*4882a593Smuzhiyun struct cvmx_dpi_sli_prtx_err_s {
843*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
844*4882a593Smuzhiyun uint64_t addr:61;
845*4882a593Smuzhiyun uint64_t reserved_0_2:3;
846*4882a593Smuzhiyun #else
847*4882a593Smuzhiyun uint64_t reserved_0_2:3;
848*4882a593Smuzhiyun uint64_t addr:61;
849*4882a593Smuzhiyun #endif
850*4882a593Smuzhiyun } s;
851*4882a593Smuzhiyun };
852*4882a593Smuzhiyun
853*4882a593Smuzhiyun union cvmx_dpi_sli_prtx_err_info {
854*4882a593Smuzhiyun uint64_t u64;
855*4882a593Smuzhiyun struct cvmx_dpi_sli_prtx_err_info_s {
856*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
857*4882a593Smuzhiyun uint64_t reserved_9_63:55;
858*4882a593Smuzhiyun uint64_t lock:1;
859*4882a593Smuzhiyun uint64_t reserved_5_7:3;
860*4882a593Smuzhiyun uint64_t type:1;
861*4882a593Smuzhiyun uint64_t reserved_3_3:1;
862*4882a593Smuzhiyun uint64_t reqq:3;
863*4882a593Smuzhiyun #else
864*4882a593Smuzhiyun uint64_t reqq:3;
865*4882a593Smuzhiyun uint64_t reserved_3_3:1;
866*4882a593Smuzhiyun uint64_t type:1;
867*4882a593Smuzhiyun uint64_t reserved_5_7:3;
868*4882a593Smuzhiyun uint64_t lock:1;
869*4882a593Smuzhiyun uint64_t reserved_9_63:55;
870*4882a593Smuzhiyun #endif
871*4882a593Smuzhiyun } s;
872*4882a593Smuzhiyun };
873*4882a593Smuzhiyun
874*4882a593Smuzhiyun #endif
875