MIPS: Add Cavium OCTEON processor CSR definitions
[pandora-kernel.git] / arch / mips / include / asm / octeon / cvmx-mio-defs.h
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: support@caviumnetworks.com
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-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