1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: support@caviumnetworks.com
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2008 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT.  See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27 
28 #ifndef __CVMX_MIO_DEFS_H__
29 #define __CVMX_MIO_DEFS_H__
30 
31 #define CVMX_MIO_BOOT_BIST_STAT \
32 	 CVMX_ADD_IO_SEG(0x00011800000000F8ull)
33 #define CVMX_MIO_BOOT_COMP \
34 	 CVMX_ADD_IO_SEG(0x00011800000000B8ull)
35 #define CVMX_MIO_BOOT_DMA_CFGX(offset) \
36 	 CVMX_ADD_IO_SEG(0x0001180000000100ull + (((offset) & 3) * 8))
37 #define CVMX_MIO_BOOT_DMA_INTX(offset) \
38 	 CVMX_ADD_IO_SEG(0x0001180000000138ull + (((offset) & 3) * 8))
39 #define CVMX_MIO_BOOT_DMA_INT_ENX(offset) \
40 	 CVMX_ADD_IO_SEG(0x0001180000000150ull + (((offset) & 3) * 8))
41 #define CVMX_MIO_BOOT_DMA_TIMX(offset) \
42 	 CVMX_ADD_IO_SEG(0x0001180000000120ull + (((offset) & 3) * 8))
43 #define CVMX_MIO_BOOT_ERR \
44 	 CVMX_ADD_IO_SEG(0x00011800000000A0ull)
45 #define CVMX_MIO_BOOT_INT \
46 	 CVMX_ADD_IO_SEG(0x00011800000000A8ull)
47 #define CVMX_MIO_BOOT_LOC_ADR \
48 	 CVMX_ADD_IO_SEG(0x0001180000000090ull)
49 #define CVMX_MIO_BOOT_LOC_CFGX(offset) \
50 	 CVMX_ADD_IO_SEG(0x0001180000000080ull + (((offset) & 1) * 8))
51 #define CVMX_MIO_BOOT_LOC_DAT \
52 	 CVMX_ADD_IO_SEG(0x0001180000000098ull)
53 #define CVMX_MIO_BOOT_PIN_DEFS \
54 	 CVMX_ADD_IO_SEG(0x00011800000000C0ull)
55 #define CVMX_MIO_BOOT_REG_CFGX(offset) \
56 	 CVMX_ADD_IO_SEG(0x0001180000000000ull + (((offset) & 7) * 8))
57 #define CVMX_MIO_BOOT_REG_TIMX(offset) \
58 	 CVMX_ADD_IO_SEG(0x0001180000000040ull + (((offset) & 7) * 8))
59 #define CVMX_MIO_BOOT_THR \
60 	 CVMX_ADD_IO_SEG(0x00011800000000B0ull)
61 #define CVMX_MIO_FUS_BNK_DATX(offset) \
62 	 CVMX_ADD_IO_SEG(0x0001180000001520ull + (((offset) & 3) * 8))
63 #define CVMX_MIO_FUS_DAT0 \
64 	 CVMX_ADD_IO_SEG(0x0001180000001400ull)
65 #define CVMX_MIO_FUS_DAT1 \
66 	 CVMX_ADD_IO_SEG(0x0001180000001408ull)
67 #define CVMX_MIO_FUS_DAT2 \
68 	 CVMX_ADD_IO_SEG(0x0001180000001410ull)
69 #define CVMX_MIO_FUS_DAT3 \
70 	 CVMX_ADD_IO_SEG(0x0001180000001418ull)
71 #define CVMX_MIO_FUS_EMA \
72 	 CVMX_ADD_IO_SEG(0x0001180000001550ull)
73 #define CVMX_MIO_FUS_PDF \
74 	 CVMX_ADD_IO_SEG(0x0001180000001420ull)
75 #define CVMX_MIO_FUS_PLL \
76 	 CVMX_ADD_IO_SEG(0x0001180000001580ull)
77 #define CVMX_MIO_FUS_PROG \
78 	 CVMX_ADD_IO_SEG(0x0001180000001510ull)
79 #define CVMX_MIO_FUS_PROG_TIMES \
80 	 CVMX_ADD_IO_SEG(0x0001180000001518ull)
81 #define CVMX_MIO_FUS_RCMD \
82 	 CVMX_ADD_IO_SEG(0x0001180000001500ull)
83 #define CVMX_MIO_FUS_SPR_REPAIR_RES \
84 	 CVMX_ADD_IO_SEG(0x0001180000001548ull)
85 #define CVMX_MIO_FUS_SPR_REPAIR_SUM \
86 	 CVMX_ADD_IO_SEG(0x0001180000001540ull)
87 #define CVMX_MIO_FUS_UNLOCK \
88 	 CVMX_ADD_IO_SEG(0x0001180000001578ull)
89 #define CVMX_MIO_FUS_WADR \
90 	 CVMX_ADD_IO_SEG(0x0001180000001508ull)
91 #define CVMX_MIO_NDF_DMA_CFG \
92 	 CVMX_ADD_IO_SEG(0x0001180000000168ull)
93 #define CVMX_MIO_NDF_DMA_INT \
94 	 CVMX_ADD_IO_SEG(0x0001180000000170ull)
95 #define CVMX_MIO_NDF_DMA_INT_EN \
96 	 CVMX_ADD_IO_SEG(0x0001180000000178ull)
97 #define CVMX_MIO_PLL_CTL \
98 	 CVMX_ADD_IO_SEG(0x0001180000001448ull)
99 #define CVMX_MIO_PLL_SETTING \
100 	 CVMX_ADD_IO_SEG(0x0001180000001440ull)
101 #define CVMX_MIO_TWSX_INT(offset) \
102 	 CVMX_ADD_IO_SEG(0x0001180000001010ull + (((offset) & 1) * 512))
103 #define CVMX_MIO_TWSX_SW_TWSI(offset) \
104 	 CVMX_ADD_IO_SEG(0x0001180000001000ull + (((offset) & 1) * 512))
105 #define CVMX_MIO_TWSX_SW_TWSI_EXT(offset) \
106 	 CVMX_ADD_IO_SEG(0x0001180000001018ull + (((offset) & 1) * 512))
107 #define CVMX_MIO_TWSX_TWSI_SW(offset) \
108 	 CVMX_ADD_IO_SEG(0x0001180000001008ull + (((offset) & 1) * 512))
109 #define CVMX_MIO_UART2_DLH \
110 	 CVMX_ADD_IO_SEG(0x0001180000000488ull)
111 #define CVMX_MIO_UART2_DLL \
112 	 CVMX_ADD_IO_SEG(0x0001180000000480ull)
113 #define CVMX_MIO_UART2_FAR \
114 	 CVMX_ADD_IO_SEG(0x0001180000000520ull)
115 #define CVMX_MIO_UART2_FCR \
116 	 CVMX_ADD_IO_SEG(0x0001180000000450ull)
117 #define CVMX_MIO_UART2_HTX \
118 	 CVMX_ADD_IO_SEG(0x0001180000000708ull)
119 #define CVMX_MIO_UART2_IER \
120 	 CVMX_ADD_IO_SEG(0x0001180000000408ull)
121 #define CVMX_MIO_UART2_IIR \
122 	 CVMX_ADD_IO_SEG(0x0001180000000410ull)
123 #define CVMX_MIO_UART2_LCR \
124 	 CVMX_ADD_IO_SEG(0x0001180000000418ull)
125 #define CVMX_MIO_UART2_LSR \
126 	 CVMX_ADD_IO_SEG(0x0001180000000428ull)
127 #define CVMX_MIO_UART2_MCR \
128 	 CVMX_ADD_IO_SEG(0x0001180000000420ull)
129 #define CVMX_MIO_UART2_MSR \
130 	 CVMX_ADD_IO_SEG(0x0001180000000430ull)
131 #define CVMX_MIO_UART2_RBR \
132 	 CVMX_ADD_IO_SEG(0x0001180000000400ull)
133 #define CVMX_MIO_UART2_RFL \
134 	 CVMX_ADD_IO_SEG(0x0001180000000608ull)
135 #define CVMX_MIO_UART2_RFW \
136 	 CVMX_ADD_IO_SEG(0x0001180000000530ull)
137 #define CVMX_MIO_UART2_SBCR \
138 	 CVMX_ADD_IO_SEG(0x0001180000000620ull)
139 #define CVMX_MIO_UART2_SCR \
140 	 CVMX_ADD_IO_SEG(0x0001180000000438ull)
141 #define CVMX_MIO_UART2_SFE \
142 	 CVMX_ADD_IO_SEG(0x0001180000000630ull)
143 #define CVMX_MIO_UART2_SRR \
144 	 CVMX_ADD_IO_SEG(0x0001180000000610ull)
145 #define CVMX_MIO_UART2_SRT \
146 	 CVMX_ADD_IO_SEG(0x0001180000000638ull)
147 #define CVMX_MIO_UART2_SRTS \
148 	 CVMX_ADD_IO_SEG(0x0001180000000618ull)
149 #define CVMX_MIO_UART2_STT \
150 	 CVMX_ADD_IO_SEG(0x0001180000000700ull)
151 #define CVMX_MIO_UART2_TFL \
152 	 CVMX_ADD_IO_SEG(0x0001180000000600ull)
153 #define CVMX_MIO_UART2_TFR \
154 	 CVMX_ADD_IO_SEG(0x0001180000000528ull)
155 #define CVMX_MIO_UART2_THR \
156 	 CVMX_ADD_IO_SEG(0x0001180000000440ull)
157 #define CVMX_MIO_UART2_USR \
158 	 CVMX_ADD_IO_SEG(0x0001180000000538ull)
159 #define CVMX_MIO_UARTX_DLH(offset) \
160 	 CVMX_ADD_IO_SEG(0x0001180000000888ull + (((offset) & 1) * 1024))
161 #define CVMX_MIO_UARTX_DLL(offset) \
162 	 CVMX_ADD_IO_SEG(0x0001180000000880ull + (((offset) & 1) * 1024))
163 #define CVMX_MIO_UARTX_FAR(offset) \
164 	 CVMX_ADD_IO_SEG(0x0001180000000920ull + (((offset) & 1) * 1024))
165 #define CVMX_MIO_UARTX_FCR(offset) \
166 	 CVMX_ADD_IO_SEG(0x0001180000000850ull + (((offset) & 1) * 1024))
167 #define CVMX_MIO_UARTX_HTX(offset) \
168 	 CVMX_ADD_IO_SEG(0x0001180000000B08ull + (((offset) & 1) * 1024))
169 #define CVMX_MIO_UARTX_IER(offset) \
170 	 CVMX_ADD_IO_SEG(0x0001180000000808ull + (((offset) & 1) * 1024))
171 #define CVMX_MIO_UARTX_IIR(offset) \
172 	 CVMX_ADD_IO_SEG(0x0001180000000810ull + (((offset) & 1) * 1024))
173 #define CVMX_MIO_UARTX_LCR(offset) \
174 	 CVMX_ADD_IO_SEG(0x0001180000000818ull + (((offset) & 1) * 1024))
175 #define CVMX_MIO_UARTX_LSR(offset) \
176 	 CVMX_ADD_IO_SEG(0x0001180000000828ull + (((offset) & 1) * 1024))
177 #define CVMX_MIO_UARTX_MCR(offset) \
178 	 CVMX_ADD_IO_SEG(0x0001180000000820ull + (((offset) & 1) * 1024))
179 #define CVMX_MIO_UARTX_MSR(offset) \
180 	 CVMX_ADD_IO_SEG(0x0001180000000830ull + (((offset) & 1) * 1024))
181 #define CVMX_MIO_UARTX_RBR(offset) \
182 	 CVMX_ADD_IO_SEG(0x0001180000000800ull + (((offset) & 1) * 1024))
183 #define CVMX_MIO_UARTX_RFL(offset) \
184 	 CVMX_ADD_IO_SEG(0x0001180000000A08ull + (((offset) & 1) * 1024))
185 #define CVMX_MIO_UARTX_RFW(offset) \
186 	 CVMX_ADD_IO_SEG(0x0001180000000930ull + (((offset) & 1) * 1024))
187 #define CVMX_MIO_UARTX_SBCR(offset) \
188 	 CVMX_ADD_IO_SEG(0x0001180000000A20ull + (((offset) & 1) * 1024))
189 #define CVMX_MIO_UARTX_SCR(offset) \
190 	 CVMX_ADD_IO_SEG(0x0001180000000838ull + (((offset) & 1) * 1024))
191 #define CVMX_MIO_UARTX_SFE(offset) \
192 	 CVMX_ADD_IO_SEG(0x0001180000000A30ull + (((offset) & 1) * 1024))
193 #define CVMX_MIO_UARTX_SRR(offset) \
194 	 CVMX_ADD_IO_SEG(0x0001180000000A10ull + (((offset) & 1) * 1024))
195 #define CVMX_MIO_UARTX_SRT(offset) \
196 	 CVMX_ADD_IO_SEG(0x0001180000000A38ull + (((offset) & 1) * 1024))
197 #define CVMX_MIO_UARTX_SRTS(offset) \
198 	 CVMX_ADD_IO_SEG(0x0001180000000A18ull + (((offset) & 1) * 1024))
199 #define CVMX_MIO_UARTX_STT(offset) \
200 	 CVMX_ADD_IO_SEG(0x0001180000000B00ull + (((offset) & 1) * 1024))
201 #define CVMX_MIO_UARTX_TFL(offset) \
202 	 CVMX_ADD_IO_SEG(0x0001180000000A00ull + (((offset) & 1) * 1024))
203 #define CVMX_MIO_UARTX_TFR(offset) \
204 	 CVMX_ADD_IO_SEG(0x0001180000000928ull + (((offset) & 1) * 1024))
205 #define CVMX_MIO_UARTX_THR(offset) \
206 	 CVMX_ADD_IO_SEG(0x0001180000000840ull + (((offset) & 1) * 1024))
207 #define CVMX_MIO_UARTX_USR(offset) \
208 	 CVMX_ADD_IO_SEG(0x0001180000000938ull + (((offset) & 1) * 1024))
209 
210 union cvmx_mio_boot_bist_stat {
211 	uint64_t u64;
212 	struct cvmx_mio_boot_bist_stat_s {
213 		uint64_t reserved_2_63:62;
214 		uint64_t loc:1;
215 		uint64_t ncbi:1;
216 	} s;
217 	struct cvmx_mio_boot_bist_stat_cn30xx {
218 		uint64_t reserved_4_63:60;
219 		uint64_t ncbo_1:1;
220 		uint64_t ncbo_0:1;
221 		uint64_t loc:1;
222 		uint64_t ncbi:1;
223 	} cn30xx;
224 	struct cvmx_mio_boot_bist_stat_cn30xx cn31xx;
225 	struct cvmx_mio_boot_bist_stat_cn38xx {
226 		uint64_t reserved_3_63:61;
227 		uint64_t ncbo_0:1;
228 		uint64_t loc:1;
229 		uint64_t ncbi:1;
230 	} cn38xx;
231 	struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2;
232 	struct cvmx_mio_boot_bist_stat_cn50xx {
233 		uint64_t reserved_6_63:58;
234 		uint64_t pcm_1:1;
235 		uint64_t pcm_0:1;
236 		uint64_t ncbo_1:1;
237 		uint64_t ncbo_0:1;
238 		uint64_t loc:1;
239 		uint64_t ncbi:1;
240 	} cn50xx;
241 	struct cvmx_mio_boot_bist_stat_cn52xx {
242 		uint64_t reserved_6_63:58;
243 		uint64_t ndf:2;
244 		uint64_t ncbo_0:1;
245 		uint64_t dma:1;
246 		uint64_t loc:1;
247 		uint64_t ncbi:1;
248 	} cn52xx;
249 	struct cvmx_mio_boot_bist_stat_cn52xxp1 {
250 		uint64_t reserved_4_63:60;
251 		uint64_t ncbo_0:1;
252 		uint64_t dma:1;
253 		uint64_t loc:1;
254 		uint64_t ncbi:1;
255 	} cn52xxp1;
256 	struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx;
257 	struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1;
258 	struct cvmx_mio_boot_bist_stat_cn38xx cn58xx;
259 	struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1;
260 };
261 
262 union cvmx_mio_boot_comp {
263 	uint64_t u64;
264 	struct cvmx_mio_boot_comp_s {
265 		uint64_t reserved_10_63:54;
266 		uint64_t pctl:5;
267 		uint64_t nctl:5;
268 	} s;
269 	struct cvmx_mio_boot_comp_s cn50xx;
270 	struct cvmx_mio_boot_comp_s cn52xx;
271 	struct cvmx_mio_boot_comp_s cn52xxp1;
272 	struct cvmx_mio_boot_comp_s cn56xx;
273 	struct cvmx_mio_boot_comp_s cn56xxp1;
274 };
275 
276 union cvmx_mio_boot_dma_cfgx {
277 	uint64_t u64;
278 	struct cvmx_mio_boot_dma_cfgx_s {
279 		uint64_t en:1;
280 		uint64_t rw:1;
281 		uint64_t clr:1;
282 		uint64_t reserved_60_60:1;
283 		uint64_t swap32:1;
284 		uint64_t swap16:1;
285 		uint64_t swap8:1;
286 		uint64_t endian:1;
287 		uint64_t size:20;
288 		uint64_t adr:36;
289 	} s;
290 	struct cvmx_mio_boot_dma_cfgx_s cn52xx;
291 	struct cvmx_mio_boot_dma_cfgx_s cn52xxp1;
292 	struct cvmx_mio_boot_dma_cfgx_s cn56xx;
293 	struct cvmx_mio_boot_dma_cfgx_s cn56xxp1;
294 };
295 
296 union cvmx_mio_boot_dma_intx {
297 	uint64_t u64;
298 	struct cvmx_mio_boot_dma_intx_s {
299 		uint64_t reserved_2_63:62;
300 		uint64_t dmarq:1;
301 		uint64_t done:1;
302 	} s;
303 	struct cvmx_mio_boot_dma_intx_s cn52xx;
304 	struct cvmx_mio_boot_dma_intx_s cn52xxp1;
305 	struct cvmx_mio_boot_dma_intx_s cn56xx;
306 	struct cvmx_mio_boot_dma_intx_s cn56xxp1;
307 };
308 
309 union cvmx_mio_boot_dma_int_enx {
310 	uint64_t u64;
311 	struct cvmx_mio_boot_dma_int_enx_s {
312 		uint64_t reserved_2_63:62;
313 		uint64_t dmarq:1;
314 		uint64_t done:1;
315 	} s;
316 	struct cvmx_mio_boot_dma_int_enx_s cn52xx;
317 	struct cvmx_mio_boot_dma_int_enx_s cn52xxp1;
318 	struct cvmx_mio_boot_dma_int_enx_s cn56xx;
319 	struct cvmx_mio_boot_dma_int_enx_s cn56xxp1;
320 };
321 
322 union cvmx_mio_boot_dma_timx {
323 	uint64_t u64;
324 	struct cvmx_mio_boot_dma_timx_s {
325 		uint64_t dmack_pi:1;
326 		uint64_t dmarq_pi:1;
327 		uint64_t tim_mult:2;
328 		uint64_t rd_dly:3;
329 		uint64_t ddr:1;
330 		uint64_t width:1;
331 		uint64_t reserved_48_54:7;
332 		uint64_t pause:6;
333 		uint64_t dmack_h:6;
334 		uint64_t we_n:6;
335 		uint64_t we_a:6;
336 		uint64_t oe_n:6;
337 		uint64_t oe_a:6;
338 		uint64_t dmack_s:6;
339 		uint64_t dmarq:6;
340 	} s;
341 	struct cvmx_mio_boot_dma_timx_s cn52xx;
342 	struct cvmx_mio_boot_dma_timx_s cn52xxp1;
343 	struct cvmx_mio_boot_dma_timx_s cn56xx;
344 	struct cvmx_mio_boot_dma_timx_s cn56xxp1;
345 };
346 
347 union cvmx_mio_boot_err {
348 	uint64_t u64;
349 	struct cvmx_mio_boot_err_s {
350 		uint64_t reserved_2_63:62;
351 		uint64_t wait_err:1;
352 		uint64_t adr_err:1;
353 	} s;
354 	struct cvmx_mio_boot_err_s cn30xx;
355 	struct cvmx_mio_boot_err_s cn31xx;
356 	struct cvmx_mio_boot_err_s cn38xx;
357 	struct cvmx_mio_boot_err_s cn38xxp2;
358 	struct cvmx_mio_boot_err_s cn50xx;
359 	struct cvmx_mio_boot_err_s cn52xx;
360 	struct cvmx_mio_boot_err_s cn52xxp1;
361 	struct cvmx_mio_boot_err_s cn56xx;
362 	struct cvmx_mio_boot_err_s cn56xxp1;
363 	struct cvmx_mio_boot_err_s cn58xx;
364 	struct cvmx_mio_boot_err_s cn58xxp1;
365 };
366 
367 union cvmx_mio_boot_int {
368 	uint64_t u64;
369 	struct cvmx_mio_boot_int_s {
370 		uint64_t reserved_2_63:62;
371 		uint64_t wait_int:1;
372 		uint64_t adr_int:1;
373 	} s;
374 	struct cvmx_mio_boot_int_s cn30xx;
375 	struct cvmx_mio_boot_int_s cn31xx;
376 	struct cvmx_mio_boot_int_s cn38xx;
377 	struct cvmx_mio_boot_int_s cn38xxp2;
378 	struct cvmx_mio_boot_int_s cn50xx;
379 	struct cvmx_mio_boot_int_s cn52xx;
380 	struct cvmx_mio_boot_int_s cn52xxp1;
381 	struct cvmx_mio_boot_int_s cn56xx;
382 	struct cvmx_mio_boot_int_s cn56xxp1;
383 	struct cvmx_mio_boot_int_s cn58xx;
384 	struct cvmx_mio_boot_int_s cn58xxp1;
385 };
386 
387 union cvmx_mio_boot_loc_adr {
388 	uint64_t u64;
389 	struct cvmx_mio_boot_loc_adr_s {
390 		uint64_t reserved_8_63:56;
391 		uint64_t adr:5;
392 		uint64_t reserved_0_2:3;
393 	} s;
394 	struct cvmx_mio_boot_loc_adr_s cn30xx;
395 	struct cvmx_mio_boot_loc_adr_s cn31xx;
396 	struct cvmx_mio_boot_loc_adr_s cn38xx;
397 	struct cvmx_mio_boot_loc_adr_s cn38xxp2;
398 	struct cvmx_mio_boot_loc_adr_s cn50xx;
399 	struct cvmx_mio_boot_loc_adr_s cn52xx;
400 	struct cvmx_mio_boot_loc_adr_s cn52xxp1;
401 	struct cvmx_mio_boot_loc_adr_s cn56xx;
402 	struct cvmx_mio_boot_loc_adr_s cn56xxp1;
403 	struct cvmx_mio_boot_loc_adr_s cn58xx;
404 	struct cvmx_mio_boot_loc_adr_s cn58xxp1;
405 };
406 
407 union cvmx_mio_boot_loc_cfgx {
408 	uint64_t u64;
409 	struct cvmx_mio_boot_loc_cfgx_s {
410 		uint64_t reserved_32_63:32;
411 		uint64_t en:1;
412 		uint64_t reserved_28_30:3;
413 		uint64_t base:25;
414 		uint64_t reserved_0_2:3;
415 	} s;
416 	struct cvmx_mio_boot_loc_cfgx_s cn30xx;
417 	struct cvmx_mio_boot_loc_cfgx_s cn31xx;
418 	struct cvmx_mio_boot_loc_cfgx_s cn38xx;
419 	struct cvmx_mio_boot_loc_cfgx_s cn38xxp2;
420 	struct cvmx_mio_boot_loc_cfgx_s cn50xx;
421 	struct cvmx_mio_boot_loc_cfgx_s cn52xx;
422 	struct cvmx_mio_boot_loc_cfgx_s cn52xxp1;
423 	struct cvmx_mio_boot_loc_cfgx_s cn56xx;
424 	struct cvmx_mio_boot_loc_cfgx_s cn56xxp1;
425 	struct cvmx_mio_boot_loc_cfgx_s cn58xx;
426 	struct cvmx_mio_boot_loc_cfgx_s cn58xxp1;
427 };
428 
429 union cvmx_mio_boot_loc_dat {
430 	uint64_t u64;
431 	struct cvmx_mio_boot_loc_dat_s {
432 		uint64_t data:64;
433 	} s;
434 	struct cvmx_mio_boot_loc_dat_s cn30xx;
435 	struct cvmx_mio_boot_loc_dat_s cn31xx;
436 	struct cvmx_mio_boot_loc_dat_s cn38xx;
437 	struct cvmx_mio_boot_loc_dat_s cn38xxp2;
438 	struct cvmx_mio_boot_loc_dat_s cn50xx;
439 	struct cvmx_mio_boot_loc_dat_s cn52xx;
440 	struct cvmx_mio_boot_loc_dat_s cn52xxp1;
441 	struct cvmx_mio_boot_loc_dat_s cn56xx;
442 	struct cvmx_mio_boot_loc_dat_s cn56xxp1;
443 	struct cvmx_mio_boot_loc_dat_s cn58xx;
444 	struct cvmx_mio_boot_loc_dat_s cn58xxp1;
445 };
446 
447 union cvmx_mio_boot_pin_defs {
448 	uint64_t u64;
449 	struct cvmx_mio_boot_pin_defs_s {
450 		uint64_t reserved_16_63:48;
451 		uint64_t ale:1;
452 		uint64_t width:1;
453 		uint64_t dmack_p2:1;
454 		uint64_t dmack_p1:1;
455 		uint64_t dmack_p0:1;
456 		uint64_t term:2;
457 		uint64_t nand:1;
458 		uint64_t reserved_0_7:8;
459 	} s;
460 	struct cvmx_mio_boot_pin_defs_cn52xx {
461 		uint64_t reserved_16_63:48;
462 		uint64_t ale:1;
463 		uint64_t width:1;
464 		uint64_t reserved_13_13:1;
465 		uint64_t dmack_p1:1;
466 		uint64_t dmack_p0:1;
467 		uint64_t term:2;
468 		uint64_t nand:1;
469 		uint64_t reserved_0_7:8;
470 	} cn52xx;
471 	struct cvmx_mio_boot_pin_defs_cn56xx {
472 		uint64_t reserved_16_63:48;
473 		uint64_t ale:1;
474 		uint64_t width:1;
475 		uint64_t dmack_p2:1;
476 		uint64_t dmack_p1:1;
477 		uint64_t dmack_p0:1;
478 		uint64_t term:2;
479 		uint64_t reserved_0_8:9;
480 	} cn56xx;
481 };
482 
483 union cvmx_mio_boot_reg_cfgx {
484 	uint64_t u64;
485 	struct cvmx_mio_boot_reg_cfgx_s {
486 		uint64_t reserved_44_63:20;
487 		uint64_t dmack:2;
488 		uint64_t tim_mult:2;
489 		uint64_t rd_dly:3;
490 		uint64_t sam:1;
491 		uint64_t we_ext:2;
492 		uint64_t oe_ext:2;
493 		uint64_t en:1;
494 		uint64_t orbit:1;
495 		uint64_t ale:1;
496 		uint64_t width:1;
497 		uint64_t size:12;
498 		uint64_t base:16;
499 	} s;
500 	struct cvmx_mio_boot_reg_cfgx_cn30xx {
501 		uint64_t reserved_37_63:27;
502 		uint64_t sam:1;
503 		uint64_t we_ext:2;
504 		uint64_t oe_ext:2;
505 		uint64_t en:1;
506 		uint64_t orbit:1;
507 		uint64_t ale:1;
508 		uint64_t width:1;
509 		uint64_t size:12;
510 		uint64_t base:16;
511 	} cn30xx;
512 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx;
513 	struct cvmx_mio_boot_reg_cfgx_cn38xx {
514 		uint64_t reserved_32_63:32;
515 		uint64_t en:1;
516 		uint64_t orbit:1;
517 		uint64_t reserved_28_29:2;
518 		uint64_t size:12;
519 		uint64_t base:16;
520 	} cn38xx;
521 	struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2;
522 	struct cvmx_mio_boot_reg_cfgx_cn50xx {
523 		uint64_t reserved_42_63:22;
524 		uint64_t tim_mult:2;
525 		uint64_t rd_dly:3;
526 		uint64_t sam:1;
527 		uint64_t we_ext:2;
528 		uint64_t oe_ext:2;
529 		uint64_t en:1;
530 		uint64_t orbit:1;
531 		uint64_t ale:1;
532 		uint64_t width:1;
533 		uint64_t size:12;
534 		uint64_t base:16;
535 	} cn50xx;
536 	struct cvmx_mio_boot_reg_cfgx_s cn52xx;
537 	struct cvmx_mio_boot_reg_cfgx_s cn52xxp1;
538 	struct cvmx_mio_boot_reg_cfgx_s cn56xx;
539 	struct cvmx_mio_boot_reg_cfgx_s cn56xxp1;
540 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xx;
541 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xxp1;
542 };
543 
544 union cvmx_mio_boot_reg_timx {
545 	uint64_t u64;
546 	struct cvmx_mio_boot_reg_timx_s {
547 		uint64_t pagem:1;
548 		uint64_t waitm:1;
549 		uint64_t pages:2;
550 		uint64_t ale:6;
551 		uint64_t page:6;
552 		uint64_t wait:6;
553 		uint64_t pause:6;
554 		uint64_t wr_hld:6;
555 		uint64_t rd_hld:6;
556 		uint64_t we:6;
557 		uint64_t oe:6;
558 		uint64_t ce:6;
559 		uint64_t adr:6;
560 	} s;
561 	struct cvmx_mio_boot_reg_timx_s cn30xx;
562 	struct cvmx_mio_boot_reg_timx_s cn31xx;
563 	struct cvmx_mio_boot_reg_timx_cn38xx {
564 		uint64_t pagem:1;
565 		uint64_t waitm:1;
566 		uint64_t pages:2;
567 		uint64_t reserved_54_59:6;
568 		uint64_t page:6;
569 		uint64_t wait:6;
570 		uint64_t pause:6;
571 		uint64_t wr_hld:6;
572 		uint64_t rd_hld:6;
573 		uint64_t we:6;
574 		uint64_t oe:6;
575 		uint64_t ce:6;
576 		uint64_t adr:6;
577 	} cn38xx;
578 	struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2;
579 	struct cvmx_mio_boot_reg_timx_s cn50xx;
580 	struct cvmx_mio_boot_reg_timx_s cn52xx;
581 	struct cvmx_mio_boot_reg_timx_s cn52xxp1;
582 	struct cvmx_mio_boot_reg_timx_s cn56xx;
583 	struct cvmx_mio_boot_reg_timx_s cn56xxp1;
584 	struct cvmx_mio_boot_reg_timx_s cn58xx;
585 	struct cvmx_mio_boot_reg_timx_s cn58xxp1;
586 };
587 
588 union cvmx_mio_boot_thr {
589 	uint64_t u64;
590 	struct cvmx_mio_boot_thr_s {
591 		uint64_t reserved_22_63:42;
592 		uint64_t dma_thr:6;
593 		uint64_t reserved_14_15:2;
594 		uint64_t fif_cnt:6;
595 		uint64_t reserved_6_7:2;
596 		uint64_t fif_thr:6;
597 	} s;
598 	struct cvmx_mio_boot_thr_cn30xx {
599 		uint64_t reserved_14_63:50;
600 		uint64_t fif_cnt:6;
601 		uint64_t reserved_6_7:2;
602 		uint64_t fif_thr:6;
603 	} cn30xx;
604 	struct cvmx_mio_boot_thr_cn30xx cn31xx;
605 	struct cvmx_mio_boot_thr_cn30xx cn38xx;
606 	struct cvmx_mio_boot_thr_cn30xx cn38xxp2;
607 	struct cvmx_mio_boot_thr_cn30xx cn50xx;
608 	struct cvmx_mio_boot_thr_s cn52xx;
609 	struct cvmx_mio_boot_thr_s cn52xxp1;
610 	struct cvmx_mio_boot_thr_s cn56xx;
611 	struct cvmx_mio_boot_thr_s cn56xxp1;
612 	struct cvmx_mio_boot_thr_cn30xx cn58xx;
613 	struct cvmx_mio_boot_thr_cn30xx cn58xxp1;
614 };
615 
616 union cvmx_mio_fus_bnk_datx {
617 	uint64_t u64;
618 	struct cvmx_mio_fus_bnk_datx_s {
619 		uint64_t dat:64;
620 	} s;
621 	struct cvmx_mio_fus_bnk_datx_s cn50xx;
622 	struct cvmx_mio_fus_bnk_datx_s cn52xx;
623 	struct cvmx_mio_fus_bnk_datx_s cn52xxp1;
624 	struct cvmx_mio_fus_bnk_datx_s cn56xx;
625 	struct cvmx_mio_fus_bnk_datx_s cn56xxp1;
626 	struct cvmx_mio_fus_bnk_datx_s cn58xx;
627 	struct cvmx_mio_fus_bnk_datx_s cn58xxp1;
628 };
629 
630 union cvmx_mio_fus_dat0 {
631 	uint64_t u64;
632 	struct cvmx_mio_fus_dat0_s {
633 		uint64_t reserved_32_63:32;
634 		uint64_t man_info:32;
635 	} s;
636 	struct cvmx_mio_fus_dat0_s cn30xx;
637 	struct cvmx_mio_fus_dat0_s cn31xx;
638 	struct cvmx_mio_fus_dat0_s cn38xx;
639 	struct cvmx_mio_fus_dat0_s cn38xxp2;
640 	struct cvmx_mio_fus_dat0_s cn50xx;
641 	struct cvmx_mio_fus_dat0_s cn52xx;
642 	struct cvmx_mio_fus_dat0_s cn52xxp1;
643 	struct cvmx_mio_fus_dat0_s cn56xx;
644 	struct cvmx_mio_fus_dat0_s cn56xxp1;
645 	struct cvmx_mio_fus_dat0_s cn58xx;
646 	struct cvmx_mio_fus_dat0_s cn58xxp1;
647 };
648 
649 union cvmx_mio_fus_dat1 {
650 	uint64_t u64;
651 	struct cvmx_mio_fus_dat1_s {
652 		uint64_t reserved_32_63:32;
653 		uint64_t man_info:32;
654 	} s;
655 	struct cvmx_mio_fus_dat1_s cn30xx;
656 	struct cvmx_mio_fus_dat1_s cn31xx;
657 	struct cvmx_mio_fus_dat1_s cn38xx;
658 	struct cvmx_mio_fus_dat1_s cn38xxp2;
659 	struct cvmx_mio_fus_dat1_s cn50xx;
660 	struct cvmx_mio_fus_dat1_s cn52xx;
661 	struct cvmx_mio_fus_dat1_s cn52xxp1;
662 	struct cvmx_mio_fus_dat1_s cn56xx;
663 	struct cvmx_mio_fus_dat1_s cn56xxp1;
664 	struct cvmx_mio_fus_dat1_s cn58xx;
665 	struct cvmx_mio_fus_dat1_s cn58xxp1;
666 };
667 
668 union cvmx_mio_fus_dat2 {
669 	uint64_t u64;
670 	struct cvmx_mio_fus_dat2_s {
671 		uint64_t reserved_34_63:30;
672 		uint64_t fus318:1;
673 		uint64_t raid_en:1;
674 		uint64_t reserved_30_31:2;
675 		uint64_t nokasu:1;
676 		uint64_t nodfa_cp2:1;
677 		uint64_t nomul:1;
678 		uint64_t nocrypto:1;
679 		uint64_t rst_sht:1;
680 		uint64_t bist_dis:1;
681 		uint64_t chip_id:8;
682 		uint64_t reserved_0_15:16;
683 	} s;
684 	struct cvmx_mio_fus_dat2_cn30xx {
685 		uint64_t reserved_29_63:35;
686 		uint64_t nodfa_cp2:1;
687 		uint64_t nomul:1;
688 		uint64_t nocrypto:1;
689 		uint64_t rst_sht:1;
690 		uint64_t bist_dis:1;
691 		uint64_t chip_id:8;
692 		uint64_t pll_off:4;
693 		uint64_t reserved_1_11:11;
694 		uint64_t pp_dis:1;
695 	} cn30xx;
696 	struct cvmx_mio_fus_dat2_cn31xx {
697 		uint64_t reserved_29_63:35;
698 		uint64_t nodfa_cp2:1;
699 		uint64_t nomul:1;
700 		uint64_t nocrypto:1;
701 		uint64_t rst_sht:1;
702 		uint64_t bist_dis:1;
703 		uint64_t chip_id:8;
704 		uint64_t pll_off:4;
705 		uint64_t reserved_2_11:10;
706 		uint64_t pp_dis:2;
707 	} cn31xx;
708 	struct cvmx_mio_fus_dat2_cn38xx {
709 		uint64_t reserved_29_63:35;
710 		uint64_t nodfa_cp2:1;
711 		uint64_t nomul:1;
712 		uint64_t nocrypto:1;
713 		uint64_t rst_sht:1;
714 		uint64_t bist_dis:1;
715 		uint64_t chip_id:8;
716 		uint64_t pp_dis:16;
717 	} cn38xx;
718 	struct cvmx_mio_fus_dat2_cn38xx cn38xxp2;
719 	struct cvmx_mio_fus_dat2_cn50xx {
720 		uint64_t reserved_34_63:30;
721 		uint64_t fus318:1;
722 		uint64_t raid_en:1;
723 		uint64_t reserved_30_31:2;
724 		uint64_t nokasu:1;
725 		uint64_t nodfa_cp2:1;
726 		uint64_t nomul:1;
727 		uint64_t nocrypto:1;
728 		uint64_t rst_sht:1;
729 		uint64_t bist_dis:1;
730 		uint64_t chip_id:8;
731 		uint64_t reserved_2_15:14;
732 		uint64_t pp_dis:2;
733 	} cn50xx;
734 	struct cvmx_mio_fus_dat2_cn52xx {
735 		uint64_t reserved_34_63:30;
736 		uint64_t fus318:1;
737 		uint64_t raid_en:1;
738 		uint64_t reserved_30_31:2;
739 		uint64_t nokasu:1;
740 		uint64_t nodfa_cp2:1;
741 		uint64_t nomul:1;
742 		uint64_t nocrypto:1;
743 		uint64_t rst_sht:1;
744 		uint64_t bist_dis:1;
745 		uint64_t chip_id:8;
746 		uint64_t reserved_4_15:12;
747 		uint64_t pp_dis:4;
748 	} cn52xx;
749 	struct cvmx_mio_fus_dat2_cn52xx cn52xxp1;
750 	struct cvmx_mio_fus_dat2_cn56xx {
751 		uint64_t reserved_34_63:30;
752 		uint64_t fus318:1;
753 		uint64_t raid_en:1;
754 		uint64_t reserved_30_31:2;
755 		uint64_t nokasu:1;
756 		uint64_t nodfa_cp2:1;
757 		uint64_t nomul:1;
758 		uint64_t nocrypto:1;
759 		uint64_t rst_sht:1;
760 		uint64_t bist_dis:1;
761 		uint64_t chip_id:8;
762 		uint64_t reserved_12_15:4;
763 		uint64_t pp_dis:12;
764 	} cn56xx;
765 	struct cvmx_mio_fus_dat2_cn56xx cn56xxp1;
766 	struct cvmx_mio_fus_dat2_cn58xx {
767 		uint64_t reserved_30_63:34;
768 		uint64_t nokasu:1;
769 		uint64_t nodfa_cp2:1;
770 		uint64_t nomul:1;
771 		uint64_t nocrypto:1;
772 		uint64_t rst_sht:1;
773 		uint64_t bist_dis:1;
774 		uint64_t chip_id:8;
775 		uint64_t pp_dis:16;
776 	} cn58xx;
777 	struct cvmx_mio_fus_dat2_cn58xx cn58xxp1;
778 };
779 
780 union cvmx_mio_fus_dat3 {
781 	uint64_t u64;
782 	struct cvmx_mio_fus_dat3_s {
783 		uint64_t reserved_32_63:32;
784 		uint64_t pll_div4:1;
785 		uint64_t zip_crip:2;
786 		uint64_t bar2_en:1;
787 		uint64_t efus_lck:1;
788 		uint64_t efus_ign:1;
789 		uint64_t nozip:1;
790 		uint64_t nodfa_dte:1;
791 		uint64_t icache:24;
792 	} s;
793 	struct cvmx_mio_fus_dat3_cn30xx {
794 		uint64_t reserved_32_63:32;
795 		uint64_t pll_div4:1;
796 		uint64_t reserved_29_30:2;
797 		uint64_t bar2_en:1;
798 		uint64_t efus_lck:1;
799 		uint64_t efus_ign:1;
800 		uint64_t nozip:1;
801 		uint64_t nodfa_dte:1;
802 		uint64_t icache:24;
803 	} cn30xx;
804 	struct cvmx_mio_fus_dat3_s cn31xx;
805 	struct cvmx_mio_fus_dat3_cn38xx {
806 		uint64_t reserved_31_63:33;
807 		uint64_t zip_crip:2;
808 		uint64_t bar2_en:1;
809 		uint64_t efus_lck:1;
810 		uint64_t efus_ign:1;
811 		uint64_t nozip:1;
812 		uint64_t nodfa_dte:1;
813 		uint64_t icache:24;
814 	} cn38xx;
815 	struct cvmx_mio_fus_dat3_cn38xxp2 {
816 		uint64_t reserved_29_63:35;
817 		uint64_t bar2_en:1;
818 		uint64_t efus_lck:1;
819 		uint64_t efus_ign:1;
820 		uint64_t nozip:1;
821 		uint64_t nodfa_dte:1;
822 		uint64_t icache:24;
823 	} cn38xxp2;
824 	struct cvmx_mio_fus_dat3_cn38xx cn50xx;
825 	struct cvmx_mio_fus_dat3_cn38xx cn52xx;
826 	struct cvmx_mio_fus_dat3_cn38xx cn52xxp1;
827 	struct cvmx_mio_fus_dat3_cn38xx cn56xx;
828 	struct cvmx_mio_fus_dat3_cn38xx cn56xxp1;
829 	struct cvmx_mio_fus_dat3_cn38xx cn58xx;
830 	struct cvmx_mio_fus_dat3_cn38xx cn58xxp1;
831 };
832 
833 union cvmx_mio_fus_ema {
834 	uint64_t u64;
835 	struct cvmx_mio_fus_ema_s {
836 		uint64_t reserved_7_63:57;
837 		uint64_t eff_ema:3;
838 		uint64_t reserved_3_3:1;
839 		uint64_t ema:3;
840 	} s;
841 	struct cvmx_mio_fus_ema_s cn50xx;
842 	struct cvmx_mio_fus_ema_s cn52xx;
843 	struct cvmx_mio_fus_ema_s cn52xxp1;
844 	struct cvmx_mio_fus_ema_s cn56xx;
845 	struct cvmx_mio_fus_ema_s cn56xxp1;
846 	struct cvmx_mio_fus_ema_cn58xx {
847 		uint64_t reserved_2_63:62;
848 		uint64_t ema:2;
849 	} cn58xx;
850 	struct cvmx_mio_fus_ema_cn58xx cn58xxp1;
851 };
852 
853 union cvmx_mio_fus_pdf {
854 	uint64_t u64;
855 	struct cvmx_mio_fus_pdf_s {
856 		uint64_t pdf:64;
857 	} s;
858 	struct cvmx_mio_fus_pdf_s cn50xx;
859 	struct cvmx_mio_fus_pdf_s cn52xx;
860 	struct cvmx_mio_fus_pdf_s cn52xxp1;
861 	struct cvmx_mio_fus_pdf_s cn56xx;
862 	struct cvmx_mio_fus_pdf_s cn56xxp1;
863 	struct cvmx_mio_fus_pdf_s cn58xx;
864 };
865 
866 union cvmx_mio_fus_pll {
867 	uint64_t u64;
868 	struct cvmx_mio_fus_pll_s {
869 		uint64_t reserved_2_63:62;
870 		uint64_t rfslip:1;
871 		uint64_t fbslip:1;
872 	} s;
873 	struct cvmx_mio_fus_pll_s cn50xx;
874 	struct cvmx_mio_fus_pll_s cn52xx;
875 	struct cvmx_mio_fus_pll_s cn52xxp1;
876 	struct cvmx_mio_fus_pll_s cn56xx;
877 	struct cvmx_mio_fus_pll_s cn56xxp1;
878 	struct cvmx_mio_fus_pll_s cn58xx;
879 	struct cvmx_mio_fus_pll_s cn58xxp1;
880 };
881 
882 union cvmx_mio_fus_prog {
883 	uint64_t u64;
884 	struct cvmx_mio_fus_prog_s {
885 		uint64_t reserved_1_63:63;
886 		uint64_t prog:1;
887 	} s;
888 	struct cvmx_mio_fus_prog_s cn30xx;
889 	struct cvmx_mio_fus_prog_s cn31xx;
890 	struct cvmx_mio_fus_prog_s cn38xx;
891 	struct cvmx_mio_fus_prog_s cn38xxp2;
892 	struct cvmx_mio_fus_prog_s cn50xx;
893 	struct cvmx_mio_fus_prog_s cn52xx;
894 	struct cvmx_mio_fus_prog_s cn52xxp1;
895 	struct cvmx_mio_fus_prog_s cn56xx;
896 	struct cvmx_mio_fus_prog_s cn56xxp1;
897 	struct cvmx_mio_fus_prog_s cn58xx;
898 	struct cvmx_mio_fus_prog_s cn58xxp1;
899 };
900 
901 union cvmx_mio_fus_prog_times {
902 	uint64_t u64;
903 	struct cvmx_mio_fus_prog_times_s {
904 		uint64_t reserved_33_63:31;
905 		uint64_t prog_pin:1;
906 		uint64_t out:8;
907 		uint64_t sclk_lo:4;
908 		uint64_t sclk_hi:12;
909 		uint64_t setup:8;
910 	} s;
911 	struct cvmx_mio_fus_prog_times_s cn50xx;
912 	struct cvmx_mio_fus_prog_times_s cn52xx;
913 	struct cvmx_mio_fus_prog_times_s cn52xxp1;
914 	struct cvmx_mio_fus_prog_times_s cn56xx;
915 	struct cvmx_mio_fus_prog_times_s cn56xxp1;
916 	struct cvmx_mio_fus_prog_times_s cn58xx;
917 	struct cvmx_mio_fus_prog_times_s cn58xxp1;
918 };
919 
920 union cvmx_mio_fus_rcmd {
921 	uint64_t u64;
922 	struct cvmx_mio_fus_rcmd_s {
923 		uint64_t reserved_24_63:40;
924 		uint64_t dat:8;
925 		uint64_t reserved_13_15:3;
926 		uint64_t pend:1;
927 		uint64_t reserved_9_11:3;
928 		uint64_t efuse:1;
929 		uint64_t addr:8;
930 	} s;
931 	struct cvmx_mio_fus_rcmd_cn30xx {
932 		uint64_t reserved_24_63:40;
933 		uint64_t dat:8;
934 		uint64_t reserved_13_15:3;
935 		uint64_t pend:1;
936 		uint64_t reserved_9_11:3;
937 		uint64_t efuse:1;
938 		uint64_t reserved_7_7:1;
939 		uint64_t addr:7;
940 	} cn30xx;
941 	struct cvmx_mio_fus_rcmd_cn30xx cn31xx;
942 	struct cvmx_mio_fus_rcmd_cn30xx cn38xx;
943 	struct cvmx_mio_fus_rcmd_cn30xx cn38xxp2;
944 	struct cvmx_mio_fus_rcmd_cn30xx cn50xx;
945 	struct cvmx_mio_fus_rcmd_s cn52xx;
946 	struct cvmx_mio_fus_rcmd_s cn52xxp1;
947 	struct cvmx_mio_fus_rcmd_s cn56xx;
948 	struct cvmx_mio_fus_rcmd_s cn56xxp1;
949 	struct cvmx_mio_fus_rcmd_cn30xx cn58xx;
950 	struct cvmx_mio_fus_rcmd_cn30xx cn58xxp1;
951 };
952 
953 union cvmx_mio_fus_spr_repair_res {
954 	uint64_t u64;
955 	struct cvmx_mio_fus_spr_repair_res_s {
956 		uint64_t reserved_42_63:22;
957 		uint64_t repair2:14;
958 		uint64_t repair1:14;
959 		uint64_t repair0:14;
960 	} s;
961 	struct cvmx_mio_fus_spr_repair_res_s cn30xx;
962 	struct cvmx_mio_fus_spr_repair_res_s cn31xx;
963 	struct cvmx_mio_fus_spr_repair_res_s cn38xx;
964 	struct cvmx_mio_fus_spr_repair_res_s cn50xx;
965 	struct cvmx_mio_fus_spr_repair_res_s cn52xx;
966 	struct cvmx_mio_fus_spr_repair_res_s cn52xxp1;
967 	struct cvmx_mio_fus_spr_repair_res_s cn56xx;
968 	struct cvmx_mio_fus_spr_repair_res_s cn56xxp1;
969 	struct cvmx_mio_fus_spr_repair_res_s cn58xx;
970 	struct cvmx_mio_fus_spr_repair_res_s cn58xxp1;
971 };
972 
973 union cvmx_mio_fus_spr_repair_sum {
974 	uint64_t u64;
975 	struct cvmx_mio_fus_spr_repair_sum_s {
976 		uint64_t reserved_1_63:63;
977 		uint64_t too_many:1;
978 	} s;
979 	struct cvmx_mio_fus_spr_repair_sum_s cn30xx;
980 	struct cvmx_mio_fus_spr_repair_sum_s cn31xx;
981 	struct cvmx_mio_fus_spr_repair_sum_s cn38xx;
982 	struct cvmx_mio_fus_spr_repair_sum_s cn50xx;
983 	struct cvmx_mio_fus_spr_repair_sum_s cn52xx;
984 	struct cvmx_mio_fus_spr_repair_sum_s cn52xxp1;
985 	struct cvmx_mio_fus_spr_repair_sum_s cn56xx;
986 	struct cvmx_mio_fus_spr_repair_sum_s cn56xxp1;
987 	struct cvmx_mio_fus_spr_repair_sum_s cn58xx;
988 	struct cvmx_mio_fus_spr_repair_sum_s cn58xxp1;
989 };
990 
991 union cvmx_mio_fus_unlock {
992 	uint64_t u64;
993 	struct cvmx_mio_fus_unlock_s {
994 		uint64_t reserved_24_63:40;
995 		uint64_t key:24;
996 	} s;
997 	struct cvmx_mio_fus_unlock_s cn30xx;
998 	struct cvmx_mio_fus_unlock_s cn31xx;
999 };
1000 
1001 union cvmx_mio_fus_wadr {
1002 	uint64_t u64;
1003 	struct cvmx_mio_fus_wadr_s {
1004 		uint64_t reserved_10_63:54;
1005 		uint64_t addr:10;
1006 	} s;
1007 	struct cvmx_mio_fus_wadr_s cn30xx;
1008 	struct cvmx_mio_fus_wadr_s cn31xx;
1009 	struct cvmx_mio_fus_wadr_s cn38xx;
1010 	struct cvmx_mio_fus_wadr_s cn38xxp2;
1011 	struct cvmx_mio_fus_wadr_cn50xx {
1012 		uint64_t reserved_2_63:62;
1013 		uint64_t addr:2;
1014 	} cn50xx;
1015 	struct cvmx_mio_fus_wadr_cn52xx {
1016 		uint64_t reserved_3_63:61;
1017 		uint64_t addr:3;
1018 	} cn52xx;
1019 	struct cvmx_mio_fus_wadr_cn52xx cn52xxp1;
1020 	struct cvmx_mio_fus_wadr_cn52xx cn56xx;
1021 	struct cvmx_mio_fus_wadr_cn52xx cn56xxp1;
1022 	struct cvmx_mio_fus_wadr_cn50xx cn58xx;
1023 	struct cvmx_mio_fus_wadr_cn50xx cn58xxp1;
1024 };
1025 
1026 union cvmx_mio_ndf_dma_cfg {
1027 	uint64_t u64;
1028 	struct cvmx_mio_ndf_dma_cfg_s {
1029 		uint64_t en:1;
1030 		uint64_t rw:1;
1031 		uint64_t clr:1;
1032 		uint64_t reserved_60_60:1;
1033 		uint64_t swap32:1;
1034 		uint64_t swap16:1;
1035 		uint64_t swap8:1;
1036 		uint64_t endian:1;
1037 		uint64_t size:20;
1038 		uint64_t adr:36;
1039 	} s;
1040 	struct cvmx_mio_ndf_dma_cfg_s cn52xx;
1041 };
1042 
1043 union cvmx_mio_ndf_dma_int {
1044 	uint64_t u64;
1045 	struct cvmx_mio_ndf_dma_int_s {
1046 		uint64_t reserved_1_63:63;
1047 		uint64_t done:1;
1048 	} s;
1049 	struct cvmx_mio_ndf_dma_int_s cn52xx;
1050 };
1051 
1052 union cvmx_mio_ndf_dma_int_en {
1053 	uint64_t u64;
1054 	struct cvmx_mio_ndf_dma_int_en_s {
1055 		uint64_t reserved_1_63:63;
1056 		uint64_t done:1;
1057 	} s;
1058 	struct cvmx_mio_ndf_dma_int_en_s cn52xx;
1059 };
1060 
1061 union cvmx_mio_pll_ctl {
1062 	uint64_t u64;
1063 	struct cvmx_mio_pll_ctl_s {
1064 		uint64_t reserved_5_63:59;
1065 		uint64_t bw_ctl:5;
1066 	} s;
1067 	struct cvmx_mio_pll_ctl_s cn30xx;
1068 	struct cvmx_mio_pll_ctl_s cn31xx;
1069 };
1070 
1071 union cvmx_mio_pll_setting {
1072 	uint64_t u64;
1073 	struct cvmx_mio_pll_setting_s {
1074 		uint64_t reserved_17_63:47;
1075 		uint64_t setting:17;
1076 	} s;
1077 	struct cvmx_mio_pll_setting_s cn30xx;
1078 	struct cvmx_mio_pll_setting_s cn31xx;
1079 };
1080 
1081 union cvmx_mio_twsx_int {
1082 	uint64_t u64;
1083 	struct cvmx_mio_twsx_int_s {
1084 		uint64_t reserved_12_63:52;
1085 		uint64_t scl:1;
1086 		uint64_t sda:1;
1087 		uint64_t scl_ovr:1;
1088 		uint64_t sda_ovr:1;
1089 		uint64_t reserved_7_7:1;
1090 		uint64_t core_en:1;
1091 		uint64_t ts_en:1;
1092 		uint64_t st_en:1;
1093 		uint64_t reserved_3_3:1;
1094 		uint64_t core_int:1;
1095 		uint64_t ts_int:1;
1096 		uint64_t st_int:1;
1097 	} s;
1098 	struct cvmx_mio_twsx_int_s cn30xx;
1099 	struct cvmx_mio_twsx_int_s cn31xx;
1100 	struct cvmx_mio_twsx_int_s cn38xx;
1101 	struct cvmx_mio_twsx_int_cn38xxp2 {
1102 		uint64_t reserved_7_63:57;
1103 		uint64_t core_en:1;
1104 		uint64_t ts_en:1;
1105 		uint64_t st_en:1;
1106 		uint64_t reserved_3_3:1;
1107 		uint64_t core_int:1;
1108 		uint64_t ts_int:1;
1109 		uint64_t st_int:1;
1110 	} cn38xxp2;
1111 	struct cvmx_mio_twsx_int_s cn50xx;
1112 	struct cvmx_mio_twsx_int_s cn52xx;
1113 	struct cvmx_mio_twsx_int_s cn52xxp1;
1114 	struct cvmx_mio_twsx_int_s cn56xx;
1115 	struct cvmx_mio_twsx_int_s cn56xxp1;
1116 	struct cvmx_mio_twsx_int_s cn58xx;
1117 	struct cvmx_mio_twsx_int_s cn58xxp1;
1118 };
1119 
1120 union cvmx_mio_twsx_sw_twsi {
1121 	uint64_t u64;
1122 	struct cvmx_mio_twsx_sw_twsi_s {
1123 		uint64_t v:1;
1124 		uint64_t slonly:1;
1125 		uint64_t eia:1;
1126 		uint64_t op:4;
1127 		uint64_t r:1;
1128 		uint64_t sovr:1;
1129 		uint64_t size:3;
1130 		uint64_t scr:2;
1131 		uint64_t a:10;
1132 		uint64_t ia:5;
1133 		uint64_t eop_ia:3;
1134 		uint64_t d:32;
1135 	} s;
1136 	struct cvmx_mio_twsx_sw_twsi_s cn30xx;
1137 	struct cvmx_mio_twsx_sw_twsi_s cn31xx;
1138 	struct cvmx_mio_twsx_sw_twsi_s cn38xx;
1139 	struct cvmx_mio_twsx_sw_twsi_s cn38xxp2;
1140 	struct cvmx_mio_twsx_sw_twsi_s cn50xx;
1141 	struct cvmx_mio_twsx_sw_twsi_s cn52xx;
1142 	struct cvmx_mio_twsx_sw_twsi_s cn52xxp1;
1143 	struct cvmx_mio_twsx_sw_twsi_s cn56xx;
1144 	struct cvmx_mio_twsx_sw_twsi_s cn56xxp1;
1145 	struct cvmx_mio_twsx_sw_twsi_s cn58xx;
1146 	struct cvmx_mio_twsx_sw_twsi_s cn58xxp1;
1147 };
1148 
1149 union cvmx_mio_twsx_sw_twsi_ext {
1150 	uint64_t u64;
1151 	struct cvmx_mio_twsx_sw_twsi_ext_s {
1152 		uint64_t reserved_40_63:24;
1153 		uint64_t ia:8;
1154 		uint64_t d:32;
1155 	} s;
1156 	struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx;
1157 	struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx;
1158 	struct cvmx_mio_twsx_sw_twsi_ext_s cn38xx;
1159 	struct cvmx_mio_twsx_sw_twsi_ext_s cn38xxp2;
1160 	struct cvmx_mio_twsx_sw_twsi_ext_s cn50xx;
1161 	struct cvmx_mio_twsx_sw_twsi_ext_s cn52xx;
1162 	struct cvmx_mio_twsx_sw_twsi_ext_s cn52xxp1;
1163 	struct cvmx_mio_twsx_sw_twsi_ext_s cn56xx;
1164 	struct cvmx_mio_twsx_sw_twsi_ext_s cn56xxp1;
1165 	struct cvmx_mio_twsx_sw_twsi_ext_s cn58xx;
1166 	struct cvmx_mio_twsx_sw_twsi_ext_s cn58xxp1;
1167 };
1168 
1169 union cvmx_mio_twsx_twsi_sw {
1170 	uint64_t u64;
1171 	struct cvmx_mio_twsx_twsi_sw_s {
1172 		uint64_t v:2;
1173 		uint64_t reserved_32_61:30;
1174 		uint64_t d:32;
1175 	} s;
1176 	struct cvmx_mio_twsx_twsi_sw_s cn30xx;
1177 	struct cvmx_mio_twsx_twsi_sw_s cn31xx;
1178 	struct cvmx_mio_twsx_twsi_sw_s cn38xx;
1179 	struct cvmx_mio_twsx_twsi_sw_s cn38xxp2;
1180 	struct cvmx_mio_twsx_twsi_sw_s cn50xx;
1181 	struct cvmx_mio_twsx_twsi_sw_s cn52xx;
1182 	struct cvmx_mio_twsx_twsi_sw_s cn52xxp1;
1183 	struct cvmx_mio_twsx_twsi_sw_s cn56xx;
1184 	struct cvmx_mio_twsx_twsi_sw_s cn56xxp1;
1185 	struct cvmx_mio_twsx_twsi_sw_s cn58xx;
1186 	struct cvmx_mio_twsx_twsi_sw_s cn58xxp1;
1187 };
1188 
1189 union cvmx_mio_uartx_dlh {
1190 	uint64_t u64;
1191 	struct cvmx_mio_uartx_dlh_s {
1192 		uint64_t reserved_8_63:56;
1193 		uint64_t dlh:8;
1194 	} s;
1195 	struct cvmx_mio_uartx_dlh_s cn30xx;
1196 	struct cvmx_mio_uartx_dlh_s cn31xx;
1197 	struct cvmx_mio_uartx_dlh_s cn38xx;
1198 	struct cvmx_mio_uartx_dlh_s cn38xxp2;
1199 	struct cvmx_mio_uartx_dlh_s cn50xx;
1200 	struct cvmx_mio_uartx_dlh_s cn52xx;
1201 	struct cvmx_mio_uartx_dlh_s cn52xxp1;
1202 	struct cvmx_mio_uartx_dlh_s cn56xx;
1203 	struct cvmx_mio_uartx_dlh_s cn56xxp1;
1204 	struct cvmx_mio_uartx_dlh_s cn58xx;
1205 	struct cvmx_mio_uartx_dlh_s cn58xxp1;
1206 };
1207 
1208 union cvmx_mio_uartx_dll {
1209 	uint64_t u64;
1210 	struct cvmx_mio_uartx_dll_s {
1211 		uint64_t reserved_8_63:56;
1212 		uint64_t dll:8;
1213 	} s;
1214 	struct cvmx_mio_uartx_dll_s cn30xx;
1215 	struct cvmx_mio_uartx_dll_s cn31xx;
1216 	struct cvmx_mio_uartx_dll_s cn38xx;
1217 	struct cvmx_mio_uartx_dll_s cn38xxp2;
1218 	struct cvmx_mio_uartx_dll_s cn50xx;
1219 	struct cvmx_mio_uartx_dll_s cn52xx;
1220 	struct cvmx_mio_uartx_dll_s cn52xxp1;
1221 	struct cvmx_mio_uartx_dll_s cn56xx;
1222 	struct cvmx_mio_uartx_dll_s cn56xxp1;
1223 	struct cvmx_mio_uartx_dll_s cn58xx;
1224 	struct cvmx_mio_uartx_dll_s cn58xxp1;
1225 };
1226 
1227 union cvmx_mio_uartx_far {
1228 	uint64_t u64;
1229 	struct cvmx_mio_uartx_far_s {
1230 		uint64_t reserved_1_63:63;
1231 		uint64_t far:1;
1232 	} s;
1233 	struct cvmx_mio_uartx_far_s cn30xx;
1234 	struct cvmx_mio_uartx_far_s cn31xx;
1235 	struct cvmx_mio_uartx_far_s cn38xx;
1236 	struct cvmx_mio_uartx_far_s cn38xxp2;
1237 	struct cvmx_mio_uartx_far_s cn50xx;
1238 	struct cvmx_mio_uartx_far_s cn52xx;
1239 	struct cvmx_mio_uartx_far_s cn52xxp1;
1240 	struct cvmx_mio_uartx_far_s cn56xx;
1241 	struct cvmx_mio_uartx_far_s cn56xxp1;
1242 	struct cvmx_mio_uartx_far_s cn58xx;
1243 	struct cvmx_mio_uartx_far_s cn58xxp1;
1244 };
1245 
1246 union cvmx_mio_uartx_fcr {
1247 	uint64_t u64;
1248 	struct cvmx_mio_uartx_fcr_s {
1249 		uint64_t reserved_8_63:56;
1250 		uint64_t rxtrig:2;
1251 		uint64_t txtrig:2;
1252 		uint64_t reserved_3_3:1;
1253 		uint64_t txfr:1;
1254 		uint64_t rxfr:1;
1255 		uint64_t en:1;
1256 	} s;
1257 	struct cvmx_mio_uartx_fcr_s cn30xx;
1258 	struct cvmx_mio_uartx_fcr_s cn31xx;
1259 	struct cvmx_mio_uartx_fcr_s cn38xx;
1260 	struct cvmx_mio_uartx_fcr_s cn38xxp2;
1261 	struct cvmx_mio_uartx_fcr_s cn50xx;
1262 	struct cvmx_mio_uartx_fcr_s cn52xx;
1263 	struct cvmx_mio_uartx_fcr_s cn52xxp1;
1264 	struct cvmx_mio_uartx_fcr_s cn56xx;
1265 	struct cvmx_mio_uartx_fcr_s cn56xxp1;
1266 	struct cvmx_mio_uartx_fcr_s cn58xx;
1267 	struct cvmx_mio_uartx_fcr_s cn58xxp1;
1268 };
1269 
1270 union cvmx_mio_uartx_htx {
1271 	uint64_t u64;
1272 	struct cvmx_mio_uartx_htx_s {
1273 		uint64_t reserved_1_63:63;
1274 		uint64_t htx:1;
1275 	} s;
1276 	struct cvmx_mio_uartx_htx_s cn30xx;
1277 	struct cvmx_mio_uartx_htx_s cn31xx;
1278 	struct cvmx_mio_uartx_htx_s cn38xx;
1279 	struct cvmx_mio_uartx_htx_s cn38xxp2;
1280 	struct cvmx_mio_uartx_htx_s cn50xx;
1281 	struct cvmx_mio_uartx_htx_s cn52xx;
1282 	struct cvmx_mio_uartx_htx_s cn52xxp1;
1283 	struct cvmx_mio_uartx_htx_s cn56xx;
1284 	struct cvmx_mio_uartx_htx_s cn56xxp1;
1285 	struct cvmx_mio_uartx_htx_s cn58xx;
1286 	struct cvmx_mio_uartx_htx_s cn58xxp1;
1287 };
1288 
1289 union cvmx_mio_uartx_ier {
1290 	uint64_t u64;
1291 	struct cvmx_mio_uartx_ier_s {
1292 		uint64_t reserved_8_63:56;
1293 		uint64_t ptime:1;
1294 		uint64_t reserved_4_6:3;
1295 		uint64_t edssi:1;
1296 		uint64_t elsi:1;
1297 		uint64_t etbei:1;
1298 		uint64_t erbfi:1;
1299 	} s;
1300 	struct cvmx_mio_uartx_ier_s cn30xx;
1301 	struct cvmx_mio_uartx_ier_s cn31xx;
1302 	struct cvmx_mio_uartx_ier_s cn38xx;
1303 	struct cvmx_mio_uartx_ier_s cn38xxp2;
1304 	struct cvmx_mio_uartx_ier_s cn50xx;
1305 	struct cvmx_mio_uartx_ier_s cn52xx;
1306 	struct cvmx_mio_uartx_ier_s cn52xxp1;
1307 	struct cvmx_mio_uartx_ier_s cn56xx;
1308 	struct cvmx_mio_uartx_ier_s cn56xxp1;
1309 	struct cvmx_mio_uartx_ier_s cn58xx;
1310 	struct cvmx_mio_uartx_ier_s cn58xxp1;
1311 };
1312 
1313 union cvmx_mio_uartx_iir {
1314 	uint64_t u64;
1315 	struct cvmx_mio_uartx_iir_s {
1316 		uint64_t reserved_8_63:56;
1317 		uint64_t fen:2;
1318 		uint64_t reserved_4_5:2;
1319 		uint64_t iid:4;
1320 	} s;
1321 	struct cvmx_mio_uartx_iir_s cn30xx;
1322 	struct cvmx_mio_uartx_iir_s cn31xx;
1323 	struct cvmx_mio_uartx_iir_s cn38xx;
1324 	struct cvmx_mio_uartx_iir_s cn38xxp2;
1325 	struct cvmx_mio_uartx_iir_s cn50xx;
1326 	struct cvmx_mio_uartx_iir_s cn52xx;
1327 	struct cvmx_mio_uartx_iir_s cn52xxp1;
1328 	struct cvmx_mio_uartx_iir_s cn56xx;
1329 	struct cvmx_mio_uartx_iir_s cn56xxp1;
1330 	struct cvmx_mio_uartx_iir_s cn58xx;
1331 	struct cvmx_mio_uartx_iir_s cn58xxp1;
1332 };
1333 
1334 union cvmx_mio_uartx_lcr {
1335 	uint64_t u64;
1336 	struct cvmx_mio_uartx_lcr_s {
1337 		uint64_t reserved_8_63:56;
1338 		uint64_t dlab:1;
1339 		uint64_t brk:1;
1340 		uint64_t reserved_5_5:1;
1341 		uint64_t eps:1;
1342 		uint64_t pen:1;
1343 		uint64_t stop:1;
1344 		uint64_t cls:2;
1345 	} s;
1346 	struct cvmx_mio_uartx_lcr_s cn30xx;
1347 	struct cvmx_mio_uartx_lcr_s cn31xx;
1348 	struct cvmx_mio_uartx_lcr_s cn38xx;
1349 	struct cvmx_mio_uartx_lcr_s cn38xxp2;
1350 	struct cvmx_mio_uartx_lcr_s cn50xx;
1351 	struct cvmx_mio_uartx_lcr_s cn52xx;
1352 	struct cvmx_mio_uartx_lcr_s cn52xxp1;
1353 	struct cvmx_mio_uartx_lcr_s cn56xx;
1354 	struct cvmx_mio_uartx_lcr_s cn56xxp1;
1355 	struct cvmx_mio_uartx_lcr_s cn58xx;
1356 	struct cvmx_mio_uartx_lcr_s cn58xxp1;
1357 };
1358 
1359 union cvmx_mio_uartx_lsr {
1360 	uint64_t u64;
1361 	struct cvmx_mio_uartx_lsr_s {
1362 		uint64_t reserved_8_63:56;
1363 		uint64_t ferr:1;
1364 		uint64_t temt:1;
1365 		uint64_t thre:1;
1366 		uint64_t bi:1;
1367 		uint64_t fe:1;
1368 		uint64_t pe:1;
1369 		uint64_t oe:1;
1370 		uint64_t dr:1;
1371 	} s;
1372 	struct cvmx_mio_uartx_lsr_s cn30xx;
1373 	struct cvmx_mio_uartx_lsr_s cn31xx;
1374 	struct cvmx_mio_uartx_lsr_s cn38xx;
1375 	struct cvmx_mio_uartx_lsr_s cn38xxp2;
1376 	struct cvmx_mio_uartx_lsr_s cn50xx;
1377 	struct cvmx_mio_uartx_lsr_s cn52xx;
1378 	struct cvmx_mio_uartx_lsr_s cn52xxp1;
1379 	struct cvmx_mio_uartx_lsr_s cn56xx;
1380 	struct cvmx_mio_uartx_lsr_s cn56xxp1;
1381 	struct cvmx_mio_uartx_lsr_s cn58xx;
1382 	struct cvmx_mio_uartx_lsr_s cn58xxp1;
1383 };
1384 
1385 union cvmx_mio_uartx_mcr {
1386 	uint64_t u64;
1387 	struct cvmx_mio_uartx_mcr_s {
1388 		uint64_t reserved_6_63:58;
1389 		uint64_t afce:1;
1390 		uint64_t loop:1;
1391 		uint64_t out2:1;
1392 		uint64_t out1:1;
1393 		uint64_t rts:1;
1394 		uint64_t dtr:1;
1395 	} s;
1396 	struct cvmx_mio_uartx_mcr_s cn30xx;
1397 	struct cvmx_mio_uartx_mcr_s cn31xx;
1398 	struct cvmx_mio_uartx_mcr_s cn38xx;
1399 	struct cvmx_mio_uartx_mcr_s cn38xxp2;
1400 	struct cvmx_mio_uartx_mcr_s cn50xx;
1401 	struct cvmx_mio_uartx_mcr_s cn52xx;
1402 	struct cvmx_mio_uartx_mcr_s cn52xxp1;
1403 	struct cvmx_mio_uartx_mcr_s cn56xx;
1404 	struct cvmx_mio_uartx_mcr_s cn56xxp1;
1405 	struct cvmx_mio_uartx_mcr_s cn58xx;
1406 	struct cvmx_mio_uartx_mcr_s cn58xxp1;
1407 };
1408 
1409 union cvmx_mio_uartx_msr {
1410 	uint64_t u64;
1411 	struct cvmx_mio_uartx_msr_s {
1412 		uint64_t reserved_8_63:56;
1413 		uint64_t dcd:1;
1414 		uint64_t ri:1;
1415 		uint64_t dsr:1;
1416 		uint64_t cts:1;
1417 		uint64_t ddcd:1;
1418 		uint64_t teri:1;
1419 		uint64_t ddsr:1;
1420 		uint64_t dcts:1;
1421 	} s;
1422 	struct cvmx_mio_uartx_msr_s cn30xx;
1423 	struct cvmx_mio_uartx_msr_s cn31xx;
1424 	struct cvmx_mio_uartx_msr_s cn38xx;
1425 	struct cvmx_mio_uartx_msr_s cn38xxp2;
1426 	struct cvmx_mio_uartx_msr_s cn50xx;
1427 	struct cvmx_mio_uartx_msr_s cn52xx;
1428 	struct cvmx_mio_uartx_msr_s cn52xxp1;
1429 	struct cvmx_mio_uartx_msr_s cn56xx;
1430 	struct cvmx_mio_uartx_msr_s cn56xxp1;
1431 	struct cvmx_mio_uartx_msr_s cn58xx;
1432 	struct cvmx_mio_uartx_msr_s cn58xxp1;
1433 };
1434 
1435 union cvmx_mio_uartx_rbr {
1436 	uint64_t u64;
1437 	struct cvmx_mio_uartx_rbr_s {
1438 		uint64_t reserved_8_63:56;
1439 		uint64_t rbr:8;
1440 	} s;
1441 	struct cvmx_mio_uartx_rbr_s cn30xx;
1442 	struct cvmx_mio_uartx_rbr_s cn31xx;
1443 	struct cvmx_mio_uartx_rbr_s cn38xx;
1444 	struct cvmx_mio_uartx_rbr_s cn38xxp2;
1445 	struct cvmx_mio_uartx_rbr_s cn50xx;
1446 	struct cvmx_mio_uartx_rbr_s cn52xx;
1447 	struct cvmx_mio_uartx_rbr_s cn52xxp1;
1448 	struct cvmx_mio_uartx_rbr_s cn56xx;
1449 	struct cvmx_mio_uartx_rbr_s cn56xxp1;
1450 	struct cvmx_mio_uartx_rbr_s cn58xx;
1451 	struct cvmx_mio_uartx_rbr_s cn58xxp1;
1452 };
1453 
1454 union cvmx_mio_uartx_rfl {
1455 	uint64_t u64;
1456 	struct cvmx_mio_uartx_rfl_s {
1457 		uint64_t reserved_7_63:57;
1458 		uint64_t rfl:7;
1459 	} s;
1460 	struct cvmx_mio_uartx_rfl_s cn30xx;
1461 	struct cvmx_mio_uartx_rfl_s cn31xx;
1462 	struct cvmx_mio_uartx_rfl_s cn38xx;
1463 	struct cvmx_mio_uartx_rfl_s cn38xxp2;
1464 	struct cvmx_mio_uartx_rfl_s cn50xx;
1465 	struct cvmx_mio_uartx_rfl_s cn52xx;
1466 	struct cvmx_mio_uartx_rfl_s cn52xxp1;
1467 	struct cvmx_mio_uartx_rfl_s cn56xx;
1468 	struct cvmx_mio_uartx_rfl_s cn56xxp1;
1469 	struct cvmx_mio_uartx_rfl_s cn58xx;
1470 	struct cvmx_mio_uartx_rfl_s cn58xxp1;
1471 };
1472 
1473 union cvmx_mio_uartx_rfw {
1474 	uint64_t u64;
1475 	struct cvmx_mio_uartx_rfw_s {
1476 		uint64_t reserved_10_63:54;
1477 		uint64_t rffe:1;
1478 		uint64_t rfpe:1;
1479 		uint64_t rfwd:8;
1480 	} s;
1481 	struct cvmx_mio_uartx_rfw_s cn30xx;
1482 	struct cvmx_mio_uartx_rfw_s cn31xx;
1483 	struct cvmx_mio_uartx_rfw_s cn38xx;
1484 	struct cvmx_mio_uartx_rfw_s cn38xxp2;
1485 	struct cvmx_mio_uartx_rfw_s cn50xx;
1486 	struct cvmx_mio_uartx_rfw_s cn52xx;
1487 	struct cvmx_mio_uartx_rfw_s cn52xxp1;
1488 	struct cvmx_mio_uartx_rfw_s cn56xx;
1489 	struct cvmx_mio_uartx_rfw_s cn56xxp1;
1490 	struct cvmx_mio_uartx_rfw_s cn58xx;
1491 	struct cvmx_mio_uartx_rfw_s cn58xxp1;
1492 };
1493 
1494 union cvmx_mio_uartx_sbcr {
1495 	uint64_t u64;
1496 	struct cvmx_mio_uartx_sbcr_s {
1497 		uint64_t reserved_1_63:63;
1498 		uint64_t sbcr:1;
1499 	} s;
1500 	struct cvmx_mio_uartx_sbcr_s cn30xx;
1501 	struct cvmx_mio_uartx_sbcr_s cn31xx;
1502 	struct cvmx_mio_uartx_sbcr_s cn38xx;
1503 	struct cvmx_mio_uartx_sbcr_s cn38xxp2;
1504 	struct cvmx_mio_uartx_sbcr_s cn50xx;
1505 	struct cvmx_mio_uartx_sbcr_s cn52xx;
1506 	struct cvmx_mio_uartx_sbcr_s cn52xxp1;
1507 	struct cvmx_mio_uartx_sbcr_s cn56xx;
1508 	struct cvmx_mio_uartx_sbcr_s cn56xxp1;
1509 	struct cvmx_mio_uartx_sbcr_s cn58xx;
1510 	struct cvmx_mio_uartx_sbcr_s cn58xxp1;
1511 };
1512 
1513 union cvmx_mio_uartx_scr {
1514 	uint64_t u64;
1515 	struct cvmx_mio_uartx_scr_s {
1516 		uint64_t reserved_8_63:56;
1517 		uint64_t scr:8;
1518 	} s;
1519 	struct cvmx_mio_uartx_scr_s cn30xx;
1520 	struct cvmx_mio_uartx_scr_s cn31xx;
1521 	struct cvmx_mio_uartx_scr_s cn38xx;
1522 	struct cvmx_mio_uartx_scr_s cn38xxp2;
1523 	struct cvmx_mio_uartx_scr_s cn50xx;
1524 	struct cvmx_mio_uartx_scr_s cn52xx;
1525 	struct cvmx_mio_uartx_scr_s cn52xxp1;
1526 	struct cvmx_mio_uartx_scr_s cn56xx;
1527 	struct cvmx_mio_uartx_scr_s cn56xxp1;
1528 	struct cvmx_mio_uartx_scr_s cn58xx;
1529 	struct cvmx_mio_uartx_scr_s cn58xxp1;
1530 };
1531 
1532 union cvmx_mio_uartx_sfe {
1533 	uint64_t u64;
1534 	struct cvmx_mio_uartx_sfe_s {
1535 		uint64_t reserved_1_63:63;
1536 		uint64_t sfe:1;
1537 	} s;
1538 	struct cvmx_mio_uartx_sfe_s cn30xx;
1539 	struct cvmx_mio_uartx_sfe_s cn31xx;
1540 	struct cvmx_mio_uartx_sfe_s cn38xx;
1541 	struct cvmx_mio_uartx_sfe_s cn38xxp2;
1542 	struct cvmx_mio_uartx_sfe_s cn50xx;
1543 	struct cvmx_mio_uartx_sfe_s cn52xx;
1544 	struct cvmx_mio_uartx_sfe_s cn52xxp1;
1545 	struct cvmx_mio_uartx_sfe_s cn56xx;
1546 	struct cvmx_mio_uartx_sfe_s cn56xxp1;
1547 	struct cvmx_mio_uartx_sfe_s cn58xx;
1548 	struct cvmx_mio_uartx_sfe_s cn58xxp1;
1549 };
1550 
1551 union cvmx_mio_uartx_srr {
1552 	uint64_t u64;
1553 	struct cvmx_mio_uartx_srr_s {
1554 		uint64_t reserved_3_63:61;
1555 		uint64_t stfr:1;
1556 		uint64_t srfr:1;
1557 		uint64_t usr:1;
1558 	} s;
1559 	struct cvmx_mio_uartx_srr_s cn30xx;
1560 	struct cvmx_mio_uartx_srr_s cn31xx;
1561 	struct cvmx_mio_uartx_srr_s cn38xx;
1562 	struct cvmx_mio_uartx_srr_s cn38xxp2;
1563 	struct cvmx_mio_uartx_srr_s cn50xx;
1564 	struct cvmx_mio_uartx_srr_s cn52xx;
1565 	struct cvmx_mio_uartx_srr_s cn52xxp1;
1566 	struct cvmx_mio_uartx_srr_s cn56xx;
1567 	struct cvmx_mio_uartx_srr_s cn56xxp1;
1568 	struct cvmx_mio_uartx_srr_s cn58xx;
1569 	struct cvmx_mio_uartx_srr_s cn58xxp1;
1570 };
1571 
1572 union cvmx_mio_uartx_srt {
1573 	uint64_t u64;
1574 	struct cvmx_mio_uartx_srt_s {
1575 		uint64_t reserved_2_63:62;
1576 		uint64_t srt:2;
1577 	} s;
1578 	struct cvmx_mio_uartx_srt_s cn30xx;
1579 	struct cvmx_mio_uartx_srt_s cn31xx;
1580 	struct cvmx_mio_uartx_srt_s cn38xx;
1581 	struct cvmx_mio_uartx_srt_s cn38xxp2;
1582 	struct cvmx_mio_uartx_srt_s cn50xx;
1583 	struct cvmx_mio_uartx_srt_s cn52xx;
1584 	struct cvmx_mio_uartx_srt_s cn52xxp1;
1585 	struct cvmx_mio_uartx_srt_s cn56xx;
1586 	struct cvmx_mio_uartx_srt_s cn56xxp1;
1587 	struct cvmx_mio_uartx_srt_s cn58xx;
1588 	struct cvmx_mio_uartx_srt_s cn58xxp1;
1589 };
1590 
1591 union cvmx_mio_uartx_srts {
1592 	uint64_t u64;
1593 	struct cvmx_mio_uartx_srts_s {
1594 		uint64_t reserved_1_63:63;
1595 		uint64_t srts:1;
1596 	} s;
1597 	struct cvmx_mio_uartx_srts_s cn30xx;
1598 	struct cvmx_mio_uartx_srts_s cn31xx;
1599 	struct cvmx_mio_uartx_srts_s cn38xx;
1600 	struct cvmx_mio_uartx_srts_s cn38xxp2;
1601 	struct cvmx_mio_uartx_srts_s cn50xx;
1602 	struct cvmx_mio_uartx_srts_s cn52xx;
1603 	struct cvmx_mio_uartx_srts_s cn52xxp1;
1604 	struct cvmx_mio_uartx_srts_s cn56xx;
1605 	struct cvmx_mio_uartx_srts_s cn56xxp1;
1606 	struct cvmx_mio_uartx_srts_s cn58xx;
1607 	struct cvmx_mio_uartx_srts_s cn58xxp1;
1608 };
1609 
1610 union cvmx_mio_uartx_stt {
1611 	uint64_t u64;
1612 	struct cvmx_mio_uartx_stt_s {
1613 		uint64_t reserved_2_63:62;
1614 		uint64_t stt:2;
1615 	} s;
1616 	struct cvmx_mio_uartx_stt_s cn30xx;
1617 	struct cvmx_mio_uartx_stt_s cn31xx;
1618 	struct cvmx_mio_uartx_stt_s cn38xx;
1619 	struct cvmx_mio_uartx_stt_s cn38xxp2;
1620 	struct cvmx_mio_uartx_stt_s cn50xx;
1621 	struct cvmx_mio_uartx_stt_s cn52xx;
1622 	struct cvmx_mio_uartx_stt_s cn52xxp1;
1623 	struct cvmx_mio_uartx_stt_s cn56xx;
1624 	struct cvmx_mio_uartx_stt_s cn56xxp1;
1625 	struct cvmx_mio_uartx_stt_s cn58xx;
1626 	struct cvmx_mio_uartx_stt_s cn58xxp1;
1627 };
1628 
1629 union cvmx_mio_uartx_tfl {
1630 	uint64_t u64;
1631 	struct cvmx_mio_uartx_tfl_s {
1632 		uint64_t reserved_7_63:57;
1633 		uint64_t tfl:7;
1634 	} s;
1635 	struct cvmx_mio_uartx_tfl_s cn30xx;
1636 	struct cvmx_mio_uartx_tfl_s cn31xx;
1637 	struct cvmx_mio_uartx_tfl_s cn38xx;
1638 	struct cvmx_mio_uartx_tfl_s cn38xxp2;
1639 	struct cvmx_mio_uartx_tfl_s cn50xx;
1640 	struct cvmx_mio_uartx_tfl_s cn52xx;
1641 	struct cvmx_mio_uartx_tfl_s cn52xxp1;
1642 	struct cvmx_mio_uartx_tfl_s cn56xx;
1643 	struct cvmx_mio_uartx_tfl_s cn56xxp1;
1644 	struct cvmx_mio_uartx_tfl_s cn58xx;
1645 	struct cvmx_mio_uartx_tfl_s cn58xxp1;
1646 };
1647 
1648 union cvmx_mio_uartx_tfr {
1649 	uint64_t u64;
1650 	struct cvmx_mio_uartx_tfr_s {
1651 		uint64_t reserved_8_63:56;
1652 		uint64_t tfr:8;
1653 	} s;
1654 	struct cvmx_mio_uartx_tfr_s cn30xx;
1655 	struct cvmx_mio_uartx_tfr_s cn31xx;
1656 	struct cvmx_mio_uartx_tfr_s cn38xx;
1657 	struct cvmx_mio_uartx_tfr_s cn38xxp2;
1658 	struct cvmx_mio_uartx_tfr_s cn50xx;
1659 	struct cvmx_mio_uartx_tfr_s cn52xx;
1660 	struct cvmx_mio_uartx_tfr_s cn52xxp1;
1661 	struct cvmx_mio_uartx_tfr_s cn56xx;
1662 	struct cvmx_mio_uartx_tfr_s cn56xxp1;
1663 	struct cvmx_mio_uartx_tfr_s cn58xx;
1664 	struct cvmx_mio_uartx_tfr_s cn58xxp1;
1665 };
1666 
1667 union cvmx_mio_uartx_thr {
1668 	uint64_t u64;
1669 	struct cvmx_mio_uartx_thr_s {
1670 		uint64_t reserved_8_63:56;
1671 		uint64_t thr:8;
1672 	} s;
1673 	struct cvmx_mio_uartx_thr_s cn30xx;
1674 	struct cvmx_mio_uartx_thr_s cn31xx;
1675 	struct cvmx_mio_uartx_thr_s cn38xx;
1676 	struct cvmx_mio_uartx_thr_s cn38xxp2;
1677 	struct cvmx_mio_uartx_thr_s cn50xx;
1678 	struct cvmx_mio_uartx_thr_s cn52xx;
1679 	struct cvmx_mio_uartx_thr_s cn52xxp1;
1680 	struct cvmx_mio_uartx_thr_s cn56xx;
1681 	struct cvmx_mio_uartx_thr_s cn56xxp1;
1682 	struct cvmx_mio_uartx_thr_s cn58xx;
1683 	struct cvmx_mio_uartx_thr_s cn58xxp1;
1684 };
1685 
1686 union cvmx_mio_uartx_usr {
1687 	uint64_t u64;
1688 	struct cvmx_mio_uartx_usr_s {
1689 		uint64_t reserved_5_63:59;
1690 		uint64_t rff:1;
1691 		uint64_t rfne:1;
1692 		uint64_t tfe:1;
1693 		uint64_t tfnf:1;
1694 		uint64_t busy:1;
1695 	} s;
1696 	struct cvmx_mio_uartx_usr_s cn30xx;
1697 	struct cvmx_mio_uartx_usr_s cn31xx;
1698 	struct cvmx_mio_uartx_usr_s cn38xx;
1699 	struct cvmx_mio_uartx_usr_s cn38xxp2;
1700 	struct cvmx_mio_uartx_usr_s cn50xx;
1701 	struct cvmx_mio_uartx_usr_s cn52xx;
1702 	struct cvmx_mio_uartx_usr_s cn52xxp1;
1703 	struct cvmx_mio_uartx_usr_s cn56xx;
1704 	struct cvmx_mio_uartx_usr_s cn56xxp1;
1705 	struct cvmx_mio_uartx_usr_s cn58xx;
1706 	struct cvmx_mio_uartx_usr_s cn58xxp1;
1707 };
1708 
1709 union cvmx_mio_uart2_dlh {
1710 	uint64_t u64;
1711 	struct cvmx_mio_uart2_dlh_s {
1712 		uint64_t reserved_8_63:56;
1713 		uint64_t dlh:8;
1714 	} s;
1715 	struct cvmx_mio_uart2_dlh_s cn52xx;
1716 	struct cvmx_mio_uart2_dlh_s cn52xxp1;
1717 };
1718 
1719 union cvmx_mio_uart2_dll {
1720 	uint64_t u64;
1721 	struct cvmx_mio_uart2_dll_s {
1722 		uint64_t reserved_8_63:56;
1723 		uint64_t dll:8;
1724 	} s;
1725 	struct cvmx_mio_uart2_dll_s cn52xx;
1726 	struct cvmx_mio_uart2_dll_s cn52xxp1;
1727 };
1728 
1729 union cvmx_mio_uart2_far {
1730 	uint64_t u64;
1731 	struct cvmx_mio_uart2_far_s {
1732 		uint64_t reserved_1_63:63;
1733 		uint64_t far:1;
1734 	} s;
1735 	struct cvmx_mio_uart2_far_s cn52xx;
1736 	struct cvmx_mio_uart2_far_s cn52xxp1;
1737 };
1738 
1739 union cvmx_mio_uart2_fcr {
1740 	uint64_t u64;
1741 	struct cvmx_mio_uart2_fcr_s {
1742 		uint64_t reserved_8_63:56;
1743 		uint64_t rxtrig:2;
1744 		uint64_t txtrig:2;
1745 		uint64_t reserved_3_3:1;
1746 		uint64_t txfr:1;
1747 		uint64_t rxfr:1;
1748 		uint64_t en:1;
1749 	} s;
1750 	struct cvmx_mio_uart2_fcr_s cn52xx;
1751 	struct cvmx_mio_uart2_fcr_s cn52xxp1;
1752 };
1753 
1754 union cvmx_mio_uart2_htx {
1755 	uint64_t u64;
1756 	struct cvmx_mio_uart2_htx_s {
1757 		uint64_t reserved_1_63:63;
1758 		uint64_t htx:1;
1759 	} s;
1760 	struct cvmx_mio_uart2_htx_s cn52xx;
1761 	struct cvmx_mio_uart2_htx_s cn52xxp1;
1762 };
1763 
1764 union cvmx_mio_uart2_ier {
1765 	uint64_t u64;
1766 	struct cvmx_mio_uart2_ier_s {
1767 		uint64_t reserved_8_63:56;
1768 		uint64_t ptime:1;
1769 		uint64_t reserved_4_6:3;
1770 		uint64_t edssi:1;
1771 		uint64_t elsi:1;
1772 		uint64_t etbei:1;
1773 		uint64_t erbfi:1;
1774 	} s;
1775 	struct cvmx_mio_uart2_ier_s cn52xx;
1776 	struct cvmx_mio_uart2_ier_s cn52xxp1;
1777 };
1778 
1779 union cvmx_mio_uart2_iir {
1780 	uint64_t u64;
1781 	struct cvmx_mio_uart2_iir_s {
1782 		uint64_t reserved_8_63:56;
1783 		uint64_t fen:2;
1784 		uint64_t reserved_4_5:2;
1785 		uint64_t iid:4;
1786 	} s;
1787 	struct cvmx_mio_uart2_iir_s cn52xx;
1788 	struct cvmx_mio_uart2_iir_s cn52xxp1;
1789 };
1790 
1791 union cvmx_mio_uart2_lcr {
1792 	uint64_t u64;
1793 	struct cvmx_mio_uart2_lcr_s {
1794 		uint64_t reserved_8_63:56;
1795 		uint64_t dlab:1;
1796 		uint64_t brk:1;
1797 		uint64_t reserved_5_5:1;
1798 		uint64_t eps:1;
1799 		uint64_t pen:1;
1800 		uint64_t stop:1;
1801 		uint64_t cls:2;
1802 	} s;
1803 	struct cvmx_mio_uart2_lcr_s cn52xx;
1804 	struct cvmx_mio_uart2_lcr_s cn52xxp1;
1805 };
1806 
1807 union cvmx_mio_uart2_lsr {
1808 	uint64_t u64;
1809 	struct cvmx_mio_uart2_lsr_s {
1810 		uint64_t reserved_8_63:56;
1811 		uint64_t ferr:1;
1812 		uint64_t temt:1;
1813 		uint64_t thre:1;
1814 		uint64_t bi:1;
1815 		uint64_t fe:1;
1816 		uint64_t pe:1;
1817 		uint64_t oe:1;
1818 		uint64_t dr:1;
1819 	} s;
1820 	struct cvmx_mio_uart2_lsr_s cn52xx;
1821 	struct cvmx_mio_uart2_lsr_s cn52xxp1;
1822 };
1823 
1824 union cvmx_mio_uart2_mcr {
1825 	uint64_t u64;
1826 	struct cvmx_mio_uart2_mcr_s {
1827 		uint64_t reserved_6_63:58;
1828 		uint64_t afce:1;
1829 		uint64_t loop:1;
1830 		uint64_t out2:1;
1831 		uint64_t out1:1;
1832 		uint64_t rts:1;
1833 		uint64_t dtr:1;
1834 	} s;
1835 	struct cvmx_mio_uart2_mcr_s cn52xx;
1836 	struct cvmx_mio_uart2_mcr_s cn52xxp1;
1837 };
1838 
1839 union cvmx_mio_uart2_msr {
1840 	uint64_t u64;
1841 	struct cvmx_mio_uart2_msr_s {
1842 		uint64_t reserved_8_63:56;
1843 		uint64_t dcd:1;
1844 		uint64_t ri:1;
1845 		uint64_t dsr:1;
1846 		uint64_t cts:1;
1847 		uint64_t ddcd:1;
1848 		uint64_t teri:1;
1849 		uint64_t ddsr:1;
1850 		uint64_t dcts:1;
1851 	} s;
1852 	struct cvmx_mio_uart2_msr_s cn52xx;
1853 	struct cvmx_mio_uart2_msr_s cn52xxp1;
1854 };
1855 
1856 union cvmx_mio_uart2_rbr {
1857 	uint64_t u64;
1858 	struct cvmx_mio_uart2_rbr_s {
1859 		uint64_t reserved_8_63:56;
1860 		uint64_t rbr:8;
1861 	} s;
1862 	struct cvmx_mio_uart2_rbr_s cn52xx;
1863 	struct cvmx_mio_uart2_rbr_s cn52xxp1;
1864 };
1865 
1866 union cvmx_mio_uart2_rfl {
1867 	uint64_t u64;
1868 	struct cvmx_mio_uart2_rfl_s {
1869 		uint64_t reserved_7_63:57;
1870 		uint64_t rfl:7;
1871 	} s;
1872 	struct cvmx_mio_uart2_rfl_s cn52xx;
1873 	struct cvmx_mio_uart2_rfl_s cn52xxp1;
1874 };
1875 
1876 union cvmx_mio_uart2_rfw {
1877 	uint64_t u64;
1878 	struct cvmx_mio_uart2_rfw_s {
1879 		uint64_t reserved_10_63:54;
1880 		uint64_t rffe:1;
1881 		uint64_t rfpe:1;
1882 		uint64_t rfwd:8;
1883 	} s;
1884 	struct cvmx_mio_uart2_rfw_s cn52xx;
1885 	struct cvmx_mio_uart2_rfw_s cn52xxp1;
1886 };
1887 
1888 union cvmx_mio_uart2_sbcr {
1889 	uint64_t u64;
1890 	struct cvmx_mio_uart2_sbcr_s {
1891 		uint64_t reserved_1_63:63;
1892 		uint64_t sbcr:1;
1893 	} s;
1894 	struct cvmx_mio_uart2_sbcr_s cn52xx;
1895 	struct cvmx_mio_uart2_sbcr_s cn52xxp1;
1896 };
1897 
1898 union cvmx_mio_uart2_scr {
1899 	uint64_t u64;
1900 	struct cvmx_mio_uart2_scr_s {
1901 		uint64_t reserved_8_63:56;
1902 		uint64_t scr:8;
1903 	} s;
1904 	struct cvmx_mio_uart2_scr_s cn52xx;
1905 	struct cvmx_mio_uart2_scr_s cn52xxp1;
1906 };
1907 
1908 union cvmx_mio_uart2_sfe {
1909 	uint64_t u64;
1910 	struct cvmx_mio_uart2_sfe_s {
1911 		uint64_t reserved_1_63:63;
1912 		uint64_t sfe:1;
1913 	} s;
1914 	struct cvmx_mio_uart2_sfe_s cn52xx;
1915 	struct cvmx_mio_uart2_sfe_s cn52xxp1;
1916 };
1917 
1918 union cvmx_mio_uart2_srr {
1919 	uint64_t u64;
1920 	struct cvmx_mio_uart2_srr_s {
1921 		uint64_t reserved_3_63:61;
1922 		uint64_t stfr:1;
1923 		uint64_t srfr:1;
1924 		uint64_t usr:1;
1925 	} s;
1926 	struct cvmx_mio_uart2_srr_s cn52xx;
1927 	struct cvmx_mio_uart2_srr_s cn52xxp1;
1928 };
1929 
1930 union cvmx_mio_uart2_srt {
1931 	uint64_t u64;
1932 	struct cvmx_mio_uart2_srt_s {
1933 		uint64_t reserved_2_63:62;
1934 		uint64_t srt:2;
1935 	} s;
1936 	struct cvmx_mio_uart2_srt_s cn52xx;
1937 	struct cvmx_mio_uart2_srt_s cn52xxp1;
1938 };
1939 
1940 union cvmx_mio_uart2_srts {
1941 	uint64_t u64;
1942 	struct cvmx_mio_uart2_srts_s {
1943 		uint64_t reserved_1_63:63;
1944 		uint64_t srts:1;
1945 	} s;
1946 	struct cvmx_mio_uart2_srts_s cn52xx;
1947 	struct cvmx_mio_uart2_srts_s cn52xxp1;
1948 };
1949 
1950 union cvmx_mio_uart2_stt {
1951 	uint64_t u64;
1952 	struct cvmx_mio_uart2_stt_s {
1953 		uint64_t reserved_2_63:62;
1954 		uint64_t stt:2;
1955 	} s;
1956 	struct cvmx_mio_uart2_stt_s cn52xx;
1957 	struct cvmx_mio_uart2_stt_s cn52xxp1;
1958 };
1959 
1960 union cvmx_mio_uart2_tfl {
1961 	uint64_t u64;
1962 	struct cvmx_mio_uart2_tfl_s {
1963 		uint64_t reserved_7_63:57;
1964 		uint64_t tfl:7;
1965 	} s;
1966 	struct cvmx_mio_uart2_tfl_s cn52xx;
1967 	struct cvmx_mio_uart2_tfl_s cn52xxp1;
1968 };
1969 
1970 union cvmx_mio_uart2_tfr {
1971 	uint64_t u64;
1972 	struct cvmx_mio_uart2_tfr_s {
1973 		uint64_t reserved_8_63:56;
1974 		uint64_t tfr:8;
1975 	} s;
1976 	struct cvmx_mio_uart2_tfr_s cn52xx;
1977 	struct cvmx_mio_uart2_tfr_s cn52xxp1;
1978 };
1979 
1980 union cvmx_mio_uart2_thr {
1981 	uint64_t u64;
1982 	struct cvmx_mio_uart2_thr_s {
1983 		uint64_t reserved_8_63:56;
1984 		uint64_t thr:8;
1985 	} s;
1986 	struct cvmx_mio_uart2_thr_s cn52xx;
1987 	struct cvmx_mio_uart2_thr_s cn52xxp1;
1988 };
1989 
1990 union cvmx_mio_uart2_usr {
1991 	uint64_t u64;
1992 	struct cvmx_mio_uart2_usr_s {
1993 		uint64_t reserved_5_63:59;
1994 		uint64_t rff:1;
1995 		uint64_t rfne:1;
1996 		uint64_t tfe:1;
1997 		uint64_t tfnf:1;
1998 		uint64_t busy:1;
1999 	} s;
2000 	struct cvmx_mio_uart2_usr_s cn52xx;
2001 	struct cvmx_mio_uart2_usr_s cn52xxp1;
2002 };
2003 
2004 #endif
2005