1412394d1SDavid Daney /***********************license start***************
2412394d1SDavid Daney  * Author: Cavium Networks
3412394d1SDavid Daney  *
4412394d1SDavid Daney  * Contact: support@caviumnetworks.com
5412394d1SDavid Daney  * This file is part of the OCTEON SDK
6412394d1SDavid Daney  *
7c5aa59e8SDavid Daney  * Copyright (c) 2003-2012 Cavium Networks
8412394d1SDavid Daney  *
9412394d1SDavid Daney  * This file is free software; you can redistribute it and/or modify
10412394d1SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
11412394d1SDavid Daney  * published by the Free Software Foundation.
12412394d1SDavid Daney  *
13412394d1SDavid Daney  * This file is distributed in the hope that it will be useful, but
14412394d1SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15412394d1SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16412394d1SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
17412394d1SDavid Daney  * details.
18412394d1SDavid Daney  *
19412394d1SDavid Daney  * You should have received a copy of the GNU General Public License
20412394d1SDavid Daney  * along with this file; if not, write to the Free Software
21412394d1SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22412394d1SDavid Daney  * or visit http://www.gnu.org/licenses/.
23412394d1SDavid Daney  *
24412394d1SDavid Daney  * This file may also be available under a different license from Cavium.
25412394d1SDavid Daney  * Contact Cavium Networks for more information
26412394d1SDavid Daney  ***********************license end**************************************/
27412394d1SDavid Daney 
28412394d1SDavid Daney #ifndef __CVMX_DPI_DEFS_H__
29412394d1SDavid Daney #define __CVMX_DPI_DEFS_H__
30412394d1SDavid Daney 
31412394d1SDavid Daney #define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull))
32412394d1SDavid Daney #define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull))
33412394d1SDavid Daney #define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8)
34412394d1SDavid Daney #define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8)
35412394d1SDavid Daney #define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8)
36412394d1SDavid Daney #define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8)
37412394d1SDavid Daney #define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8)
38412394d1SDavid Daney #define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8)
39412394d1SDavid Daney #define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8)
40412394d1SDavid Daney #define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8)
41412394d1SDavid Daney #define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull))
42412394d1SDavid Daney #define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8)
43412394d1SDavid Daney #define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8)
44412394d1SDavid Daney #define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8)
45412394d1SDavid Daney #define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull))
46412394d1SDavid Daney #define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull))
47412394d1SDavid Daney #define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull))
48412394d1SDavid Daney #define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull))
49412394d1SDavid Daney #define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull))
50412394d1SDavid Daney #define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull))
51412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull))
52412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull))
53412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull))
54412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull))
55412394d1SDavid Daney #define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull))
56412394d1SDavid Daney #define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull))
57412394d1SDavid Daney #define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8)
CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)58c5aa59e8SDavid Daney static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)
59c5aa59e8SDavid Daney {
60c5aa59e8SDavid Daney 	switch (cvmx_get_octeon_family()) {
61c5aa59e8SDavid Daney 	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
62c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
63c5aa59e8SDavid Daney 	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
64c5aa59e8SDavid Daney 	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
65c5aa59e8SDavid Daney 	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
66c5aa59e8SDavid Daney 
67c5aa59e8SDavid Daney 		if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1))
68c5aa59e8SDavid Daney 			return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
69c5aa59e8SDavid Daney 
70c5aa59e8SDavid Daney 		if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2))
71c5aa59e8SDavid Daney 			return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
72c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
73c5aa59e8SDavid Daney 	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
74c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
75c5aa59e8SDavid Daney 	}
76c5aa59e8SDavid Daney 	return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
77c5aa59e8SDavid Daney }
78c5aa59e8SDavid Daney 
79412394d1SDavid Daney #define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
80412394d1SDavid Daney 
81412394d1SDavid Daney union cvmx_dpi_bist_status {
82412394d1SDavid Daney 	uint64_t u64;
83412394d1SDavid Daney 	struct cvmx_dpi_bist_status_s {
84c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
85412394d1SDavid Daney 		uint64_t reserved_47_63:17;
86412394d1SDavid Daney 		uint64_t bist:47;
87c5aa59e8SDavid Daney #else
88c5aa59e8SDavid Daney 		uint64_t bist:47;
89c5aa59e8SDavid Daney 		uint64_t reserved_47_63:17;
90c5aa59e8SDavid Daney #endif
91412394d1SDavid Daney 	} s;
92412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xx {
93c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
94412394d1SDavid Daney 		uint64_t reserved_45_63:19;
95412394d1SDavid Daney 		uint64_t bist:45;
96c5aa59e8SDavid Daney #else
97c5aa59e8SDavid Daney 		uint64_t bist:45;
98c5aa59e8SDavid Daney 		uint64_t reserved_45_63:19;
99c5aa59e8SDavid Daney #endif
100412394d1SDavid Daney 	} cn63xx;
101412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xxp1 {
102c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
103412394d1SDavid Daney 		uint64_t reserved_37_63:27;
104412394d1SDavid Daney 		uint64_t bist:37;
105c5aa59e8SDavid Daney #else
106c5aa59e8SDavid Daney 		uint64_t bist:37;
107c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
108c5aa59e8SDavid Daney #endif
109412394d1SDavid Daney 	} cn63xxp1;
110412394d1SDavid Daney };
111412394d1SDavid Daney 
112412394d1SDavid Daney union cvmx_dpi_ctl {
113412394d1SDavid Daney 	uint64_t u64;
114412394d1SDavid Daney 	struct cvmx_dpi_ctl_s {
115c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
116412394d1SDavid Daney 		uint64_t reserved_2_63:62;
117412394d1SDavid Daney 		uint64_t clk:1;
118412394d1SDavid Daney 		uint64_t en:1;
119c5aa59e8SDavid Daney #else
120c5aa59e8SDavid Daney 		uint64_t en:1;
121c5aa59e8SDavid Daney 		uint64_t clk:1;
122c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
123c5aa59e8SDavid Daney #endif
124412394d1SDavid Daney 	} s;
125412394d1SDavid Daney 	struct cvmx_dpi_ctl_cn61xx {
126c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
127412394d1SDavid Daney 		uint64_t reserved_1_63:63;
128412394d1SDavid Daney 		uint64_t en:1;
129c5aa59e8SDavid Daney #else
130c5aa59e8SDavid Daney 		uint64_t en:1;
131c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
132c5aa59e8SDavid Daney #endif
133412394d1SDavid Daney 	} cn61xx;
134412394d1SDavid Daney };
135412394d1SDavid Daney 
136412394d1SDavid Daney union cvmx_dpi_dmax_counts {
137412394d1SDavid Daney 	uint64_t u64;
138412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s {
139c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
140412394d1SDavid Daney 		uint64_t reserved_39_63:25;
141412394d1SDavid Daney 		uint64_t fcnt:7;
142412394d1SDavid Daney 		uint64_t dbell:32;
143c5aa59e8SDavid Daney #else
144c5aa59e8SDavid Daney 		uint64_t dbell:32;
145c5aa59e8SDavid Daney 		uint64_t fcnt:7;
146c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
147c5aa59e8SDavid Daney #endif
148412394d1SDavid Daney 	} s;
149412394d1SDavid Daney };
150412394d1SDavid Daney 
151412394d1SDavid Daney union cvmx_dpi_dmax_dbell {
152412394d1SDavid Daney 	uint64_t u64;
153412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s {
154c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
155412394d1SDavid Daney 		uint64_t reserved_16_63:48;
156412394d1SDavid Daney 		uint64_t dbell:16;
157c5aa59e8SDavid Daney #else
158c5aa59e8SDavid Daney 		uint64_t dbell:16;
159c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
160c5aa59e8SDavid Daney #endif
161412394d1SDavid Daney 	} s;
162412394d1SDavid Daney };
163412394d1SDavid Daney 
164412394d1SDavid Daney union cvmx_dpi_dmax_err_rsp_status {
165412394d1SDavid Daney 	uint64_t u64;
166412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s {
167c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
168412394d1SDavid Daney 		uint64_t reserved_6_63:58;
169412394d1SDavid Daney 		uint64_t status:6;
170c5aa59e8SDavid Daney #else
171c5aa59e8SDavid Daney 		uint64_t status:6;
172c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
173c5aa59e8SDavid Daney #endif
174412394d1SDavid Daney 	} s;
175412394d1SDavid Daney };
176412394d1SDavid Daney 
177412394d1SDavid Daney union cvmx_dpi_dmax_ibuff_saddr {
178412394d1SDavid Daney 	uint64_t u64;
179412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_s {
180c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
181412394d1SDavid Daney 		uint64_t reserved_62_63:2;
182412394d1SDavid Daney 		uint64_t csize:14;
183412394d1SDavid Daney 		uint64_t reserved_41_47:7;
184412394d1SDavid Daney 		uint64_t idle:1;
185412394d1SDavid Daney 		uint64_t saddr:33;
186412394d1SDavid Daney 		uint64_t reserved_0_6:7;
187c5aa59e8SDavid Daney #else
188c5aa59e8SDavid Daney 		uint64_t reserved_0_6:7;
189c5aa59e8SDavid Daney 		uint64_t saddr:33;
190c5aa59e8SDavid Daney 		uint64_t idle:1;
191c5aa59e8SDavid Daney 		uint64_t reserved_41_47:7;
192c5aa59e8SDavid Daney 		uint64_t csize:14;
193c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
194c5aa59e8SDavid Daney #endif
195412394d1SDavid Daney 	} s;
196412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
197c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
198412394d1SDavid Daney 		uint64_t reserved_62_63:2;
199412394d1SDavid Daney 		uint64_t csize:14;
200412394d1SDavid Daney 		uint64_t reserved_41_47:7;
201412394d1SDavid Daney 		uint64_t idle:1;
202412394d1SDavid Daney 		uint64_t reserved_36_39:4;
203412394d1SDavid Daney 		uint64_t saddr:29;
204412394d1SDavid Daney 		uint64_t reserved_0_6:7;
205c5aa59e8SDavid Daney #else
206c5aa59e8SDavid Daney 		uint64_t reserved_0_6:7;
207c5aa59e8SDavid Daney 		uint64_t saddr:29;
208c5aa59e8SDavid Daney 		uint64_t reserved_36_39:4;
209c5aa59e8SDavid Daney 		uint64_t idle:1;
210c5aa59e8SDavid Daney 		uint64_t reserved_41_47:7;
211c5aa59e8SDavid Daney 		uint64_t csize:14;
212c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
213c5aa59e8SDavid Daney #endif
214412394d1SDavid Daney 	} cn61xx;
215412394d1SDavid Daney };
216412394d1SDavid Daney 
217412394d1SDavid Daney union cvmx_dpi_dmax_iflight {
218412394d1SDavid Daney 	uint64_t u64;
219412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s {
220c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
221412394d1SDavid Daney 		uint64_t reserved_3_63:61;
222412394d1SDavid Daney 		uint64_t cnt:3;
223c5aa59e8SDavid Daney #else
224c5aa59e8SDavid Daney 		uint64_t cnt:3;
225c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
226c5aa59e8SDavid Daney #endif
227412394d1SDavid Daney 	} s;
228412394d1SDavid Daney };
229412394d1SDavid Daney 
230412394d1SDavid Daney union cvmx_dpi_dmax_naddr {
231412394d1SDavid Daney 	uint64_t u64;
232412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_s {
233c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
234412394d1SDavid Daney 		uint64_t reserved_40_63:24;
235412394d1SDavid Daney 		uint64_t addr:40;
236c5aa59e8SDavid Daney #else
237c5aa59e8SDavid Daney 		uint64_t addr:40;
238c5aa59e8SDavid Daney 		uint64_t reserved_40_63:24;
239c5aa59e8SDavid Daney #endif
240412394d1SDavid Daney 	} s;
241412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx {
242c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
243412394d1SDavid Daney 		uint64_t reserved_36_63:28;
244412394d1SDavid Daney 		uint64_t addr:36;
245c5aa59e8SDavid Daney #else
246c5aa59e8SDavid Daney 		uint64_t addr:36;
247c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
248c5aa59e8SDavid Daney #endif
249412394d1SDavid Daney 	} cn61xx;
250412394d1SDavid Daney };
251412394d1SDavid Daney 
252412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk0 {
253412394d1SDavid Daney 	uint64_t u64;
254412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s {
255c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
256412394d1SDavid Daney 		uint64_t state:64;
257c5aa59e8SDavid Daney #else
258c5aa59e8SDavid Daney 		uint64_t state:64;
259c5aa59e8SDavid Daney #endif
260412394d1SDavid Daney 	} s;
261412394d1SDavid Daney };
262412394d1SDavid Daney 
263412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk1 {
264412394d1SDavid Daney 	uint64_t u64;
265412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s {
266c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
267412394d1SDavid Daney 		uint64_t state:64;
268c5aa59e8SDavid Daney #else
269c5aa59e8SDavid Daney 		uint64_t state:64;
270c5aa59e8SDavid Daney #endif
271412394d1SDavid Daney 	} s;
272412394d1SDavid Daney };
273412394d1SDavid Daney 
274412394d1SDavid Daney union cvmx_dpi_dma_control {
275412394d1SDavid Daney 	uint64_t u64;
276412394d1SDavid Daney 	struct cvmx_dpi_dma_control_s {
277c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
278412394d1SDavid Daney 		uint64_t reserved_62_63:2;
279412394d1SDavid Daney 		uint64_t dici_mode:1;
280412394d1SDavid Daney 		uint64_t pkt_en1:1;
281412394d1SDavid Daney 		uint64_t ffp_dis:1;
282412394d1SDavid Daney 		uint64_t commit_mode:1;
283412394d1SDavid Daney 		uint64_t pkt_hp:1;
284412394d1SDavid Daney 		uint64_t pkt_en:1;
285412394d1SDavid Daney 		uint64_t reserved_54_55:2;
286412394d1SDavid Daney 		uint64_t dma_enb:6;
287412394d1SDavid Daney 		uint64_t reserved_34_47:14;
288412394d1SDavid Daney 		uint64_t b0_lend:1;
289412394d1SDavid Daney 		uint64_t dwb_denb:1;
290412394d1SDavid Daney 		uint64_t dwb_ichk:9;
291412394d1SDavid Daney 		uint64_t fpa_que:3;
292412394d1SDavid Daney 		uint64_t o_add1:1;
293412394d1SDavid Daney 		uint64_t o_ro:1;
294412394d1SDavid Daney 		uint64_t o_ns:1;
295412394d1SDavid Daney 		uint64_t o_es:2;
296412394d1SDavid Daney 		uint64_t o_mode:1;
297412394d1SDavid Daney 		uint64_t reserved_0_13:14;
298c5aa59e8SDavid Daney #else
299c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
300c5aa59e8SDavid Daney 		uint64_t o_mode:1;
301c5aa59e8SDavid Daney 		uint64_t o_es:2;
302c5aa59e8SDavid Daney 		uint64_t o_ns:1;
303c5aa59e8SDavid Daney 		uint64_t o_ro:1;
304c5aa59e8SDavid Daney 		uint64_t o_add1:1;
305c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
306c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
307c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
308c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
309c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
310c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
311c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
312c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
313c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
314c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
315c5aa59e8SDavid Daney 		uint64_t ffp_dis:1;
316c5aa59e8SDavid Daney 		uint64_t pkt_en1:1;
317c5aa59e8SDavid Daney 		uint64_t dici_mode:1;
318c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
319c5aa59e8SDavid Daney #endif
320412394d1SDavid Daney 	} s;
321412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xx {
322c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
323412394d1SDavid Daney 		uint64_t reserved_61_63:3;
324412394d1SDavid Daney 		uint64_t pkt_en1:1;
325412394d1SDavid Daney 		uint64_t ffp_dis:1;
326412394d1SDavid Daney 		uint64_t commit_mode:1;
327412394d1SDavid Daney 		uint64_t pkt_hp:1;
328412394d1SDavid Daney 		uint64_t pkt_en:1;
329412394d1SDavid Daney 		uint64_t reserved_54_55:2;
330412394d1SDavid Daney 		uint64_t dma_enb:6;
331412394d1SDavid Daney 		uint64_t reserved_34_47:14;
332412394d1SDavid Daney 		uint64_t b0_lend:1;
333412394d1SDavid Daney 		uint64_t dwb_denb:1;
334412394d1SDavid Daney 		uint64_t dwb_ichk:9;
335412394d1SDavid Daney 		uint64_t fpa_que:3;
336412394d1SDavid Daney 		uint64_t o_add1:1;
337412394d1SDavid Daney 		uint64_t o_ro:1;
338412394d1SDavid Daney 		uint64_t o_ns:1;
339412394d1SDavid Daney 		uint64_t o_es:2;
340412394d1SDavid Daney 		uint64_t o_mode:1;
341412394d1SDavid Daney 		uint64_t reserved_0_13:14;
342c5aa59e8SDavid Daney #else
343c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
344c5aa59e8SDavid Daney 		uint64_t o_mode:1;
345c5aa59e8SDavid Daney 		uint64_t o_es:2;
346c5aa59e8SDavid Daney 		uint64_t o_ns:1;
347c5aa59e8SDavid Daney 		uint64_t o_ro:1;
348c5aa59e8SDavid Daney 		uint64_t o_add1:1;
349c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
350c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
351c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
352c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
353c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
354c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
355c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
356c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
357c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
358c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
359c5aa59e8SDavid Daney 		uint64_t ffp_dis:1;
360c5aa59e8SDavid Daney 		uint64_t pkt_en1:1;
361c5aa59e8SDavid Daney 		uint64_t reserved_61_63:3;
362c5aa59e8SDavid Daney #endif
363412394d1SDavid Daney 	} cn63xx;
364412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xxp1 {
365c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
366412394d1SDavid Daney 		uint64_t reserved_59_63:5;
367412394d1SDavid Daney 		uint64_t commit_mode:1;
368412394d1SDavid Daney 		uint64_t pkt_hp:1;
369412394d1SDavid Daney 		uint64_t pkt_en:1;
370412394d1SDavid Daney 		uint64_t reserved_54_55:2;
371412394d1SDavid Daney 		uint64_t dma_enb:6;
372412394d1SDavid Daney 		uint64_t reserved_34_47:14;
373412394d1SDavid Daney 		uint64_t b0_lend:1;
374412394d1SDavid Daney 		uint64_t dwb_denb:1;
375412394d1SDavid Daney 		uint64_t dwb_ichk:9;
376412394d1SDavid Daney 		uint64_t fpa_que:3;
377412394d1SDavid Daney 		uint64_t o_add1:1;
378412394d1SDavid Daney 		uint64_t o_ro:1;
379412394d1SDavid Daney 		uint64_t o_ns:1;
380412394d1SDavid Daney 		uint64_t o_es:2;
381412394d1SDavid Daney 		uint64_t o_mode:1;
382412394d1SDavid Daney 		uint64_t reserved_0_13:14;
383c5aa59e8SDavid Daney #else
384c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
385c5aa59e8SDavid Daney 		uint64_t o_mode:1;
386c5aa59e8SDavid Daney 		uint64_t o_es:2;
387c5aa59e8SDavid Daney 		uint64_t o_ns:1;
388c5aa59e8SDavid Daney 		uint64_t o_ro:1;
389c5aa59e8SDavid Daney 		uint64_t o_add1:1;
390c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
391c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
392c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
393c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
394c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
395c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
396c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
397c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
398c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
399c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
400c5aa59e8SDavid Daney 		uint64_t reserved_59_63:5;
401c5aa59e8SDavid Daney #endif
402412394d1SDavid Daney 	} cn63xxp1;
403412394d1SDavid Daney };
404412394d1SDavid Daney 
405412394d1SDavid Daney union cvmx_dpi_dma_engx_en {
406412394d1SDavid Daney 	uint64_t u64;
407412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s {
408c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
409412394d1SDavid Daney 		uint64_t reserved_8_63:56;
410412394d1SDavid Daney 		uint64_t qen:8;
411c5aa59e8SDavid Daney #else
412c5aa59e8SDavid Daney 		uint64_t qen:8;
413c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
414c5aa59e8SDavid Daney #endif
415412394d1SDavid Daney 	} s;
416412394d1SDavid Daney };
417412394d1SDavid Daney 
418412394d1SDavid Daney union cvmx_dpi_dma_ppx_cnt {
419412394d1SDavid Daney 	uint64_t u64;
420412394d1SDavid Daney 	struct cvmx_dpi_dma_ppx_cnt_s {
421c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
422412394d1SDavid Daney 		uint64_t reserved_16_63:48;
423412394d1SDavid Daney 		uint64_t cnt:16;
424c5aa59e8SDavid Daney #else
425c5aa59e8SDavid Daney 		uint64_t cnt:16;
426c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
427c5aa59e8SDavid Daney #endif
428412394d1SDavid Daney 	} s;
429412394d1SDavid Daney };
430412394d1SDavid Daney 
431412394d1SDavid Daney union cvmx_dpi_engx_buf {
432412394d1SDavid Daney 	uint64_t u64;
433412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s {
434c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
435412394d1SDavid Daney 		uint64_t reserved_37_63:27;
436412394d1SDavid Daney 		uint64_t compblks:5;
437412394d1SDavid Daney 		uint64_t reserved_9_31:23;
438412394d1SDavid Daney 		uint64_t base:5;
439412394d1SDavid Daney 		uint64_t blks:4;
440c5aa59e8SDavid Daney #else
441c5aa59e8SDavid Daney 		uint64_t blks:4;
442c5aa59e8SDavid Daney 		uint64_t base:5;
443c5aa59e8SDavid Daney 		uint64_t reserved_9_31:23;
444c5aa59e8SDavid Daney 		uint64_t compblks:5;
445c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
446c5aa59e8SDavid Daney #endif
447412394d1SDavid Daney 	} s;
448412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_cn63xx {
449c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
450412394d1SDavid Daney 		uint64_t reserved_8_63:56;
451412394d1SDavid Daney 		uint64_t base:4;
452412394d1SDavid Daney 		uint64_t blks:4;
453c5aa59e8SDavid Daney #else
454c5aa59e8SDavid Daney 		uint64_t blks:4;
455c5aa59e8SDavid Daney 		uint64_t base:4;
456c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
457c5aa59e8SDavid Daney #endif
458412394d1SDavid Daney 	} cn63xx;
459412394d1SDavid Daney };
460412394d1SDavid Daney 
461412394d1SDavid Daney union cvmx_dpi_info_reg {
462412394d1SDavid Daney 	uint64_t u64;
463412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s {
464c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
465412394d1SDavid Daney 		uint64_t reserved_8_63:56;
466412394d1SDavid Daney 		uint64_t ffp:4;
467412394d1SDavid Daney 		uint64_t reserved_2_3:2;
468412394d1SDavid Daney 		uint64_t ncb:1;
469412394d1SDavid Daney 		uint64_t rsl:1;
470c5aa59e8SDavid Daney #else
471c5aa59e8SDavid Daney 		uint64_t rsl:1;
472c5aa59e8SDavid Daney 		uint64_t ncb:1;
473c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
474c5aa59e8SDavid Daney 		uint64_t ffp:4;
475c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
476c5aa59e8SDavid Daney #endif
477412394d1SDavid Daney 	} s;
478412394d1SDavid Daney 	struct cvmx_dpi_info_reg_cn63xxp1 {
479c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
480412394d1SDavid Daney 		uint64_t reserved_2_63:62;
481412394d1SDavid Daney 		uint64_t ncb:1;
482412394d1SDavid Daney 		uint64_t rsl:1;
483c5aa59e8SDavid Daney #else
484c5aa59e8SDavid Daney 		uint64_t rsl:1;
485c5aa59e8SDavid Daney 		uint64_t ncb:1;
486c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
487c5aa59e8SDavid Daney #endif
488412394d1SDavid Daney 	} cn63xxp1;
489412394d1SDavid Daney };
490412394d1SDavid Daney 
491412394d1SDavid Daney union cvmx_dpi_int_en {
492412394d1SDavid Daney 	uint64_t u64;
493412394d1SDavid Daney 	struct cvmx_dpi_int_en_s {
494c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
495412394d1SDavid Daney 		uint64_t reserved_28_63:36;
496412394d1SDavid Daney 		uint64_t sprt3_rst:1;
497412394d1SDavid Daney 		uint64_t sprt2_rst:1;
498412394d1SDavid Daney 		uint64_t sprt1_rst:1;
499412394d1SDavid Daney 		uint64_t sprt0_rst:1;
500412394d1SDavid Daney 		uint64_t reserved_23_23:1;
501412394d1SDavid Daney 		uint64_t req_badfil:1;
502412394d1SDavid Daney 		uint64_t req_inull:1;
503412394d1SDavid Daney 		uint64_t req_anull:1;
504412394d1SDavid Daney 		uint64_t req_undflw:1;
505412394d1SDavid Daney 		uint64_t req_ovrflw:1;
506412394d1SDavid Daney 		uint64_t req_badlen:1;
507412394d1SDavid Daney 		uint64_t req_badadr:1;
508412394d1SDavid Daney 		uint64_t dmadbo:8;
509412394d1SDavid Daney 		uint64_t reserved_2_7:6;
510412394d1SDavid Daney 		uint64_t nfovr:1;
511412394d1SDavid Daney 		uint64_t nderr:1;
512c5aa59e8SDavid Daney #else
513c5aa59e8SDavid Daney 		uint64_t nderr:1;
514c5aa59e8SDavid Daney 		uint64_t nfovr:1;
515c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
516c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
517c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
518c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
519c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
520c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
521c5aa59e8SDavid Daney 		uint64_t req_anull:1;
522c5aa59e8SDavid Daney 		uint64_t req_inull:1;
523c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
524c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
525c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
526c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
527c5aa59e8SDavid Daney 		uint64_t sprt2_rst:1;
528c5aa59e8SDavid Daney 		uint64_t sprt3_rst:1;
529c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
530c5aa59e8SDavid Daney #endif
531412394d1SDavid Daney 	} s;
532412394d1SDavid Daney 	struct cvmx_dpi_int_en_cn63xx {
533c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
534412394d1SDavid Daney 		uint64_t reserved_26_63:38;
535412394d1SDavid Daney 		uint64_t sprt1_rst:1;
536412394d1SDavid Daney 		uint64_t sprt0_rst:1;
537412394d1SDavid Daney 		uint64_t reserved_23_23:1;
538412394d1SDavid Daney 		uint64_t req_badfil:1;
539412394d1SDavid Daney 		uint64_t req_inull:1;
540412394d1SDavid Daney 		uint64_t req_anull:1;
541412394d1SDavid Daney 		uint64_t req_undflw:1;
542412394d1SDavid Daney 		uint64_t req_ovrflw:1;
543412394d1SDavid Daney 		uint64_t req_badlen:1;
544412394d1SDavid Daney 		uint64_t req_badadr:1;
545412394d1SDavid Daney 		uint64_t dmadbo:8;
546412394d1SDavid Daney 		uint64_t reserved_2_7:6;
547412394d1SDavid Daney 		uint64_t nfovr:1;
548412394d1SDavid Daney 		uint64_t nderr:1;
549c5aa59e8SDavid Daney #else
550c5aa59e8SDavid Daney 		uint64_t nderr:1;
551c5aa59e8SDavid Daney 		uint64_t nfovr:1;
552c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
553c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
554c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
555c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
556c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
557c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
558c5aa59e8SDavid Daney 		uint64_t req_anull:1;
559c5aa59e8SDavid Daney 		uint64_t req_inull:1;
560c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
561c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
562c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
563c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
564c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
565c5aa59e8SDavid Daney #endif
566412394d1SDavid Daney 	} cn63xx;
567412394d1SDavid Daney };
568412394d1SDavid Daney 
569412394d1SDavid Daney union cvmx_dpi_int_reg {
570412394d1SDavid Daney 	uint64_t u64;
571412394d1SDavid Daney 	struct cvmx_dpi_int_reg_s {
572c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
573412394d1SDavid Daney 		uint64_t reserved_28_63:36;
574412394d1SDavid Daney 		uint64_t sprt3_rst:1;
575412394d1SDavid Daney 		uint64_t sprt2_rst:1;
576412394d1SDavid Daney 		uint64_t sprt1_rst:1;
577412394d1SDavid Daney 		uint64_t sprt0_rst:1;
578412394d1SDavid Daney 		uint64_t reserved_23_23:1;
579412394d1SDavid Daney 		uint64_t req_badfil:1;
580412394d1SDavid Daney 		uint64_t req_inull:1;
581412394d1SDavid Daney 		uint64_t req_anull:1;
582412394d1SDavid Daney 		uint64_t req_undflw:1;
583412394d1SDavid Daney 		uint64_t req_ovrflw:1;
584412394d1SDavid Daney 		uint64_t req_badlen:1;
585412394d1SDavid Daney 		uint64_t req_badadr:1;
586412394d1SDavid Daney 		uint64_t dmadbo:8;
587412394d1SDavid Daney 		uint64_t reserved_2_7:6;
588412394d1SDavid Daney 		uint64_t nfovr:1;
589412394d1SDavid Daney 		uint64_t nderr:1;
590c5aa59e8SDavid Daney #else
591c5aa59e8SDavid Daney 		uint64_t nderr:1;
592c5aa59e8SDavid Daney 		uint64_t nfovr:1;
593c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
594c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
595c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
596c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
597c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
598c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
599c5aa59e8SDavid Daney 		uint64_t req_anull:1;
600c5aa59e8SDavid Daney 		uint64_t req_inull:1;
601c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
602c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
603c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
604c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
605c5aa59e8SDavid Daney 		uint64_t sprt2_rst:1;
606c5aa59e8SDavid Daney 		uint64_t sprt3_rst:1;
607c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
608c5aa59e8SDavid Daney #endif
609412394d1SDavid Daney 	} s;
610412394d1SDavid Daney 	struct cvmx_dpi_int_reg_cn63xx {
611c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
612412394d1SDavid Daney 		uint64_t reserved_26_63:38;
613412394d1SDavid Daney 		uint64_t sprt1_rst:1;
614412394d1SDavid Daney 		uint64_t sprt0_rst:1;
615412394d1SDavid Daney 		uint64_t reserved_23_23:1;
616412394d1SDavid Daney 		uint64_t req_badfil:1;
617412394d1SDavid Daney 		uint64_t req_inull:1;
618412394d1SDavid Daney 		uint64_t req_anull:1;
619412394d1SDavid Daney 		uint64_t req_undflw:1;
620412394d1SDavid Daney 		uint64_t req_ovrflw:1;
621412394d1SDavid Daney 		uint64_t req_badlen:1;
622412394d1SDavid Daney 		uint64_t req_badadr:1;
623412394d1SDavid Daney 		uint64_t dmadbo:8;
624412394d1SDavid Daney 		uint64_t reserved_2_7:6;
625412394d1SDavid Daney 		uint64_t nfovr:1;
626412394d1SDavid Daney 		uint64_t nderr:1;
627c5aa59e8SDavid Daney #else
628c5aa59e8SDavid Daney 		uint64_t nderr:1;
629c5aa59e8SDavid Daney 		uint64_t nfovr:1;
630c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
631c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
632c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
633c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
634c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
635c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
636c5aa59e8SDavid Daney 		uint64_t req_anull:1;
637c5aa59e8SDavid Daney 		uint64_t req_inull:1;
638c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
639c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
640c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
641c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
642c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
643c5aa59e8SDavid Daney #endif
644412394d1SDavid Daney 	} cn63xx;
645412394d1SDavid Daney };
646412394d1SDavid Daney 
647412394d1SDavid Daney union cvmx_dpi_ncbx_cfg {
648412394d1SDavid Daney 	uint64_t u64;
649412394d1SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s {
650c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
651412394d1SDavid Daney 		uint64_t reserved_6_63:58;
652412394d1SDavid Daney 		uint64_t molr:6;
653c5aa59e8SDavid Daney #else
654c5aa59e8SDavid Daney 		uint64_t molr:6;
655c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
656c5aa59e8SDavid Daney #endif
657412394d1SDavid Daney 	} s;
658412394d1SDavid Daney };
659412394d1SDavid Daney 
660412394d1SDavid Daney union cvmx_dpi_pint_info {
661412394d1SDavid Daney 	uint64_t u64;
662412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s {
663c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
664412394d1SDavid Daney 		uint64_t reserved_14_63:50;
665412394d1SDavid Daney 		uint64_t iinfo:6;
666412394d1SDavid Daney 		uint64_t reserved_6_7:2;
667412394d1SDavid Daney 		uint64_t sinfo:6;
668c5aa59e8SDavid Daney #else
669c5aa59e8SDavid Daney 		uint64_t sinfo:6;
670c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
671c5aa59e8SDavid Daney 		uint64_t iinfo:6;
672c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
673c5aa59e8SDavid Daney #endif
674412394d1SDavid Daney 	} s;
675412394d1SDavid Daney };
676412394d1SDavid Daney 
677412394d1SDavid Daney union cvmx_dpi_pkt_err_rsp {
678412394d1SDavid Daney 	uint64_t u64;
679412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s {
680c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
681412394d1SDavid Daney 		uint64_t reserved_1_63:63;
682412394d1SDavid Daney 		uint64_t pkterr:1;
683c5aa59e8SDavid Daney #else
684c5aa59e8SDavid Daney 		uint64_t pkterr:1;
685c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
686c5aa59e8SDavid Daney #endif
687412394d1SDavid Daney 	} s;
688412394d1SDavid Daney };
689412394d1SDavid Daney 
690412394d1SDavid Daney union cvmx_dpi_req_err_rsp {
691412394d1SDavid Daney 	uint64_t u64;
692412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s {
693c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
694412394d1SDavid Daney 		uint64_t reserved_8_63:56;
695412394d1SDavid Daney 		uint64_t qerr:8;
696c5aa59e8SDavid Daney #else
697c5aa59e8SDavid Daney 		uint64_t qerr:8;
698c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
699c5aa59e8SDavid Daney #endif
700412394d1SDavid Daney 	} s;
701412394d1SDavid Daney };
702412394d1SDavid Daney 
703412394d1SDavid Daney union cvmx_dpi_req_err_rsp_en {
704412394d1SDavid Daney 	uint64_t u64;
705412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s {
706c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
707412394d1SDavid Daney 		uint64_t reserved_8_63:56;
708412394d1SDavid Daney 		uint64_t en:8;
709c5aa59e8SDavid Daney #else
710c5aa59e8SDavid Daney 		uint64_t en:8;
711c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
712c5aa59e8SDavid Daney #endif
713412394d1SDavid Daney 	} s;
714412394d1SDavid Daney };
715412394d1SDavid Daney 
716412394d1SDavid Daney union cvmx_dpi_req_err_rst {
717412394d1SDavid Daney 	uint64_t u64;
718412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s {
719c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
720412394d1SDavid Daney 		uint64_t reserved_8_63:56;
721412394d1SDavid Daney 		uint64_t qerr:8;
722c5aa59e8SDavid Daney #else
723c5aa59e8SDavid Daney 		uint64_t qerr:8;
724c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
725c5aa59e8SDavid Daney #endif
726412394d1SDavid Daney 	} s;
727412394d1SDavid Daney };
728412394d1SDavid Daney 
729412394d1SDavid Daney union cvmx_dpi_req_err_rst_en {
730412394d1SDavid Daney 	uint64_t u64;
731412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s {
732c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
733412394d1SDavid Daney 		uint64_t reserved_8_63:56;
734412394d1SDavid Daney 		uint64_t en:8;
735c5aa59e8SDavid Daney #else
736c5aa59e8SDavid Daney 		uint64_t en:8;
737c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
738c5aa59e8SDavid Daney #endif
739412394d1SDavid Daney 	} s;
740412394d1SDavid Daney };
741412394d1SDavid Daney 
742412394d1SDavid Daney union cvmx_dpi_req_err_skip_comp {
743412394d1SDavid Daney 	uint64_t u64;
744412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s {
745c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
746412394d1SDavid Daney 		uint64_t reserved_24_63:40;
747412394d1SDavid Daney 		uint64_t en_rst:8;
748412394d1SDavid Daney 		uint64_t reserved_8_15:8;
749412394d1SDavid Daney 		uint64_t en_rsp:8;
750c5aa59e8SDavid Daney #else
751c5aa59e8SDavid Daney 		uint64_t en_rsp:8;
752c5aa59e8SDavid Daney 		uint64_t reserved_8_15:8;
753c5aa59e8SDavid Daney 		uint64_t en_rst:8;
754c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
755c5aa59e8SDavid Daney #endif
756412394d1SDavid Daney 	} s;
757412394d1SDavid Daney };
758412394d1SDavid Daney 
759412394d1SDavid Daney union cvmx_dpi_req_gbl_en {
760412394d1SDavid Daney 	uint64_t u64;
761412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s {
762c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
763412394d1SDavid Daney 		uint64_t reserved_8_63:56;
764412394d1SDavid Daney 		uint64_t qen:8;
765c5aa59e8SDavid Daney #else
766c5aa59e8SDavid Daney 		uint64_t qen:8;
767c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
768c5aa59e8SDavid Daney #endif
769412394d1SDavid Daney 	} s;
770412394d1SDavid Daney };
771412394d1SDavid Daney 
772412394d1SDavid Daney union cvmx_dpi_sli_prtx_cfg {
773412394d1SDavid Daney 	uint64_t u64;
774412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_s {
775c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
776412394d1SDavid Daney 		uint64_t reserved_25_63:39;
777412394d1SDavid Daney 		uint64_t halt:1;
778412394d1SDavid Daney 		uint64_t qlm_cfg:4;
779412394d1SDavid Daney 		uint64_t reserved_17_19:3;
780412394d1SDavid Daney 		uint64_t rd_mode:1;
781412394d1SDavid Daney 		uint64_t reserved_14_15:2;
782412394d1SDavid Daney 		uint64_t molr:6;
783412394d1SDavid Daney 		uint64_t mps_lim:1;
784412394d1SDavid Daney 		uint64_t reserved_5_6:2;
785412394d1SDavid Daney 		uint64_t mps:1;
786412394d1SDavid Daney 		uint64_t mrrs_lim:1;
787412394d1SDavid Daney 		uint64_t reserved_2_2:1;
788412394d1SDavid Daney 		uint64_t mrrs:2;
789c5aa59e8SDavid Daney #else
790c5aa59e8SDavid Daney 		uint64_t mrrs:2;
791c5aa59e8SDavid Daney 		uint64_t reserved_2_2:1;
792c5aa59e8SDavid Daney 		uint64_t mrrs_lim:1;
793c5aa59e8SDavid Daney 		uint64_t mps:1;
794c5aa59e8SDavid Daney 		uint64_t reserved_5_6:2;
795c5aa59e8SDavid Daney 		uint64_t mps_lim:1;
796c5aa59e8SDavid Daney 		uint64_t molr:6;
797c5aa59e8SDavid Daney 		uint64_t reserved_14_15:2;
798c5aa59e8SDavid Daney 		uint64_t rd_mode:1;
799c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
800c5aa59e8SDavid Daney 		uint64_t qlm_cfg:4;
801c5aa59e8SDavid Daney 		uint64_t halt:1;
802c5aa59e8SDavid Daney 		uint64_t reserved_25_63:39;
803c5aa59e8SDavid Daney #endif
804412394d1SDavid Daney 	} s;
805412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_cn63xx {
806c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
807412394d1SDavid Daney 		uint64_t reserved_25_63:39;
808412394d1SDavid Daney 		uint64_t halt:1;
809412394d1SDavid Daney 		uint64_t reserved_21_23:3;
810412394d1SDavid Daney 		uint64_t qlm_cfg:1;
811412394d1SDavid Daney 		uint64_t reserved_17_19:3;
812412394d1SDavid Daney 		uint64_t rd_mode:1;
813412394d1SDavid Daney 		uint64_t reserved_14_15:2;
814412394d1SDavid Daney 		uint64_t molr:6;
815412394d1SDavid Daney 		uint64_t mps_lim:1;
816412394d1SDavid Daney 		uint64_t reserved_5_6:2;
817412394d1SDavid Daney 		uint64_t mps:1;
818412394d1SDavid Daney 		uint64_t mrrs_lim:1;
819412394d1SDavid Daney 		uint64_t reserved_2_2:1;
820412394d1SDavid Daney 		uint64_t mrrs:2;
821c5aa59e8SDavid Daney #else
822c5aa59e8SDavid Daney 		uint64_t mrrs:2;
823c5aa59e8SDavid Daney 		uint64_t reserved_2_2:1;
824c5aa59e8SDavid Daney 		uint64_t mrrs_lim:1;
825c5aa59e8SDavid Daney 		uint64_t mps:1;
826c5aa59e8SDavid Daney 		uint64_t reserved_5_6:2;
827c5aa59e8SDavid Daney 		uint64_t mps_lim:1;
828c5aa59e8SDavid Daney 		uint64_t molr:6;
829c5aa59e8SDavid Daney 		uint64_t reserved_14_15:2;
830c5aa59e8SDavid Daney 		uint64_t rd_mode:1;
831c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
832c5aa59e8SDavid Daney 		uint64_t qlm_cfg:1;
833c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
834c5aa59e8SDavid Daney 		uint64_t halt:1;
835c5aa59e8SDavid Daney 		uint64_t reserved_25_63:39;
836c5aa59e8SDavid Daney #endif
837412394d1SDavid Daney 	} cn63xx;
838412394d1SDavid Daney };
839412394d1SDavid Daney 
840412394d1SDavid Daney union cvmx_dpi_sli_prtx_err {
841412394d1SDavid Daney 	uint64_t u64;
842412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s {
843c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
844412394d1SDavid Daney 		uint64_t addr:61;
845412394d1SDavid Daney 		uint64_t reserved_0_2:3;
846c5aa59e8SDavid Daney #else
847c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
848c5aa59e8SDavid Daney 		uint64_t addr:61;
849c5aa59e8SDavid Daney #endif
850412394d1SDavid Daney 	} s;
851412394d1SDavid Daney };
852412394d1SDavid Daney 
853412394d1SDavid Daney union cvmx_dpi_sli_prtx_err_info {
854412394d1SDavid Daney 	uint64_t u64;
855412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s {
856c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
857412394d1SDavid Daney 		uint64_t reserved_9_63:55;
858412394d1SDavid Daney 		uint64_t lock:1;
859412394d1SDavid Daney 		uint64_t reserved_5_7:3;
860412394d1SDavid Daney 		uint64_t type:1;
861412394d1SDavid Daney 		uint64_t reserved_3_3:1;
862412394d1SDavid Daney 		uint64_t reqq:3;
863c5aa59e8SDavid Daney #else
864c5aa59e8SDavid Daney 		uint64_t reqq:3;
865c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
866c5aa59e8SDavid Daney 		uint64_t type:1;
867c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
868c5aa59e8SDavid Daney 		uint64_t lock:1;
869c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
870c5aa59e8SDavid Daney #endif
871412394d1SDavid Daney 	} s;
872412394d1SDavid Daney };
873412394d1SDavid Daney 
874412394d1SDavid Daney #endif
875