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)
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_s cn61xx;
93412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xx {
94c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
95412394d1SDavid Daney 		uint64_t reserved_45_63:19;
96412394d1SDavid Daney 		uint64_t bist:45;
97c5aa59e8SDavid Daney #else
98c5aa59e8SDavid Daney 		uint64_t bist:45;
99c5aa59e8SDavid Daney 		uint64_t reserved_45_63:19;
100c5aa59e8SDavid Daney #endif
101412394d1SDavid Daney 	} cn63xx;
102412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xxp1 {
103c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
104412394d1SDavid Daney 		uint64_t reserved_37_63:27;
105412394d1SDavid Daney 		uint64_t bist:37;
106c5aa59e8SDavid Daney #else
107c5aa59e8SDavid Daney 		uint64_t bist:37;
108c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
109c5aa59e8SDavid Daney #endif
110412394d1SDavid Daney 	} cn63xxp1;
111412394d1SDavid Daney 	struct cvmx_dpi_bist_status_s cn66xx;
112412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xx cn68xx;
113412394d1SDavid Daney 	struct cvmx_dpi_bist_status_cn63xx cn68xxp1;
114c5aa59e8SDavid Daney 	struct cvmx_dpi_bist_status_s cnf71xx;
115412394d1SDavid Daney };
116412394d1SDavid Daney 
117412394d1SDavid Daney union cvmx_dpi_ctl {
118412394d1SDavid Daney 	uint64_t u64;
119412394d1SDavid Daney 	struct cvmx_dpi_ctl_s {
120c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
121412394d1SDavid Daney 		uint64_t reserved_2_63:62;
122412394d1SDavid Daney 		uint64_t clk:1;
123412394d1SDavid Daney 		uint64_t en:1;
124c5aa59e8SDavid Daney #else
125c5aa59e8SDavid Daney 		uint64_t en:1;
126c5aa59e8SDavid Daney 		uint64_t clk:1;
127c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
128c5aa59e8SDavid Daney #endif
129412394d1SDavid Daney 	} s;
130412394d1SDavid Daney 	struct cvmx_dpi_ctl_cn61xx {
131c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
132412394d1SDavid Daney 		uint64_t reserved_1_63:63;
133412394d1SDavid Daney 		uint64_t en:1;
134c5aa59e8SDavid Daney #else
135c5aa59e8SDavid Daney 		uint64_t en:1;
136c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
137c5aa59e8SDavid Daney #endif
138412394d1SDavid Daney 	} cn61xx;
139412394d1SDavid Daney 	struct cvmx_dpi_ctl_s cn63xx;
140412394d1SDavid Daney 	struct cvmx_dpi_ctl_s cn63xxp1;
141412394d1SDavid Daney 	struct cvmx_dpi_ctl_s cn66xx;
142412394d1SDavid Daney 	struct cvmx_dpi_ctl_s cn68xx;
143412394d1SDavid Daney 	struct cvmx_dpi_ctl_s cn68xxp1;
144c5aa59e8SDavid Daney 	struct cvmx_dpi_ctl_cn61xx cnf71xx;
145412394d1SDavid Daney };
146412394d1SDavid Daney 
147412394d1SDavid Daney union cvmx_dpi_dmax_counts {
148412394d1SDavid Daney 	uint64_t u64;
149412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s {
150c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
151412394d1SDavid Daney 		uint64_t reserved_39_63:25;
152412394d1SDavid Daney 		uint64_t fcnt:7;
153412394d1SDavid Daney 		uint64_t dbell:32;
154c5aa59e8SDavid Daney #else
155c5aa59e8SDavid Daney 		uint64_t dbell:32;
156c5aa59e8SDavid Daney 		uint64_t fcnt:7;
157c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
158c5aa59e8SDavid Daney #endif
159412394d1SDavid Daney 	} s;
160412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn61xx;
161412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn63xx;
162412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn63xxp1;
163412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn66xx;
164412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn68xx;
165412394d1SDavid Daney 	struct cvmx_dpi_dmax_counts_s cn68xxp1;
166c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_counts_s cnf71xx;
167412394d1SDavid Daney };
168412394d1SDavid Daney 
169412394d1SDavid Daney union cvmx_dpi_dmax_dbell {
170412394d1SDavid Daney 	uint64_t u64;
171412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s {
172c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
173412394d1SDavid Daney 		uint64_t reserved_16_63:48;
174412394d1SDavid Daney 		uint64_t dbell:16;
175c5aa59e8SDavid Daney #else
176c5aa59e8SDavid Daney 		uint64_t dbell:16;
177c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
178c5aa59e8SDavid Daney #endif
179412394d1SDavid Daney 	} s;
180412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn61xx;
181412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn63xx;
182412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn63xxp1;
183412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn66xx;
184412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn68xx;
185412394d1SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cn68xxp1;
186c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_dbell_s cnf71xx;
187412394d1SDavid Daney };
188412394d1SDavid Daney 
189412394d1SDavid Daney union cvmx_dpi_dmax_err_rsp_status {
190412394d1SDavid Daney 	uint64_t u64;
191412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s {
192c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
193412394d1SDavid Daney 		uint64_t reserved_6_63:58;
194412394d1SDavid Daney 		uint64_t status:6;
195c5aa59e8SDavid Daney #else
196c5aa59e8SDavid Daney 		uint64_t status:6;
197c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
198c5aa59e8SDavid Daney #endif
199412394d1SDavid Daney 	} s;
200412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s cn61xx;
201412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s cn66xx;
202412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s cn68xx;
203412394d1SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s cn68xxp1;
204c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_err_rsp_status_s cnf71xx;
205412394d1SDavid Daney };
206412394d1SDavid Daney 
207412394d1SDavid Daney union cvmx_dpi_dmax_ibuff_saddr {
208412394d1SDavid Daney 	uint64_t u64;
209412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_s {
210c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
211412394d1SDavid Daney 		uint64_t reserved_62_63:2;
212412394d1SDavid Daney 		uint64_t csize:14;
213412394d1SDavid Daney 		uint64_t reserved_41_47:7;
214412394d1SDavid Daney 		uint64_t idle:1;
215412394d1SDavid Daney 		uint64_t saddr:33;
216412394d1SDavid Daney 		uint64_t reserved_0_6:7;
217c5aa59e8SDavid Daney #else
218c5aa59e8SDavid Daney 		uint64_t reserved_0_6:7;
219c5aa59e8SDavid Daney 		uint64_t saddr:33;
220c5aa59e8SDavid Daney 		uint64_t idle:1;
221c5aa59e8SDavid Daney 		uint64_t reserved_41_47:7;
222c5aa59e8SDavid Daney 		uint64_t csize:14;
223c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
224c5aa59e8SDavid Daney #endif
225412394d1SDavid Daney 	} s;
226412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
227c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
228412394d1SDavid Daney 		uint64_t reserved_62_63:2;
229412394d1SDavid Daney 		uint64_t csize:14;
230412394d1SDavid Daney 		uint64_t reserved_41_47:7;
231412394d1SDavid Daney 		uint64_t idle:1;
232412394d1SDavid Daney 		uint64_t reserved_36_39:4;
233412394d1SDavid Daney 		uint64_t saddr:29;
234412394d1SDavid Daney 		uint64_t reserved_0_6:7;
235c5aa59e8SDavid Daney #else
236c5aa59e8SDavid Daney 		uint64_t reserved_0_6:7;
237c5aa59e8SDavid Daney 		uint64_t saddr:29;
238c5aa59e8SDavid Daney 		uint64_t reserved_36_39:4;
239c5aa59e8SDavid Daney 		uint64_t idle:1;
240c5aa59e8SDavid Daney 		uint64_t reserved_41_47:7;
241c5aa59e8SDavid Daney 		uint64_t csize:14;
242c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
243c5aa59e8SDavid Daney #endif
244412394d1SDavid Daney 	} cn61xx;
245412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xx;
246412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn63xxp1;
247412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cn66xx;
248412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_s cn68xx;
249412394d1SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_s cn68xxp1;
250c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx cnf71xx;
251412394d1SDavid Daney };
252412394d1SDavid Daney 
253412394d1SDavid Daney union cvmx_dpi_dmax_iflight {
254412394d1SDavid Daney 	uint64_t u64;
255412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s {
256c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
257412394d1SDavid Daney 		uint64_t reserved_3_63:61;
258412394d1SDavid Daney 		uint64_t cnt:3;
259c5aa59e8SDavid Daney #else
260c5aa59e8SDavid Daney 		uint64_t cnt:3;
261c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
262c5aa59e8SDavid Daney #endif
263412394d1SDavid Daney 	} s;
264412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s cn61xx;
265412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s cn66xx;
266412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s cn68xx;
267412394d1SDavid Daney 	struct cvmx_dpi_dmax_iflight_s cn68xxp1;
268c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_iflight_s cnf71xx;
269412394d1SDavid Daney };
270412394d1SDavid Daney 
271412394d1SDavid Daney union cvmx_dpi_dmax_naddr {
272412394d1SDavid Daney 	uint64_t u64;
273412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_s {
274c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
275412394d1SDavid Daney 		uint64_t reserved_40_63:24;
276412394d1SDavid Daney 		uint64_t addr:40;
277c5aa59e8SDavid Daney #else
278c5aa59e8SDavid Daney 		uint64_t addr:40;
279c5aa59e8SDavid Daney 		uint64_t reserved_40_63:24;
280c5aa59e8SDavid Daney #endif
281412394d1SDavid Daney 	} s;
282412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx {
283c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
284412394d1SDavid Daney 		uint64_t reserved_36_63:28;
285412394d1SDavid Daney 		uint64_t addr:36;
286c5aa59e8SDavid Daney #else
287c5aa59e8SDavid Daney 		uint64_t addr:36;
288c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
289c5aa59e8SDavid Daney #endif
290412394d1SDavid Daney 	} cn61xx;
291412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx cn63xx;
292412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx cn63xxp1;
293412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx cn66xx;
294412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_s cn68xx;
295412394d1SDavid Daney 	struct cvmx_dpi_dmax_naddr_s cn68xxp1;
296c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_naddr_cn61xx cnf71xx;
297412394d1SDavid Daney };
298412394d1SDavid Daney 
299412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk0 {
300412394d1SDavid Daney 	uint64_t u64;
301412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s {
302c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
303412394d1SDavid Daney 		uint64_t state:64;
304c5aa59e8SDavid Daney #else
305c5aa59e8SDavid Daney 		uint64_t state:64;
306c5aa59e8SDavid Daney #endif
307412394d1SDavid Daney 	} s;
308412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn61xx;
309412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn63xx;
310412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn63xxp1;
311412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn66xx;
312412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn68xx;
313412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cn68xxp1;
314c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_reqbnk0_s cnf71xx;
315412394d1SDavid Daney };
316412394d1SDavid Daney 
317412394d1SDavid Daney union cvmx_dpi_dmax_reqbnk1 {
318412394d1SDavid Daney 	uint64_t u64;
319412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s {
320c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
321412394d1SDavid Daney 		uint64_t state:64;
322c5aa59e8SDavid Daney #else
323c5aa59e8SDavid Daney 		uint64_t state:64;
324c5aa59e8SDavid Daney #endif
325412394d1SDavid Daney 	} s;
326412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn61xx;
327412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn63xx;
328412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn63xxp1;
329412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn66xx;
330412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn68xx;
331412394d1SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cn68xxp1;
332c5aa59e8SDavid Daney 	struct cvmx_dpi_dmax_reqbnk1_s cnf71xx;
333412394d1SDavid Daney };
334412394d1SDavid Daney 
335412394d1SDavid Daney union cvmx_dpi_dma_control {
336412394d1SDavid Daney 	uint64_t u64;
337412394d1SDavid Daney 	struct cvmx_dpi_dma_control_s {
338c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
339412394d1SDavid Daney 		uint64_t reserved_62_63:2;
340412394d1SDavid Daney 		uint64_t dici_mode:1;
341412394d1SDavid Daney 		uint64_t pkt_en1:1;
342412394d1SDavid Daney 		uint64_t ffp_dis:1;
343412394d1SDavid Daney 		uint64_t commit_mode:1;
344412394d1SDavid Daney 		uint64_t pkt_hp:1;
345412394d1SDavid Daney 		uint64_t pkt_en:1;
346412394d1SDavid Daney 		uint64_t reserved_54_55:2;
347412394d1SDavid Daney 		uint64_t dma_enb:6;
348412394d1SDavid Daney 		uint64_t reserved_34_47:14;
349412394d1SDavid Daney 		uint64_t b0_lend:1;
350412394d1SDavid Daney 		uint64_t dwb_denb:1;
351412394d1SDavid Daney 		uint64_t dwb_ichk:9;
352412394d1SDavid Daney 		uint64_t fpa_que:3;
353412394d1SDavid Daney 		uint64_t o_add1:1;
354412394d1SDavid Daney 		uint64_t o_ro:1;
355412394d1SDavid Daney 		uint64_t o_ns:1;
356412394d1SDavid Daney 		uint64_t o_es:2;
357412394d1SDavid Daney 		uint64_t o_mode:1;
358412394d1SDavid Daney 		uint64_t reserved_0_13:14;
359c5aa59e8SDavid Daney #else
360c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
361c5aa59e8SDavid Daney 		uint64_t o_mode:1;
362c5aa59e8SDavid Daney 		uint64_t o_es:2;
363c5aa59e8SDavid Daney 		uint64_t o_ns:1;
364c5aa59e8SDavid Daney 		uint64_t o_ro:1;
365c5aa59e8SDavid Daney 		uint64_t o_add1:1;
366c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
367c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
368c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
369c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
370c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
371c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
372c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
373c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
374c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
375c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
376c5aa59e8SDavid Daney 		uint64_t ffp_dis:1;
377c5aa59e8SDavid Daney 		uint64_t pkt_en1:1;
378c5aa59e8SDavid Daney 		uint64_t dici_mode:1;
379c5aa59e8SDavid Daney 		uint64_t reserved_62_63:2;
380c5aa59e8SDavid Daney #endif
381412394d1SDavid Daney 	} s;
382412394d1SDavid Daney 	struct cvmx_dpi_dma_control_s cn61xx;
383412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xx {
384c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
385412394d1SDavid Daney 		uint64_t reserved_61_63:3;
386412394d1SDavid Daney 		uint64_t pkt_en1:1;
387412394d1SDavid Daney 		uint64_t ffp_dis:1;
388412394d1SDavid Daney 		uint64_t commit_mode:1;
389412394d1SDavid Daney 		uint64_t pkt_hp:1;
390412394d1SDavid Daney 		uint64_t pkt_en:1;
391412394d1SDavid Daney 		uint64_t reserved_54_55:2;
392412394d1SDavid Daney 		uint64_t dma_enb:6;
393412394d1SDavid Daney 		uint64_t reserved_34_47:14;
394412394d1SDavid Daney 		uint64_t b0_lend:1;
395412394d1SDavid Daney 		uint64_t dwb_denb:1;
396412394d1SDavid Daney 		uint64_t dwb_ichk:9;
397412394d1SDavid Daney 		uint64_t fpa_que:3;
398412394d1SDavid Daney 		uint64_t o_add1:1;
399412394d1SDavid Daney 		uint64_t o_ro:1;
400412394d1SDavid Daney 		uint64_t o_ns:1;
401412394d1SDavid Daney 		uint64_t o_es:2;
402412394d1SDavid Daney 		uint64_t o_mode:1;
403412394d1SDavid Daney 		uint64_t reserved_0_13:14;
404c5aa59e8SDavid Daney #else
405c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
406c5aa59e8SDavid Daney 		uint64_t o_mode:1;
407c5aa59e8SDavid Daney 		uint64_t o_es:2;
408c5aa59e8SDavid Daney 		uint64_t o_ns:1;
409c5aa59e8SDavid Daney 		uint64_t o_ro:1;
410c5aa59e8SDavid Daney 		uint64_t o_add1:1;
411c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
412c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
413c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
414c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
415c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
416c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
417c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
418c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
419c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
420c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
421c5aa59e8SDavid Daney 		uint64_t ffp_dis:1;
422c5aa59e8SDavid Daney 		uint64_t pkt_en1:1;
423c5aa59e8SDavid Daney 		uint64_t reserved_61_63:3;
424c5aa59e8SDavid Daney #endif
425412394d1SDavid Daney 	} cn63xx;
426412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xxp1 {
427c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
428412394d1SDavid Daney 		uint64_t reserved_59_63:5;
429412394d1SDavid Daney 		uint64_t commit_mode:1;
430412394d1SDavid Daney 		uint64_t pkt_hp:1;
431412394d1SDavid Daney 		uint64_t pkt_en:1;
432412394d1SDavid Daney 		uint64_t reserved_54_55:2;
433412394d1SDavid Daney 		uint64_t dma_enb:6;
434412394d1SDavid Daney 		uint64_t reserved_34_47:14;
435412394d1SDavid Daney 		uint64_t b0_lend:1;
436412394d1SDavid Daney 		uint64_t dwb_denb:1;
437412394d1SDavid Daney 		uint64_t dwb_ichk:9;
438412394d1SDavid Daney 		uint64_t fpa_que:3;
439412394d1SDavid Daney 		uint64_t o_add1:1;
440412394d1SDavid Daney 		uint64_t o_ro:1;
441412394d1SDavid Daney 		uint64_t o_ns:1;
442412394d1SDavid Daney 		uint64_t o_es:2;
443412394d1SDavid Daney 		uint64_t o_mode:1;
444412394d1SDavid Daney 		uint64_t reserved_0_13:14;
445c5aa59e8SDavid Daney #else
446c5aa59e8SDavid Daney 		uint64_t reserved_0_13:14;
447c5aa59e8SDavid Daney 		uint64_t o_mode:1;
448c5aa59e8SDavid Daney 		uint64_t o_es:2;
449c5aa59e8SDavid Daney 		uint64_t o_ns:1;
450c5aa59e8SDavid Daney 		uint64_t o_ro:1;
451c5aa59e8SDavid Daney 		uint64_t o_add1:1;
452c5aa59e8SDavid Daney 		uint64_t fpa_que:3;
453c5aa59e8SDavid Daney 		uint64_t dwb_ichk:9;
454c5aa59e8SDavid Daney 		uint64_t dwb_denb:1;
455c5aa59e8SDavid Daney 		uint64_t b0_lend:1;
456c5aa59e8SDavid Daney 		uint64_t reserved_34_47:14;
457c5aa59e8SDavid Daney 		uint64_t dma_enb:6;
458c5aa59e8SDavid Daney 		uint64_t reserved_54_55:2;
459c5aa59e8SDavid Daney 		uint64_t pkt_en:1;
460c5aa59e8SDavid Daney 		uint64_t pkt_hp:1;
461c5aa59e8SDavid Daney 		uint64_t commit_mode:1;
462c5aa59e8SDavid Daney 		uint64_t reserved_59_63:5;
463c5aa59e8SDavid Daney #endif
464412394d1SDavid Daney 	} cn63xxp1;
465412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xx cn66xx;
466412394d1SDavid Daney 	struct cvmx_dpi_dma_control_s cn68xx;
467412394d1SDavid Daney 	struct cvmx_dpi_dma_control_cn63xx cn68xxp1;
468c5aa59e8SDavid Daney 	struct cvmx_dpi_dma_control_s cnf71xx;
469412394d1SDavid Daney };
470412394d1SDavid Daney 
471412394d1SDavid Daney union cvmx_dpi_dma_engx_en {
472412394d1SDavid Daney 	uint64_t u64;
473412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s {
474c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
475412394d1SDavid Daney 		uint64_t reserved_8_63:56;
476412394d1SDavid Daney 		uint64_t qen:8;
477c5aa59e8SDavid Daney #else
478c5aa59e8SDavid Daney 		uint64_t qen:8;
479c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
480c5aa59e8SDavid Daney #endif
481412394d1SDavid Daney 	} s;
482412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn61xx;
483412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn63xx;
484412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn63xxp1;
485412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn66xx;
486412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn68xx;
487412394d1SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cn68xxp1;
488c5aa59e8SDavid Daney 	struct cvmx_dpi_dma_engx_en_s cnf71xx;
489412394d1SDavid Daney };
490412394d1SDavid Daney 
491412394d1SDavid Daney union cvmx_dpi_dma_ppx_cnt {
492412394d1SDavid Daney 	uint64_t u64;
493412394d1SDavid Daney 	struct cvmx_dpi_dma_ppx_cnt_s {
494c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
495412394d1SDavid Daney 		uint64_t reserved_16_63:48;
496412394d1SDavid Daney 		uint64_t cnt:16;
497c5aa59e8SDavid Daney #else
498c5aa59e8SDavid Daney 		uint64_t cnt:16;
499c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
500c5aa59e8SDavid Daney #endif
501412394d1SDavid Daney 	} s;
502412394d1SDavid Daney 	struct cvmx_dpi_dma_ppx_cnt_s cn61xx;
503412394d1SDavid Daney 	struct cvmx_dpi_dma_ppx_cnt_s cn68xx;
504c5aa59e8SDavid Daney 	struct cvmx_dpi_dma_ppx_cnt_s cnf71xx;
505412394d1SDavid Daney };
506412394d1SDavid Daney 
507412394d1SDavid Daney union cvmx_dpi_engx_buf {
508412394d1SDavid Daney 	uint64_t u64;
509412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s {
510c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
511412394d1SDavid Daney 		uint64_t reserved_37_63:27;
512412394d1SDavid Daney 		uint64_t compblks:5;
513412394d1SDavid Daney 		uint64_t reserved_9_31:23;
514412394d1SDavid Daney 		uint64_t base:5;
515412394d1SDavid Daney 		uint64_t blks:4;
516c5aa59e8SDavid Daney #else
517c5aa59e8SDavid Daney 		uint64_t blks:4;
518c5aa59e8SDavid Daney 		uint64_t base:5;
519c5aa59e8SDavid Daney 		uint64_t reserved_9_31:23;
520c5aa59e8SDavid Daney 		uint64_t compblks:5;
521c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
522c5aa59e8SDavid Daney #endif
523412394d1SDavid Daney 	} s;
524412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s cn61xx;
525412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_cn63xx {
526c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
527412394d1SDavid Daney 		uint64_t reserved_8_63:56;
528412394d1SDavid Daney 		uint64_t base:4;
529412394d1SDavid Daney 		uint64_t blks:4;
530c5aa59e8SDavid Daney #else
531c5aa59e8SDavid Daney 		uint64_t blks:4;
532c5aa59e8SDavid Daney 		uint64_t base:4;
533c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
534c5aa59e8SDavid Daney #endif
535412394d1SDavid Daney 	} cn63xx;
536412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_cn63xx cn63xxp1;
537412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s cn66xx;
538412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s cn68xx;
539412394d1SDavid Daney 	struct cvmx_dpi_engx_buf_s cn68xxp1;
540c5aa59e8SDavid Daney 	struct cvmx_dpi_engx_buf_s cnf71xx;
541412394d1SDavid Daney };
542412394d1SDavid Daney 
543412394d1SDavid Daney union cvmx_dpi_info_reg {
544412394d1SDavid Daney 	uint64_t u64;
545412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s {
546c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
547412394d1SDavid Daney 		uint64_t reserved_8_63:56;
548412394d1SDavid Daney 		uint64_t ffp:4;
549412394d1SDavid Daney 		uint64_t reserved_2_3:2;
550412394d1SDavid Daney 		uint64_t ncb:1;
551412394d1SDavid Daney 		uint64_t rsl:1;
552c5aa59e8SDavid Daney #else
553c5aa59e8SDavid Daney 		uint64_t rsl:1;
554c5aa59e8SDavid Daney 		uint64_t ncb:1;
555c5aa59e8SDavid Daney 		uint64_t reserved_2_3:2;
556c5aa59e8SDavid Daney 		uint64_t ffp:4;
557c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
558c5aa59e8SDavid Daney #endif
559412394d1SDavid Daney 	} s;
560412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s cn61xx;
561412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s cn63xx;
562412394d1SDavid Daney 	struct cvmx_dpi_info_reg_cn63xxp1 {
563c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
564412394d1SDavid Daney 		uint64_t reserved_2_63:62;
565412394d1SDavid Daney 		uint64_t ncb:1;
566412394d1SDavid Daney 		uint64_t rsl:1;
567c5aa59e8SDavid Daney #else
568c5aa59e8SDavid Daney 		uint64_t rsl:1;
569c5aa59e8SDavid Daney 		uint64_t ncb:1;
570c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
571c5aa59e8SDavid Daney #endif
572412394d1SDavid Daney 	} cn63xxp1;
573412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s cn66xx;
574412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s cn68xx;
575412394d1SDavid Daney 	struct cvmx_dpi_info_reg_s cn68xxp1;
576c5aa59e8SDavid Daney 	struct cvmx_dpi_info_reg_s cnf71xx;
577412394d1SDavid Daney };
578412394d1SDavid Daney 
579412394d1SDavid Daney union cvmx_dpi_int_en {
580412394d1SDavid Daney 	uint64_t u64;
581412394d1SDavid Daney 	struct cvmx_dpi_int_en_s {
582c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
583412394d1SDavid Daney 		uint64_t reserved_28_63:36;
584412394d1SDavid Daney 		uint64_t sprt3_rst:1;
585412394d1SDavid Daney 		uint64_t sprt2_rst:1;
586412394d1SDavid Daney 		uint64_t sprt1_rst:1;
587412394d1SDavid Daney 		uint64_t sprt0_rst:1;
588412394d1SDavid Daney 		uint64_t reserved_23_23:1;
589412394d1SDavid Daney 		uint64_t req_badfil:1;
590412394d1SDavid Daney 		uint64_t req_inull:1;
591412394d1SDavid Daney 		uint64_t req_anull:1;
592412394d1SDavid Daney 		uint64_t req_undflw:1;
593412394d1SDavid Daney 		uint64_t req_ovrflw:1;
594412394d1SDavid Daney 		uint64_t req_badlen:1;
595412394d1SDavid Daney 		uint64_t req_badadr:1;
596412394d1SDavid Daney 		uint64_t dmadbo:8;
597412394d1SDavid Daney 		uint64_t reserved_2_7:6;
598412394d1SDavid Daney 		uint64_t nfovr:1;
599412394d1SDavid Daney 		uint64_t nderr:1;
600c5aa59e8SDavid Daney #else
601c5aa59e8SDavid Daney 		uint64_t nderr:1;
602c5aa59e8SDavid Daney 		uint64_t nfovr:1;
603c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
604c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
605c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
606c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
607c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
608c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
609c5aa59e8SDavid Daney 		uint64_t req_anull:1;
610c5aa59e8SDavid Daney 		uint64_t req_inull:1;
611c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
612c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
613c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
614c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
615c5aa59e8SDavid Daney 		uint64_t sprt2_rst:1;
616c5aa59e8SDavid Daney 		uint64_t sprt3_rst:1;
617c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
618c5aa59e8SDavid Daney #endif
619412394d1SDavid Daney 	} s;
620412394d1SDavid Daney 	struct cvmx_dpi_int_en_s cn61xx;
621412394d1SDavid Daney 	struct cvmx_dpi_int_en_cn63xx {
622c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
623412394d1SDavid Daney 		uint64_t reserved_26_63:38;
624412394d1SDavid Daney 		uint64_t sprt1_rst:1;
625412394d1SDavid Daney 		uint64_t sprt0_rst:1;
626412394d1SDavid Daney 		uint64_t reserved_23_23:1;
627412394d1SDavid Daney 		uint64_t req_badfil:1;
628412394d1SDavid Daney 		uint64_t req_inull:1;
629412394d1SDavid Daney 		uint64_t req_anull:1;
630412394d1SDavid Daney 		uint64_t req_undflw:1;
631412394d1SDavid Daney 		uint64_t req_ovrflw:1;
632412394d1SDavid Daney 		uint64_t req_badlen:1;
633412394d1SDavid Daney 		uint64_t req_badadr:1;
634412394d1SDavid Daney 		uint64_t dmadbo:8;
635412394d1SDavid Daney 		uint64_t reserved_2_7:6;
636412394d1SDavid Daney 		uint64_t nfovr:1;
637412394d1SDavid Daney 		uint64_t nderr:1;
638c5aa59e8SDavid Daney #else
639c5aa59e8SDavid Daney 		uint64_t nderr:1;
640c5aa59e8SDavid Daney 		uint64_t nfovr:1;
641c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
642c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
643c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
644c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
645c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
646c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
647c5aa59e8SDavid Daney 		uint64_t req_anull:1;
648c5aa59e8SDavid Daney 		uint64_t req_inull:1;
649c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
650c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
651c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
652c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
653c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
654c5aa59e8SDavid Daney #endif
655412394d1SDavid Daney 	} cn63xx;
656412394d1SDavid Daney 	struct cvmx_dpi_int_en_cn63xx cn63xxp1;
657412394d1SDavid Daney 	struct cvmx_dpi_int_en_s cn66xx;
658412394d1SDavid Daney 	struct cvmx_dpi_int_en_cn63xx cn68xx;
659412394d1SDavid Daney 	struct cvmx_dpi_int_en_cn63xx cn68xxp1;
660c5aa59e8SDavid Daney 	struct cvmx_dpi_int_en_s cnf71xx;
661412394d1SDavid Daney };
662412394d1SDavid Daney 
663412394d1SDavid Daney union cvmx_dpi_int_reg {
664412394d1SDavid Daney 	uint64_t u64;
665412394d1SDavid Daney 	struct cvmx_dpi_int_reg_s {
666c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
667412394d1SDavid Daney 		uint64_t reserved_28_63:36;
668412394d1SDavid Daney 		uint64_t sprt3_rst:1;
669412394d1SDavid Daney 		uint64_t sprt2_rst:1;
670412394d1SDavid Daney 		uint64_t sprt1_rst:1;
671412394d1SDavid Daney 		uint64_t sprt0_rst:1;
672412394d1SDavid Daney 		uint64_t reserved_23_23:1;
673412394d1SDavid Daney 		uint64_t req_badfil:1;
674412394d1SDavid Daney 		uint64_t req_inull:1;
675412394d1SDavid Daney 		uint64_t req_anull:1;
676412394d1SDavid Daney 		uint64_t req_undflw:1;
677412394d1SDavid Daney 		uint64_t req_ovrflw:1;
678412394d1SDavid Daney 		uint64_t req_badlen:1;
679412394d1SDavid Daney 		uint64_t req_badadr:1;
680412394d1SDavid Daney 		uint64_t dmadbo:8;
681412394d1SDavid Daney 		uint64_t reserved_2_7:6;
682412394d1SDavid Daney 		uint64_t nfovr:1;
683412394d1SDavid Daney 		uint64_t nderr:1;
684c5aa59e8SDavid Daney #else
685c5aa59e8SDavid Daney 		uint64_t nderr:1;
686c5aa59e8SDavid Daney 		uint64_t nfovr:1;
687c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
688c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
689c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
690c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
691c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
692c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
693c5aa59e8SDavid Daney 		uint64_t req_anull:1;
694c5aa59e8SDavid Daney 		uint64_t req_inull:1;
695c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
696c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
697c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
698c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
699c5aa59e8SDavid Daney 		uint64_t sprt2_rst:1;
700c5aa59e8SDavid Daney 		uint64_t sprt3_rst:1;
701c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
702c5aa59e8SDavid Daney #endif
703412394d1SDavid Daney 	} s;
704412394d1SDavid Daney 	struct cvmx_dpi_int_reg_s cn61xx;
705412394d1SDavid Daney 	struct cvmx_dpi_int_reg_cn63xx {
706c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
707412394d1SDavid Daney 		uint64_t reserved_26_63:38;
708412394d1SDavid Daney 		uint64_t sprt1_rst:1;
709412394d1SDavid Daney 		uint64_t sprt0_rst:1;
710412394d1SDavid Daney 		uint64_t reserved_23_23:1;
711412394d1SDavid Daney 		uint64_t req_badfil:1;
712412394d1SDavid Daney 		uint64_t req_inull:1;
713412394d1SDavid Daney 		uint64_t req_anull:1;
714412394d1SDavid Daney 		uint64_t req_undflw:1;
715412394d1SDavid Daney 		uint64_t req_ovrflw:1;
716412394d1SDavid Daney 		uint64_t req_badlen:1;
717412394d1SDavid Daney 		uint64_t req_badadr:1;
718412394d1SDavid Daney 		uint64_t dmadbo:8;
719412394d1SDavid Daney 		uint64_t reserved_2_7:6;
720412394d1SDavid Daney 		uint64_t nfovr:1;
721412394d1SDavid Daney 		uint64_t nderr:1;
722c5aa59e8SDavid Daney #else
723c5aa59e8SDavid Daney 		uint64_t nderr:1;
724c5aa59e8SDavid Daney 		uint64_t nfovr:1;
725c5aa59e8SDavid Daney 		uint64_t reserved_2_7:6;
726c5aa59e8SDavid Daney 		uint64_t dmadbo:8;
727c5aa59e8SDavid Daney 		uint64_t req_badadr:1;
728c5aa59e8SDavid Daney 		uint64_t req_badlen:1;
729c5aa59e8SDavid Daney 		uint64_t req_ovrflw:1;
730c5aa59e8SDavid Daney 		uint64_t req_undflw:1;
731c5aa59e8SDavid Daney 		uint64_t req_anull:1;
732c5aa59e8SDavid Daney 		uint64_t req_inull:1;
733c5aa59e8SDavid Daney 		uint64_t req_badfil:1;
734c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
735c5aa59e8SDavid Daney 		uint64_t sprt0_rst:1;
736c5aa59e8SDavid Daney 		uint64_t sprt1_rst:1;
737c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
738c5aa59e8SDavid Daney #endif
739412394d1SDavid Daney 	} cn63xx;
740412394d1SDavid Daney 	struct cvmx_dpi_int_reg_cn63xx cn63xxp1;
741412394d1SDavid Daney 	struct cvmx_dpi_int_reg_s cn66xx;
742412394d1SDavid Daney 	struct cvmx_dpi_int_reg_cn63xx cn68xx;
743412394d1SDavid Daney 	struct cvmx_dpi_int_reg_cn63xx cn68xxp1;
744c5aa59e8SDavid Daney 	struct cvmx_dpi_int_reg_s cnf71xx;
745412394d1SDavid Daney };
746412394d1SDavid Daney 
747412394d1SDavid Daney union cvmx_dpi_ncbx_cfg {
748412394d1SDavid Daney 	uint64_t u64;
749412394d1SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s {
750c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
751412394d1SDavid Daney 		uint64_t reserved_6_63:58;
752412394d1SDavid Daney 		uint64_t molr:6;
753c5aa59e8SDavid Daney #else
754c5aa59e8SDavid Daney 		uint64_t molr:6;
755c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
756c5aa59e8SDavid Daney #endif
757412394d1SDavid Daney 	} s;
758412394d1SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s cn61xx;
759412394d1SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s cn66xx;
760412394d1SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s cn68xx;
761c5aa59e8SDavid Daney 	struct cvmx_dpi_ncbx_cfg_s cnf71xx;
762412394d1SDavid Daney };
763412394d1SDavid Daney 
764412394d1SDavid Daney union cvmx_dpi_pint_info {
765412394d1SDavid Daney 	uint64_t u64;
766412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s {
767c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
768412394d1SDavid Daney 		uint64_t reserved_14_63:50;
769412394d1SDavid Daney 		uint64_t iinfo:6;
770412394d1SDavid Daney 		uint64_t reserved_6_7:2;
771412394d1SDavid Daney 		uint64_t sinfo:6;
772c5aa59e8SDavid Daney #else
773c5aa59e8SDavid Daney 		uint64_t sinfo:6;
774c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
775c5aa59e8SDavid Daney 		uint64_t iinfo:6;
776c5aa59e8SDavid Daney 		uint64_t reserved_14_63:50;
777c5aa59e8SDavid Daney #endif
778412394d1SDavid Daney 	} s;
779412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn61xx;
780412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn63xx;
781412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn63xxp1;
782412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn66xx;
783412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn68xx;
784412394d1SDavid Daney 	struct cvmx_dpi_pint_info_s cn68xxp1;
785c5aa59e8SDavid Daney 	struct cvmx_dpi_pint_info_s cnf71xx;
786412394d1SDavid Daney };
787412394d1SDavid Daney 
788412394d1SDavid Daney union cvmx_dpi_pkt_err_rsp {
789412394d1SDavid Daney 	uint64_t u64;
790412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s {
791c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
792412394d1SDavid Daney 		uint64_t reserved_1_63:63;
793412394d1SDavid Daney 		uint64_t pkterr:1;
794c5aa59e8SDavid Daney #else
795c5aa59e8SDavid Daney 		uint64_t pkterr:1;
796c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
797c5aa59e8SDavid Daney #endif
798412394d1SDavid Daney 	} s;
799412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn61xx;
800412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn63xx;
801412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn63xxp1;
802412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn66xx;
803412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn68xx;
804412394d1SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cn68xxp1;
805c5aa59e8SDavid Daney 	struct cvmx_dpi_pkt_err_rsp_s cnf71xx;
806412394d1SDavid Daney };
807412394d1SDavid Daney 
808412394d1SDavid Daney union cvmx_dpi_req_err_rsp {
809412394d1SDavid Daney 	uint64_t u64;
810412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s {
811c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
812412394d1SDavid Daney 		uint64_t reserved_8_63:56;
813412394d1SDavid Daney 		uint64_t qerr:8;
814c5aa59e8SDavid Daney #else
815c5aa59e8SDavid Daney 		uint64_t qerr:8;
816c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
817c5aa59e8SDavid Daney #endif
818412394d1SDavid Daney 	} s;
819412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn61xx;
820412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn63xx;
821412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn63xxp1;
822412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn66xx;
823412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn68xx;
824412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cn68xxp1;
825c5aa59e8SDavid Daney 	struct cvmx_dpi_req_err_rsp_s cnf71xx;
826412394d1SDavid Daney };
827412394d1SDavid Daney 
828412394d1SDavid Daney union cvmx_dpi_req_err_rsp_en {
829412394d1SDavid Daney 	uint64_t u64;
830412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s {
831c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
832412394d1SDavid Daney 		uint64_t reserved_8_63:56;
833412394d1SDavid Daney 		uint64_t en:8;
834c5aa59e8SDavid Daney #else
835c5aa59e8SDavid Daney 		uint64_t en:8;
836c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
837c5aa59e8SDavid Daney #endif
838412394d1SDavid Daney 	} s;
839412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn61xx;
840412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn63xx;
841412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn63xxp1;
842412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn66xx;
843412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn68xx;
844412394d1SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cn68xxp1;
845c5aa59e8SDavid Daney 	struct cvmx_dpi_req_err_rsp_en_s cnf71xx;
846412394d1SDavid Daney };
847412394d1SDavid Daney 
848412394d1SDavid Daney union cvmx_dpi_req_err_rst {
849412394d1SDavid Daney 	uint64_t u64;
850412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s {
851c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
852412394d1SDavid Daney 		uint64_t reserved_8_63:56;
853412394d1SDavid Daney 		uint64_t qerr:8;
854c5aa59e8SDavid Daney #else
855c5aa59e8SDavid Daney 		uint64_t qerr:8;
856c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
857c5aa59e8SDavid Daney #endif
858412394d1SDavid Daney 	} s;
859412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn61xx;
860412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn63xx;
861412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn63xxp1;
862412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn66xx;
863412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn68xx;
864412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_s cn68xxp1;
865c5aa59e8SDavid Daney 	struct cvmx_dpi_req_err_rst_s cnf71xx;
866412394d1SDavid Daney };
867412394d1SDavid Daney 
868412394d1SDavid Daney union cvmx_dpi_req_err_rst_en {
869412394d1SDavid Daney 	uint64_t u64;
870412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s {
871c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
872412394d1SDavid Daney 		uint64_t reserved_8_63:56;
873412394d1SDavid Daney 		uint64_t en:8;
874c5aa59e8SDavid Daney #else
875c5aa59e8SDavid Daney 		uint64_t en:8;
876c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
877c5aa59e8SDavid Daney #endif
878412394d1SDavid Daney 	} s;
879412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn61xx;
880412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn63xx;
881412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn63xxp1;
882412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn66xx;
883412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn68xx;
884412394d1SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cn68xxp1;
885c5aa59e8SDavid Daney 	struct cvmx_dpi_req_err_rst_en_s cnf71xx;
886412394d1SDavid Daney };
887412394d1SDavid Daney 
888412394d1SDavid Daney union cvmx_dpi_req_err_skip_comp {
889412394d1SDavid Daney 	uint64_t u64;
890412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s {
891c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
892412394d1SDavid Daney 		uint64_t reserved_24_63:40;
893412394d1SDavid Daney 		uint64_t en_rst:8;
894412394d1SDavid Daney 		uint64_t reserved_8_15:8;
895412394d1SDavid Daney 		uint64_t en_rsp:8;
896c5aa59e8SDavid Daney #else
897c5aa59e8SDavid Daney 		uint64_t en_rsp:8;
898c5aa59e8SDavid Daney 		uint64_t reserved_8_15:8;
899c5aa59e8SDavid Daney 		uint64_t en_rst:8;
900c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
901c5aa59e8SDavid Daney #endif
902412394d1SDavid Daney 	} s;
903412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s cn61xx;
904412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s cn66xx;
905412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s cn68xx;
906412394d1SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s cn68xxp1;
907c5aa59e8SDavid Daney 	struct cvmx_dpi_req_err_skip_comp_s cnf71xx;
908412394d1SDavid Daney };
909412394d1SDavid Daney 
910412394d1SDavid Daney union cvmx_dpi_req_gbl_en {
911412394d1SDavid Daney 	uint64_t u64;
912412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s {
913c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
914412394d1SDavid Daney 		uint64_t reserved_8_63:56;
915412394d1SDavid Daney 		uint64_t qen:8;
916c5aa59e8SDavid Daney #else
917c5aa59e8SDavid Daney 		uint64_t qen:8;
918c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
919c5aa59e8SDavid Daney #endif
920412394d1SDavid Daney 	} s;
921412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn61xx;
922412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn63xx;
923412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn63xxp1;
924412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn66xx;
925412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn68xx;
926412394d1SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cn68xxp1;
927c5aa59e8SDavid Daney 	struct cvmx_dpi_req_gbl_en_s cnf71xx;
928412394d1SDavid Daney };
929412394d1SDavid Daney 
930412394d1SDavid Daney union cvmx_dpi_sli_prtx_cfg {
931412394d1SDavid Daney 	uint64_t u64;
932412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_s {
933c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
934412394d1SDavid Daney 		uint64_t reserved_25_63:39;
935412394d1SDavid Daney 		uint64_t halt:1;
936412394d1SDavid Daney 		uint64_t qlm_cfg:4;
937412394d1SDavid Daney 		uint64_t reserved_17_19:3;
938412394d1SDavid Daney 		uint64_t rd_mode:1;
939412394d1SDavid Daney 		uint64_t reserved_14_15:2;
940412394d1SDavid Daney 		uint64_t molr:6;
941412394d1SDavid Daney 		uint64_t mps_lim:1;
942412394d1SDavid Daney 		uint64_t reserved_5_6:2;
943412394d1SDavid Daney 		uint64_t mps:1;
944412394d1SDavid Daney 		uint64_t mrrs_lim:1;
945412394d1SDavid Daney 		uint64_t reserved_2_2:1;
946412394d1SDavid Daney 		uint64_t mrrs:2;
947c5aa59e8SDavid Daney #else
948c5aa59e8SDavid Daney 		uint64_t mrrs:2;
949c5aa59e8SDavid Daney 		uint64_t reserved_2_2:1;
950c5aa59e8SDavid Daney 		uint64_t mrrs_lim:1;
951c5aa59e8SDavid Daney 		uint64_t mps:1;
952c5aa59e8SDavid Daney 		uint64_t reserved_5_6:2;
953c5aa59e8SDavid Daney 		uint64_t mps_lim:1;
954c5aa59e8SDavid Daney 		uint64_t molr:6;
955c5aa59e8SDavid Daney 		uint64_t reserved_14_15:2;
956c5aa59e8SDavid Daney 		uint64_t rd_mode:1;
957c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
958c5aa59e8SDavid Daney 		uint64_t qlm_cfg:4;
959c5aa59e8SDavid Daney 		uint64_t halt:1;
960c5aa59e8SDavid Daney 		uint64_t reserved_25_63:39;
961c5aa59e8SDavid Daney #endif
962412394d1SDavid Daney 	} s;
963412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_s cn61xx;
964412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_cn63xx {
965c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
966412394d1SDavid Daney 		uint64_t reserved_25_63:39;
967412394d1SDavid Daney 		uint64_t halt:1;
968412394d1SDavid Daney 		uint64_t reserved_21_23:3;
969412394d1SDavid Daney 		uint64_t qlm_cfg:1;
970412394d1SDavid Daney 		uint64_t reserved_17_19:3;
971412394d1SDavid Daney 		uint64_t rd_mode:1;
972412394d1SDavid Daney 		uint64_t reserved_14_15:2;
973412394d1SDavid Daney 		uint64_t molr:6;
974412394d1SDavid Daney 		uint64_t mps_lim:1;
975412394d1SDavid Daney 		uint64_t reserved_5_6:2;
976412394d1SDavid Daney 		uint64_t mps:1;
977412394d1SDavid Daney 		uint64_t mrrs_lim:1;
978412394d1SDavid Daney 		uint64_t reserved_2_2:1;
979412394d1SDavid Daney 		uint64_t mrrs:2;
980c5aa59e8SDavid Daney #else
981c5aa59e8SDavid Daney 		uint64_t mrrs:2;
982c5aa59e8SDavid Daney 		uint64_t reserved_2_2:1;
983c5aa59e8SDavid Daney 		uint64_t mrrs_lim:1;
984c5aa59e8SDavid Daney 		uint64_t mps:1;
985c5aa59e8SDavid Daney 		uint64_t reserved_5_6:2;
986c5aa59e8SDavid Daney 		uint64_t mps_lim:1;
987c5aa59e8SDavid Daney 		uint64_t molr:6;
988c5aa59e8SDavid Daney 		uint64_t reserved_14_15:2;
989c5aa59e8SDavid Daney 		uint64_t rd_mode:1;
990c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
991c5aa59e8SDavid Daney 		uint64_t qlm_cfg:1;
992c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
993c5aa59e8SDavid Daney 		uint64_t halt:1;
994c5aa59e8SDavid Daney 		uint64_t reserved_25_63:39;
995c5aa59e8SDavid Daney #endif
996412394d1SDavid Daney 	} cn63xx;
997412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_cn63xx cn63xxp1;
998412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_s cn66xx;
999412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xx;
1000412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_cn63xx cn68xxp1;
1001c5aa59e8SDavid Daney 	struct cvmx_dpi_sli_prtx_cfg_s cnf71xx;
1002412394d1SDavid Daney };
1003412394d1SDavid Daney 
1004412394d1SDavid Daney union cvmx_dpi_sli_prtx_err {
1005412394d1SDavid Daney 	uint64_t u64;
1006412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s {
1007c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1008412394d1SDavid Daney 		uint64_t addr:61;
1009412394d1SDavid Daney 		uint64_t reserved_0_2:3;
1010c5aa59e8SDavid Daney #else
1011c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
1012c5aa59e8SDavid Daney 		uint64_t addr:61;
1013c5aa59e8SDavid Daney #endif
1014412394d1SDavid Daney 	} s;
1015412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn61xx;
1016412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn63xx;
1017412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn63xxp1;
1018412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn66xx;
1019412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn68xx;
1020412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cn68xxp1;
1021c5aa59e8SDavid Daney 	struct cvmx_dpi_sli_prtx_err_s cnf71xx;
1022412394d1SDavid Daney };
1023412394d1SDavid Daney 
1024412394d1SDavid Daney union cvmx_dpi_sli_prtx_err_info {
1025412394d1SDavid Daney 	uint64_t u64;
1026412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s {
1027c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1028412394d1SDavid Daney 		uint64_t reserved_9_63:55;
1029412394d1SDavid Daney 		uint64_t lock:1;
1030412394d1SDavid Daney 		uint64_t reserved_5_7:3;
1031412394d1SDavid Daney 		uint64_t type:1;
1032412394d1SDavid Daney 		uint64_t reserved_3_3:1;
1033412394d1SDavid Daney 		uint64_t reqq:3;
1034c5aa59e8SDavid Daney #else
1035c5aa59e8SDavid Daney 		uint64_t reqq:3;
1036c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
1037c5aa59e8SDavid Daney 		uint64_t type:1;
1038c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
1039c5aa59e8SDavid Daney 		uint64_t lock:1;
1040c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
1041c5aa59e8SDavid Daney #endif
1042412394d1SDavid Daney 	} s;
1043412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn61xx;
1044412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn63xx;
1045412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn63xxp1;
1046412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn66xx;
1047412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn68xx;
1048412394d1SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cn68xxp1;
1049c5aa59e8SDavid Daney 	struct cvmx_dpi_sli_prtx_err_info_s cnf71xx;
1050412394d1SDavid Daney };
1051412394d1SDavid Daney 
1052412394d1SDavid Daney #endif
1053