154293ec3SDavid Daney /***********************license start***************
254293ec3SDavid Daney  * Author: Cavium Networks
354293ec3SDavid Daney  *
454293ec3SDavid Daney  * Contact: support@caviumnetworks.com
554293ec3SDavid Daney  * This file is part of the OCTEON SDK
654293ec3SDavid Daney  *
7aa32a955SDavid Daney  * Copyright (c) 2003-2010 Cavium Networks
854293ec3SDavid Daney  *
954293ec3SDavid Daney  * This file is free software; you can redistribute it and/or modify
1054293ec3SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
1154293ec3SDavid Daney  * published by the Free Software Foundation.
1254293ec3SDavid Daney  *
1354293ec3SDavid Daney  * This file is distributed in the hope that it will be useful, but
1454293ec3SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1554293ec3SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1654293ec3SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
1754293ec3SDavid Daney  * details.
1854293ec3SDavid Daney  *
1954293ec3SDavid Daney  * You should have received a copy of the GNU General Public License
2054293ec3SDavid Daney  * along with this file; if not, write to the Free Software
2154293ec3SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2254293ec3SDavid Daney  * or visit http://www.gnu.org/licenses/.
2354293ec3SDavid Daney  *
2454293ec3SDavid Daney  * This file may also be available under a different license from Cavium.
2554293ec3SDavid Daney  * Contact Cavium Networks for more information
2654293ec3SDavid Daney  ***********************license end**************************************/
2754293ec3SDavid Daney 
2854293ec3SDavid Daney #ifndef __CVMX_MIO_DEFS_H__
2954293ec3SDavid Daney #define __CVMX_MIO_DEFS_H__
3054293ec3SDavid Daney 
31aa32a955SDavid Daney #define CVMX_MIO_BOOT_BIST_STAT (CVMX_ADD_IO_SEG(0x00011800000000F8ull))
32aa32a955SDavid Daney #define CVMX_MIO_BOOT_COMP (CVMX_ADD_IO_SEG(0x00011800000000B8ull))
33aa32a955SDavid Daney #define CVMX_MIO_BOOT_DMA_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001180000000100ull) + ((offset) & 3) * 8)
34aa32a955SDavid Daney #define CVMX_MIO_BOOT_DMA_INTX(offset) (CVMX_ADD_IO_SEG(0x0001180000000138ull) + ((offset) & 3) * 8)
35aa32a955SDavid Daney #define CVMX_MIO_BOOT_DMA_INT_ENX(offset) (CVMX_ADD_IO_SEG(0x0001180000000150ull) + ((offset) & 3) * 8)
36aa32a955SDavid Daney #define CVMX_MIO_BOOT_DMA_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001180000000120ull) + ((offset) & 3) * 8)
37aa32a955SDavid Daney #define CVMX_MIO_BOOT_ERR (CVMX_ADD_IO_SEG(0x00011800000000A0ull))
38aa32a955SDavid Daney #define CVMX_MIO_BOOT_INT (CVMX_ADD_IO_SEG(0x00011800000000A8ull))
39aa32a955SDavid Daney #define CVMX_MIO_BOOT_LOC_ADR (CVMX_ADD_IO_SEG(0x0001180000000090ull))
40aa32a955SDavid Daney #define CVMX_MIO_BOOT_LOC_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001180000000080ull) + ((offset) & 1) * 8)
41aa32a955SDavid Daney #define CVMX_MIO_BOOT_LOC_DAT (CVMX_ADD_IO_SEG(0x0001180000000098ull))
42aa32a955SDavid Daney #define CVMX_MIO_BOOT_PIN_DEFS (CVMX_ADD_IO_SEG(0x00011800000000C0ull))
43aa32a955SDavid Daney #define CVMX_MIO_BOOT_REG_CFGX(offset) (CVMX_ADD_IO_SEG(0x0001180000000000ull) + ((offset) & 7) * 8)
44aa32a955SDavid Daney #define CVMX_MIO_BOOT_REG_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001180000000040ull) + ((offset) & 7) * 8)
45aa32a955SDavid Daney #define CVMX_MIO_BOOT_THR (CVMX_ADD_IO_SEG(0x00011800000000B0ull))
46aa32a955SDavid Daney #define CVMX_MIO_FUS_BNK_DATX(offset) (CVMX_ADD_IO_SEG(0x0001180000001520ull) + ((offset) & 3) * 8)
47aa32a955SDavid Daney #define CVMX_MIO_FUS_DAT0 (CVMX_ADD_IO_SEG(0x0001180000001400ull))
48aa32a955SDavid Daney #define CVMX_MIO_FUS_DAT1 (CVMX_ADD_IO_SEG(0x0001180000001408ull))
49aa32a955SDavid Daney #define CVMX_MIO_FUS_DAT2 (CVMX_ADD_IO_SEG(0x0001180000001410ull))
50aa32a955SDavid Daney #define CVMX_MIO_FUS_DAT3 (CVMX_ADD_IO_SEG(0x0001180000001418ull))
51aa32a955SDavid Daney #define CVMX_MIO_FUS_EMA (CVMX_ADD_IO_SEG(0x0001180000001550ull))
52aa32a955SDavid Daney #define CVMX_MIO_FUS_PDF (CVMX_ADD_IO_SEG(0x0001180000001420ull))
53aa32a955SDavid Daney #define CVMX_MIO_FUS_PLL (CVMX_ADD_IO_SEG(0x0001180000001580ull))
54aa32a955SDavid Daney #define CVMX_MIO_FUS_PROG (CVMX_ADD_IO_SEG(0x0001180000001510ull))
55aa32a955SDavid Daney #define CVMX_MIO_FUS_PROG_TIMES (CVMX_ADD_IO_SEG(0x0001180000001518ull))
56aa32a955SDavid Daney #define CVMX_MIO_FUS_RCMD (CVMX_ADD_IO_SEG(0x0001180000001500ull))
57aa32a955SDavid Daney #define CVMX_MIO_FUS_READ_TIMES (CVMX_ADD_IO_SEG(0x0001180000001570ull))
58aa32a955SDavid Daney #define CVMX_MIO_FUS_REPAIR_RES0 (CVMX_ADD_IO_SEG(0x0001180000001558ull))
59aa32a955SDavid Daney #define CVMX_MIO_FUS_REPAIR_RES1 (CVMX_ADD_IO_SEG(0x0001180000001560ull))
60aa32a955SDavid Daney #define CVMX_MIO_FUS_REPAIR_RES2 (CVMX_ADD_IO_SEG(0x0001180000001568ull))
61aa32a955SDavid Daney #define CVMX_MIO_FUS_SPR_REPAIR_RES (CVMX_ADD_IO_SEG(0x0001180000001548ull))
62aa32a955SDavid Daney #define CVMX_MIO_FUS_SPR_REPAIR_SUM (CVMX_ADD_IO_SEG(0x0001180000001540ull))
63aa32a955SDavid Daney #define CVMX_MIO_FUS_UNLOCK (CVMX_ADD_IO_SEG(0x0001180000001578ull))
64aa32a955SDavid Daney #define CVMX_MIO_FUS_WADR (CVMX_ADD_IO_SEG(0x0001180000001508ull))
65aa32a955SDavid Daney #define CVMX_MIO_GPIO_COMP (CVMX_ADD_IO_SEG(0x00011800000000C8ull))
66aa32a955SDavid Daney #define CVMX_MIO_NDF_DMA_CFG (CVMX_ADD_IO_SEG(0x0001180000000168ull))
67aa32a955SDavid Daney #define CVMX_MIO_NDF_DMA_INT (CVMX_ADD_IO_SEG(0x0001180000000170ull))
68aa32a955SDavid Daney #define CVMX_MIO_NDF_DMA_INT_EN (CVMX_ADD_IO_SEG(0x0001180000000178ull))
69aa32a955SDavid Daney #define CVMX_MIO_PLL_CTL (CVMX_ADD_IO_SEG(0x0001180000001448ull))
70aa32a955SDavid Daney #define CVMX_MIO_PLL_SETTING (CVMX_ADD_IO_SEG(0x0001180000001440ull))
71aa32a955SDavid Daney #define CVMX_MIO_PTP_CLOCK_CFG (CVMX_ADD_IO_SEG(0x0001070000000F00ull))
72aa32a955SDavid Daney #define CVMX_MIO_PTP_CLOCK_COMP (CVMX_ADD_IO_SEG(0x0001070000000F18ull))
73aa32a955SDavid Daney #define CVMX_MIO_PTP_CLOCK_HI (CVMX_ADD_IO_SEG(0x0001070000000F10ull))
74aa32a955SDavid Daney #define CVMX_MIO_PTP_CLOCK_LO (CVMX_ADD_IO_SEG(0x0001070000000F08ull))
75aa32a955SDavid Daney #define CVMX_MIO_PTP_EVT_CNT (CVMX_ADD_IO_SEG(0x0001070000000F28ull))
76aa32a955SDavid Daney #define CVMX_MIO_PTP_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001070000000F20ull))
77aa32a955SDavid Daney #define CVMX_MIO_RST_BOOT (CVMX_ADD_IO_SEG(0x0001180000001600ull))
78aa32a955SDavid Daney #define CVMX_MIO_RST_CFG (CVMX_ADD_IO_SEG(0x0001180000001610ull))
79aa32a955SDavid Daney #define CVMX_MIO_RST_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180000001618ull) + ((offset) & 1) * 8)
80aa32a955SDavid Daney #define CVMX_MIO_RST_DELAY (CVMX_ADD_IO_SEG(0x0001180000001608ull))
81aa32a955SDavid Daney #define CVMX_MIO_RST_INT (CVMX_ADD_IO_SEG(0x0001180000001628ull))
82aa32a955SDavid Daney #define CVMX_MIO_RST_INT_EN (CVMX_ADD_IO_SEG(0x0001180000001630ull))
83aa32a955SDavid Daney #define CVMX_MIO_TWSX_INT(offset) (CVMX_ADD_IO_SEG(0x0001180000001010ull) + ((offset) & 1) * 512)
84aa32a955SDavid Daney #define CVMX_MIO_TWSX_SW_TWSI(offset) (CVMX_ADD_IO_SEG(0x0001180000001000ull) + ((offset) & 1) * 512)
85aa32a955SDavid Daney #define CVMX_MIO_TWSX_SW_TWSI_EXT(offset) (CVMX_ADD_IO_SEG(0x0001180000001018ull) + ((offset) & 1) * 512)
86aa32a955SDavid Daney #define CVMX_MIO_TWSX_TWSI_SW(offset) (CVMX_ADD_IO_SEG(0x0001180000001008ull) + ((offset) & 1) * 512)
87aa32a955SDavid Daney #define CVMX_MIO_UART2_DLH (CVMX_ADD_IO_SEG(0x0001180000000488ull))
88aa32a955SDavid Daney #define CVMX_MIO_UART2_DLL (CVMX_ADD_IO_SEG(0x0001180000000480ull))
89aa32a955SDavid Daney #define CVMX_MIO_UART2_FAR (CVMX_ADD_IO_SEG(0x0001180000000520ull))
90aa32a955SDavid Daney #define CVMX_MIO_UART2_FCR (CVMX_ADD_IO_SEG(0x0001180000000450ull))
91aa32a955SDavid Daney #define CVMX_MIO_UART2_HTX (CVMX_ADD_IO_SEG(0x0001180000000708ull))
92aa32a955SDavid Daney #define CVMX_MIO_UART2_IER (CVMX_ADD_IO_SEG(0x0001180000000408ull))
93aa32a955SDavid Daney #define CVMX_MIO_UART2_IIR (CVMX_ADD_IO_SEG(0x0001180000000410ull))
94aa32a955SDavid Daney #define CVMX_MIO_UART2_LCR (CVMX_ADD_IO_SEG(0x0001180000000418ull))
95aa32a955SDavid Daney #define CVMX_MIO_UART2_LSR (CVMX_ADD_IO_SEG(0x0001180000000428ull))
96aa32a955SDavid Daney #define CVMX_MIO_UART2_MCR (CVMX_ADD_IO_SEG(0x0001180000000420ull))
97aa32a955SDavid Daney #define CVMX_MIO_UART2_MSR (CVMX_ADD_IO_SEG(0x0001180000000430ull))
98aa32a955SDavid Daney #define CVMX_MIO_UART2_RBR (CVMX_ADD_IO_SEG(0x0001180000000400ull))
99aa32a955SDavid Daney #define CVMX_MIO_UART2_RFL (CVMX_ADD_IO_SEG(0x0001180000000608ull))
100aa32a955SDavid Daney #define CVMX_MIO_UART2_RFW (CVMX_ADD_IO_SEG(0x0001180000000530ull))
101aa32a955SDavid Daney #define CVMX_MIO_UART2_SBCR (CVMX_ADD_IO_SEG(0x0001180000000620ull))
102aa32a955SDavid Daney #define CVMX_MIO_UART2_SCR (CVMX_ADD_IO_SEG(0x0001180000000438ull))
103aa32a955SDavid Daney #define CVMX_MIO_UART2_SFE (CVMX_ADD_IO_SEG(0x0001180000000630ull))
104aa32a955SDavid Daney #define CVMX_MIO_UART2_SRR (CVMX_ADD_IO_SEG(0x0001180000000610ull))
105aa32a955SDavid Daney #define CVMX_MIO_UART2_SRT (CVMX_ADD_IO_SEG(0x0001180000000638ull))
106aa32a955SDavid Daney #define CVMX_MIO_UART2_SRTS (CVMX_ADD_IO_SEG(0x0001180000000618ull))
107aa32a955SDavid Daney #define CVMX_MIO_UART2_STT (CVMX_ADD_IO_SEG(0x0001180000000700ull))
108aa32a955SDavid Daney #define CVMX_MIO_UART2_TFL (CVMX_ADD_IO_SEG(0x0001180000000600ull))
109aa32a955SDavid Daney #define CVMX_MIO_UART2_TFR (CVMX_ADD_IO_SEG(0x0001180000000528ull))
110aa32a955SDavid Daney #define CVMX_MIO_UART2_THR (CVMX_ADD_IO_SEG(0x0001180000000440ull))
111aa32a955SDavid Daney #define CVMX_MIO_UART2_USR (CVMX_ADD_IO_SEG(0x0001180000000538ull))
112aa32a955SDavid Daney #define CVMX_MIO_UARTX_DLH(offset) (CVMX_ADD_IO_SEG(0x0001180000000888ull) + ((offset) & 1) * 1024)
113aa32a955SDavid Daney #define CVMX_MIO_UARTX_DLL(offset) (CVMX_ADD_IO_SEG(0x0001180000000880ull) + ((offset) & 1) * 1024)
114aa32a955SDavid Daney #define CVMX_MIO_UARTX_FAR(offset) (CVMX_ADD_IO_SEG(0x0001180000000920ull) + ((offset) & 1) * 1024)
115aa32a955SDavid Daney #define CVMX_MIO_UARTX_FCR(offset) (CVMX_ADD_IO_SEG(0x0001180000000850ull) + ((offset) & 1) * 1024)
116aa32a955SDavid Daney #define CVMX_MIO_UARTX_HTX(offset) (CVMX_ADD_IO_SEG(0x0001180000000B08ull) + ((offset) & 1) * 1024)
117aa32a955SDavid Daney #define CVMX_MIO_UARTX_IER(offset) (CVMX_ADD_IO_SEG(0x0001180000000808ull) + ((offset) & 1) * 1024)
118aa32a955SDavid Daney #define CVMX_MIO_UARTX_IIR(offset) (CVMX_ADD_IO_SEG(0x0001180000000810ull) + ((offset) & 1) * 1024)
119aa32a955SDavid Daney #define CVMX_MIO_UARTX_LCR(offset) (CVMX_ADD_IO_SEG(0x0001180000000818ull) + ((offset) & 1) * 1024)
120aa32a955SDavid Daney #define CVMX_MIO_UARTX_LSR(offset) (CVMX_ADD_IO_SEG(0x0001180000000828ull) + ((offset) & 1) * 1024)
121aa32a955SDavid Daney #define CVMX_MIO_UARTX_MCR(offset) (CVMX_ADD_IO_SEG(0x0001180000000820ull) + ((offset) & 1) * 1024)
122aa32a955SDavid Daney #define CVMX_MIO_UARTX_MSR(offset) (CVMX_ADD_IO_SEG(0x0001180000000830ull) + ((offset) & 1) * 1024)
123aa32a955SDavid Daney #define CVMX_MIO_UARTX_RBR(offset) (CVMX_ADD_IO_SEG(0x0001180000000800ull) + ((offset) & 1) * 1024)
124aa32a955SDavid Daney #define CVMX_MIO_UARTX_RFL(offset) (CVMX_ADD_IO_SEG(0x0001180000000A08ull) + ((offset) & 1) * 1024)
125aa32a955SDavid Daney #define CVMX_MIO_UARTX_RFW(offset) (CVMX_ADD_IO_SEG(0x0001180000000930ull) + ((offset) & 1) * 1024)
126aa32a955SDavid Daney #define CVMX_MIO_UARTX_SBCR(offset) (CVMX_ADD_IO_SEG(0x0001180000000A20ull) + ((offset) & 1) * 1024)
127aa32a955SDavid Daney #define CVMX_MIO_UARTX_SCR(offset) (CVMX_ADD_IO_SEG(0x0001180000000838ull) + ((offset) & 1) * 1024)
128aa32a955SDavid Daney #define CVMX_MIO_UARTX_SFE(offset) (CVMX_ADD_IO_SEG(0x0001180000000A30ull) + ((offset) & 1) * 1024)
129aa32a955SDavid Daney #define CVMX_MIO_UARTX_SRR(offset) (CVMX_ADD_IO_SEG(0x0001180000000A10ull) + ((offset) & 1) * 1024)
130aa32a955SDavid Daney #define CVMX_MIO_UARTX_SRT(offset) (CVMX_ADD_IO_SEG(0x0001180000000A38ull) + ((offset) & 1) * 1024)
131aa32a955SDavid Daney #define CVMX_MIO_UARTX_SRTS(offset) (CVMX_ADD_IO_SEG(0x0001180000000A18ull) + ((offset) & 1) * 1024)
132aa32a955SDavid Daney #define CVMX_MIO_UARTX_STT(offset) (CVMX_ADD_IO_SEG(0x0001180000000B00ull) + ((offset) & 1) * 1024)
133aa32a955SDavid Daney #define CVMX_MIO_UARTX_TFL(offset) (CVMX_ADD_IO_SEG(0x0001180000000A00ull) + ((offset) & 1) * 1024)
134aa32a955SDavid Daney #define CVMX_MIO_UARTX_TFR(offset) (CVMX_ADD_IO_SEG(0x0001180000000928ull) + ((offset) & 1) * 1024)
135aa32a955SDavid Daney #define CVMX_MIO_UARTX_THR(offset) (CVMX_ADD_IO_SEG(0x0001180000000840ull) + ((offset) & 1) * 1024)
136aa32a955SDavid Daney #define CVMX_MIO_UARTX_USR(offset) (CVMX_ADD_IO_SEG(0x0001180000000938ull) + ((offset) & 1) * 1024)
13754293ec3SDavid Daney 
13854293ec3SDavid Daney union cvmx_mio_boot_bist_stat {
13954293ec3SDavid Daney 	uint64_t u64;
14054293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_s {
141aa32a955SDavid Daney 		uint64_t reserved_0_63:64;
14254293ec3SDavid Daney 	} s;
14354293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn30xx {
14454293ec3SDavid Daney 		uint64_t reserved_4_63:60;
14554293ec3SDavid Daney 		uint64_t ncbo_1:1;
14654293ec3SDavid Daney 		uint64_t ncbo_0:1;
14754293ec3SDavid Daney 		uint64_t loc:1;
14854293ec3SDavid Daney 		uint64_t ncbi:1;
14954293ec3SDavid Daney 	} cn30xx;
15054293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn30xx cn31xx;
15154293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn38xx {
15254293ec3SDavid Daney 		uint64_t reserved_3_63:61;
15354293ec3SDavid Daney 		uint64_t ncbo_0:1;
15454293ec3SDavid Daney 		uint64_t loc:1;
15554293ec3SDavid Daney 		uint64_t ncbi:1;
15654293ec3SDavid Daney 	} cn38xx;
15754293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn38xx cn38xxp2;
15854293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn50xx {
15954293ec3SDavid Daney 		uint64_t reserved_6_63:58;
16054293ec3SDavid Daney 		uint64_t pcm_1:1;
16154293ec3SDavid Daney 		uint64_t pcm_0:1;
16254293ec3SDavid Daney 		uint64_t ncbo_1:1;
16354293ec3SDavid Daney 		uint64_t ncbo_0:1;
16454293ec3SDavid Daney 		uint64_t loc:1;
16554293ec3SDavid Daney 		uint64_t ncbi:1;
16654293ec3SDavid Daney 	} cn50xx;
16754293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn52xx {
16854293ec3SDavid Daney 		uint64_t reserved_6_63:58;
16954293ec3SDavid Daney 		uint64_t ndf:2;
17054293ec3SDavid Daney 		uint64_t ncbo_0:1;
17154293ec3SDavid Daney 		uint64_t dma:1;
17254293ec3SDavid Daney 		uint64_t loc:1;
17354293ec3SDavid Daney 		uint64_t ncbi:1;
17454293ec3SDavid Daney 	} cn52xx;
17554293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn52xxp1 {
17654293ec3SDavid Daney 		uint64_t reserved_4_63:60;
17754293ec3SDavid Daney 		uint64_t ncbo_0:1;
17854293ec3SDavid Daney 		uint64_t dma:1;
17954293ec3SDavid Daney 		uint64_t loc:1;
18054293ec3SDavid Daney 		uint64_t ncbi:1;
18154293ec3SDavid Daney 	} cn52xxp1;
18254293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xx;
18354293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn52xxp1 cn56xxp1;
18454293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn38xx cn58xx;
18554293ec3SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn38xx cn58xxp1;
186aa32a955SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn63xx {
187aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
188aa32a955SDavid Daney 		uint64_t stat:9;
189aa32a955SDavid Daney 	} cn63xx;
190aa32a955SDavid Daney 	struct cvmx_mio_boot_bist_stat_cn63xx cn63xxp1;
19154293ec3SDavid Daney };
19254293ec3SDavid Daney 
19354293ec3SDavid Daney union cvmx_mio_boot_comp {
19454293ec3SDavid Daney 	uint64_t u64;
19554293ec3SDavid Daney 	struct cvmx_mio_boot_comp_s {
196aa32a955SDavid Daney 		uint64_t reserved_0_63:64;
197aa32a955SDavid Daney 	} s;
198aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn50xx {
19954293ec3SDavid Daney 		uint64_t reserved_10_63:54;
20054293ec3SDavid Daney 		uint64_t pctl:5;
20154293ec3SDavid Daney 		uint64_t nctl:5;
202aa32a955SDavid Daney 	} cn50xx;
203aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn50xx cn52xx;
204aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn50xx cn52xxp1;
205aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn50xx cn56xx;
206aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn50xx cn56xxp1;
207aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn63xx {
208aa32a955SDavid Daney 		uint64_t reserved_12_63:52;
209aa32a955SDavid Daney 		uint64_t pctl:6;
210aa32a955SDavid Daney 		uint64_t nctl:6;
211aa32a955SDavid Daney 	} cn63xx;
212aa32a955SDavid Daney 	struct cvmx_mio_boot_comp_cn63xx cn63xxp1;
21354293ec3SDavid Daney };
21454293ec3SDavid Daney 
21554293ec3SDavid Daney union cvmx_mio_boot_dma_cfgx {
21654293ec3SDavid Daney 	uint64_t u64;
21754293ec3SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s {
21854293ec3SDavid Daney 		uint64_t en:1;
21954293ec3SDavid Daney 		uint64_t rw:1;
22054293ec3SDavid Daney 		uint64_t clr:1;
22154293ec3SDavid Daney 		uint64_t reserved_60_60:1;
22254293ec3SDavid Daney 		uint64_t swap32:1;
22354293ec3SDavid Daney 		uint64_t swap16:1;
22454293ec3SDavid Daney 		uint64_t swap8:1;
22554293ec3SDavid Daney 		uint64_t endian:1;
22654293ec3SDavid Daney 		uint64_t size:20;
22754293ec3SDavid Daney 		uint64_t adr:36;
22854293ec3SDavid Daney 	} s;
22954293ec3SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn52xx;
23054293ec3SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn52xxp1;
23154293ec3SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn56xx;
23254293ec3SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn56xxp1;
233aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn63xx;
234aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_cfgx_s cn63xxp1;
23554293ec3SDavid Daney };
23654293ec3SDavid Daney 
23754293ec3SDavid Daney union cvmx_mio_boot_dma_intx {
23854293ec3SDavid Daney 	uint64_t u64;
23954293ec3SDavid Daney 	struct cvmx_mio_boot_dma_intx_s {
24054293ec3SDavid Daney 		uint64_t reserved_2_63:62;
24154293ec3SDavid Daney 		uint64_t dmarq:1;
24254293ec3SDavid Daney 		uint64_t done:1;
24354293ec3SDavid Daney 	} s;
24454293ec3SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn52xx;
24554293ec3SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn52xxp1;
24654293ec3SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn56xx;
24754293ec3SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn56xxp1;
248aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn63xx;
249aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_intx_s cn63xxp1;
25054293ec3SDavid Daney };
25154293ec3SDavid Daney 
25254293ec3SDavid Daney union cvmx_mio_boot_dma_int_enx {
25354293ec3SDavid Daney 	uint64_t u64;
25454293ec3SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s {
25554293ec3SDavid Daney 		uint64_t reserved_2_63:62;
25654293ec3SDavid Daney 		uint64_t dmarq:1;
25754293ec3SDavid Daney 		uint64_t done:1;
25854293ec3SDavid Daney 	} s;
25954293ec3SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn52xx;
26054293ec3SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn52xxp1;
26154293ec3SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn56xx;
26254293ec3SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn56xxp1;
263aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn63xx;
264aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_int_enx_s cn63xxp1;
26554293ec3SDavid Daney };
26654293ec3SDavid Daney 
26754293ec3SDavid Daney union cvmx_mio_boot_dma_timx {
26854293ec3SDavid Daney 	uint64_t u64;
26954293ec3SDavid Daney 	struct cvmx_mio_boot_dma_timx_s {
27054293ec3SDavid Daney 		uint64_t dmack_pi:1;
27154293ec3SDavid Daney 		uint64_t dmarq_pi:1;
27254293ec3SDavid Daney 		uint64_t tim_mult:2;
27354293ec3SDavid Daney 		uint64_t rd_dly:3;
27454293ec3SDavid Daney 		uint64_t ddr:1;
27554293ec3SDavid Daney 		uint64_t width:1;
27654293ec3SDavid Daney 		uint64_t reserved_48_54:7;
27754293ec3SDavid Daney 		uint64_t pause:6;
27854293ec3SDavid Daney 		uint64_t dmack_h:6;
27954293ec3SDavid Daney 		uint64_t we_n:6;
28054293ec3SDavid Daney 		uint64_t we_a:6;
28154293ec3SDavid Daney 		uint64_t oe_n:6;
28254293ec3SDavid Daney 		uint64_t oe_a:6;
28354293ec3SDavid Daney 		uint64_t dmack_s:6;
28454293ec3SDavid Daney 		uint64_t dmarq:6;
28554293ec3SDavid Daney 	} s;
28654293ec3SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn52xx;
28754293ec3SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn52xxp1;
28854293ec3SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn56xx;
28954293ec3SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn56xxp1;
290aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn63xx;
291aa32a955SDavid Daney 	struct cvmx_mio_boot_dma_timx_s cn63xxp1;
29254293ec3SDavid Daney };
29354293ec3SDavid Daney 
29454293ec3SDavid Daney union cvmx_mio_boot_err {
29554293ec3SDavid Daney 	uint64_t u64;
29654293ec3SDavid Daney 	struct cvmx_mio_boot_err_s {
29754293ec3SDavid Daney 		uint64_t reserved_2_63:62;
29854293ec3SDavid Daney 		uint64_t wait_err:1;
29954293ec3SDavid Daney 		uint64_t adr_err:1;
30054293ec3SDavid Daney 	} s;
30154293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn30xx;
30254293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn31xx;
30354293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn38xx;
30454293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn38xxp2;
30554293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn50xx;
30654293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn52xx;
30754293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn52xxp1;
30854293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn56xx;
30954293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn56xxp1;
31054293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn58xx;
31154293ec3SDavid Daney 	struct cvmx_mio_boot_err_s cn58xxp1;
312aa32a955SDavid Daney 	struct cvmx_mio_boot_err_s cn63xx;
313aa32a955SDavid Daney 	struct cvmx_mio_boot_err_s cn63xxp1;
31454293ec3SDavid Daney };
31554293ec3SDavid Daney 
31654293ec3SDavid Daney union cvmx_mio_boot_int {
31754293ec3SDavid Daney 	uint64_t u64;
31854293ec3SDavid Daney 	struct cvmx_mio_boot_int_s {
31954293ec3SDavid Daney 		uint64_t reserved_2_63:62;
32054293ec3SDavid Daney 		uint64_t wait_int:1;
32154293ec3SDavid Daney 		uint64_t adr_int:1;
32254293ec3SDavid Daney 	} s;
32354293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn30xx;
32454293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn31xx;
32554293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn38xx;
32654293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn38xxp2;
32754293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn50xx;
32854293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn52xx;
32954293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn52xxp1;
33054293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn56xx;
33154293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn56xxp1;
33254293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn58xx;
33354293ec3SDavid Daney 	struct cvmx_mio_boot_int_s cn58xxp1;
334aa32a955SDavid Daney 	struct cvmx_mio_boot_int_s cn63xx;
335aa32a955SDavid Daney 	struct cvmx_mio_boot_int_s cn63xxp1;
33654293ec3SDavid Daney };
33754293ec3SDavid Daney 
33854293ec3SDavid Daney union cvmx_mio_boot_loc_adr {
33954293ec3SDavid Daney 	uint64_t u64;
34054293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s {
34154293ec3SDavid Daney 		uint64_t reserved_8_63:56;
34254293ec3SDavid Daney 		uint64_t adr:5;
34354293ec3SDavid Daney 		uint64_t reserved_0_2:3;
34454293ec3SDavid Daney 	} s;
34554293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn30xx;
34654293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn31xx;
34754293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn38xx;
34854293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn38xxp2;
34954293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn50xx;
35054293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn52xx;
35154293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn52xxp1;
35254293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn56xx;
35354293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn56xxp1;
35454293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn58xx;
35554293ec3SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn58xxp1;
356aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn63xx;
357aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_adr_s cn63xxp1;
35854293ec3SDavid Daney };
35954293ec3SDavid Daney 
36054293ec3SDavid Daney union cvmx_mio_boot_loc_cfgx {
36154293ec3SDavid Daney 	uint64_t u64;
36254293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s {
36354293ec3SDavid Daney 		uint64_t reserved_32_63:32;
36454293ec3SDavid Daney 		uint64_t en:1;
36554293ec3SDavid Daney 		uint64_t reserved_28_30:3;
36654293ec3SDavid Daney 		uint64_t base:25;
36754293ec3SDavid Daney 		uint64_t reserved_0_2:3;
36854293ec3SDavid Daney 	} s;
36954293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn30xx;
37054293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn31xx;
37154293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn38xx;
37254293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn38xxp2;
37354293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn50xx;
37454293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn52xx;
37554293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn52xxp1;
37654293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn56xx;
37754293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn56xxp1;
37854293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn58xx;
37954293ec3SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn58xxp1;
380aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn63xx;
381aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_cfgx_s cn63xxp1;
38254293ec3SDavid Daney };
38354293ec3SDavid Daney 
38454293ec3SDavid Daney union cvmx_mio_boot_loc_dat {
38554293ec3SDavid Daney 	uint64_t u64;
38654293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s {
38754293ec3SDavid Daney 		uint64_t data:64;
38854293ec3SDavid Daney 	} s;
38954293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn30xx;
39054293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn31xx;
39154293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn38xx;
39254293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn38xxp2;
39354293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn50xx;
39454293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn52xx;
39554293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn52xxp1;
39654293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn56xx;
39754293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn56xxp1;
39854293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn58xx;
39954293ec3SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn58xxp1;
400aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn63xx;
401aa32a955SDavid Daney 	struct cvmx_mio_boot_loc_dat_s cn63xxp1;
40254293ec3SDavid Daney };
40354293ec3SDavid Daney 
40454293ec3SDavid Daney union cvmx_mio_boot_pin_defs {
40554293ec3SDavid Daney 	uint64_t u64;
40654293ec3SDavid Daney 	struct cvmx_mio_boot_pin_defs_s {
40754293ec3SDavid Daney 		uint64_t reserved_16_63:48;
40854293ec3SDavid Daney 		uint64_t ale:1;
40954293ec3SDavid Daney 		uint64_t width:1;
41054293ec3SDavid Daney 		uint64_t dmack_p2:1;
41154293ec3SDavid Daney 		uint64_t dmack_p1:1;
41254293ec3SDavid Daney 		uint64_t dmack_p0:1;
41354293ec3SDavid Daney 		uint64_t term:2;
41454293ec3SDavid Daney 		uint64_t nand:1;
41554293ec3SDavid Daney 		uint64_t reserved_0_7:8;
41654293ec3SDavid Daney 	} s;
41754293ec3SDavid Daney 	struct cvmx_mio_boot_pin_defs_cn52xx {
41854293ec3SDavid Daney 		uint64_t reserved_16_63:48;
41954293ec3SDavid Daney 		uint64_t ale:1;
42054293ec3SDavid Daney 		uint64_t width:1;
42154293ec3SDavid Daney 		uint64_t reserved_13_13:1;
42254293ec3SDavid Daney 		uint64_t dmack_p1:1;
42354293ec3SDavid Daney 		uint64_t dmack_p0:1;
42454293ec3SDavid Daney 		uint64_t term:2;
42554293ec3SDavid Daney 		uint64_t nand:1;
42654293ec3SDavid Daney 		uint64_t reserved_0_7:8;
42754293ec3SDavid Daney 	} cn52xx;
42854293ec3SDavid Daney 	struct cvmx_mio_boot_pin_defs_cn56xx {
42954293ec3SDavid Daney 		uint64_t reserved_16_63:48;
43054293ec3SDavid Daney 		uint64_t ale:1;
43154293ec3SDavid Daney 		uint64_t width:1;
43254293ec3SDavid Daney 		uint64_t dmack_p2:1;
43354293ec3SDavid Daney 		uint64_t dmack_p1:1;
43454293ec3SDavid Daney 		uint64_t dmack_p0:1;
43554293ec3SDavid Daney 		uint64_t term:2;
43654293ec3SDavid Daney 		uint64_t reserved_0_8:9;
43754293ec3SDavid Daney 	} cn56xx;
438aa32a955SDavid Daney 	struct cvmx_mio_boot_pin_defs_cn52xx cn63xx;
439aa32a955SDavid Daney 	struct cvmx_mio_boot_pin_defs_cn52xx cn63xxp1;
44054293ec3SDavid Daney };
44154293ec3SDavid Daney 
44254293ec3SDavid Daney union cvmx_mio_boot_reg_cfgx {
44354293ec3SDavid Daney 	uint64_t u64;
44454293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s {
44554293ec3SDavid Daney 		uint64_t reserved_44_63:20;
44654293ec3SDavid Daney 		uint64_t dmack:2;
44754293ec3SDavid Daney 		uint64_t tim_mult:2;
44854293ec3SDavid Daney 		uint64_t rd_dly:3;
44954293ec3SDavid Daney 		uint64_t sam:1;
45054293ec3SDavid Daney 		uint64_t we_ext:2;
45154293ec3SDavid Daney 		uint64_t oe_ext:2;
45254293ec3SDavid Daney 		uint64_t en:1;
45354293ec3SDavid Daney 		uint64_t orbit:1;
45454293ec3SDavid Daney 		uint64_t ale:1;
45554293ec3SDavid Daney 		uint64_t width:1;
45654293ec3SDavid Daney 		uint64_t size:12;
45754293ec3SDavid Daney 		uint64_t base:16;
45854293ec3SDavid Daney 	} s;
45954293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn30xx {
46054293ec3SDavid Daney 		uint64_t reserved_37_63:27;
46154293ec3SDavid Daney 		uint64_t sam:1;
46254293ec3SDavid Daney 		uint64_t we_ext:2;
46354293ec3SDavid Daney 		uint64_t oe_ext:2;
46454293ec3SDavid Daney 		uint64_t en:1;
46554293ec3SDavid Daney 		uint64_t orbit:1;
46654293ec3SDavid Daney 		uint64_t ale:1;
46754293ec3SDavid Daney 		uint64_t width:1;
46854293ec3SDavid Daney 		uint64_t size:12;
46954293ec3SDavid Daney 		uint64_t base:16;
47054293ec3SDavid Daney 	} cn30xx;
47154293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn31xx;
47254293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn38xx {
47354293ec3SDavid Daney 		uint64_t reserved_32_63:32;
47454293ec3SDavid Daney 		uint64_t en:1;
47554293ec3SDavid Daney 		uint64_t orbit:1;
47654293ec3SDavid Daney 		uint64_t reserved_28_29:2;
47754293ec3SDavid Daney 		uint64_t size:12;
47854293ec3SDavid Daney 		uint64_t base:16;
47954293ec3SDavid Daney 	} cn38xx;
48054293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn38xx cn38xxp2;
48154293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn50xx {
48254293ec3SDavid Daney 		uint64_t reserved_42_63:22;
48354293ec3SDavid Daney 		uint64_t tim_mult:2;
48454293ec3SDavid Daney 		uint64_t rd_dly:3;
48554293ec3SDavid Daney 		uint64_t sam:1;
48654293ec3SDavid Daney 		uint64_t we_ext:2;
48754293ec3SDavid Daney 		uint64_t oe_ext:2;
48854293ec3SDavid Daney 		uint64_t en:1;
48954293ec3SDavid Daney 		uint64_t orbit:1;
49054293ec3SDavid Daney 		uint64_t ale:1;
49154293ec3SDavid Daney 		uint64_t width:1;
49254293ec3SDavid Daney 		uint64_t size:12;
49354293ec3SDavid Daney 		uint64_t base:16;
49454293ec3SDavid Daney 	} cn50xx;
49554293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn52xx;
49654293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn52xxp1;
49754293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn56xx;
49854293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn56xxp1;
49954293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xx;
50054293ec3SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_cn30xx cn58xxp1;
501aa32a955SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn63xx;
502aa32a955SDavid Daney 	struct cvmx_mio_boot_reg_cfgx_s cn63xxp1;
50354293ec3SDavid Daney };
50454293ec3SDavid Daney 
50554293ec3SDavid Daney union cvmx_mio_boot_reg_timx {
50654293ec3SDavid Daney 	uint64_t u64;
50754293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s {
50854293ec3SDavid Daney 		uint64_t pagem:1;
50954293ec3SDavid Daney 		uint64_t waitm:1;
51054293ec3SDavid Daney 		uint64_t pages:2;
51154293ec3SDavid Daney 		uint64_t ale:6;
51254293ec3SDavid Daney 		uint64_t page:6;
51354293ec3SDavid Daney 		uint64_t wait:6;
51454293ec3SDavid Daney 		uint64_t pause:6;
51554293ec3SDavid Daney 		uint64_t wr_hld:6;
51654293ec3SDavid Daney 		uint64_t rd_hld:6;
51754293ec3SDavid Daney 		uint64_t we:6;
51854293ec3SDavid Daney 		uint64_t oe:6;
51954293ec3SDavid Daney 		uint64_t ce:6;
52054293ec3SDavid Daney 		uint64_t adr:6;
52154293ec3SDavid Daney 	} s;
52254293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn30xx;
52354293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn31xx;
52454293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_cn38xx {
52554293ec3SDavid Daney 		uint64_t pagem:1;
52654293ec3SDavid Daney 		uint64_t waitm:1;
52754293ec3SDavid Daney 		uint64_t pages:2;
52854293ec3SDavid Daney 		uint64_t reserved_54_59:6;
52954293ec3SDavid Daney 		uint64_t page:6;
53054293ec3SDavid Daney 		uint64_t wait:6;
53154293ec3SDavid Daney 		uint64_t pause:6;
53254293ec3SDavid Daney 		uint64_t wr_hld:6;
53354293ec3SDavid Daney 		uint64_t rd_hld:6;
53454293ec3SDavid Daney 		uint64_t we:6;
53554293ec3SDavid Daney 		uint64_t oe:6;
53654293ec3SDavid Daney 		uint64_t ce:6;
53754293ec3SDavid Daney 		uint64_t adr:6;
53854293ec3SDavid Daney 	} cn38xx;
53954293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_cn38xx cn38xxp2;
54054293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn50xx;
54154293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn52xx;
54254293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn52xxp1;
54354293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn56xx;
54454293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn56xxp1;
54554293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn58xx;
54654293ec3SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn58xxp1;
547aa32a955SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn63xx;
548aa32a955SDavid Daney 	struct cvmx_mio_boot_reg_timx_s cn63xxp1;
54954293ec3SDavid Daney };
55054293ec3SDavid Daney 
55154293ec3SDavid Daney union cvmx_mio_boot_thr {
55254293ec3SDavid Daney 	uint64_t u64;
55354293ec3SDavid Daney 	struct cvmx_mio_boot_thr_s {
55454293ec3SDavid Daney 		uint64_t reserved_22_63:42;
55554293ec3SDavid Daney 		uint64_t dma_thr:6;
55654293ec3SDavid Daney 		uint64_t reserved_14_15:2;
55754293ec3SDavid Daney 		uint64_t fif_cnt:6;
55854293ec3SDavid Daney 		uint64_t reserved_6_7:2;
55954293ec3SDavid Daney 		uint64_t fif_thr:6;
56054293ec3SDavid Daney 	} s;
56154293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx {
56254293ec3SDavid Daney 		uint64_t reserved_14_63:50;
56354293ec3SDavid Daney 		uint64_t fif_cnt:6;
56454293ec3SDavid Daney 		uint64_t reserved_6_7:2;
56554293ec3SDavid Daney 		uint64_t fif_thr:6;
56654293ec3SDavid Daney 	} cn30xx;
56754293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn31xx;
56854293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn38xx;
56954293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn38xxp2;
57054293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn50xx;
57154293ec3SDavid Daney 	struct cvmx_mio_boot_thr_s cn52xx;
57254293ec3SDavid Daney 	struct cvmx_mio_boot_thr_s cn52xxp1;
57354293ec3SDavid Daney 	struct cvmx_mio_boot_thr_s cn56xx;
57454293ec3SDavid Daney 	struct cvmx_mio_boot_thr_s cn56xxp1;
57554293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn58xx;
57654293ec3SDavid Daney 	struct cvmx_mio_boot_thr_cn30xx cn58xxp1;
577aa32a955SDavid Daney 	struct cvmx_mio_boot_thr_s cn63xx;
578aa32a955SDavid Daney 	struct cvmx_mio_boot_thr_s cn63xxp1;
57954293ec3SDavid Daney };
58054293ec3SDavid Daney 
58154293ec3SDavid Daney union cvmx_mio_fus_bnk_datx {
58254293ec3SDavid Daney 	uint64_t u64;
58354293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s {
58454293ec3SDavid Daney 		uint64_t dat:64;
58554293ec3SDavid Daney 	} s;
58654293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn50xx;
58754293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn52xx;
58854293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn52xxp1;
58954293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn56xx;
59054293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn56xxp1;
59154293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn58xx;
59254293ec3SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn58xxp1;
593aa32a955SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn63xx;
594aa32a955SDavid Daney 	struct cvmx_mio_fus_bnk_datx_s cn63xxp1;
59554293ec3SDavid Daney };
59654293ec3SDavid Daney 
59754293ec3SDavid Daney union cvmx_mio_fus_dat0 {
59854293ec3SDavid Daney 	uint64_t u64;
59954293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s {
60054293ec3SDavid Daney 		uint64_t reserved_32_63:32;
60154293ec3SDavid Daney 		uint64_t man_info:32;
60254293ec3SDavid Daney 	} s;
60354293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn30xx;
60454293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn31xx;
60554293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn38xx;
60654293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn38xxp2;
60754293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn50xx;
60854293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn52xx;
60954293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn52xxp1;
61054293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn56xx;
61154293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn56xxp1;
61254293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn58xx;
61354293ec3SDavid Daney 	struct cvmx_mio_fus_dat0_s cn58xxp1;
614aa32a955SDavid Daney 	struct cvmx_mio_fus_dat0_s cn63xx;
615aa32a955SDavid Daney 	struct cvmx_mio_fus_dat0_s cn63xxp1;
61654293ec3SDavid Daney };
61754293ec3SDavid Daney 
61854293ec3SDavid Daney union cvmx_mio_fus_dat1 {
61954293ec3SDavid Daney 	uint64_t u64;
62054293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s {
62154293ec3SDavid Daney 		uint64_t reserved_32_63:32;
62254293ec3SDavid Daney 		uint64_t man_info:32;
62354293ec3SDavid Daney 	} s;
62454293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn30xx;
62554293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn31xx;
62654293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn38xx;
62754293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn38xxp2;
62854293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn50xx;
62954293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn52xx;
63054293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn52xxp1;
63154293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn56xx;
63254293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn56xxp1;
63354293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn58xx;
63454293ec3SDavid Daney 	struct cvmx_mio_fus_dat1_s cn58xxp1;
635aa32a955SDavid Daney 	struct cvmx_mio_fus_dat1_s cn63xx;
636aa32a955SDavid Daney 	struct cvmx_mio_fus_dat1_s cn63xxp1;
63754293ec3SDavid Daney };
63854293ec3SDavid Daney 
63954293ec3SDavid Daney union cvmx_mio_fus_dat2 {
64054293ec3SDavid Daney 	uint64_t u64;
64154293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_s {
642aa32a955SDavid Daney 		uint64_t reserved_35_63:29;
643aa32a955SDavid Daney 		uint64_t dorm_crypto:1;
64454293ec3SDavid Daney 		uint64_t fus318:1;
64554293ec3SDavid Daney 		uint64_t raid_en:1;
64654293ec3SDavid Daney 		uint64_t reserved_30_31:2;
64754293ec3SDavid Daney 		uint64_t nokasu:1;
64854293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
64954293ec3SDavid Daney 		uint64_t nomul:1;
65054293ec3SDavid Daney 		uint64_t nocrypto:1;
65154293ec3SDavid Daney 		uint64_t rst_sht:1;
65254293ec3SDavid Daney 		uint64_t bist_dis:1;
65354293ec3SDavid Daney 		uint64_t chip_id:8;
65454293ec3SDavid Daney 		uint64_t reserved_0_15:16;
65554293ec3SDavid Daney 	} s;
65654293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn30xx {
65754293ec3SDavid Daney 		uint64_t reserved_29_63:35;
65854293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
65954293ec3SDavid Daney 		uint64_t nomul:1;
66054293ec3SDavid Daney 		uint64_t nocrypto:1;
66154293ec3SDavid Daney 		uint64_t rst_sht:1;
66254293ec3SDavid Daney 		uint64_t bist_dis:1;
66354293ec3SDavid Daney 		uint64_t chip_id:8;
66454293ec3SDavid Daney 		uint64_t pll_off:4;
66554293ec3SDavid Daney 		uint64_t reserved_1_11:11;
66654293ec3SDavid Daney 		uint64_t pp_dis:1;
66754293ec3SDavid Daney 	} cn30xx;
66854293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn31xx {
66954293ec3SDavid Daney 		uint64_t reserved_29_63:35;
67054293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
67154293ec3SDavid Daney 		uint64_t nomul:1;
67254293ec3SDavid Daney 		uint64_t nocrypto:1;
67354293ec3SDavid Daney 		uint64_t rst_sht:1;
67454293ec3SDavid Daney 		uint64_t bist_dis:1;
67554293ec3SDavid Daney 		uint64_t chip_id:8;
67654293ec3SDavid Daney 		uint64_t pll_off:4;
67754293ec3SDavid Daney 		uint64_t reserved_2_11:10;
67854293ec3SDavid Daney 		uint64_t pp_dis:2;
67954293ec3SDavid Daney 	} cn31xx;
68054293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn38xx {
68154293ec3SDavid Daney 		uint64_t reserved_29_63:35;
68254293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
68354293ec3SDavid Daney 		uint64_t nomul:1;
68454293ec3SDavid Daney 		uint64_t nocrypto:1;
68554293ec3SDavid Daney 		uint64_t rst_sht:1;
68654293ec3SDavid Daney 		uint64_t bist_dis:1;
68754293ec3SDavid Daney 		uint64_t chip_id:8;
68854293ec3SDavid Daney 		uint64_t pp_dis:16;
68954293ec3SDavid Daney 	} cn38xx;
69054293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn38xx cn38xxp2;
69154293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn50xx {
69254293ec3SDavid Daney 		uint64_t reserved_34_63:30;
69354293ec3SDavid Daney 		uint64_t fus318:1;
69454293ec3SDavid Daney 		uint64_t raid_en:1;
69554293ec3SDavid Daney 		uint64_t reserved_30_31:2;
69654293ec3SDavid Daney 		uint64_t nokasu:1;
69754293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
69854293ec3SDavid Daney 		uint64_t nomul:1;
69954293ec3SDavid Daney 		uint64_t nocrypto:1;
70054293ec3SDavid Daney 		uint64_t rst_sht:1;
70154293ec3SDavid Daney 		uint64_t bist_dis:1;
70254293ec3SDavid Daney 		uint64_t chip_id:8;
70354293ec3SDavid Daney 		uint64_t reserved_2_15:14;
70454293ec3SDavid Daney 		uint64_t pp_dis:2;
70554293ec3SDavid Daney 	} cn50xx;
70654293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn52xx {
70754293ec3SDavid Daney 		uint64_t reserved_34_63:30;
70854293ec3SDavid Daney 		uint64_t fus318:1;
70954293ec3SDavid Daney 		uint64_t raid_en:1;
71054293ec3SDavid Daney 		uint64_t reserved_30_31:2;
71154293ec3SDavid Daney 		uint64_t nokasu:1;
71254293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
71354293ec3SDavid Daney 		uint64_t nomul:1;
71454293ec3SDavid Daney 		uint64_t nocrypto:1;
71554293ec3SDavid Daney 		uint64_t rst_sht:1;
71654293ec3SDavid Daney 		uint64_t bist_dis:1;
71754293ec3SDavid Daney 		uint64_t chip_id:8;
71854293ec3SDavid Daney 		uint64_t reserved_4_15:12;
71954293ec3SDavid Daney 		uint64_t pp_dis:4;
72054293ec3SDavid Daney 	} cn52xx;
72154293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn52xx cn52xxp1;
72254293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn56xx {
72354293ec3SDavid Daney 		uint64_t reserved_34_63:30;
72454293ec3SDavid Daney 		uint64_t fus318:1;
72554293ec3SDavid Daney 		uint64_t raid_en:1;
72654293ec3SDavid Daney 		uint64_t reserved_30_31:2;
72754293ec3SDavid Daney 		uint64_t nokasu:1;
72854293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
72954293ec3SDavid Daney 		uint64_t nomul:1;
73054293ec3SDavid Daney 		uint64_t nocrypto:1;
73154293ec3SDavid Daney 		uint64_t rst_sht:1;
73254293ec3SDavid Daney 		uint64_t bist_dis:1;
73354293ec3SDavid Daney 		uint64_t chip_id:8;
73454293ec3SDavid Daney 		uint64_t reserved_12_15:4;
73554293ec3SDavid Daney 		uint64_t pp_dis:12;
73654293ec3SDavid Daney 	} cn56xx;
73754293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn56xx cn56xxp1;
73854293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn58xx {
73954293ec3SDavid Daney 		uint64_t reserved_30_63:34;
74054293ec3SDavid Daney 		uint64_t nokasu:1;
74154293ec3SDavid Daney 		uint64_t nodfa_cp2:1;
74254293ec3SDavid Daney 		uint64_t nomul:1;
74354293ec3SDavid Daney 		uint64_t nocrypto:1;
74454293ec3SDavid Daney 		uint64_t rst_sht:1;
74554293ec3SDavid Daney 		uint64_t bist_dis:1;
74654293ec3SDavid Daney 		uint64_t chip_id:8;
74754293ec3SDavid Daney 		uint64_t pp_dis:16;
74854293ec3SDavid Daney 	} cn58xx;
74954293ec3SDavid Daney 	struct cvmx_mio_fus_dat2_cn58xx cn58xxp1;
750aa32a955SDavid Daney 	struct cvmx_mio_fus_dat2_cn63xx {
751aa32a955SDavid Daney 		uint64_t reserved_35_63:29;
752aa32a955SDavid Daney 		uint64_t dorm_crypto:1;
753aa32a955SDavid Daney 		uint64_t fus318:1;
754aa32a955SDavid Daney 		uint64_t raid_en:1;
755aa32a955SDavid Daney 		uint64_t reserved_29_31:3;
756aa32a955SDavid Daney 		uint64_t nodfa_cp2:1;
757aa32a955SDavid Daney 		uint64_t nomul:1;
758aa32a955SDavid Daney 		uint64_t nocrypto:1;
759aa32a955SDavid Daney 		uint64_t reserved_24_25:2;
760aa32a955SDavid Daney 		uint64_t chip_id:8;
761aa32a955SDavid Daney 		uint64_t reserved_6_15:10;
762aa32a955SDavid Daney 		uint64_t pp_dis:6;
763aa32a955SDavid Daney 	} cn63xx;
764aa32a955SDavid Daney 	struct cvmx_mio_fus_dat2_cn63xx cn63xxp1;
76554293ec3SDavid Daney };
76654293ec3SDavid Daney 
76754293ec3SDavid Daney union cvmx_mio_fus_dat3 {
76854293ec3SDavid Daney 	uint64_t u64;
76954293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_s {
770aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
771aa32a955SDavid Daney 		uint64_t pll_ctl:10;
772aa32a955SDavid Daney 		uint64_t dfa_info_dte:3;
773aa32a955SDavid Daney 		uint64_t dfa_info_clm:4;
774aa32a955SDavid Daney 		uint64_t reserved_40_40:1;
775aa32a955SDavid Daney 		uint64_t ema:2;
776aa32a955SDavid Daney 		uint64_t efus_lck_rsv:1;
777aa32a955SDavid Daney 		uint64_t efus_lck_man:1;
778aa32a955SDavid Daney 		uint64_t pll_half_dis:1;
779aa32a955SDavid Daney 		uint64_t l2c_crip:3;
78054293ec3SDavid Daney 		uint64_t pll_div4:1;
781aa32a955SDavid Daney 		uint64_t reserved_29_30:2;
78254293ec3SDavid Daney 		uint64_t bar2_en:1;
78354293ec3SDavid Daney 		uint64_t efus_lck:1;
78454293ec3SDavid Daney 		uint64_t efus_ign:1;
78554293ec3SDavid Daney 		uint64_t nozip:1;
78654293ec3SDavid Daney 		uint64_t nodfa_dte:1;
78754293ec3SDavid Daney 		uint64_t icache:24;
78854293ec3SDavid Daney 	} s;
78954293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn30xx {
79054293ec3SDavid Daney 		uint64_t reserved_32_63:32;
79154293ec3SDavid Daney 		uint64_t pll_div4:1;
79254293ec3SDavid Daney 		uint64_t reserved_29_30:2;
79354293ec3SDavid Daney 		uint64_t bar2_en:1;
79454293ec3SDavid Daney 		uint64_t efus_lck:1;
79554293ec3SDavid Daney 		uint64_t efus_ign:1;
79654293ec3SDavid Daney 		uint64_t nozip:1;
79754293ec3SDavid Daney 		uint64_t nodfa_dte:1;
79854293ec3SDavid Daney 		uint64_t icache:24;
79954293ec3SDavid Daney 	} cn30xx;
800aa32a955SDavid Daney 	struct cvmx_mio_fus_dat3_cn31xx {
801aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
802aa32a955SDavid Daney 		uint64_t pll_div4:1;
803aa32a955SDavid Daney 		uint64_t zip_crip:2;
804aa32a955SDavid Daney 		uint64_t bar2_en:1;
805aa32a955SDavid Daney 		uint64_t efus_lck:1;
806aa32a955SDavid Daney 		uint64_t efus_ign:1;
807aa32a955SDavid Daney 		uint64_t nozip:1;
808aa32a955SDavid Daney 		uint64_t nodfa_dte:1;
809aa32a955SDavid Daney 		uint64_t icache:24;
810aa32a955SDavid Daney 	} cn31xx;
81154293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx {
81254293ec3SDavid Daney 		uint64_t reserved_31_63:33;
81354293ec3SDavid Daney 		uint64_t zip_crip:2;
81454293ec3SDavid Daney 		uint64_t bar2_en:1;
81554293ec3SDavid Daney 		uint64_t efus_lck:1;
81654293ec3SDavid Daney 		uint64_t efus_ign:1;
81754293ec3SDavid Daney 		uint64_t nozip:1;
81854293ec3SDavid Daney 		uint64_t nodfa_dte:1;
81954293ec3SDavid Daney 		uint64_t icache:24;
82054293ec3SDavid Daney 	} cn38xx;
82154293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xxp2 {
82254293ec3SDavid Daney 		uint64_t reserved_29_63:35;
82354293ec3SDavid Daney 		uint64_t bar2_en:1;
82454293ec3SDavid Daney 		uint64_t efus_lck:1;
82554293ec3SDavid Daney 		uint64_t efus_ign:1;
82654293ec3SDavid Daney 		uint64_t nozip:1;
82754293ec3SDavid Daney 		uint64_t nodfa_dte:1;
82854293ec3SDavid Daney 		uint64_t icache:24;
82954293ec3SDavid Daney 	} cn38xxp2;
83054293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn50xx;
83154293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn52xx;
83254293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn52xxp1;
83354293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn56xx;
83454293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn56xxp1;
83554293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn58xx;
83654293ec3SDavid Daney 	struct cvmx_mio_fus_dat3_cn38xx cn58xxp1;
837aa32a955SDavid Daney 	struct cvmx_mio_fus_dat3_cn63xx {
838aa32a955SDavid Daney 		uint64_t reserved_58_63:6;
839aa32a955SDavid Daney 		uint64_t pll_ctl:10;
840aa32a955SDavid Daney 		uint64_t dfa_info_dte:3;
841aa32a955SDavid Daney 		uint64_t dfa_info_clm:4;
842aa32a955SDavid Daney 		uint64_t reserved_40_40:1;
843aa32a955SDavid Daney 		uint64_t ema:2;
844aa32a955SDavid Daney 		uint64_t efus_lck_rsv:1;
845aa32a955SDavid Daney 		uint64_t efus_lck_man:1;
846aa32a955SDavid Daney 		uint64_t pll_half_dis:1;
847aa32a955SDavid Daney 		uint64_t l2c_crip:3;
848aa32a955SDavid Daney 		uint64_t reserved_31_31:1;
849aa32a955SDavid Daney 		uint64_t zip_info:2;
850aa32a955SDavid Daney 		uint64_t bar2_en:1;
851aa32a955SDavid Daney 		uint64_t efus_lck:1;
852aa32a955SDavid Daney 		uint64_t efus_ign:1;
853aa32a955SDavid Daney 		uint64_t nozip:1;
854aa32a955SDavid Daney 		uint64_t nodfa_dte:1;
855aa32a955SDavid Daney 		uint64_t reserved_0_23:24;
856aa32a955SDavid Daney 	} cn63xx;
857aa32a955SDavid Daney 	struct cvmx_mio_fus_dat3_cn63xx cn63xxp1;
85854293ec3SDavid Daney };
85954293ec3SDavid Daney 
86054293ec3SDavid Daney union cvmx_mio_fus_ema {
86154293ec3SDavid Daney 	uint64_t u64;
86254293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s {
86354293ec3SDavid Daney 		uint64_t reserved_7_63:57;
86454293ec3SDavid Daney 		uint64_t eff_ema:3;
86554293ec3SDavid Daney 		uint64_t reserved_3_3:1;
86654293ec3SDavid Daney 		uint64_t ema:3;
86754293ec3SDavid Daney 	} s;
86854293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s cn50xx;
86954293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s cn52xx;
87054293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s cn52xxp1;
87154293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s cn56xx;
87254293ec3SDavid Daney 	struct cvmx_mio_fus_ema_s cn56xxp1;
87354293ec3SDavid Daney 	struct cvmx_mio_fus_ema_cn58xx {
87454293ec3SDavid Daney 		uint64_t reserved_2_63:62;
87554293ec3SDavid Daney 		uint64_t ema:2;
87654293ec3SDavid Daney 	} cn58xx;
87754293ec3SDavid Daney 	struct cvmx_mio_fus_ema_cn58xx cn58xxp1;
878aa32a955SDavid Daney 	struct cvmx_mio_fus_ema_s cn63xx;
879aa32a955SDavid Daney 	struct cvmx_mio_fus_ema_s cn63xxp1;
88054293ec3SDavid Daney };
88154293ec3SDavid Daney 
88254293ec3SDavid Daney union cvmx_mio_fus_pdf {
88354293ec3SDavid Daney 	uint64_t u64;
88454293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s {
88554293ec3SDavid Daney 		uint64_t pdf:64;
88654293ec3SDavid Daney 	} s;
88754293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn50xx;
88854293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn52xx;
88954293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn52xxp1;
89054293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn56xx;
89154293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn56xxp1;
89254293ec3SDavid Daney 	struct cvmx_mio_fus_pdf_s cn58xx;
893aa32a955SDavid Daney 	struct cvmx_mio_fus_pdf_s cn63xx;
894aa32a955SDavid Daney 	struct cvmx_mio_fus_pdf_s cn63xxp1;
89554293ec3SDavid Daney };
89654293ec3SDavid Daney 
89754293ec3SDavid Daney union cvmx_mio_fus_pll {
89854293ec3SDavid Daney 	uint64_t u64;
89954293ec3SDavid Daney 	struct cvmx_mio_fus_pll_s {
900aa32a955SDavid Daney 		uint64_t reserved_8_63:56;
901aa32a955SDavid Daney 		uint64_t c_cout_rst:1;
902aa32a955SDavid Daney 		uint64_t c_cout_sel:2;
903aa32a955SDavid Daney 		uint64_t pnr_cout_rst:1;
904aa32a955SDavid Daney 		uint64_t pnr_cout_sel:2;
90554293ec3SDavid Daney 		uint64_t rfslip:1;
90654293ec3SDavid Daney 		uint64_t fbslip:1;
90754293ec3SDavid Daney 	} s;
908aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx {
909aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
910aa32a955SDavid Daney 		uint64_t rfslip:1;
911aa32a955SDavid Daney 		uint64_t fbslip:1;
912aa32a955SDavid Daney 	} cn50xx;
913aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn52xx;
914aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn52xxp1;
915aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn56xx;
916aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn56xxp1;
917aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn58xx;
918aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_cn50xx cn58xxp1;
919aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_s cn63xx;
920aa32a955SDavid Daney 	struct cvmx_mio_fus_pll_s cn63xxp1;
92154293ec3SDavid Daney };
92254293ec3SDavid Daney 
92354293ec3SDavid Daney union cvmx_mio_fus_prog {
92454293ec3SDavid Daney 	uint64_t u64;
92554293ec3SDavid Daney 	struct cvmx_mio_fus_prog_s {
926aa32a955SDavid Daney 		uint64_t reserved_2_63:62;
927aa32a955SDavid Daney 		uint64_t soft:1;
92854293ec3SDavid Daney 		uint64_t prog:1;
92954293ec3SDavid Daney 	} s;
930aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx {
931aa32a955SDavid Daney 		uint64_t reserved_1_63:63;
932aa32a955SDavid Daney 		uint64_t prog:1;
933aa32a955SDavid Daney 	} cn30xx;
934aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn31xx;
935aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn38xx;
936aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn38xxp2;
937aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn50xx;
938aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn52xx;
939aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn52xxp1;
940aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn56xx;
941aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn56xxp1;
942aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn58xx;
943aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_cn30xx cn58xxp1;
944aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_s cn63xx;
945aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_s cn63xxp1;
94654293ec3SDavid Daney };
94754293ec3SDavid Daney 
94854293ec3SDavid Daney union cvmx_mio_fus_prog_times {
94954293ec3SDavid Daney 	uint64_t u64;
95054293ec3SDavid Daney 	struct cvmx_mio_fus_prog_times_s {
951aa32a955SDavid Daney 		uint64_t reserved_35_63:29;
952aa32a955SDavid Daney 		uint64_t vgate_pin:1;
953aa32a955SDavid Daney 		uint64_t fsrc_pin:1;
954aa32a955SDavid Daney 		uint64_t prog_pin:1;
955aa32a955SDavid Daney 		uint64_t reserved_6_31:26;
956aa32a955SDavid Daney 		uint64_t setup:6;
957aa32a955SDavid Daney 	} s;
958aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx {
95954293ec3SDavid Daney 		uint64_t reserved_33_63:31;
96054293ec3SDavid Daney 		uint64_t prog_pin:1;
96154293ec3SDavid Daney 		uint64_t out:8;
96254293ec3SDavid Daney 		uint64_t sclk_lo:4;
96354293ec3SDavid Daney 		uint64_t sclk_hi:12;
96454293ec3SDavid Daney 		uint64_t setup:8;
965aa32a955SDavid Daney 	} cn50xx;
966aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn52xx;
967aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn52xxp1;
968aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn56xx;
969aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn56xxp1;
970aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn58xx;
971aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn50xx cn58xxp1;
972aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn63xx {
973aa32a955SDavid Daney 		uint64_t reserved_35_63:29;
974aa32a955SDavid Daney 		uint64_t vgate_pin:1;
975aa32a955SDavid Daney 		uint64_t fsrc_pin:1;
976aa32a955SDavid Daney 		uint64_t prog_pin:1;
977aa32a955SDavid Daney 		uint64_t out:7;
978aa32a955SDavid Daney 		uint64_t sclk_lo:4;
979aa32a955SDavid Daney 		uint64_t sclk_hi:15;
980aa32a955SDavid Daney 		uint64_t setup:6;
981aa32a955SDavid Daney 	} cn63xx;
982aa32a955SDavid Daney 	struct cvmx_mio_fus_prog_times_cn63xx cn63xxp1;
98354293ec3SDavid Daney };
98454293ec3SDavid Daney 
98554293ec3SDavid Daney union cvmx_mio_fus_rcmd {
98654293ec3SDavid Daney 	uint64_t u64;
98754293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_s {
98854293ec3SDavid Daney 		uint64_t reserved_24_63:40;
98954293ec3SDavid Daney 		uint64_t dat:8;
99054293ec3SDavid Daney 		uint64_t reserved_13_15:3;
99154293ec3SDavid Daney 		uint64_t pend:1;
99254293ec3SDavid Daney 		uint64_t reserved_9_11:3;
99354293ec3SDavid Daney 		uint64_t efuse:1;
99454293ec3SDavid Daney 		uint64_t addr:8;
99554293ec3SDavid Daney 	} s;
99654293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx {
99754293ec3SDavid Daney 		uint64_t reserved_24_63:40;
99854293ec3SDavid Daney 		uint64_t dat:8;
99954293ec3SDavid Daney 		uint64_t reserved_13_15:3;
100054293ec3SDavid Daney 		uint64_t pend:1;
100154293ec3SDavid Daney 		uint64_t reserved_9_11:3;
100254293ec3SDavid Daney 		uint64_t efuse:1;
100354293ec3SDavid Daney 		uint64_t reserved_7_7:1;
100454293ec3SDavid Daney 		uint64_t addr:7;
100554293ec3SDavid Daney 	} cn30xx;
100654293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn31xx;
100754293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn38xx;
100854293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn38xxp2;
100954293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn50xx;
101054293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn52xx;
101154293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn52xxp1;
101254293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn56xx;
101354293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn56xxp1;
101454293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn58xx;
101554293ec3SDavid Daney 	struct cvmx_mio_fus_rcmd_cn30xx cn58xxp1;
1016aa32a955SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn63xx;
1017aa32a955SDavid Daney 	struct cvmx_mio_fus_rcmd_s cn63xxp1;
1018aa32a955SDavid Daney };
1019aa32a955SDavid Daney 
1020aa32a955SDavid Daney union cvmx_mio_fus_read_times {
1021aa32a955SDavid Daney 	uint64_t u64;
1022aa32a955SDavid Daney 	struct cvmx_mio_fus_read_times_s {
1023aa32a955SDavid Daney 		uint64_t reserved_26_63:38;
1024aa32a955SDavid Daney 		uint64_t sch:4;
1025aa32a955SDavid Daney 		uint64_t fsh:4;
1026aa32a955SDavid Daney 		uint64_t prh:4;
1027aa32a955SDavid Daney 		uint64_t sdh:4;
1028aa32a955SDavid Daney 		uint64_t setup:10;
1029aa32a955SDavid Daney 	} s;
1030aa32a955SDavid Daney 	struct cvmx_mio_fus_read_times_s cn63xx;
1031aa32a955SDavid Daney 	struct cvmx_mio_fus_read_times_s cn63xxp1;
1032aa32a955SDavid Daney };
1033aa32a955SDavid Daney 
1034aa32a955SDavid Daney union cvmx_mio_fus_repair_res0 {
1035aa32a955SDavid Daney 	uint64_t u64;
1036aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res0_s {
1037aa32a955SDavid Daney 		uint64_t reserved_55_63:9;
1038aa32a955SDavid Daney 		uint64_t too_many:1;
1039aa32a955SDavid Daney 		uint64_t repair2:18;
1040aa32a955SDavid Daney 		uint64_t repair1:18;
1041aa32a955SDavid Daney 		uint64_t repair0:18;
1042aa32a955SDavid Daney 	} s;
1043aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res0_s cn63xx;
1044aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res0_s cn63xxp1;
1045aa32a955SDavid Daney };
1046aa32a955SDavid Daney 
1047aa32a955SDavid Daney union cvmx_mio_fus_repair_res1 {
1048aa32a955SDavid Daney 	uint64_t u64;
1049aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res1_s {
1050aa32a955SDavid Daney 		uint64_t reserved_54_63:10;
1051aa32a955SDavid Daney 		uint64_t repair5:18;
1052aa32a955SDavid Daney 		uint64_t repair4:18;
1053aa32a955SDavid Daney 		uint64_t repair3:18;
1054aa32a955SDavid Daney 	} s;
1055aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res1_s cn63xx;
1056aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res1_s cn63xxp1;
1057aa32a955SDavid Daney };
1058aa32a955SDavid Daney 
1059aa32a955SDavid Daney union cvmx_mio_fus_repair_res2 {
1060aa32a955SDavid Daney 	uint64_t u64;
1061aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res2_s {
1062aa32a955SDavid Daney 		uint64_t reserved_18_63:46;
1063aa32a955SDavid Daney 		uint64_t repair6:18;
1064aa32a955SDavid Daney 	} s;
1065aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res2_s cn63xx;
1066aa32a955SDavid Daney 	struct cvmx_mio_fus_repair_res2_s cn63xxp1;
106754293ec3SDavid Daney };
106854293ec3SDavid Daney 
106954293ec3SDavid Daney union cvmx_mio_fus_spr_repair_res {
107054293ec3SDavid Daney 	uint64_t u64;
107154293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s {
107254293ec3SDavid Daney 		uint64_t reserved_42_63:22;
107354293ec3SDavid Daney 		uint64_t repair2:14;
107454293ec3SDavid Daney 		uint64_t repair1:14;
107554293ec3SDavid Daney 		uint64_t repair0:14;
107654293ec3SDavid Daney 	} s;
107754293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn30xx;
107854293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn31xx;
107954293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn38xx;
108054293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn50xx;
108154293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn52xx;
108254293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn52xxp1;
108354293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn56xx;
108454293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn56xxp1;
108554293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn58xx;
108654293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn58xxp1;
1087aa32a955SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn63xx;
1088aa32a955SDavid Daney 	struct cvmx_mio_fus_spr_repair_res_s cn63xxp1;
108954293ec3SDavid Daney };
109054293ec3SDavid Daney 
109154293ec3SDavid Daney union cvmx_mio_fus_spr_repair_sum {
109254293ec3SDavid Daney 	uint64_t u64;
109354293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s {
109454293ec3SDavid Daney 		uint64_t reserved_1_63:63;
109554293ec3SDavid Daney 		uint64_t too_many:1;
109654293ec3SDavid Daney 	} s;
109754293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn30xx;
109854293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn31xx;
109954293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn38xx;
110054293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn50xx;
110154293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn52xx;
110254293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn52xxp1;
110354293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn56xx;
110454293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn56xxp1;
110554293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn58xx;
110654293ec3SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn58xxp1;
1107aa32a955SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn63xx;
1108aa32a955SDavid Daney 	struct cvmx_mio_fus_spr_repair_sum_s cn63xxp1;
110954293ec3SDavid Daney };
111054293ec3SDavid Daney 
111154293ec3SDavid Daney union cvmx_mio_fus_unlock {
111254293ec3SDavid Daney 	uint64_t u64;
111354293ec3SDavid Daney 	struct cvmx_mio_fus_unlock_s {
111454293ec3SDavid Daney 		uint64_t reserved_24_63:40;
111554293ec3SDavid Daney 		uint64_t key:24;
111654293ec3SDavid Daney 	} s;
111754293ec3SDavid Daney 	struct cvmx_mio_fus_unlock_s cn30xx;
111854293ec3SDavid Daney 	struct cvmx_mio_fus_unlock_s cn31xx;
111954293ec3SDavid Daney };
112054293ec3SDavid Daney 
112154293ec3SDavid Daney union cvmx_mio_fus_wadr {
112254293ec3SDavid Daney 	uint64_t u64;
112354293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_s {
112454293ec3SDavid Daney 		uint64_t reserved_10_63:54;
112554293ec3SDavid Daney 		uint64_t addr:10;
112654293ec3SDavid Daney 	} s;
112754293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_s cn30xx;
112854293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_s cn31xx;
112954293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_s cn38xx;
113054293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_s cn38xxp2;
113154293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn50xx {
113254293ec3SDavid Daney 		uint64_t reserved_2_63:62;
113354293ec3SDavid Daney 		uint64_t addr:2;
113454293ec3SDavid Daney 	} cn50xx;
113554293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn52xx {
113654293ec3SDavid Daney 		uint64_t reserved_3_63:61;
113754293ec3SDavid Daney 		uint64_t addr:3;
113854293ec3SDavid Daney 	} cn52xx;
113954293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn52xx cn52xxp1;
114054293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn52xx cn56xx;
114154293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn52xx cn56xxp1;
114254293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn50xx cn58xx;
114354293ec3SDavid Daney 	struct cvmx_mio_fus_wadr_cn50xx cn58xxp1;
1144aa32a955SDavid Daney 	struct cvmx_mio_fus_wadr_cn63xx {
1145aa32a955SDavid Daney 		uint64_t reserved_4_63:60;
1146aa32a955SDavid Daney 		uint64_t addr:4;
1147aa32a955SDavid Daney 	} cn63xx;
1148aa32a955SDavid Daney 	struct cvmx_mio_fus_wadr_cn63xx cn63xxp1;
1149aa32a955SDavid Daney };
1150aa32a955SDavid Daney 
1151aa32a955SDavid Daney union cvmx_mio_gpio_comp {
1152aa32a955SDavid Daney 	uint64_t u64;
1153aa32a955SDavid Daney 	struct cvmx_mio_gpio_comp_s {
1154aa32a955SDavid Daney 		uint64_t reserved_12_63:52;
1155aa32a955SDavid Daney 		uint64_t pctl:6;
1156aa32a955SDavid Daney 		uint64_t nctl:6;
1157aa32a955SDavid Daney 	} s;
1158aa32a955SDavid Daney 	struct cvmx_mio_gpio_comp_s cn63xx;
1159aa32a955SDavid Daney 	struct cvmx_mio_gpio_comp_s cn63xxp1;
116054293ec3SDavid Daney };
116154293ec3SDavid Daney 
116254293ec3SDavid Daney union cvmx_mio_ndf_dma_cfg {
116354293ec3SDavid Daney 	uint64_t u64;
116454293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_cfg_s {
116554293ec3SDavid Daney 		uint64_t en:1;
116654293ec3SDavid Daney 		uint64_t rw:1;
116754293ec3SDavid Daney 		uint64_t clr:1;
116854293ec3SDavid Daney 		uint64_t reserved_60_60:1;
116954293ec3SDavid Daney 		uint64_t swap32:1;
117054293ec3SDavid Daney 		uint64_t swap16:1;
117154293ec3SDavid Daney 		uint64_t swap8:1;
117254293ec3SDavid Daney 		uint64_t endian:1;
117354293ec3SDavid Daney 		uint64_t size:20;
117454293ec3SDavid Daney 		uint64_t adr:36;
117554293ec3SDavid Daney 	} s;
117654293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_cfg_s cn52xx;
1177aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_cfg_s cn63xx;
1178aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_cfg_s cn63xxp1;
117954293ec3SDavid Daney };
118054293ec3SDavid Daney 
118154293ec3SDavid Daney union cvmx_mio_ndf_dma_int {
118254293ec3SDavid Daney 	uint64_t u64;
118354293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_int_s {
118454293ec3SDavid Daney 		uint64_t reserved_1_63:63;
118554293ec3SDavid Daney 		uint64_t done:1;
118654293ec3SDavid Daney 	} s;
118754293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_int_s cn52xx;
1188aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_int_s cn63xx;
1189aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_int_s cn63xxp1;
119054293ec3SDavid Daney };
119154293ec3SDavid Daney 
119254293ec3SDavid Daney union cvmx_mio_ndf_dma_int_en {
119354293ec3SDavid Daney 	uint64_t u64;
119454293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_int_en_s {
119554293ec3SDavid Daney 		uint64_t reserved_1_63:63;
119654293ec3SDavid Daney 		uint64_t done:1;
119754293ec3SDavid Daney 	} s;
119854293ec3SDavid Daney 	struct cvmx_mio_ndf_dma_int_en_s cn52xx;
1199aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_int_en_s cn63xx;
1200aa32a955SDavid Daney 	struct cvmx_mio_ndf_dma_int_en_s cn63xxp1;
120154293ec3SDavid Daney };
120254293ec3SDavid Daney 
120354293ec3SDavid Daney union cvmx_mio_pll_ctl {
120454293ec3SDavid Daney 	uint64_t u64;
120554293ec3SDavid Daney 	struct cvmx_mio_pll_ctl_s {
120654293ec3SDavid Daney 		uint64_t reserved_5_63:59;
120754293ec3SDavid Daney 		uint64_t bw_ctl:5;
120854293ec3SDavid Daney 	} s;
120954293ec3SDavid Daney 	struct cvmx_mio_pll_ctl_s cn30xx;
121054293ec3SDavid Daney 	struct cvmx_mio_pll_ctl_s cn31xx;
121154293ec3SDavid Daney };
121254293ec3SDavid Daney 
121354293ec3SDavid Daney union cvmx_mio_pll_setting {
121454293ec3SDavid Daney 	uint64_t u64;
121554293ec3SDavid Daney 	struct cvmx_mio_pll_setting_s {
121654293ec3SDavid Daney 		uint64_t reserved_17_63:47;
121754293ec3SDavid Daney 		uint64_t setting:17;
121854293ec3SDavid Daney 	} s;
121954293ec3SDavid Daney 	struct cvmx_mio_pll_setting_s cn30xx;
122054293ec3SDavid Daney 	struct cvmx_mio_pll_setting_s cn31xx;
122154293ec3SDavid Daney };
122254293ec3SDavid Daney 
1223aa32a955SDavid Daney union cvmx_mio_ptp_clock_cfg {
1224aa32a955SDavid Daney 	uint64_t u64;
1225aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_cfg_s {
1226aa32a955SDavid Daney 		uint64_t reserved_24_63:40;
1227aa32a955SDavid Daney 		uint64_t evcnt_in:6;
1228aa32a955SDavid Daney 		uint64_t evcnt_edge:1;
1229aa32a955SDavid Daney 		uint64_t evcnt_en:1;
1230aa32a955SDavid Daney 		uint64_t tstmp_in:6;
1231aa32a955SDavid Daney 		uint64_t tstmp_edge:1;
1232aa32a955SDavid Daney 		uint64_t tstmp_en:1;
1233aa32a955SDavid Daney 		uint64_t ext_clk_in:6;
1234aa32a955SDavid Daney 		uint64_t ext_clk_en:1;
1235aa32a955SDavid Daney 		uint64_t ptp_en:1;
1236aa32a955SDavid Daney 	} s;
1237aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_cfg_s cn63xx;
1238aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_cfg_s cn63xxp1;
1239aa32a955SDavid Daney };
1240aa32a955SDavid Daney 
1241aa32a955SDavid Daney union cvmx_mio_ptp_clock_comp {
1242aa32a955SDavid Daney 	uint64_t u64;
1243aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_comp_s {
1244aa32a955SDavid Daney 		uint64_t nanosec:32;
1245aa32a955SDavid Daney 		uint64_t frnanosec:32;
1246aa32a955SDavid Daney 	} s;
1247aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_comp_s cn63xx;
1248aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_comp_s cn63xxp1;
1249aa32a955SDavid Daney };
1250aa32a955SDavid Daney 
1251aa32a955SDavid Daney union cvmx_mio_ptp_clock_hi {
1252aa32a955SDavid Daney 	uint64_t u64;
1253aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_hi_s {
1254aa32a955SDavid Daney 		uint64_t nanosec:64;
1255aa32a955SDavid Daney 	} s;
1256aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_hi_s cn63xx;
1257aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_hi_s cn63xxp1;
1258aa32a955SDavid Daney };
1259aa32a955SDavid Daney 
1260aa32a955SDavid Daney union cvmx_mio_ptp_clock_lo {
1261aa32a955SDavid Daney 	uint64_t u64;
1262aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_lo_s {
1263aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
1264aa32a955SDavid Daney 		uint64_t frnanosec:32;
1265aa32a955SDavid Daney 	} s;
1266aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_lo_s cn63xx;
1267aa32a955SDavid Daney 	struct cvmx_mio_ptp_clock_lo_s cn63xxp1;
1268aa32a955SDavid Daney };
1269aa32a955SDavid Daney 
1270aa32a955SDavid Daney union cvmx_mio_ptp_evt_cnt {
1271aa32a955SDavid Daney 	uint64_t u64;
1272aa32a955SDavid Daney 	struct cvmx_mio_ptp_evt_cnt_s {
1273aa32a955SDavid Daney 		uint64_t cntr:64;
1274aa32a955SDavid Daney 	} s;
1275aa32a955SDavid Daney 	struct cvmx_mio_ptp_evt_cnt_s cn63xx;
1276aa32a955SDavid Daney 	struct cvmx_mio_ptp_evt_cnt_s cn63xxp1;
1277aa32a955SDavid Daney };
1278aa32a955SDavid Daney 
1279aa32a955SDavid Daney union cvmx_mio_ptp_timestamp {
1280aa32a955SDavid Daney 	uint64_t u64;
1281aa32a955SDavid Daney 	struct cvmx_mio_ptp_timestamp_s {
1282aa32a955SDavid Daney 		uint64_t nanosec:64;
1283aa32a955SDavid Daney 	} s;
1284aa32a955SDavid Daney 	struct cvmx_mio_ptp_timestamp_s cn63xx;
1285aa32a955SDavid Daney 	struct cvmx_mio_ptp_timestamp_s cn63xxp1;
1286aa32a955SDavid Daney };
1287aa32a955SDavid Daney 
1288aa32a955SDavid Daney union cvmx_mio_rst_boot {
1289aa32a955SDavid Daney 	uint64_t u64;
1290aa32a955SDavid Daney 	struct cvmx_mio_rst_boot_s {
1291aa32a955SDavid Daney 		uint64_t reserved_36_63:28;
1292aa32a955SDavid Daney 		uint64_t c_mul:6;
1293aa32a955SDavid Daney 		uint64_t pnr_mul:6;
1294aa32a955SDavid Daney 		uint64_t qlm2_spd:4;
1295aa32a955SDavid Daney 		uint64_t qlm1_spd:4;
1296aa32a955SDavid Daney 		uint64_t qlm0_spd:4;
1297aa32a955SDavid Daney 		uint64_t lboot:10;
1298aa32a955SDavid Daney 		uint64_t rboot:1;
1299aa32a955SDavid Daney 		uint64_t rboot_pin:1;
1300aa32a955SDavid Daney 	} s;
1301aa32a955SDavid Daney 	struct cvmx_mio_rst_boot_s cn63xx;
1302aa32a955SDavid Daney 	struct cvmx_mio_rst_boot_s cn63xxp1;
1303aa32a955SDavid Daney };
1304aa32a955SDavid Daney 
1305aa32a955SDavid Daney union cvmx_mio_rst_cfg {
1306aa32a955SDavid Daney 	uint64_t u64;
1307aa32a955SDavid Daney 	struct cvmx_mio_rst_cfg_s {
1308aa32a955SDavid Daney 		uint64_t bist_delay:58;
1309aa32a955SDavid Daney 		uint64_t reserved_3_5:3;
1310aa32a955SDavid Daney 		uint64_t cntl_clr_bist:1;
1311aa32a955SDavid Daney 		uint64_t warm_clr_bist:1;
1312aa32a955SDavid Daney 		uint64_t soft_clr_bist:1;
1313aa32a955SDavid Daney 	} s;
1314aa32a955SDavid Daney 	struct cvmx_mio_rst_cfg_s cn63xx;
1315aa32a955SDavid Daney 	struct cvmx_mio_rst_cfg_cn63xxp1 {
1316aa32a955SDavid Daney 		uint64_t bist_delay:58;
1317aa32a955SDavid Daney 		uint64_t reserved_2_5:4;
1318aa32a955SDavid Daney 		uint64_t warm_clr_bist:1;
1319aa32a955SDavid Daney 		uint64_t soft_clr_bist:1;
1320aa32a955SDavid Daney 	} cn63xxp1;
1321aa32a955SDavid Daney };
1322aa32a955SDavid Daney 
1323aa32a955SDavid Daney union cvmx_mio_rst_ctlx {
1324aa32a955SDavid Daney 	uint64_t u64;
1325aa32a955SDavid Daney 	struct cvmx_mio_rst_ctlx_s {
1326aa32a955SDavid Daney 		uint64_t reserved_10_63:54;
1327aa32a955SDavid Daney 		uint64_t prst_link:1;
1328aa32a955SDavid Daney 		uint64_t rst_done:1;
1329aa32a955SDavid Daney 		uint64_t rst_link:1;
1330aa32a955SDavid Daney 		uint64_t host_mode:1;
1331aa32a955SDavid Daney 		uint64_t prtmode:2;
1332aa32a955SDavid Daney 		uint64_t rst_drv:1;
1333aa32a955SDavid Daney 		uint64_t rst_rcv:1;
1334aa32a955SDavid Daney 		uint64_t rst_chip:1;
1335aa32a955SDavid Daney 		uint64_t rst_val:1;
1336aa32a955SDavid Daney 	} s;
1337aa32a955SDavid Daney 	struct cvmx_mio_rst_ctlx_s cn63xx;
1338aa32a955SDavid Daney 	struct cvmx_mio_rst_ctlx_cn63xxp1 {
1339aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
1340aa32a955SDavid Daney 		uint64_t rst_done:1;
1341aa32a955SDavid Daney 		uint64_t rst_link:1;
1342aa32a955SDavid Daney 		uint64_t host_mode:1;
1343aa32a955SDavid Daney 		uint64_t prtmode:2;
1344aa32a955SDavid Daney 		uint64_t rst_drv:1;
1345aa32a955SDavid Daney 		uint64_t rst_rcv:1;
1346aa32a955SDavid Daney 		uint64_t rst_chip:1;
1347aa32a955SDavid Daney 		uint64_t rst_val:1;
1348aa32a955SDavid Daney 	} cn63xxp1;
1349aa32a955SDavid Daney };
1350aa32a955SDavid Daney 
1351aa32a955SDavid Daney union cvmx_mio_rst_delay {
1352aa32a955SDavid Daney 	uint64_t u64;
1353aa32a955SDavid Daney 	struct cvmx_mio_rst_delay_s {
1354aa32a955SDavid Daney 		uint64_t reserved_32_63:32;
1355aa32a955SDavid Daney 		uint64_t soft_rst_dly:16;
1356aa32a955SDavid Daney 		uint64_t warm_rst_dly:16;
1357aa32a955SDavid Daney 	} s;
1358aa32a955SDavid Daney 	struct cvmx_mio_rst_delay_s cn63xx;
1359aa32a955SDavid Daney 	struct cvmx_mio_rst_delay_s cn63xxp1;
1360aa32a955SDavid Daney };
1361aa32a955SDavid Daney 
1362aa32a955SDavid Daney union cvmx_mio_rst_int {
1363aa32a955SDavid Daney 	uint64_t u64;
1364aa32a955SDavid Daney 	struct cvmx_mio_rst_int_s {
1365aa32a955SDavid Daney 		uint64_t reserved_10_63:54;
1366aa32a955SDavid Daney 		uint64_t perst1:1;
1367aa32a955SDavid Daney 		uint64_t perst0:1;
1368aa32a955SDavid Daney 		uint64_t reserved_2_7:6;
1369aa32a955SDavid Daney 		uint64_t rst_link1:1;
1370aa32a955SDavid Daney 		uint64_t rst_link0:1;
1371aa32a955SDavid Daney 	} s;
1372aa32a955SDavid Daney 	struct cvmx_mio_rst_int_s cn63xx;
1373aa32a955SDavid Daney 	struct cvmx_mio_rst_int_s cn63xxp1;
1374aa32a955SDavid Daney };
1375aa32a955SDavid Daney 
1376aa32a955SDavid Daney union cvmx_mio_rst_int_en {
1377aa32a955SDavid Daney 	uint64_t u64;
1378aa32a955SDavid Daney 	struct cvmx_mio_rst_int_en_s {
1379aa32a955SDavid Daney 		uint64_t reserved_10_63:54;
1380aa32a955SDavid Daney 		uint64_t perst1:1;
1381aa32a955SDavid Daney 		uint64_t perst0:1;
1382aa32a955SDavid Daney 		uint64_t reserved_2_7:6;
1383aa32a955SDavid Daney 		uint64_t rst_link1:1;
1384aa32a955SDavid Daney 		uint64_t rst_link0:1;
1385aa32a955SDavid Daney 	} s;
1386aa32a955SDavid Daney 	struct cvmx_mio_rst_int_en_s cn63xx;
1387aa32a955SDavid Daney 	struct cvmx_mio_rst_int_en_s cn63xxp1;
1388aa32a955SDavid Daney };
1389aa32a955SDavid Daney 
139054293ec3SDavid Daney union cvmx_mio_twsx_int {
139154293ec3SDavid Daney 	uint64_t u64;
139254293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s {
139354293ec3SDavid Daney 		uint64_t reserved_12_63:52;
139454293ec3SDavid Daney 		uint64_t scl:1;
139554293ec3SDavid Daney 		uint64_t sda:1;
139654293ec3SDavid Daney 		uint64_t scl_ovr:1;
139754293ec3SDavid Daney 		uint64_t sda_ovr:1;
139854293ec3SDavid Daney 		uint64_t reserved_7_7:1;
139954293ec3SDavid Daney 		uint64_t core_en:1;
140054293ec3SDavid Daney 		uint64_t ts_en:1;
140154293ec3SDavid Daney 		uint64_t st_en:1;
140254293ec3SDavid Daney 		uint64_t reserved_3_3:1;
140354293ec3SDavid Daney 		uint64_t core_int:1;
140454293ec3SDavid Daney 		uint64_t ts_int:1;
140554293ec3SDavid Daney 		uint64_t st_int:1;
140654293ec3SDavid Daney 	} s;
140754293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn30xx;
140854293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn31xx;
140954293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn38xx;
141054293ec3SDavid Daney 	struct cvmx_mio_twsx_int_cn38xxp2 {
141154293ec3SDavid Daney 		uint64_t reserved_7_63:57;
141254293ec3SDavid Daney 		uint64_t core_en:1;
141354293ec3SDavid Daney 		uint64_t ts_en:1;
141454293ec3SDavid Daney 		uint64_t st_en:1;
141554293ec3SDavid Daney 		uint64_t reserved_3_3:1;
141654293ec3SDavid Daney 		uint64_t core_int:1;
141754293ec3SDavid Daney 		uint64_t ts_int:1;
141854293ec3SDavid Daney 		uint64_t st_int:1;
141954293ec3SDavid Daney 	} cn38xxp2;
142054293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn50xx;
142154293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn52xx;
142254293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn52xxp1;
142354293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn56xx;
142454293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn56xxp1;
142554293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn58xx;
142654293ec3SDavid Daney 	struct cvmx_mio_twsx_int_s cn58xxp1;
1427aa32a955SDavid Daney 	struct cvmx_mio_twsx_int_s cn63xx;
1428aa32a955SDavid Daney 	struct cvmx_mio_twsx_int_s cn63xxp1;
142954293ec3SDavid Daney };
143054293ec3SDavid Daney 
143154293ec3SDavid Daney union cvmx_mio_twsx_sw_twsi {
143254293ec3SDavid Daney 	uint64_t u64;
143354293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s {
143454293ec3SDavid Daney 		uint64_t v:1;
143554293ec3SDavid Daney 		uint64_t slonly:1;
143654293ec3SDavid Daney 		uint64_t eia:1;
143754293ec3SDavid Daney 		uint64_t op:4;
143854293ec3SDavid Daney 		uint64_t r:1;
143954293ec3SDavid Daney 		uint64_t sovr:1;
144054293ec3SDavid Daney 		uint64_t size:3;
144154293ec3SDavid Daney 		uint64_t scr:2;
144254293ec3SDavid Daney 		uint64_t a:10;
144354293ec3SDavid Daney 		uint64_t ia:5;
144454293ec3SDavid Daney 		uint64_t eop_ia:3;
144554293ec3SDavid Daney 		uint64_t d:32;
144654293ec3SDavid Daney 	} s;
144754293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn30xx;
144854293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn31xx;
144954293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn38xx;
145054293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn38xxp2;
145154293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn50xx;
145254293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn52xx;
145354293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn52xxp1;
145454293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn56xx;
145554293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn56xxp1;
145654293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn58xx;
145754293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn58xxp1;
1458aa32a955SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn63xx;
1459aa32a955SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_s cn63xxp1;
146054293ec3SDavid Daney };
146154293ec3SDavid Daney 
146254293ec3SDavid Daney union cvmx_mio_twsx_sw_twsi_ext {
146354293ec3SDavid Daney 	uint64_t u64;
146454293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s {
146554293ec3SDavid Daney 		uint64_t reserved_40_63:24;
146654293ec3SDavid Daney 		uint64_t ia:8;
146754293ec3SDavid Daney 		uint64_t d:32;
146854293ec3SDavid Daney 	} s;
146954293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn30xx;
147054293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn31xx;
147154293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn38xx;
147254293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn38xxp2;
147354293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn50xx;
147454293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn52xx;
147554293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn52xxp1;
147654293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn56xx;
147754293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn56xxp1;
147854293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn58xx;
147954293ec3SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn58xxp1;
1480aa32a955SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn63xx;
1481aa32a955SDavid Daney 	struct cvmx_mio_twsx_sw_twsi_ext_s cn63xxp1;
148254293ec3SDavid Daney };
148354293ec3SDavid Daney 
148454293ec3SDavid Daney union cvmx_mio_twsx_twsi_sw {
148554293ec3SDavid Daney 	uint64_t u64;
148654293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s {
148754293ec3SDavid Daney 		uint64_t v:2;
148854293ec3SDavid Daney 		uint64_t reserved_32_61:30;
148954293ec3SDavid Daney 		uint64_t d:32;
149054293ec3SDavid Daney 	} s;
149154293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn30xx;
149254293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn31xx;
149354293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn38xx;
149454293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn38xxp2;
149554293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn50xx;
149654293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn52xx;
149754293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn52xxp1;
149854293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn56xx;
149954293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn56xxp1;
150054293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn58xx;
150154293ec3SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn58xxp1;
1502aa32a955SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn63xx;
1503aa32a955SDavid Daney 	struct cvmx_mio_twsx_twsi_sw_s cn63xxp1;
150454293ec3SDavid Daney };
150554293ec3SDavid Daney 
150654293ec3SDavid Daney union cvmx_mio_uartx_dlh {
150754293ec3SDavid Daney 	uint64_t u64;
150854293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s {
150954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
151054293ec3SDavid Daney 		uint64_t dlh:8;
151154293ec3SDavid Daney 	} s;
151254293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn30xx;
151354293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn31xx;
151454293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn38xx;
151554293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn38xxp2;
151654293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn50xx;
151754293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn52xx;
151854293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn52xxp1;
151954293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn56xx;
152054293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn56xxp1;
152154293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn58xx;
152254293ec3SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn58xxp1;
1523aa32a955SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn63xx;
1524aa32a955SDavid Daney 	struct cvmx_mio_uartx_dlh_s cn63xxp1;
152554293ec3SDavid Daney };
152654293ec3SDavid Daney 
152754293ec3SDavid Daney union cvmx_mio_uartx_dll {
152854293ec3SDavid Daney 	uint64_t u64;
152954293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s {
153054293ec3SDavid Daney 		uint64_t reserved_8_63:56;
153154293ec3SDavid Daney 		uint64_t dll:8;
153254293ec3SDavid Daney 	} s;
153354293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn30xx;
153454293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn31xx;
153554293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn38xx;
153654293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn38xxp2;
153754293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn50xx;
153854293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn52xx;
153954293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn52xxp1;
154054293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn56xx;
154154293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn56xxp1;
154254293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn58xx;
154354293ec3SDavid Daney 	struct cvmx_mio_uartx_dll_s cn58xxp1;
1544aa32a955SDavid Daney 	struct cvmx_mio_uartx_dll_s cn63xx;
1545aa32a955SDavid Daney 	struct cvmx_mio_uartx_dll_s cn63xxp1;
154654293ec3SDavid Daney };
154754293ec3SDavid Daney 
154854293ec3SDavid Daney union cvmx_mio_uartx_far {
154954293ec3SDavid Daney 	uint64_t u64;
155054293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s {
155154293ec3SDavid Daney 		uint64_t reserved_1_63:63;
155254293ec3SDavid Daney 		uint64_t far:1;
155354293ec3SDavid Daney 	} s;
155454293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn30xx;
155554293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn31xx;
155654293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn38xx;
155754293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn38xxp2;
155854293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn50xx;
155954293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn52xx;
156054293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn52xxp1;
156154293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn56xx;
156254293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn56xxp1;
156354293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn58xx;
156454293ec3SDavid Daney 	struct cvmx_mio_uartx_far_s cn58xxp1;
1565aa32a955SDavid Daney 	struct cvmx_mio_uartx_far_s cn63xx;
1566aa32a955SDavid Daney 	struct cvmx_mio_uartx_far_s cn63xxp1;
156754293ec3SDavid Daney };
156854293ec3SDavid Daney 
156954293ec3SDavid Daney union cvmx_mio_uartx_fcr {
157054293ec3SDavid Daney 	uint64_t u64;
157154293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s {
157254293ec3SDavid Daney 		uint64_t reserved_8_63:56;
157354293ec3SDavid Daney 		uint64_t rxtrig:2;
157454293ec3SDavid Daney 		uint64_t txtrig:2;
157554293ec3SDavid Daney 		uint64_t reserved_3_3:1;
157654293ec3SDavid Daney 		uint64_t txfr:1;
157754293ec3SDavid Daney 		uint64_t rxfr:1;
157854293ec3SDavid Daney 		uint64_t en:1;
157954293ec3SDavid Daney 	} s;
158054293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn30xx;
158154293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn31xx;
158254293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn38xx;
158354293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn38xxp2;
158454293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn50xx;
158554293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn52xx;
158654293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn52xxp1;
158754293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn56xx;
158854293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn56xxp1;
158954293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn58xx;
159054293ec3SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn58xxp1;
1591aa32a955SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn63xx;
1592aa32a955SDavid Daney 	struct cvmx_mio_uartx_fcr_s cn63xxp1;
159354293ec3SDavid Daney };
159454293ec3SDavid Daney 
159554293ec3SDavid Daney union cvmx_mio_uartx_htx {
159654293ec3SDavid Daney 	uint64_t u64;
159754293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s {
159854293ec3SDavid Daney 		uint64_t reserved_1_63:63;
159954293ec3SDavid Daney 		uint64_t htx:1;
160054293ec3SDavid Daney 	} s;
160154293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn30xx;
160254293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn31xx;
160354293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn38xx;
160454293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn38xxp2;
160554293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn50xx;
160654293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn52xx;
160754293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn52xxp1;
160854293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn56xx;
160954293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn56xxp1;
161054293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn58xx;
161154293ec3SDavid Daney 	struct cvmx_mio_uartx_htx_s cn58xxp1;
1612aa32a955SDavid Daney 	struct cvmx_mio_uartx_htx_s cn63xx;
1613aa32a955SDavid Daney 	struct cvmx_mio_uartx_htx_s cn63xxp1;
161454293ec3SDavid Daney };
161554293ec3SDavid Daney 
161654293ec3SDavid Daney union cvmx_mio_uartx_ier {
161754293ec3SDavid Daney 	uint64_t u64;
161854293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s {
161954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
162054293ec3SDavid Daney 		uint64_t ptime:1;
162154293ec3SDavid Daney 		uint64_t reserved_4_6:3;
162254293ec3SDavid Daney 		uint64_t edssi:1;
162354293ec3SDavid Daney 		uint64_t elsi:1;
162454293ec3SDavid Daney 		uint64_t etbei:1;
162554293ec3SDavid Daney 		uint64_t erbfi:1;
162654293ec3SDavid Daney 	} s;
162754293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn30xx;
162854293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn31xx;
162954293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn38xx;
163054293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn38xxp2;
163154293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn50xx;
163254293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn52xx;
163354293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn52xxp1;
163454293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn56xx;
163554293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn56xxp1;
163654293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn58xx;
163754293ec3SDavid Daney 	struct cvmx_mio_uartx_ier_s cn58xxp1;
1638aa32a955SDavid Daney 	struct cvmx_mio_uartx_ier_s cn63xx;
1639aa32a955SDavid Daney 	struct cvmx_mio_uartx_ier_s cn63xxp1;
164054293ec3SDavid Daney };
164154293ec3SDavid Daney 
164254293ec3SDavid Daney union cvmx_mio_uartx_iir {
164354293ec3SDavid Daney 	uint64_t u64;
164454293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s {
164554293ec3SDavid Daney 		uint64_t reserved_8_63:56;
164654293ec3SDavid Daney 		uint64_t fen:2;
164754293ec3SDavid Daney 		uint64_t reserved_4_5:2;
164854293ec3SDavid Daney 		uint64_t iid:4;
164954293ec3SDavid Daney 	} s;
165054293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn30xx;
165154293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn31xx;
165254293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn38xx;
165354293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn38xxp2;
165454293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn50xx;
165554293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn52xx;
165654293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn52xxp1;
165754293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn56xx;
165854293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn56xxp1;
165954293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn58xx;
166054293ec3SDavid Daney 	struct cvmx_mio_uartx_iir_s cn58xxp1;
1661aa32a955SDavid Daney 	struct cvmx_mio_uartx_iir_s cn63xx;
1662aa32a955SDavid Daney 	struct cvmx_mio_uartx_iir_s cn63xxp1;
166354293ec3SDavid Daney };
166454293ec3SDavid Daney 
166554293ec3SDavid Daney union cvmx_mio_uartx_lcr {
166654293ec3SDavid Daney 	uint64_t u64;
166754293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s {
166854293ec3SDavid Daney 		uint64_t reserved_8_63:56;
166954293ec3SDavid Daney 		uint64_t dlab:1;
167054293ec3SDavid Daney 		uint64_t brk:1;
167154293ec3SDavid Daney 		uint64_t reserved_5_5:1;
167254293ec3SDavid Daney 		uint64_t eps:1;
167354293ec3SDavid Daney 		uint64_t pen:1;
167454293ec3SDavid Daney 		uint64_t stop:1;
167554293ec3SDavid Daney 		uint64_t cls:2;
167654293ec3SDavid Daney 	} s;
167754293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn30xx;
167854293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn31xx;
167954293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn38xx;
168054293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn38xxp2;
168154293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn50xx;
168254293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn52xx;
168354293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn52xxp1;
168454293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn56xx;
168554293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn56xxp1;
168654293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn58xx;
168754293ec3SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn58xxp1;
1688aa32a955SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn63xx;
1689aa32a955SDavid Daney 	struct cvmx_mio_uartx_lcr_s cn63xxp1;
169054293ec3SDavid Daney };
169154293ec3SDavid Daney 
169254293ec3SDavid Daney union cvmx_mio_uartx_lsr {
169354293ec3SDavid Daney 	uint64_t u64;
169454293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s {
169554293ec3SDavid Daney 		uint64_t reserved_8_63:56;
169654293ec3SDavid Daney 		uint64_t ferr:1;
169754293ec3SDavid Daney 		uint64_t temt:1;
169854293ec3SDavid Daney 		uint64_t thre:1;
169954293ec3SDavid Daney 		uint64_t bi:1;
170054293ec3SDavid Daney 		uint64_t fe:1;
170154293ec3SDavid Daney 		uint64_t pe:1;
170254293ec3SDavid Daney 		uint64_t oe:1;
170354293ec3SDavid Daney 		uint64_t dr:1;
170454293ec3SDavid Daney 	} s;
170554293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn30xx;
170654293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn31xx;
170754293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn38xx;
170854293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn38xxp2;
170954293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn50xx;
171054293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn52xx;
171154293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn52xxp1;
171254293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn56xx;
171354293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn56xxp1;
171454293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn58xx;
171554293ec3SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn58xxp1;
1716aa32a955SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn63xx;
1717aa32a955SDavid Daney 	struct cvmx_mio_uartx_lsr_s cn63xxp1;
171854293ec3SDavid Daney };
171954293ec3SDavid Daney 
172054293ec3SDavid Daney union cvmx_mio_uartx_mcr {
172154293ec3SDavid Daney 	uint64_t u64;
172254293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s {
172354293ec3SDavid Daney 		uint64_t reserved_6_63:58;
172454293ec3SDavid Daney 		uint64_t afce:1;
172554293ec3SDavid Daney 		uint64_t loop:1;
172654293ec3SDavid Daney 		uint64_t out2:1;
172754293ec3SDavid Daney 		uint64_t out1:1;
172854293ec3SDavid Daney 		uint64_t rts:1;
172954293ec3SDavid Daney 		uint64_t dtr:1;
173054293ec3SDavid Daney 	} s;
173154293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn30xx;
173254293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn31xx;
173354293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn38xx;
173454293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn38xxp2;
173554293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn50xx;
173654293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn52xx;
173754293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn52xxp1;
173854293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn56xx;
173954293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn56xxp1;
174054293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn58xx;
174154293ec3SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn58xxp1;
1742aa32a955SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn63xx;
1743aa32a955SDavid Daney 	struct cvmx_mio_uartx_mcr_s cn63xxp1;
174454293ec3SDavid Daney };
174554293ec3SDavid Daney 
174654293ec3SDavid Daney union cvmx_mio_uartx_msr {
174754293ec3SDavid Daney 	uint64_t u64;
174854293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s {
174954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
175054293ec3SDavid Daney 		uint64_t dcd:1;
175154293ec3SDavid Daney 		uint64_t ri:1;
175254293ec3SDavid Daney 		uint64_t dsr:1;
175354293ec3SDavid Daney 		uint64_t cts:1;
175454293ec3SDavid Daney 		uint64_t ddcd:1;
175554293ec3SDavid Daney 		uint64_t teri:1;
175654293ec3SDavid Daney 		uint64_t ddsr:1;
175754293ec3SDavid Daney 		uint64_t dcts:1;
175854293ec3SDavid Daney 	} s;
175954293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn30xx;
176054293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn31xx;
176154293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn38xx;
176254293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn38xxp2;
176354293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn50xx;
176454293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn52xx;
176554293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn52xxp1;
176654293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn56xx;
176754293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn56xxp1;
176854293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn58xx;
176954293ec3SDavid Daney 	struct cvmx_mio_uartx_msr_s cn58xxp1;
1770aa32a955SDavid Daney 	struct cvmx_mio_uartx_msr_s cn63xx;
1771aa32a955SDavid Daney 	struct cvmx_mio_uartx_msr_s cn63xxp1;
177254293ec3SDavid Daney };
177354293ec3SDavid Daney 
177454293ec3SDavid Daney union cvmx_mio_uartx_rbr {
177554293ec3SDavid Daney 	uint64_t u64;
177654293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s {
177754293ec3SDavid Daney 		uint64_t reserved_8_63:56;
177854293ec3SDavid Daney 		uint64_t rbr:8;
177954293ec3SDavid Daney 	} s;
178054293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn30xx;
178154293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn31xx;
178254293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn38xx;
178354293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn38xxp2;
178454293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn50xx;
178554293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn52xx;
178654293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn52xxp1;
178754293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn56xx;
178854293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn56xxp1;
178954293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn58xx;
179054293ec3SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn58xxp1;
1791aa32a955SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn63xx;
1792aa32a955SDavid Daney 	struct cvmx_mio_uartx_rbr_s cn63xxp1;
179354293ec3SDavid Daney };
179454293ec3SDavid Daney 
179554293ec3SDavid Daney union cvmx_mio_uartx_rfl {
179654293ec3SDavid Daney 	uint64_t u64;
179754293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s {
179854293ec3SDavid Daney 		uint64_t reserved_7_63:57;
179954293ec3SDavid Daney 		uint64_t rfl:7;
180054293ec3SDavid Daney 	} s;
180154293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn30xx;
180254293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn31xx;
180354293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn38xx;
180454293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn38xxp2;
180554293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn50xx;
180654293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn52xx;
180754293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn52xxp1;
180854293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn56xx;
180954293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn56xxp1;
181054293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn58xx;
181154293ec3SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn58xxp1;
1812aa32a955SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn63xx;
1813aa32a955SDavid Daney 	struct cvmx_mio_uartx_rfl_s cn63xxp1;
181454293ec3SDavid Daney };
181554293ec3SDavid Daney 
181654293ec3SDavid Daney union cvmx_mio_uartx_rfw {
181754293ec3SDavid Daney 	uint64_t u64;
181854293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s {
181954293ec3SDavid Daney 		uint64_t reserved_10_63:54;
182054293ec3SDavid Daney 		uint64_t rffe:1;
182154293ec3SDavid Daney 		uint64_t rfpe:1;
182254293ec3SDavid Daney 		uint64_t rfwd:8;
182354293ec3SDavid Daney 	} s;
182454293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn30xx;
182554293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn31xx;
182654293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn38xx;
182754293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn38xxp2;
182854293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn50xx;
182954293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn52xx;
183054293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn52xxp1;
183154293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn56xx;
183254293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn56xxp1;
183354293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn58xx;
183454293ec3SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn58xxp1;
1835aa32a955SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn63xx;
1836aa32a955SDavid Daney 	struct cvmx_mio_uartx_rfw_s cn63xxp1;
183754293ec3SDavid Daney };
183854293ec3SDavid Daney 
183954293ec3SDavid Daney union cvmx_mio_uartx_sbcr {
184054293ec3SDavid Daney 	uint64_t u64;
184154293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s {
184254293ec3SDavid Daney 		uint64_t reserved_1_63:63;
184354293ec3SDavid Daney 		uint64_t sbcr:1;
184454293ec3SDavid Daney 	} s;
184554293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn30xx;
184654293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn31xx;
184754293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn38xx;
184854293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn38xxp2;
184954293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn50xx;
185054293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn52xx;
185154293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn52xxp1;
185254293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn56xx;
185354293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn56xxp1;
185454293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn58xx;
185554293ec3SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn58xxp1;
1856aa32a955SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn63xx;
1857aa32a955SDavid Daney 	struct cvmx_mio_uartx_sbcr_s cn63xxp1;
185854293ec3SDavid Daney };
185954293ec3SDavid Daney 
186054293ec3SDavid Daney union cvmx_mio_uartx_scr {
186154293ec3SDavid Daney 	uint64_t u64;
186254293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s {
186354293ec3SDavid Daney 		uint64_t reserved_8_63:56;
186454293ec3SDavid Daney 		uint64_t scr:8;
186554293ec3SDavid Daney 	} s;
186654293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn30xx;
186754293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn31xx;
186854293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn38xx;
186954293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn38xxp2;
187054293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn50xx;
187154293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn52xx;
187254293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn52xxp1;
187354293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn56xx;
187454293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn56xxp1;
187554293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn58xx;
187654293ec3SDavid Daney 	struct cvmx_mio_uartx_scr_s cn58xxp1;
1877aa32a955SDavid Daney 	struct cvmx_mio_uartx_scr_s cn63xx;
1878aa32a955SDavid Daney 	struct cvmx_mio_uartx_scr_s cn63xxp1;
187954293ec3SDavid Daney };
188054293ec3SDavid Daney 
188154293ec3SDavid Daney union cvmx_mio_uartx_sfe {
188254293ec3SDavid Daney 	uint64_t u64;
188354293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s {
188454293ec3SDavid Daney 		uint64_t reserved_1_63:63;
188554293ec3SDavid Daney 		uint64_t sfe:1;
188654293ec3SDavid Daney 	} s;
188754293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn30xx;
188854293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn31xx;
188954293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn38xx;
189054293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn38xxp2;
189154293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn50xx;
189254293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn52xx;
189354293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn52xxp1;
189454293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn56xx;
189554293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn56xxp1;
189654293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn58xx;
189754293ec3SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn58xxp1;
1898aa32a955SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn63xx;
1899aa32a955SDavid Daney 	struct cvmx_mio_uartx_sfe_s cn63xxp1;
190054293ec3SDavid Daney };
190154293ec3SDavid Daney 
190254293ec3SDavid Daney union cvmx_mio_uartx_srr {
190354293ec3SDavid Daney 	uint64_t u64;
190454293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s {
190554293ec3SDavid Daney 		uint64_t reserved_3_63:61;
190654293ec3SDavid Daney 		uint64_t stfr:1;
190754293ec3SDavid Daney 		uint64_t srfr:1;
190854293ec3SDavid Daney 		uint64_t usr:1;
190954293ec3SDavid Daney 	} s;
191054293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn30xx;
191154293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn31xx;
191254293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn38xx;
191354293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn38xxp2;
191454293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn50xx;
191554293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn52xx;
191654293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn52xxp1;
191754293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn56xx;
191854293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn56xxp1;
191954293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn58xx;
192054293ec3SDavid Daney 	struct cvmx_mio_uartx_srr_s cn58xxp1;
1921aa32a955SDavid Daney 	struct cvmx_mio_uartx_srr_s cn63xx;
1922aa32a955SDavid Daney 	struct cvmx_mio_uartx_srr_s cn63xxp1;
192354293ec3SDavid Daney };
192454293ec3SDavid Daney 
192554293ec3SDavid Daney union cvmx_mio_uartx_srt {
192654293ec3SDavid Daney 	uint64_t u64;
192754293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s {
192854293ec3SDavid Daney 		uint64_t reserved_2_63:62;
192954293ec3SDavid Daney 		uint64_t srt:2;
193054293ec3SDavid Daney 	} s;
193154293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn30xx;
193254293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn31xx;
193354293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn38xx;
193454293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn38xxp2;
193554293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn50xx;
193654293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn52xx;
193754293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn52xxp1;
193854293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn56xx;
193954293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn56xxp1;
194054293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn58xx;
194154293ec3SDavid Daney 	struct cvmx_mio_uartx_srt_s cn58xxp1;
1942aa32a955SDavid Daney 	struct cvmx_mio_uartx_srt_s cn63xx;
1943aa32a955SDavid Daney 	struct cvmx_mio_uartx_srt_s cn63xxp1;
194454293ec3SDavid Daney };
194554293ec3SDavid Daney 
194654293ec3SDavid Daney union cvmx_mio_uartx_srts {
194754293ec3SDavid Daney 	uint64_t u64;
194854293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s {
194954293ec3SDavid Daney 		uint64_t reserved_1_63:63;
195054293ec3SDavid Daney 		uint64_t srts:1;
195154293ec3SDavid Daney 	} s;
195254293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn30xx;
195354293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn31xx;
195454293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn38xx;
195554293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn38xxp2;
195654293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn50xx;
195754293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn52xx;
195854293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn52xxp1;
195954293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn56xx;
196054293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn56xxp1;
196154293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn58xx;
196254293ec3SDavid Daney 	struct cvmx_mio_uartx_srts_s cn58xxp1;
1963aa32a955SDavid Daney 	struct cvmx_mio_uartx_srts_s cn63xx;
1964aa32a955SDavid Daney 	struct cvmx_mio_uartx_srts_s cn63xxp1;
196554293ec3SDavid Daney };
196654293ec3SDavid Daney 
196754293ec3SDavid Daney union cvmx_mio_uartx_stt {
196854293ec3SDavid Daney 	uint64_t u64;
196954293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s {
197054293ec3SDavid Daney 		uint64_t reserved_2_63:62;
197154293ec3SDavid Daney 		uint64_t stt:2;
197254293ec3SDavid Daney 	} s;
197354293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn30xx;
197454293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn31xx;
197554293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn38xx;
197654293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn38xxp2;
197754293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn50xx;
197854293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn52xx;
197954293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn52xxp1;
198054293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn56xx;
198154293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn56xxp1;
198254293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn58xx;
198354293ec3SDavid Daney 	struct cvmx_mio_uartx_stt_s cn58xxp1;
1984aa32a955SDavid Daney 	struct cvmx_mio_uartx_stt_s cn63xx;
1985aa32a955SDavid Daney 	struct cvmx_mio_uartx_stt_s cn63xxp1;
198654293ec3SDavid Daney };
198754293ec3SDavid Daney 
198854293ec3SDavid Daney union cvmx_mio_uartx_tfl {
198954293ec3SDavid Daney 	uint64_t u64;
199054293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s {
199154293ec3SDavid Daney 		uint64_t reserved_7_63:57;
199254293ec3SDavid Daney 		uint64_t tfl:7;
199354293ec3SDavid Daney 	} s;
199454293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn30xx;
199554293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn31xx;
199654293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn38xx;
199754293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn38xxp2;
199854293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn50xx;
199954293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn52xx;
200054293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn52xxp1;
200154293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn56xx;
200254293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn56xxp1;
200354293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn58xx;
200454293ec3SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn58xxp1;
2005aa32a955SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn63xx;
2006aa32a955SDavid Daney 	struct cvmx_mio_uartx_tfl_s cn63xxp1;
200754293ec3SDavid Daney };
200854293ec3SDavid Daney 
200954293ec3SDavid Daney union cvmx_mio_uartx_tfr {
201054293ec3SDavid Daney 	uint64_t u64;
201154293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s {
201254293ec3SDavid Daney 		uint64_t reserved_8_63:56;
201354293ec3SDavid Daney 		uint64_t tfr:8;
201454293ec3SDavid Daney 	} s;
201554293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn30xx;
201654293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn31xx;
201754293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn38xx;
201854293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn38xxp2;
201954293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn50xx;
202054293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn52xx;
202154293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn52xxp1;
202254293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn56xx;
202354293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn56xxp1;
202454293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn58xx;
202554293ec3SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn58xxp1;
2026aa32a955SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn63xx;
2027aa32a955SDavid Daney 	struct cvmx_mio_uartx_tfr_s cn63xxp1;
202854293ec3SDavid Daney };
202954293ec3SDavid Daney 
203054293ec3SDavid Daney union cvmx_mio_uartx_thr {
203154293ec3SDavid Daney 	uint64_t u64;
203254293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s {
203354293ec3SDavid Daney 		uint64_t reserved_8_63:56;
203454293ec3SDavid Daney 		uint64_t thr:8;
203554293ec3SDavid Daney 	} s;
203654293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn30xx;
203754293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn31xx;
203854293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn38xx;
203954293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn38xxp2;
204054293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn50xx;
204154293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn52xx;
204254293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn52xxp1;
204354293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn56xx;
204454293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn56xxp1;
204554293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn58xx;
204654293ec3SDavid Daney 	struct cvmx_mio_uartx_thr_s cn58xxp1;
2047aa32a955SDavid Daney 	struct cvmx_mio_uartx_thr_s cn63xx;
2048aa32a955SDavid Daney 	struct cvmx_mio_uartx_thr_s cn63xxp1;
204954293ec3SDavid Daney };
205054293ec3SDavid Daney 
205154293ec3SDavid Daney union cvmx_mio_uartx_usr {
205254293ec3SDavid Daney 	uint64_t u64;
205354293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s {
205454293ec3SDavid Daney 		uint64_t reserved_5_63:59;
205554293ec3SDavid Daney 		uint64_t rff:1;
205654293ec3SDavid Daney 		uint64_t rfne:1;
205754293ec3SDavid Daney 		uint64_t tfe:1;
205854293ec3SDavid Daney 		uint64_t tfnf:1;
205954293ec3SDavid Daney 		uint64_t busy:1;
206054293ec3SDavid Daney 	} s;
206154293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn30xx;
206254293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn31xx;
206354293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn38xx;
206454293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn38xxp2;
206554293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn50xx;
206654293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn52xx;
206754293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn52xxp1;
206854293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn56xx;
206954293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn56xxp1;
207054293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn58xx;
207154293ec3SDavid Daney 	struct cvmx_mio_uartx_usr_s cn58xxp1;
2072aa32a955SDavid Daney 	struct cvmx_mio_uartx_usr_s cn63xx;
2073aa32a955SDavid Daney 	struct cvmx_mio_uartx_usr_s cn63xxp1;
207454293ec3SDavid Daney };
207554293ec3SDavid Daney 
207654293ec3SDavid Daney union cvmx_mio_uart2_dlh {
207754293ec3SDavid Daney 	uint64_t u64;
207854293ec3SDavid Daney 	struct cvmx_mio_uart2_dlh_s {
207954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
208054293ec3SDavid Daney 		uint64_t dlh:8;
208154293ec3SDavid Daney 	} s;
208254293ec3SDavid Daney 	struct cvmx_mio_uart2_dlh_s cn52xx;
208354293ec3SDavid Daney 	struct cvmx_mio_uart2_dlh_s cn52xxp1;
208454293ec3SDavid Daney };
208554293ec3SDavid Daney 
208654293ec3SDavid Daney union cvmx_mio_uart2_dll {
208754293ec3SDavid Daney 	uint64_t u64;
208854293ec3SDavid Daney 	struct cvmx_mio_uart2_dll_s {
208954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
209054293ec3SDavid Daney 		uint64_t dll:8;
209154293ec3SDavid Daney 	} s;
209254293ec3SDavid Daney 	struct cvmx_mio_uart2_dll_s cn52xx;
209354293ec3SDavid Daney 	struct cvmx_mio_uart2_dll_s cn52xxp1;
209454293ec3SDavid Daney };
209554293ec3SDavid Daney 
209654293ec3SDavid Daney union cvmx_mio_uart2_far {
209754293ec3SDavid Daney 	uint64_t u64;
209854293ec3SDavid Daney 	struct cvmx_mio_uart2_far_s {
209954293ec3SDavid Daney 		uint64_t reserved_1_63:63;
210054293ec3SDavid Daney 		uint64_t far:1;
210154293ec3SDavid Daney 	} s;
210254293ec3SDavid Daney 	struct cvmx_mio_uart2_far_s cn52xx;
210354293ec3SDavid Daney 	struct cvmx_mio_uart2_far_s cn52xxp1;
210454293ec3SDavid Daney };
210554293ec3SDavid Daney 
210654293ec3SDavid Daney union cvmx_mio_uart2_fcr {
210754293ec3SDavid Daney 	uint64_t u64;
210854293ec3SDavid Daney 	struct cvmx_mio_uart2_fcr_s {
210954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
211054293ec3SDavid Daney 		uint64_t rxtrig:2;
211154293ec3SDavid Daney 		uint64_t txtrig:2;
211254293ec3SDavid Daney 		uint64_t reserved_3_3:1;
211354293ec3SDavid Daney 		uint64_t txfr:1;
211454293ec3SDavid Daney 		uint64_t rxfr:1;
211554293ec3SDavid Daney 		uint64_t en:1;
211654293ec3SDavid Daney 	} s;
211754293ec3SDavid Daney 	struct cvmx_mio_uart2_fcr_s cn52xx;
211854293ec3SDavid Daney 	struct cvmx_mio_uart2_fcr_s cn52xxp1;
211954293ec3SDavid Daney };
212054293ec3SDavid Daney 
212154293ec3SDavid Daney union cvmx_mio_uart2_htx {
212254293ec3SDavid Daney 	uint64_t u64;
212354293ec3SDavid Daney 	struct cvmx_mio_uart2_htx_s {
212454293ec3SDavid Daney 		uint64_t reserved_1_63:63;
212554293ec3SDavid Daney 		uint64_t htx:1;
212654293ec3SDavid Daney 	} s;
212754293ec3SDavid Daney 	struct cvmx_mio_uart2_htx_s cn52xx;
212854293ec3SDavid Daney 	struct cvmx_mio_uart2_htx_s cn52xxp1;
212954293ec3SDavid Daney };
213054293ec3SDavid Daney 
213154293ec3SDavid Daney union cvmx_mio_uart2_ier {
213254293ec3SDavid Daney 	uint64_t u64;
213354293ec3SDavid Daney 	struct cvmx_mio_uart2_ier_s {
213454293ec3SDavid Daney 		uint64_t reserved_8_63:56;
213554293ec3SDavid Daney 		uint64_t ptime:1;
213654293ec3SDavid Daney 		uint64_t reserved_4_6:3;
213754293ec3SDavid Daney 		uint64_t edssi:1;
213854293ec3SDavid Daney 		uint64_t elsi:1;
213954293ec3SDavid Daney 		uint64_t etbei:1;
214054293ec3SDavid Daney 		uint64_t erbfi:1;
214154293ec3SDavid Daney 	} s;
214254293ec3SDavid Daney 	struct cvmx_mio_uart2_ier_s cn52xx;
214354293ec3SDavid Daney 	struct cvmx_mio_uart2_ier_s cn52xxp1;
214454293ec3SDavid Daney };
214554293ec3SDavid Daney 
214654293ec3SDavid Daney union cvmx_mio_uart2_iir {
214754293ec3SDavid Daney 	uint64_t u64;
214854293ec3SDavid Daney 	struct cvmx_mio_uart2_iir_s {
214954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
215054293ec3SDavid Daney 		uint64_t fen:2;
215154293ec3SDavid Daney 		uint64_t reserved_4_5:2;
215254293ec3SDavid Daney 		uint64_t iid:4;
215354293ec3SDavid Daney 	} s;
215454293ec3SDavid Daney 	struct cvmx_mio_uart2_iir_s cn52xx;
215554293ec3SDavid Daney 	struct cvmx_mio_uart2_iir_s cn52xxp1;
215654293ec3SDavid Daney };
215754293ec3SDavid Daney 
215854293ec3SDavid Daney union cvmx_mio_uart2_lcr {
215954293ec3SDavid Daney 	uint64_t u64;
216054293ec3SDavid Daney 	struct cvmx_mio_uart2_lcr_s {
216154293ec3SDavid Daney 		uint64_t reserved_8_63:56;
216254293ec3SDavid Daney 		uint64_t dlab:1;
216354293ec3SDavid Daney 		uint64_t brk:1;
216454293ec3SDavid Daney 		uint64_t reserved_5_5:1;
216554293ec3SDavid Daney 		uint64_t eps:1;
216654293ec3SDavid Daney 		uint64_t pen:1;
216754293ec3SDavid Daney 		uint64_t stop:1;
216854293ec3SDavid Daney 		uint64_t cls:2;
216954293ec3SDavid Daney 	} s;
217054293ec3SDavid Daney 	struct cvmx_mio_uart2_lcr_s cn52xx;
217154293ec3SDavid Daney 	struct cvmx_mio_uart2_lcr_s cn52xxp1;
217254293ec3SDavid Daney };
217354293ec3SDavid Daney 
217454293ec3SDavid Daney union cvmx_mio_uart2_lsr {
217554293ec3SDavid Daney 	uint64_t u64;
217654293ec3SDavid Daney 	struct cvmx_mio_uart2_lsr_s {
217754293ec3SDavid Daney 		uint64_t reserved_8_63:56;
217854293ec3SDavid Daney 		uint64_t ferr:1;
217954293ec3SDavid Daney 		uint64_t temt:1;
218054293ec3SDavid Daney 		uint64_t thre:1;
218154293ec3SDavid Daney 		uint64_t bi:1;
218254293ec3SDavid Daney 		uint64_t fe:1;
218354293ec3SDavid Daney 		uint64_t pe:1;
218454293ec3SDavid Daney 		uint64_t oe:1;
218554293ec3SDavid Daney 		uint64_t dr:1;
218654293ec3SDavid Daney 	} s;
218754293ec3SDavid Daney 	struct cvmx_mio_uart2_lsr_s cn52xx;
218854293ec3SDavid Daney 	struct cvmx_mio_uart2_lsr_s cn52xxp1;
218954293ec3SDavid Daney };
219054293ec3SDavid Daney 
219154293ec3SDavid Daney union cvmx_mio_uart2_mcr {
219254293ec3SDavid Daney 	uint64_t u64;
219354293ec3SDavid Daney 	struct cvmx_mio_uart2_mcr_s {
219454293ec3SDavid Daney 		uint64_t reserved_6_63:58;
219554293ec3SDavid Daney 		uint64_t afce:1;
219654293ec3SDavid Daney 		uint64_t loop:1;
219754293ec3SDavid Daney 		uint64_t out2:1;
219854293ec3SDavid Daney 		uint64_t out1:1;
219954293ec3SDavid Daney 		uint64_t rts:1;
220054293ec3SDavid Daney 		uint64_t dtr:1;
220154293ec3SDavid Daney 	} s;
220254293ec3SDavid Daney 	struct cvmx_mio_uart2_mcr_s cn52xx;
220354293ec3SDavid Daney 	struct cvmx_mio_uart2_mcr_s cn52xxp1;
220454293ec3SDavid Daney };
220554293ec3SDavid Daney 
220654293ec3SDavid Daney union cvmx_mio_uart2_msr {
220754293ec3SDavid Daney 	uint64_t u64;
220854293ec3SDavid Daney 	struct cvmx_mio_uart2_msr_s {
220954293ec3SDavid Daney 		uint64_t reserved_8_63:56;
221054293ec3SDavid Daney 		uint64_t dcd:1;
221154293ec3SDavid Daney 		uint64_t ri:1;
221254293ec3SDavid Daney 		uint64_t dsr:1;
221354293ec3SDavid Daney 		uint64_t cts:1;
221454293ec3SDavid Daney 		uint64_t ddcd:1;
221554293ec3SDavid Daney 		uint64_t teri:1;
221654293ec3SDavid Daney 		uint64_t ddsr:1;
221754293ec3SDavid Daney 		uint64_t dcts:1;
221854293ec3SDavid Daney 	} s;
221954293ec3SDavid Daney 	struct cvmx_mio_uart2_msr_s cn52xx;
222054293ec3SDavid Daney 	struct cvmx_mio_uart2_msr_s cn52xxp1;
222154293ec3SDavid Daney };
222254293ec3SDavid Daney 
222354293ec3SDavid Daney union cvmx_mio_uart2_rbr {
222454293ec3SDavid Daney 	uint64_t u64;
222554293ec3SDavid Daney 	struct cvmx_mio_uart2_rbr_s {
222654293ec3SDavid Daney 		uint64_t reserved_8_63:56;
222754293ec3SDavid Daney 		uint64_t rbr:8;
222854293ec3SDavid Daney 	} s;
222954293ec3SDavid Daney 	struct cvmx_mio_uart2_rbr_s cn52xx;
223054293ec3SDavid Daney 	struct cvmx_mio_uart2_rbr_s cn52xxp1;
223154293ec3SDavid Daney };
223254293ec3SDavid Daney 
223354293ec3SDavid Daney union cvmx_mio_uart2_rfl {
223454293ec3SDavid Daney 	uint64_t u64;
223554293ec3SDavid Daney 	struct cvmx_mio_uart2_rfl_s {
223654293ec3SDavid Daney 		uint64_t reserved_7_63:57;
223754293ec3SDavid Daney 		uint64_t rfl:7;
223854293ec3SDavid Daney 	} s;
223954293ec3SDavid Daney 	struct cvmx_mio_uart2_rfl_s cn52xx;
224054293ec3SDavid Daney 	struct cvmx_mio_uart2_rfl_s cn52xxp1;
224154293ec3SDavid Daney };
224254293ec3SDavid Daney 
224354293ec3SDavid Daney union cvmx_mio_uart2_rfw {
224454293ec3SDavid Daney 	uint64_t u64;
224554293ec3SDavid Daney 	struct cvmx_mio_uart2_rfw_s {
224654293ec3SDavid Daney 		uint64_t reserved_10_63:54;
224754293ec3SDavid Daney 		uint64_t rffe:1;
224854293ec3SDavid Daney 		uint64_t rfpe:1;
224954293ec3SDavid Daney 		uint64_t rfwd:8;
225054293ec3SDavid Daney 	} s;
225154293ec3SDavid Daney 	struct cvmx_mio_uart2_rfw_s cn52xx;
225254293ec3SDavid Daney 	struct cvmx_mio_uart2_rfw_s cn52xxp1;
225354293ec3SDavid Daney };
225454293ec3SDavid Daney 
225554293ec3SDavid Daney union cvmx_mio_uart2_sbcr {
225654293ec3SDavid Daney 	uint64_t u64;
225754293ec3SDavid Daney 	struct cvmx_mio_uart2_sbcr_s {
225854293ec3SDavid Daney 		uint64_t reserved_1_63:63;
225954293ec3SDavid Daney 		uint64_t sbcr:1;
226054293ec3SDavid Daney 	} s;
226154293ec3SDavid Daney 	struct cvmx_mio_uart2_sbcr_s cn52xx;
226254293ec3SDavid Daney 	struct cvmx_mio_uart2_sbcr_s cn52xxp1;
226354293ec3SDavid Daney };
226454293ec3SDavid Daney 
226554293ec3SDavid Daney union cvmx_mio_uart2_scr {
226654293ec3SDavid Daney 	uint64_t u64;
226754293ec3SDavid Daney 	struct cvmx_mio_uart2_scr_s {
226854293ec3SDavid Daney 		uint64_t reserved_8_63:56;
226954293ec3SDavid Daney 		uint64_t scr:8;
227054293ec3SDavid Daney 	} s;
227154293ec3SDavid Daney 	struct cvmx_mio_uart2_scr_s cn52xx;
227254293ec3SDavid Daney 	struct cvmx_mio_uart2_scr_s cn52xxp1;
227354293ec3SDavid Daney };
227454293ec3SDavid Daney 
227554293ec3SDavid Daney union cvmx_mio_uart2_sfe {
227654293ec3SDavid Daney 	uint64_t u64;
227754293ec3SDavid Daney 	struct cvmx_mio_uart2_sfe_s {
227854293ec3SDavid Daney 		uint64_t reserved_1_63:63;
227954293ec3SDavid Daney 		uint64_t sfe:1;
228054293ec3SDavid Daney 	} s;
228154293ec3SDavid Daney 	struct cvmx_mio_uart2_sfe_s cn52xx;
228254293ec3SDavid Daney 	struct cvmx_mio_uart2_sfe_s cn52xxp1;
228354293ec3SDavid Daney };
228454293ec3SDavid Daney 
228554293ec3SDavid Daney union cvmx_mio_uart2_srr {
228654293ec3SDavid Daney 	uint64_t u64;
228754293ec3SDavid Daney 	struct cvmx_mio_uart2_srr_s {
228854293ec3SDavid Daney 		uint64_t reserved_3_63:61;
228954293ec3SDavid Daney 		uint64_t stfr:1;
229054293ec3SDavid Daney 		uint64_t srfr:1;
229154293ec3SDavid Daney 		uint64_t usr:1;
229254293ec3SDavid Daney 	} s;
229354293ec3SDavid Daney 	struct cvmx_mio_uart2_srr_s cn52xx;
229454293ec3SDavid Daney 	struct cvmx_mio_uart2_srr_s cn52xxp1;
229554293ec3SDavid Daney };
229654293ec3SDavid Daney 
229754293ec3SDavid Daney union cvmx_mio_uart2_srt {
229854293ec3SDavid Daney 	uint64_t u64;
229954293ec3SDavid Daney 	struct cvmx_mio_uart2_srt_s {
230054293ec3SDavid Daney 		uint64_t reserved_2_63:62;
230154293ec3SDavid Daney 		uint64_t srt:2;
230254293ec3SDavid Daney 	} s;
230354293ec3SDavid Daney 	struct cvmx_mio_uart2_srt_s cn52xx;
230454293ec3SDavid Daney 	struct cvmx_mio_uart2_srt_s cn52xxp1;
230554293ec3SDavid Daney };
230654293ec3SDavid Daney 
230754293ec3SDavid Daney union cvmx_mio_uart2_srts {
230854293ec3SDavid Daney 	uint64_t u64;
230954293ec3SDavid Daney 	struct cvmx_mio_uart2_srts_s {
231054293ec3SDavid Daney 		uint64_t reserved_1_63:63;
231154293ec3SDavid Daney 		uint64_t srts:1;
231254293ec3SDavid Daney 	} s;
231354293ec3SDavid Daney 	struct cvmx_mio_uart2_srts_s cn52xx;
231454293ec3SDavid Daney 	struct cvmx_mio_uart2_srts_s cn52xxp1;
231554293ec3SDavid Daney };
231654293ec3SDavid Daney 
231754293ec3SDavid Daney union cvmx_mio_uart2_stt {
231854293ec3SDavid Daney 	uint64_t u64;
231954293ec3SDavid Daney 	struct cvmx_mio_uart2_stt_s {
232054293ec3SDavid Daney 		uint64_t reserved_2_63:62;
232154293ec3SDavid Daney 		uint64_t stt:2;
232254293ec3SDavid Daney 	} s;
232354293ec3SDavid Daney 	struct cvmx_mio_uart2_stt_s cn52xx;
232454293ec3SDavid Daney 	struct cvmx_mio_uart2_stt_s cn52xxp1;
232554293ec3SDavid Daney };
232654293ec3SDavid Daney 
232754293ec3SDavid Daney union cvmx_mio_uart2_tfl {
232854293ec3SDavid Daney 	uint64_t u64;
232954293ec3SDavid Daney 	struct cvmx_mio_uart2_tfl_s {
233054293ec3SDavid Daney 		uint64_t reserved_7_63:57;
233154293ec3SDavid Daney 		uint64_t tfl:7;
233254293ec3SDavid Daney 	} s;
233354293ec3SDavid Daney 	struct cvmx_mio_uart2_tfl_s cn52xx;
233454293ec3SDavid Daney 	struct cvmx_mio_uart2_tfl_s cn52xxp1;
233554293ec3SDavid Daney };
233654293ec3SDavid Daney 
233754293ec3SDavid Daney union cvmx_mio_uart2_tfr {
233854293ec3SDavid Daney 	uint64_t u64;
233954293ec3SDavid Daney 	struct cvmx_mio_uart2_tfr_s {
234054293ec3SDavid Daney 		uint64_t reserved_8_63:56;
234154293ec3SDavid Daney 		uint64_t tfr:8;
234254293ec3SDavid Daney 	} s;
234354293ec3SDavid Daney 	struct cvmx_mio_uart2_tfr_s cn52xx;
234454293ec3SDavid Daney 	struct cvmx_mio_uart2_tfr_s cn52xxp1;
234554293ec3SDavid Daney };
234654293ec3SDavid Daney 
234754293ec3SDavid Daney union cvmx_mio_uart2_thr {
234854293ec3SDavid Daney 	uint64_t u64;
234954293ec3SDavid Daney 	struct cvmx_mio_uart2_thr_s {
235054293ec3SDavid Daney 		uint64_t reserved_8_63:56;
235154293ec3SDavid Daney 		uint64_t thr:8;
235254293ec3SDavid Daney 	} s;
235354293ec3SDavid Daney 	struct cvmx_mio_uart2_thr_s cn52xx;
235454293ec3SDavid Daney 	struct cvmx_mio_uart2_thr_s cn52xxp1;
235554293ec3SDavid Daney };
235654293ec3SDavid Daney 
235754293ec3SDavid Daney union cvmx_mio_uart2_usr {
235854293ec3SDavid Daney 	uint64_t u64;
235954293ec3SDavid Daney 	struct cvmx_mio_uart2_usr_s {
236054293ec3SDavid Daney 		uint64_t reserved_5_63:59;
236154293ec3SDavid Daney 		uint64_t rff:1;
236254293ec3SDavid Daney 		uint64_t rfne:1;
236354293ec3SDavid Daney 		uint64_t tfe:1;
236454293ec3SDavid Daney 		uint64_t tfnf:1;
236554293ec3SDavid Daney 		uint64_t busy:1;
236654293ec3SDavid Daney 	} s;
236754293ec3SDavid Daney 	struct cvmx_mio_uart2_usr_s cn52xx;
236854293ec3SDavid Daney 	struct cvmx_mio_uart2_usr_s cn52xxp1;
236954293ec3SDavid Daney };
237054293ec3SDavid Daney 
237154293ec3SDavid Daney #endif
2372