]> git.sur5r.net Git - u-boot/blob - arch/arm/include/asm/arch-mx7/imx-regs.h
Merge remote-tracking branch 'u-boot/master'
[u-boot] / arch / arm / include / asm / arch-mx7 / imx-regs.h
1 /*
2  * Copyright (C) 2015 Freescale Semiconductor, Inc. All Rights Reserved.
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #ifndef __ASM_ARCH_MX7_IMX_REGS_H__
8 #define __ASM_ARCH_MX7_IMX_REGS_H__
9
10 #define ARCH_MXC
11
12 #define CONFIG_SYS_CACHELINE_SIZE       64
13
14 #define ROM_SW_INFO_ADDR                0x000001E8
15 #define ROMCP_ARB_BASE_ADDR             0x00000000
16 #define ROMCP_ARB_END_ADDR              0x00017FFF
17 #define BOOT_ROM_BASE_ADDR              ROMCP_ARB_BASE_ADDR
18 #define CAAM_ARB_BASE_ADDR              0x00100000
19 #define CAAM_ARB_END_ADDR               0x00107FFF
20 #define GIC400_ARB_BASE_ADDR            0x31000000
21 #define GIC400_ARB_END_ADDR             0x31007FFF
22 #define APBH_DMA_ARB_BASE_ADDR          0x33000000
23 #define APBH_DMA_ARB_END_ADDR           0x33007FFF
24 #define M4_BOOTROM_BASE_ADDR            0x00180000
25
26 #define MXS_APBH_BASE                   APBH_DMA_ARB_BASE_ADDR
27 #define MXS_GPMI_BASE                   (APBH_DMA_ARB_BASE_ADDR + 0x02000)
28 #define MXS_BCH_BASE                    (APBH_DMA_ARB_BASE_ADDR + 0x04000)
29
30 /* GPV - PL301 configuration ports */
31 #define GPV0_BASE_ADDR                  0x32000000
32 #define GPV1_BASE_ADDR                  0x32100000
33 #define GPV2_BASE_ADDR                  0x32200000
34 #define GPV3_BASE_ADDR                  0x32300000
35 #define GPV4_BASE_ADDR                  0x32400000
36 #define GPV5_BASE_ADDR                  0x32500000
37 #define GPV6_BASE_ADDR                  0x32600000
38 #define GPV7_BASE_ADDR                  0x32700000
39
40 #define OCRAM_ARB_BASE_ADDR             0x00900000
41 #define OCRAM_ARB_END_ADDR              0x0091FFFF
42 #define OCRAM_EPDC_BASE_ADDR            0x00920000
43 #define OCRAM_EPDC_END_ADDR             0x0093FFFF
44 #define OCRAM_PXP_BASE_ADDR             0x00940000
45 #define OCRAM_PXP_END_ADDR              0x00947FFF
46 #define IRAM_BASE_ADDR                  OCRAM_ARB_BASE_ADDR
47 #define IRAM_SIZE                       0x00020000
48
49 #define AIPS1_ARB_BASE_ADDR             0x30000000
50 #define AIPS1_ARB_END_ADDR              0x303FFFFF
51 #define AIPS2_ARB_BASE_ADDR             0x30400000
52 #define AIPS2_ARB_END_ADDR              0x307FFFFF
53 #define AIPS3_ARB_BASE_ADDR             0x30800000
54 #define AIPS3_ARB_END_ADDR              0x30BFFFFF
55
56 #define WEIM_ARB_BASE_ADDR              0x28000000
57 #define WEIM_ARB_END_ADDR               0x2FFFFFFF
58
59 #define QSPI0_ARB_BASE_ADDR             0x60000000
60 #define QSPI0_ARB_END_ADDR              0x6FFFFFFF
61 #define PCIE_ARB_BASE_ADDR              0x40000000
62 #define PCIE_ARB_END_ADDR               0x4FFFFFFF
63 #define PCIE_REG_BASE_ADDR              0x33800000
64 #define PCIE_REG_END_ADDR               0x33803FFF
65
66 #define MMDC0_ARB_BASE_ADDR             0x80000000
67 #define MMDC0_ARB_END_ADDR              0xBFFFFFFF
68 #define MMDC1_ARB_BASE_ADDR             0xC0000000
69 #define MMDC1_ARB_END_ADDR              0xFFFFFFFF
70
71 /* Cortex-A9 MPCore private memory region */
72 #define ARM_PERIPHBASE                  0x31000000
73 #define SCU_BASE_ADDR                   ARM_PERIPHBASE
74 #define GLOBAL_TIMER_BASE_ADDR          (ARM_PERIPHBASE + 0x0200)
75 #define PRIVATE_TIMERS_WD_BASE_ADDR     (ARM_PERIPHBASE + 0x0600)
76
77
78 /* Defines for Blocks connected via AIPS (SkyBlue) */
79 #define AIPS_TZ1_BASE_ADDR              AIPS1_ARB_BASE_ADDR
80 #define AIPS_TZ2_BASE_ADDR              AIPS2_ARB_BASE_ADDR
81 #define AIPS_TZ3_BASE_ADDR              AIPS3_ARB_BASE_ADDR
82
83 /* DAP base-address */
84 #define ARM_IPS_BASE_ADDR               AIPS1_ARB_BASE_ADDR
85
86 /* AIPS_TZ#1- On Platform */
87 #define AIPS1_ON_BASE_ADDR              (AIPS_TZ1_BASE_ADDR+0x1F0000)
88 /* AIPS_TZ#1- Off Platform */
89 #define AIPS1_OFF_BASE_ADDR             (AIPS_TZ1_BASE_ADDR+0x200000)
90
91 #define GPIO1_BASE_ADDR                 AIPS1_OFF_BASE_ADDR
92 #define GPIO2_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x10000)
93 #define GPIO3_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x20000)
94 #define GPIO4_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x30000)
95 #define GPIO5_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x40000)
96 #define GPIO6_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x50000)
97 #define GPIO7_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x60000)
98 #define IOMUXC_LPSR_GPR_BASE_ADDR      (AIPS1_OFF_BASE_ADDR+0x70000)
99 #define WDOG1_BASE_ADDR                (AIPS1_OFF_BASE_ADDR+0x80000)
100 #define WDOG2_BASE_ADDR                (AIPS1_OFF_BASE_ADDR+0x90000)
101 #define WDOG3_BASE_ADDR                (AIPS1_OFF_BASE_ADDR+0xA0000)
102 #define WDOG4_BASE_ADDR                (AIPS1_OFF_BASE_ADDR+0xB0000)
103 #define IOMUXC_LPSR_BASE_ADDR          (AIPS1_OFF_BASE_ADDR+0xC0000)
104 #define GPT_IPS_BASE_ADDR              (AIPS1_OFF_BASE_ADDR+0xD0000)
105 #define GPT1_BASE_ADDR GPT_IPS_BASE_ADDR
106 #define GPT2_IPS_BASE_ADDR             (AIPS1_OFF_BASE_ADDR+0xE0000)
107 #define GPT3_IPS_BASE_ADDR             (AIPS1_OFF_BASE_ADDR+0xF0000)
108 #define GPT4_IPS_BASE_ADDR             (AIPS1_OFF_BASE_ADDR+0x100000)
109 #define ROMCP_IPS_BASE_ADDR            (AIPS1_OFF_BASE_ADDR+0x110000)
110 #define KPP_IPS_BASE_ADDR              (AIPS1_OFF_BASE_ADDR+0x120000)
111 #define IOMUXC_IPS_BASE_ADDR           (AIPS1_OFF_BASE_ADDR+0x130000)
112 #define IOMUXC_BASE_ADDR               IOMUXC_IPS_BASE_ADDR
113 #define IOMUXC_GPR_BASE_ADDR           (AIPS1_OFF_BASE_ADDR+0x140000)
114 #define OCOTP_BASE_ADDR                (AIPS1_OFF_BASE_ADDR+0x150000)
115 #define ANATOP_BASE_ADDR               (AIPS1_OFF_BASE_ADDR+0x160000)
116 #define SNVS_BASE_ADDR                 (AIPS1_OFF_BASE_ADDR+0x170000)
117 #define CCM_BASE_ADDR                  (AIPS1_OFF_BASE_ADDR+0x180000)
118 #define SRC_BASE_ADDR                  (AIPS1_OFF_BASE_ADDR+0x190000)
119 #define GPC_IPS_BASE_ADDR              (AIPS1_OFF_BASE_ADDR+0x1A0000)
120 #define SEMA41_IPS_BASE_ADDR           (AIPS1_OFF_BASE_ADDR+0x1B0000)
121 #define SEMA42_IPS_BASE_ADDR           (AIPS1_OFF_BASE_ADDR+0x1C0000)
122 #define RDC_IPS_BASE_ADDR              (AIPS1_OFF_BASE_ADDR+0x1D0000)
123 #define CSU_IPS_BASE_ADDR              (AIPS1_OFF_BASE_ADDR+0x1E0000)
124
125 /* AIPS_TZ#2- On Platform */
126 #define AIPS2_ON_BASE_ADDR              (AIPS_TZ2_BASE_ADDR+0x1F0000)
127 /* AIPS_TZ#2- Off Platform */
128 #define AIPS2_OFF_BASE_ADDR             (AIPS_TZ2_BASE_ADDR+0x200000)
129 #define ADC1_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x10000)
130 #define ADC2_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x20000)
131 #define ECSPI4_BASE_ADDR                (AIPS2_OFF_BASE_ADDR+0x30000)
132 #define FTM1_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x40000)
133 #define FTM2_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x50000)
134 #define PWM1_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x60000)
135 #define PWM2_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x70000)
136 #define PWM3_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x80000)
137 #define PWM4_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x90000)
138 #define SYSCNT_RD_IPS_BASE_ADDR         (AIPS2_OFF_BASE_ADDR+0xA0000)
139 #define SYSCNT_CMP_IPS_BASE_ADDR        (AIPS2_OFF_BASE_ADDR+0xB0000)
140 #define SYSCNT_CTRL_IPS_BASE_ADDR       (AIPS2_OFF_BASE_ADDR+0xC0000)
141 #define PCIE_PHY_IPS_BASE_ADDR          (AIPS2_OFF_BASE_ADDR+0xD0000)
142 #define EPDC_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0xF0000)
143 #define EPDC_BASE_ADDR                  EPDC_IPS_BASE_ADDR
144 #define EPXP_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x100000)
145 #define CSI1_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x110000)
146 #define ELCDIF1_IPS_BASE_ADDR           (AIPS2_OFF_BASE_ADDR+0x130000)
147 #define MIPI_CSI2_IPS_BASE_ADDR         (AIPS2_OFF_BASE_ADDR+0x150000)
148 #define MIPI_DSI_IPS_BASE_ADDR          (AIPS2_OFF_BASE_ADDR+0x160000)
149 #define IP2APB_TZASC1_IPS_BASE_ADDR     (AIPS2_OFF_BASE_ADDR+0x180000)
150 #define DDRPHY_IPS_BASE_ADDR            (AIPS2_OFF_BASE_ADDR+0x190000)
151 #define DDRC_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x1A0000)
152 #define IP2APB_PERFMON1_IPS_BASE_ADDR   (AIPS2_OFF_BASE_ADDR+0x1C0000)
153 #define IP2APB_PERFMON2_IPS_BASE_ADDR   (AIPS2_OFF_BASE_ADDR+0x1D0000)
154 #define IP2APB_AXIMON_IPS_BASE_ADDR     (AIPS2_OFF_BASE_ADDR+0x1E0000)
155 #define QOSC_IPS_BASE_ADDR              (AIPS2_OFF_BASE_ADDR+0x1F0000)
156
157 /* AIPS_TZ#3  - Global enable (0) */
158 #define ECSPI1_BASE_ADDR                (AIPS_TZ3_BASE_ADDR+0x20000)
159 #define ECSPI2_BASE_ADDR                (AIPS_TZ3_BASE_ADDR+0x30000)
160 #define ECSPI3_BASE_ADDR                (AIPS_TZ3_BASE_ADDR+0x40000)
161 #define UART1_IPS_BASE_ADDR             (AIPS_TZ3_BASE_ADDR+0x60000)
162 #define UART3_IPS_BASE_ADDR             (AIPS_TZ3_BASE_ADDR+0x80000)
163 #define UART2_IPS_BASE_ADDR             (AIPS_TZ3_BASE_ADDR+0x90000)
164 #define SAI1_IPS_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0xA0000)
165 #define SAI2_IPS_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0xB0000)
166 #define SAI3_IPS_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0xC0000)
167 #define SPBA_IPS_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0xF0000)
168 #define CAAM_IPS_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0x100000)
169
170 /* AIPS_TZ#3- On Platform */
171 #define AIPS3_ON_BASE_ADDR              (AIPS_TZ3_BASE_ADDR+0x1F0000)
172 /* AIPS_TZ#3- Off Platform */
173 #define AIPS3_OFF_BASE_ADDR             (AIPS_TZ3_BASE_ADDR+0x200000)
174 #define CAN1_IPS_BASE_ADDR              AIPS3_OFF_BASE_ADDR
175 #define CAN2_IPS_BASE_ADDR              (AIPS3_OFF_BASE_ADDR+0x10000)
176 #define I2C1_BASE_ADDR                  (AIPS3_OFF_BASE_ADDR+0x20000)
177 #define I2C2_BASE_ADDR                  (AIPS3_OFF_BASE_ADDR+0x30000)
178 #define I2C3_BASE_ADDR                  (AIPS3_OFF_BASE_ADDR+0x40000)
179 #define I2C4_BASE_ADDR                  (AIPS3_OFF_BASE_ADDR+0x50000)
180 #define UART4_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x60000)
181 #define UART5_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x70000)
182 #define UART6_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x80000)
183 #define UART7_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x90000)
184 #define MUCPU_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0xA0000)
185 #define MUDSP_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0xB0000)
186 #define HS_IPS_BASE_ADDR                (AIPS3_OFF_BASE_ADDR+0xC0000)
187 #define USBOH2_PL301_IPS_BASE_ADDR      (AIPS3_OFF_BASE_ADDR+0xD0000)
188 #define USBOTG1_IPS_BASE_ADDR           (AIPS3_OFF_BASE_ADDR+0x110000)
189 #define USBOTG2_IPS_BASE_ADDR           (AIPS3_OFF_BASE_ADDR+0x120000)
190 #define USBHSIC_IPS_BASE_ADDR           (AIPS3_OFF_BASE_ADDR+0x130000)
191 #define USDHC1_BASE_ADDR                (AIPS3_OFF_BASE_ADDR+0x140000)
192 #define USDHC2_BASE_ADDR                (AIPS3_OFF_BASE_ADDR+0x150000)
193 #define USDHC3_BASE_ADDR                (AIPS3_OFF_BASE_ADDR+0x160000)
194 #define EMVSIM1_IPS_BASE_ADDR           (AIPS3_OFF_BASE_ADDR+0x190000)
195 #define EMVSIM2_IPS_BASE_ADDR           (AIPS3_OFF_BASE_ADDR+0x1A0000)
196 #define SIM1_IPS_BASE_ADDR              (AIPS3_OFF_BASE_ADDR+0x190000)
197 #define SIM2_IPS_BASE_ADDR              (AIPS3_OFF_BASE_ADDR+0x1A0000)
198 #define QSPI1_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x1B0000)
199 #define WEIM_IPS_BASE_ADDR              (AIPS3_OFF_BASE_ADDR+0x1C0000)
200 #define SDMA_PORT_IPS_HOST_BASE_ADDR    (AIPS3_OFF_BASE_ADDR+0x1D0000)
201 #define ENET_IPS_BASE_ADDR              (AIPS3_OFF_BASE_ADDR+0x1E0000)
202 #define ENET2_IPS_BASE_ADDR             (AIPS3_OFF_BASE_ADDR+0x1F0000)
203
204 #define AIPS1_BASE_ADDR                 AIPS1_ON_BASE_ADDR
205 #define AIPS2_BASE_ADDR                 AIPS2_ON_BASE_ADDR
206 #define AIPS3_BASE_ADDR                 AIPS3_ON_BASE_ADDR
207
208 #define SDMA_IPS_HOST_BASE_ADDR         SDMA_PORT_IPS_HOST_BASE_ADDR
209 #define SDMA_IPS_HOST_IPS_BASE_ADDR     SDMA_PORT_IPS_HOST_BASE_ADDR
210
211 #define SCTR_BASE_ADDR SYSCNT_CTRL_IPS_BASE_ADDR
212 #define DEBUG_MONITOR_BASE_ADDR IP2APB_AXIMON_IPS_BASE_ADDR
213
214 #define USB_BASE_ADDR USBOTG1_IPS_BASE_ADDR
215
216 #define FEC_QUIRK_ENET_MAC
217 #define SNVS_LPGPR      0x68
218
219 #if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
220 #include <asm/types.h>
221
222 extern void imx_get_mac_from_fuse(int dev_id, unsigned char *mac);
223
224 /* System Reset Controller (SRC) */
225 struct src {
226         u32     scr;
227         u32 a7rcr0;
228         u32 a7rcr1;
229         u32 m4rcr;
230         u32 reserved1;
231         u32 ercr;
232         u32 reserved2;
233         u32 hsicphy_rcr;
234         u32 usbophy1_rcr;
235         u32 usbophy2_rcr;
236         u32 mipiphy_rcr;
237         u32 pciephy_rcr;
238         u32 reserved3[10];
239         u32     sbmr1;
240         u32     srsr;
241         u32     reserved4[2];
242         u32     sisr;
243         u32     simr;
244         u32 sbmr2;
245         u32 gpr1;
246         u32 gpr2;
247         u32 gpr3;
248         u32 gpr4;
249         u32 gpr5;
250         u32 gpr6;
251         u32 gpr7;
252         u32 gpr8;
253         u32 gpr9;
254         u32 gpr10;
255         u32 reserved5[985];
256         u32 ddrc_rcr;
257 };
258
259 /* GPR0 Bit Fields */
260 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL0_MASK     0x1u
261 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL0_SHIFT    0
262 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL1_MASK     0x2u
263 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL1_SHIFT    1
264 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL2_MASK     0x4u
265 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL2_SHIFT    2
266 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL3_MASK     0x8u
267 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL3_SHIFT    3
268 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL4_MASK     0x10u
269 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL4_SHIFT    4
270 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL5_MASK     0x20u
271 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL5_SHIFT    5
272 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL6_MASK     0x40u
273 #define IOMUXC_GPR_GPR0_DMAREQ_MUX_SEL6_SHIFT    6
274 /* GPR1 Bit Fields */
275 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS0_MASK    0x1u
276 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS0_SHIFT   0
277 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS0_MASK     0x6u
278 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS0_SHIFT    1
279 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS0(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS0_SHIFT))&IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS0_MASK)
280 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS1_MASK    0x8u
281 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS1_SHIFT   3
282 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS1_MASK     0x30u
283 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS1_SHIFT    4
284 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS1(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS1_SHIFT))&IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS1_MASK)
285 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS2_MASK    0x40u
286 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS2_SHIFT   6
287 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS2_MASK     0x180u
288 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS2_SHIFT    7
289 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS2(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS2_SHIFT))&IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS2_MASK)
290 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS3_MASK    0x200u
291 #define IOMUXC_GPR_GPR1_GPR_WEIM_ACT_CS3_SHIFT   9
292 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS3_MASK     0xC00u
293 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS3_SHIFT    10
294 #define IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS3(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS3_SHIFT))&IOMUXC_GPR_GPR1_GPR_WEIM_ADDRS3_MASK)
295 #define IOMUXC_GPR_GPR1_GPR_IRQ_MASK             0x1000u
296 #define IOMUXC_GPR_GPR1_GPR_IRQ_SHIFT            12
297 #define IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_MASK 0x2000u
298 #define IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_SHIFT 13
299 #define IOMUXC_GPR_GPR1_GPR_ENET2_TX_CLK_SEL_MASK 0x4000u
300 #define IOMUXC_GPR_GPR1_GPR_ENET2_TX_CLK_SEL_SHIFT 14
301 #define IOMUXC_GPR_GPR1_GPR_ANATOP_TESTMODE_MASK 0x8000u
302 #define IOMUXC_GPR_GPR1_GPR_ANATOP_TESTMODE_SHIFT 15
303 #define IOMUXC_GPR_GPR1_GPR_PAD_ADD_DS_MASK      0x10000u
304 #define IOMUXC_GPR_GPR1_GPR_PAD_ADD_DS_SHIFT     16
305 #define IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_MASK   0x20000u
306 #define IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_SHIFT  17
307 #define IOMUXC_GPR_GPR1_GPR_ENET2_CLK_DIR_MASK   0x40000u
308 #define IOMUXC_GPR_GPR1_GPR_ENET2_CLK_DIR_SHIFT  18
309 #define IOMUXC_GPR_GPR1_GPR_EXC_ERR_RESP_EN_MASK 0x400000u
310 #define IOMUXC_GPR_GPR1_GPR_EXC_ERR_RESP_EN_SHIFT 22
311 #define IOMUXC_GPR_GPR1_GPR_TZASC1_SECURE_BOOT_LOCK_MASK 0x800000u
312 #define IOMUXC_GPR_GPR1_GPR_TZASC1_SECURE_BOOT_LOCK_SHIFT 23
313 #define IOMUXC_GPR_GPR1_GPR_DBG_ACK_MASK         0x30000000u
314 #define IOMUXC_GPR_GPR1_GPR_DBG_ACK_SHIFT        28
315 #define IOMUXC_GPR_GPR1_GPR_DBG_ACK(x)           (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR1_GPR_DBG_ACK_SHIFT))&IOMUXC_GPR_GPR1_GPR_DBG_ACK_MASK)
316 #define IOMUXC_GPR_GPR1_GPR_ENABLE_OCRAM_EPDC_MASK 0x40000000u
317 #define IOMUXC_GPR_GPR1_GPR_ENABLE_OCRAM_EPDC_SHIFT 30
318 /* GPR2 Bit Fields */
319 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_LOWPOWER_MASK 0x1u
320 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_LOWPOWER_SHIFT 0
321 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_SD_MASK      0x2u
322 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_SD_SHIFT     1
323 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_DS_MASK      0x4u
324 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_DS_SHIFT     2
325 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_LS_MASK      0x8u
326 #define IOMUXC_GPR_GPR2_GPR_MEM_PXP_LS_SHIFT     3
327 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_LOWPOWER_MASK 0x10u
328 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_LOWPOWER_SHIFT 4
329 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_SD_MASK    0x20u
330 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_SD_SHIFT   5
331 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_DS_MASK    0x40u
332 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_DS_SHIFT   6
333 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_LS_MASK    0x80u
334 #define IOMUXC_GPR_GPR2_GPR_MEM_LCDIF_LS_SHIFT   7
335 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_LOWPOWER_MASK 0x100u
336 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_LOWPOWER_SHIFT 8
337 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_SD_MASK     0x200u
338 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_SD_SHIFT    9
339 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_DS_MASK     0x400u
340 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_DS_SHIFT    10
341 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_LS_MASK     0x800u
342 #define IOMUXC_GPR_GPR2_GPR_MEM_EPDC_LS_SHIFT    11
343 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_LOWPOWER_MASK 0x1000u
344 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_LOWPOWER_SHIFT 12
345 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_SD_MASK      0x2000u
346 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_SD_SHIFT     13
347 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_DS_MASK      0x4000u
348 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_DS_SHIFT     14
349 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_LS_MASK      0x8000u
350 #define IOMUXC_GPR_GPR2_GPR_MEM_CPU_LS_SHIFT     15
351 #define IOMUXC_GPR_GPR2_GPR_MQS_CLK_DIV_MASK     0xFF0000u
352 #define IOMUXC_GPR_GPR2_GPR_MQS_CLK_DIV_SHIFT    16
353 #define IOMUXC_GPR_GPR2_GPR_MQS_CLK_DIV(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR2_GPR_MQS_CLK_DIV_SHIFT))&IOMUXC_GPR_GPR2_GPR_MQS_CLK_DIV_MASK)
354 #define IOMUXC_GPR_GPR2_GPR_MQS_SW_RST_MASK      0x1000000u
355 #define IOMUXC_GPR_GPR2_GPR_MQS_SW_RST_SHIFT     24
356 #define IOMUXC_GPR_GPR2_GPR_MQS_EN_MASK          0x2000000u
357 #define IOMUXC_GPR_GPR2_GPR_MQS_EN_SHIFT         25
358 #define IOMUXC_GPR_GPR2_GPR_MQS_OVERSAMPLE_MASK  0x4000000u
359 #define IOMUXC_GPR_GPR2_GPR_MQS_OVERSAMPLE_SHIFT 26
360 #define IOMUXC_GPR_GPR2_GPR_DRAM_RESET_BYPASS_MASK 0x8000000u
361 #define IOMUXC_GPR_GPR2_GPR_DRAM_RESET_BYPASS_SHIFT 27
362 #define IOMUXC_GPR_GPR2_GPR_DRAM_RESET_MASK      0x10000000u
363 #define IOMUXC_GPR_GPR2_GPR_DRAM_RESET_SHIFT     28
364 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE0_MASK       0x20000000u
365 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE0_SHIFT      29
366 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE1_MASK       0x40000000u
367 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE1_SHIFT      30
368 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE_BYPASS_MASK 0x80000000u
369 #define IOMUXC_GPR_GPR2_GPR_DRAM_CKE_BYPASS_SHIFT 31
370 /* GPR3 Bit Fields */
371 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_READ_DATA_WAIT_EN_MASK 0x1u
372 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_READ_DATA_WAIT_EN_SHIFT 0
373 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_READ_ADDR_PIPELINE_EN_MASK 0x2u
374 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_READ_ADDR_PIPELINE_EN_SHIFT 1
375 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_WRITE_DATA_PIPELINE_EN_MASK 0x4u
376 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_WRITE_DATA_PIPELINE_EN_SHIFT 2
377 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_WRITE_ADDR_PIPELINE_EN_MASK 0x8u
378 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_WRITE_ADDR_PIPELINE_EN_SHIFT 3
379 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_READ_DATA_WAIT_EN_MASK 0x10u
380 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_READ_DATA_WAIT_EN_SHIFT 4
381 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_READ_ADDR_PIPELINE_EN_MASK 0x20u
382 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_READ_ADDR_PIPELINE_EN_SHIFT 5
383 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_WRITE_DATA_PIPELINE_EN_MASK 0x40u
384 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_WRITE_DATA_PIPELINE_EN_SHIFT 6
385 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_WRITE_ADDR_PIPELINE_EN_MASK 0x80u
386 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_S_WRITE_ADDR_PIPELINE_EN_SHIFT 7
387 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_READ_DATA_WAIT_EN_MASK 0x100u
388 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_READ_DATA_WAIT_EN_SHIFT 8
389 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_READ_ADDR_PIPELINE_EN_MASK 0x200u
390 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_READ_ADDR_PIPELINE_EN_SHIFT 9
391 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_WRITE_DATA_PIPELINE_EN_MASK 0x400u
392 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_WRITE_DATA_PIPELINE_EN_SHIFT 10
393 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_WRITE_ADDR_PIPELINE_EN_MASK 0x800u
394 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_EPDC_WRITE_ADDR_PIPELINE_EN_SHIFT 11
395 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_READ_DATA_WAIT_EN_MASK 0x1000u
396 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_READ_DATA_WAIT_EN_SHIFT 12
397 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_READ_ADDR_PIPELINE_EN_MASK 0x2000u
398 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_READ_ADDR_PIPELINE_EN_SHIFT 13
399 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_WRITE_DATA_PIPELINE_EN_MASK 0x4000u
400 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_WRITE_DATA_PIPELINE_EN_SHIFT 14
401 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_WRITE_ADDR_PIPELINE_EN_MASK 0x8000u
402 #define IOMUXC_GPR_GPR3_GPR_OCRAM_CTRL_PXP_WRITE_ADDR_PIPELINE_EN_SHIFT 15
403 #define IOMUXC_GPR_GPR3_ocram_ctrl_read_data_wait_en_update_pending_MASK 0x10000u
404 #define IOMUXC_GPR_GPR3_ocram_ctrl_read_data_wait_en_update_pending_SHIFT 16
405 #define IOMUXC_GPR_GPR3_ocram_ctrl_read_addr_pipeline_en_update_pending_MASK 0x20000u
406 #define IOMUXC_GPR_GPR3_ocram_ctrl_read_addr_pipeline_en_update_pending_SHIFT 17
407 #define IOMUXC_GPR_GPR3_ocram_ctrl_write_data_pipeline_en_update_pending_MASK 0x40000u
408 #define IOMUXC_GPR_GPR3_ocram_ctrl_write_data_pipeline_en_update_pending_SHIFT 18
409 #define IOMUXC_GPR_GPR3_ocram_ctrl_write_addr_pipeline_en_update_pending_MASK 0x80000u
410 #define IOMUXC_GPR_GPR3_ocram_ctrl_write_addr_pipeline_en_update_pending_SHIFT 19
411 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_read_data_wait_en_update_pending_MASK 0x100000u
412 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_read_data_wait_en_update_pending_SHIFT 20
413 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_read_addr_pipeline_en_update_pending_MASK 0x200000u
414 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_read_addr_pipeline_en_update_pending_SHIFT 21
415 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_write_data_pipeline_en_update_pending_MASK 0x400000u
416 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_write_data_pipeline_en_update_pending_SHIFT 22
417 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_write_addr_pipeline_en_update_pending_MASK 0x800000u
418 #define IOMUXC_GPR_GPR3_ocram_ctrl_s_write_addr_pipeline_en_update_pending_SHIFT 23
419 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_read_data_wait_en_update_pending_MASK 0x1000000u
420 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_read_data_wait_en_update_pending_SHIFT 24
421 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_read_addr_pipeline_en_update_pending_MASK 0x2000000u
422 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_read_addr_pipeline_en_update_pending_SHIFT 25
423 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_write_data_pipeline_en_update_pending_MASK 0x4000000u
424 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_write_data_pipeline_en_update_pending_SHIFT 26
425 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_write_addr_pipeline_en_update_pending_MASK 0x8000000u
426 #define IOMUXC_GPR_GPR3_ocram_ctrl_epdc_write_addr_pipeline_en_update_pending_SHIFT 27
427 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_read_data_wait_en_update_pending_MASK 0x10000000u
428 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_read_data_wait_en_update_pending_SHIFT 28
429 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_read_addr_pipeline_en_update_pending_MASK 0x20000000u
430 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_read_addr_pipeline_en_update_pending_SHIFT 29
431 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_write_data_pipeline_en_update_pending_MASK 0x40000000u
432 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_write_data_pipeline_en_update_pending_SHIFT 30
433 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_write_addr_pipeline_en_update_pending_MASK 0x80000000u
434 #define IOMUXC_GPR_GPR3_ocram_ctrl_pxp_write_addr_pipeline_en_update_pending_SHIFT 31
435 /* GPR4 Bit Fields */
436 #define IOMUXC_GPR_GPR4_GPR_SDMA_IPG_STOP_MASK   0x1u
437 #define IOMUXC_GPR_GPR4_GPR_SDMA_IPG_STOP_SHIFT  0
438 #define IOMUXC_GPR_GPR4_GPR_CAN1_IPG_STOP_MASK   0x2u
439 #define IOMUXC_GPR_GPR4_GPR_CAN1_IPG_STOP_SHIFT  1
440 #define IOMUXC_GPR_GPR4_GPR_CAN2_IPG_STOP_MASK   0x4u
441 #define IOMUXC_GPR_GPR4_GPR_CAN2_IPG_STOP_SHIFT  2
442 #define IOMUXC_GPR_GPR4_GPR_ENET1_IPG_STOP_MASK  0x8u
443 #define IOMUXC_GPR_GPR4_GPR_ENET1_IPG_STOP_SHIFT 3
444 #define IOMUXC_GPR_GPR4_GPR_ENET2_IPG_STOP_MASK  0x10u
445 #define IOMUXC_GPR_GPR4_GPR_ENET2_IPG_STOP_SHIFT 4
446 #define IOMUXC_GPR_GPR4_GPR_SAI1_IPG_STOP_MASK   0x20u
447 #define IOMUXC_GPR_GPR4_GPR_SAI1_IPG_STOP_SHIFT  5
448 #define IOMUXC_GPR_GPR4_GPR_SAI2_IPG_STOP_MASK   0x40u
449 #define IOMUXC_GPR_GPR4_GPR_SAI2_IPG_STOP_SHIFT  6
450 #define IOMUXC_GPR_GPR4_GPR_SAI3_IPG_STOP_MASK   0x80u
451 #define IOMUXC_GPR_GPR4_GPR_SAI3_IPG_STOP_SHIFT  7
452 #define IOMUXC_GPR_GPR4_sdma_ipg_stop_ack_MASK   0x10000u
453 #define IOMUXC_GPR_GPR4_sdma_ipg_stop_ack_SHIFT  16
454 #define IOMUXC_GPR_GPR4_can1_ipg_stop_ack_MASK   0x20000u
455 #define IOMUXC_GPR_GPR4_can1_ipg_stop_ack_SHIFT  17
456 #define IOMUXC_GPR_GPR4_can2_ipg_stop_ack_MASK   0x40000u
457 #define IOMUXC_GPR_GPR4_can2_ipg_stop_ack_SHIFT  18
458 #define IOMUXC_GPR_GPR4_enet1_ipg_stop_ack_MASK  0x80000u
459 #define IOMUXC_GPR_GPR4_enet1_ipg_stop_ack_SHIFT 19
460 #define IOMUXC_GPR_GPR4_enet2_ipg_stop_ack_MASK  0x100000u
461 #define IOMUXC_GPR_GPR4_enet2_ipg_stop_ack_SHIFT 20
462 #define IOMUXC_GPR_GPR4_sai1_ipg_stop_ack_MASK   0x200000u
463 #define IOMUXC_GPR_GPR4_sai1_ipg_stop_ack_SHIFT  21
464 #define IOMUXC_GPR_GPR4_sai2_ipg_stop_ack_MASK   0x400000u
465 #define IOMUXC_GPR_GPR4_sai2_ipg_stop_ack_SHIFT  22
466 #define IOMUXC_GPR_GPR4_sai3_ipg_stop_ack_MASK   0x800000u
467 #define IOMUXC_GPR_GPR4_sai3_ipg_stop_ack_SHIFT  23
468 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFI_MASK      0x6000000u
469 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFI_SHIFT     25
470 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFI(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR4_cpu_STANDBYWFI_SHIFT))&IOMUXC_GPR_GPR4_cpu_STANDBYWFI_MASK)
471 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFE_MASK      0x18000000u
472 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFE_SHIFT     27
473 #define IOMUXC_GPR_GPR4_cpu_STANDBYWFE(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR4_cpu_STANDBYWFE_SHIFT))&IOMUXC_GPR_GPR4_cpu_STANDBYWFE_MASK)
474 /* GPR5 Bit Fields */
475 #define IOMUXC_GPR_GPR5_GPR_CSI_MUX_CONTROL_MASK 0x10u
476 #define IOMUXC_GPR_GPR5_GPR_CSI_MUX_CONTROL_SHIFT 4
477 #define IOMUXC_GPR_GPR5_GPR_LVDS_MUX_CONTROL_MASK 0x20u
478 #define IOMUXC_GPR_GPR5_GPR_LVDS_MUX_CONTROL_SHIFT 5
479 #define IOMUXC_GPR_GPR5_GPR_WDOG1_MASK_MASK      0x40u
480 #define IOMUXC_GPR_GPR5_GPR_WDOG1_MASK_SHIFT     6
481 #define IOMUXC_GPR_GPR5_GPR_WDOG2_MASK_MASK      0x80u
482 #define IOMUXC_GPR_GPR5_GPR_WDOG2_MASK_SHIFT     7
483 #define IOMUXC_GPR_GPR5_GPR_LCDIF_HANDSHAKE_MASK 0x1000u
484 #define IOMUXC_GPR_GPR5_GPR_LCDIF_HANDSHAKE_SHIFT 12
485 #define IOMUXC_GPR_GPR5_GPR_PCIE_BTNRST_MASK     0x80000u
486 #define IOMUXC_GPR_GPR5_GPR_PCIE_BTNRST_SHIFT    19
487 #define IOMUXC_GPR_GPR5_GPR_WDOG3_MASK_MASK      0x100000u
488 #define IOMUXC_GPR_GPR5_GPR_WDOG3_MASK_SHIFT     20
489 #define IOMUXC_GPR_GPR5_GPR_LCDIF_CSI_VSYNC_SEL_MASK 0x200000u
490 #define IOMUXC_GPR_GPR5_GPR_LCDIF_CSI_VSYNC_SEL_SHIFT 21
491 #define IOMUXC_GPR_GPR5_GPR_WDOG4_MASK_MASK      0x400000u
492 #define IOMUXC_GPR_GPR5_GPR_WDOG4_MASK_SHIFT     22
493 #define IOMUXC_GPR_GPR5_GPR_GPT4_CAPIN1_SEL_MASK 0x1000000u
494 #define IOMUXC_GPR_GPR5_GPR_GPT4_CAPIN1_SEL_SHIFT 24
495 #define IOMUXC_GPR_GPR5_GPR_GPT4_CAPIN2_SEL_MASK 0x2000000u
496 #define IOMUXC_GPR_GPR5_GPR_GPT4_CAPIN2_SEL_SHIFT 25
497 #define IOMUXC_GPR_GPR5_GPR_ENET1_EVENT3IN_SEL_MASK 0x4000000u
498 #define IOMUXC_GPR_GPR5_GPR_ENET1_EVENT3IN_SEL_SHIFT 26
499 #define IOMUXC_GPR_GPR5_GPR_ENET2_EVENT3IN_SEL_MASK 0x8000000u
500 #define IOMUXC_GPR_GPR5_GPR_ENET2_EVENT3IN_SEL_SHIFT 27
501 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT1_MASK 0x10000000u
502 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT1_SHIFT 28
503 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT2_MASK 0x20000000u
504 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT2_SHIFT 29
505 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT3_MASK 0x40000000u
506 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT3_SHIFT 30
507 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT4_MASK 0x80000000u
508 #define IOMUXC_GPR_GPR5_GPR_REF_1M_CLK_GPT4_SHIFT 31
509 /* GPR6 Bit Fields */
510 #define IOMUXC_GPR_GPR6_GPR_ARCACHE_PXP6_MASK    0x1u
511 #define IOMUXC_GPR_GPR6_GPR_ARCACHE_PXP6_SHIFT   0
512 #define IOMUXC_GPR_GPR6_GPR_AWCACHE_PXP6_MASK    0x2u
513 #define IOMUXC_GPR_GPR6_GPR_AWCACHE_PXP6_SHIFT   1
514 #define IOMUXC_GPR_GPR6_GPR_ARCACHE_PXP6_EN_MASK 0x4u
515 #define IOMUXC_GPR_GPR6_GPR_ARCACHE_PXP6_EN_SHIFT 2
516 #define IOMUXC_GPR_GPR6_GPR_AWCACHE_PXP6_EN_MASK 0x8u
517 #define IOMUXC_GPR_GPR6_GPR_AWCACHE_PXP6_EN_SHIFT 3
518 /* GPR7 Bit Fields */
519 #define IOMUXC_GPR_GPR7_GPR_chd1_pwd_ldo_usb_1p0_MASK 0x1u
520 #define IOMUXC_GPR_GPR7_GPR_chd1_pwd_ldo_usb_1p0_SHIFT 0
521 #define IOMUXC_GPR_GPR7_GPR_chd1_lowpwr_ldo_usb_1p0_MASK 0x2u
522 #define IOMUXC_GPR_GPR7_GPR_chd1_lowpwr_ldo_usb_1p0_SHIFT 1
523 #define IOMUXC_GPR_GPR7_GPR_chd1_en_ilimit_ldo_usb_1p0_MASK 0x4u
524 #define IOMUXC_GPR_GPR7_GPR_chd1_en_ilimit_ldo_usb_1p0_SHIFT 2
525 #define IOMUXC_GPR_GPR7_GPR_chd1_en_pwrupload_ldo_usb_1p0_MASK 0x8u
526 #define IOMUXC_GPR_GPR7_GPR_chd1_en_pwrupload_ldo_usb_1p0_SHIFT 3
527 #define IOMUXC_GPR_GPR7_GPR_chd1_chrg_det_test_MASK 0x30u
528 #define IOMUXC_GPR_GPR7_GPR_chd1_chrg_det_test_SHIFT 4
529 #define IOMUXC_GPR_GPR7_GPR_chd1_chrg_det_test(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR7_GPR_chd1_chrg_det_test_SHIFT))&IOMUXC_GPR_GPR7_GPR_chd1_chrg_det_test_MASK)
530 #define IOMUXC_GPR_GPR7_GPR_chd2_pwd_ldo_usb_1p0_MASK 0x40u
531 #define IOMUXC_GPR_GPR7_GPR_chd2_pwd_ldo_usb_1p0_SHIFT 6
532 #define IOMUXC_GPR_GPR7_GPR_chd2_lowpwr_ldo_usb_1p0_MASK 0x80u
533 #define IOMUXC_GPR_GPR7_GPR_chd2_lowpwr_ldo_usb_1p0_SHIFT 7
534 #define IOMUXC_GPR_GPR7_GPR_chd2_en_ilimit_ldo_usb_1p0_MASK 0x100u
535 #define IOMUXC_GPR_GPR7_GPR_chd2_en_ilimit_ldo_usb_1p0_SHIFT 8
536 #define IOMUXC_GPR_GPR7_GPR_chd2_en_pwrupload_ldo_usb_1p0_MASK 0x200u
537 #define IOMUXC_GPR_GPR7_GPR_chd2_en_pwrupload_ldo_usb_1p0_SHIFT 9
538 #define IOMUXC_GPR_GPR7_GPR_chd2_chrg_det_test_MASK 0xC00u
539 #define IOMUXC_GPR_GPR7_GPR_chd2_chrg_det_test_SHIFT 10
540 #define IOMUXC_GPR_GPR7_GPR_chd2_chrg_det_test(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR7_GPR_chd2_chrg_det_test_SHIFT))&IOMUXC_GPR_GPR7_GPR_chd2_chrg_det_test_MASK)
541 #define IOMUXC_GPR_GPR7_GPR_pcie_clk_rst_fix_lnkrst_disable_MASK 0x1000u
542 #define IOMUXC_GPR_GPR7_GPR_pcie_clk_rst_fix_lnkrst_disable_SHIFT 12
543 #define IOMUXC_GPR_GPR7_GPR_pcie_clk_rst_fix_perst_disable_MASK 0x2000u
544 #define IOMUXC_GPR_GPR7_GPR_pcie_clk_rst_fix_perst_disable_SHIFT 13
545 /* GPR8 Bit Fields */
546 #define IOMUXC_GPR_GPR8_ddr_phy_ctrl_wake_up_MASK 0xF8u
547 #define IOMUXC_GPR_GPR8_ddr_phy_ctrl_wake_up_SHIFT 3
548 #define IOMUXC_GPR_GPR8_ddr_phy_ctrl_wake_up(x)  (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR8_ddr_phy_ctrl_wake_up_SHIFT))&IOMUXC_GPR_GPR8_ddr_phy_ctrl_wake_up_MASK)
549 #define IOMUXC_GPR_GPR8_ddr_phy_dfi_init_start_MASK 0x100u
550 #define IOMUXC_GPR_GPR8_ddr_phy_dfi_init_start_SHIFT 8
551 /* GPR9 Bit Fields */
552 #define IOMUXC_GPR_GPR9_GPR_TZASC1_MUX_CONTROL_MASK 0x1u
553 #define IOMUXC_GPR_GPR9_GPR_TZASC1_MUX_CONTROL_SHIFT 0
554 #define IOMUXC_GPR_GPR9_ddr_phy_ctrl_pd_MASK     0x3Eu
555 #define IOMUXC_GPR_GPR9_ddr_phy_ctrl_pd_SHIFT    1
556 #define IOMUXC_GPR_GPR9_ddr_phy_ctrl_pd(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR9_ddr_phy_ctrl_pd_SHIFT))&IOMUXC_GPR_GPR9_ddr_phy_ctrl_pd_MASK)
557 /* GPR10 Bit Fields */
558 #define IOMUXC_GPR_GPR10_GPR0_BF0_MASK           0x1u
559 #define IOMUXC_GPR_GPR10_GPR0_BF0_SHIFT          0
560 #define IOMUXC_GPR_GPR10_GPR_DBG_EN_MASK         0x2u
561 #define IOMUXC_GPR_GPR10_GPR_DBG_EN_SHIFT        1
562 #define IOMUXC_GPR_GPR10_GPR_SEC_ERR_RESP_EN_MASK 0x4u
563 #define IOMUXC_GPR_GPR10_GPR_SEC_ERR_RESP_EN_SHIFT 2
564 #define IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION0_MASK 0x8u
565 #define IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION0_SHIFT 3
566 #define IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION1_MASK 0x3F0u
567 #define IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION1_SHIFT 4
568 #define IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION1(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION1_SHIFT))&IOMUXC_GPR_GPR10_GPR_OCRAM_CTRL_EPDC_OCRAM_TZ_SECURE_REGION1_MASK)
569 /* GPR11 Bit Fields */
570 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION0_MASK 0x1u
571 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION0_SHIFT 0
572 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION1_MASK 0x3Eu
573 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION1_SHIFT 1
574 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION1(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION1_SHIFT))&IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_OCRAM_TZ_SECURE_REGION1_MASK)
575 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION0_MASK 0x40u
576 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION0_SHIFT 6
577 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION1_MASK 0x380u
578 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION1_SHIFT 7
579 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION1(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION1_SHIFT))&IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_PXP_OCRAM_TZ_SECURE_REGION1_MASK)
580 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION0_MASK 0x400u
581 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION0_SHIFT 10
582 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION1_MASK 0x3800u
583 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION1_SHIFT 11
584 #define IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION1(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION1_SHIFT))&IOMUXC_GPR_GPR11_GPR_OCRAM_CTRL_S_OCRAM_TZ_SECURE_REGION1_MASK)
585 /* GPR12 Bit Fields */
586 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_TRSV_REG_RST_CH0_MASK 0x1u
587 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_TRSV_REG_RST_CH0_SHIFT 0
588 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_TRSV_RST_CH0_MASK 0x2u
589 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_TRSV_RST_CH0_SHIFT 1
590 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_SSC_EN_MASK 0x8u
591 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_SSC_EN_SHIFT 3
592 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_CMN_REG_RST_MASK 0x10u
593 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_CMN_REG_RST_SHIFT 4
594 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_REFCLK_SEL_MASK 0x20u
595 #define IOMUXC_GPR_GPR12_GPR_PCIE_PHY_REFCLK_SEL_SHIFT 5
596 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DEVICE_TYPE_MASK 0xF000u
597 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DEVICE_TYPE_SHIFT 12
598 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DEVICE_TYPE(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DEVICE_TYPE_SHIFT))&IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DEVICE_TYPE_MASK)
599 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_STATUS_BUS_SELECT_MASK 0x1E0000u
600 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_STATUS_BUS_SELECT_SHIFT 17
601 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_STATUS_BUS_SELECT(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_STATUS_BUS_SELECT_SHIFT))&IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_STATUS_BUS_SELECT_MASK)
602 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_CTRL_BUS_MASK 0xE00000u
603 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_CTRL_BUS_SHIFT 21
604 #define IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_CTRL_BUS(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_CTRL_BUS_SHIFT))&IOMUXC_GPR_GPR12_GPR_PCIE_CTRL_DIAG_CTRL_BUS_MASK)
605 /* GPR13 Bit Fields */
606 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_USDHC_MASK  0x1u
607 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_USDHC_SHIFT 0
608 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_USDHC_MASK  0x2u
609 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_USDHC_SHIFT 1
610 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PXP_MASK    0x4u
611 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PXP_SHIFT   2
612 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PXP_MASK    0x8u
613 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PXP_SHIFT   3
614 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PCIE_MASK   0x10u
615 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PCIE_SHIFT  4
616 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PCIE_MASK   0x20u
617 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PCIE_SHIFT  5
618 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_LCDIF_MASK  0x40u
619 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_LCDIF_SHIFT 6
620 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_EPDC_MASK   0x80u
621 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_EPDC_SHIFT  7
622 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PXP_EN_MASK 0x100u
623 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PXP_EN_SHIFT 8
624 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PXP_EN_MASK 0x200u
625 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PXP_EN_SHIFT 9
626 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PCIE_EN_MASK 0x400u
627 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_PCIE_EN_SHIFT 10
628 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PCIE_EN_MASK 0x800u
629 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_PCIE_EN_SHIFT 11
630 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_LCDIF_EN_MASK 0x1000u
631 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_LCDIF_EN_SHIFT 12
632 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_EPDC_EN_MASK 0x2000u
633 #define IOMUXC_GPR_GPR13_GPR_ARCACHE_EPDC_EN_SHIFT 13
634 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_EPDC_MASK   0x4000u
635 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_EPDC_SHIFT  14
636 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_EPDC_EN_MASK 0x8000u
637 #define IOMUXC_GPR_GPR13_GPR_AWCACHE_EPDC_EN_SHIFT 15
638 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_AFC_CODE_OUT_CH0_MASK 0xFF0000u
639 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_AFC_CODE_OUT_CH0_SHIFT 16
640 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_AFC_CODE_OUT_CH0(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR13_GPR_PCIE_PHY_AFC_CODE_OUT_CH0_SHIFT))&IOMUXC_GPR_GPR13_GPR_PCIE_PHY_AFC_CODE_OUT_CH0_MASK)
641 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_VCO_BAND_MASK 0xF000000u
642 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_VCO_BAND_SHIFT 24
643 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_VCO_BAND(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR13_GPR_PCIE_PHY_VCO_BAND_SHIFT))&IOMUXC_GPR_GPR13_GPR_PCIE_PHY_VCO_BAND_MASK)
644 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PMA_CDR_LOCKED_CH0_MASK 0x10000000u
645 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PMA_CDR_LOCKED_CH0_SHIFT 28
646 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PMA_RX_PRESENT_CH0_MASK 0x20000000u
647 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PMA_RX_PRESENT_CH0_SHIFT 29
648 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_CDR_VCO_MON_CH0_MASK 0x40000000u
649 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_CDR_VCO_MON_CH0_SHIFT 30
650 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PCS_REFCLK_DISABLE_MASK 0x80000000u
651 #define IOMUXC_GPR_GPR13_GPR_PCIE_PHY_PCS_REFCLK_DISABLE_SHIFT 31
652 /* GPR14 Bit Fields */
653 #define IOMUXC_GPR_GPR14_GPR_SIM1_SIMV2_EMV_SEL_MASK 0x1u
654 #define IOMUXC_GPR_GPR14_GPR_SIM1_SIMV2_EMV_SEL_SHIFT 0
655 #define IOMUXC_GPR_GPR14_GPR_SIM2_SIMV2_EMV_SEL_MASK 0x2u
656 #define IOMUXC_GPR_GPR14_GPR_SIM2_SIMV2_EMV_SEL_SHIFT 1
657 /* GPR15 Bit Fields */
658 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_VBLK_FLAG_MASK 0x1u
659 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_VBLK_FLAG_SHIFT 0
660 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_AUTO_SEL_MASK 0x2u
661 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_AUTO_SEL_SHIFT 1
662 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_DESKEW_CNT_SET_MASK 0x3FFCu
663 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_DESKEW_CNT_SET_SHIFT 2
664 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_DESKEW_CNT_SET(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR15_GPR_LVDS_I_DESKEW_CNT_SET_SHIFT))&IOMUXC_GPR_GPR15_GPR_LVDS_I_DESKEW_CNT_SET_MASK)
665 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_LOCK_PPM_SET_MASK 0x3F0000u
666 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_LOCK_PPM_SET_SHIFT 16
667 #define IOMUXC_GPR_GPR15_GPR_LVDS_I_LOCK_PPM_SET(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR15_GPR_LVDS_I_LOCK_PPM_SET_SHIFT))&IOMUXC_GPR_GPR15_GPR_LVDS_I_LOCK_PPM_SET_MASK)
668 /* GPR16 Bit Fields */
669 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_REG_CUR_MASK 0x3u
670 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_REG_CUR_SHIFT 0
671 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_REG_CUR(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_REG_CUR_SHIFT))&IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_REG_CUR_MASK)
672 #define IOMUXC_GPR_GPR16_GPR_LVDS_SEL_DATABF_MASK 0x4u
673 #define IOMUXC_GPR_GPR16_GPR_LVDS_SEL_DATABF_SHIFT 2
674 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNTB_TDLY_MASK 0x8u
675 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNTB_TDLY_SHIFT 3
676 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_EN_H_MASK 0x10u
677 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEW_EN_H_SHIFT 4
678 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEWINI_MASK   0x20u
679 #define IOMUXC_GPR_GPR16_GPR_LVDS_SKEWINI_SHIFT  5
680 #define IOMUXC_GPR_GPR16_GPR_LVDS_SK_BIAS_MASK   0x3C0u
681 #define IOMUXC_GPR_GPR16_GPR_LVDS_SK_BIAS_SHIFT  6
682 #define IOMUXC_GPR_GPR16_GPR_LVDS_SK_BIAS(x)     (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR16_GPR_LVDS_SK_BIAS_SHIFT))&IOMUXC_GPR_GPR16_GPR_LVDS_SK_BIAS_MASK)
683 #define IOMUXC_GPR_GPR16_GPR_LVDS_AUTO_DSK_SEL_MASK 0x400u
684 #define IOMUXC_GPR_GPR16_GPR_LVDS_AUTO_DSK_SEL_SHIFT 10
685 #define IOMUXC_GPR_GPR16_GPR_LVDS_LOCK_CNT_MASK  0x800u
686 #define IOMUXC_GPR_GPR16_GPR_LVDS_LOCK_CNT_SHIFT 11
687 #define IOMUXC_GPR_GPR16_GPR_LVDS_OUTCON_MASK    0x1000u
688 #define IOMUXC_GPR_GPR16_GPR_LVDS_OUTCON_SHIFT   12
689 #define IOMUXC_GPR_GPR16_GPR_LVDS_FC_CODE_MASK   0xE000u
690 #define IOMUXC_GPR_GPR16_GPR_LVDS_FC_CODE_SHIFT  13
691 #define IOMUXC_GPR_GPR16_GPR_LVDS_FC_CODE(x)     (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR16_GPR_LVDS_FC_CODE_SHIFT))&IOMUXC_GPR_GPR16_GPR_LVDS_FC_CODE_MASK)
692 #define IOMUXC_GPR_GPR16_GPR_LVDS_SRC_TRH_MASK   0x10000u
693 #define IOMUXC_GPR_GPR16_GPR_LVDS_SRC_TRH_SHIFT  16
694 #define IOMUXC_GPR_GPR16_GPR_LVDS_VOD_HIGH_S_MASK 0x20000u
695 #define IOMUXC_GPR_GPR16_GPR_LVDS_VOD_HIGH_S_SHIFT 17
696 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_CNT_MASK 0x180000u
697 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_CNT_SHIFT 19
698 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_CNT(x)   (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_CNT_SHIFT))&IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_CNT_MASK)
699 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_MODE_SEL_MASK 0x200000u
700 #define IOMUXC_GPR_GPR16_GPR_LVDS_CNNCT_MODE_SEL_SHIFT 21
701 #define IOMUXC_GPR_GPR16_GPR_LVDS_FLT_CNT_MASK   0x400000u
702 #define IOMUXC_GPR_GPR16_GPR_LVDS_FLT_CNT_SHIFT  22
703 #define IOMUXC_GPR_GPR16_GPR_LVDS_VOD_ONLY_CNT_MASK 0x800000u
704 #define IOMUXC_GPR_GPR16_GPR_LVDS_VOD_ONLY_CNT_SHIFT 23
705 /* GPR17 Bit Fields */
706 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_PEN_H_MASK 0xFFu
707 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_PEN_H_SHIFT 0
708 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_PEN_H(x)   (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR17_GPR_LVDS_CNT_PEN_H_SHIFT))&IOMUXC_GPR_GPR17_GPR_LVDS_CNT_PEN_H_MASK)
709 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_VOD_H_MASK 0xFF00u
710 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_VOD_H_SHIFT 8
711 #define IOMUXC_GPR_GPR17_GPR_LVDS_CNT_VOD_H(x)   (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR17_GPR_LVDS_CNT_VOD_H_SHIFT))&IOMUXC_GPR_GPR17_GPR_LVDS_CNT_VOD_H_MASK)
712 /* GPR18 Bit Fields */
713 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CH_SEL_MASK 0x7u
714 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CH_SEL_SHIFT 0
715 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CH_SEL(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CH_SEL_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CH_SEL_MASK)
716 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_DATA_INV_MASK 0x18u
717 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_DATA_INV_SHIFT 3
718 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_DATA_INV(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_DATA_INV_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_DATA_INV_MASK)
719 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CLK_INV_MASK 0x60u
720 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CLK_INV_SHIFT 5
721 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CLK_INV(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CLK_INV_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_CLK_INV_MASK)
722 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_SKEW_CTRL_MASK 0x3F00u
723 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_SKEW_CTRL_SHIFT 8
724 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_SKEW_CTRL(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_SKEW_CTRL_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_SKEW_CTRL_MASK)
725 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_FORCE_ERROR_MASK 0x4000u
726 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_FORCE_ERROR_SHIFT 14
727 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_USER_PATTERN_MASK 0x7F0000u
728 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_USER_PATTERN_SHIFT 16
729 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_USER_PATTERN(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_USER_PATTERN_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_USER_PATTERN_MASK)
730 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_PAT_SEL_MASK 0x3000000u
731 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_PAT_SEL_SHIFT 24
732 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_PAT_SEL(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_PAT_SEL_SHIFT))&IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_PAT_SEL_MASK)
733 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_EN_MASK 0x4000000u
734 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_EN_SHIFT 26
735 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_RESETB_MASK 0x8000000u
736 #define IOMUXC_GPR_GPR18_GPR_LVDS_I_BIST_RESETB_SHIFT 27
737 #define IOMUXC_GPR_GPR18_GPR_LVDS_DLYS_BST_MASK  0x10000000u
738 #define IOMUXC_GPR_GPR18_GPR_LVDS_DLYS_BST_SHIFT 28
739 #define IOMUXC_GPR_GPR18_GPR_LVDS_SKINI_BST_MASK 0x20000000u
740 #define IOMUXC_GPR_GPR18_GPR_LVDS_SKINI_BST_SHIFT 29
741 /* GPR19 Bit Fields */
742 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_STATUS_MASK 0x1u
743 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_STATUS_SHIFT 0
744 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_ERR_COUNT_MASK 0xFF00u
745 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_ERR_COUNT_SHIFT 8
746 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_ERR_COUNT(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_ERR_COUNT_SHIFT))&IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_ERR_COUNT_MASK)
747 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_SYNC_MASK 0x10000u
748 #define IOMUXC_GPR_GPR19_GPR_LVDS_O_BIST_SYNC_SHIFT 16
749 #define IOMUXC_GPR_GPR19_GPR_LVDS_MON_FOR_CNNCT_MASK 0x20000u
750 #define IOMUXC_GPR_GPR19_GPR_LVDS_MON_FOR_CNNCT_SHIFT 17
751 /* GPR20 Bit Fields */
752 #define IOMUXC_GPR_GPR20_GPR_LVDS_P_MASK         0x3Fu
753 #define IOMUXC_GPR_GPR20_GPR_LVDS_P_SHIFT        0
754 #define IOMUXC_GPR_GPR20_GPR_LVDS_P(x)           (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR20_GPR_LVDS_P_SHIFT))&IOMUXC_GPR_GPR20_GPR_LVDS_P_MASK)
755 #define IOMUXC_GPR_GPR20_GPR_LVDS_M_MASK         0x3F00u
756 #define IOMUXC_GPR_GPR20_GPR_LVDS_M_SHIFT        8
757 #define IOMUXC_GPR_GPR20_GPR_LVDS_M(x)           (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR20_GPR_LVDS_M_SHIFT))&IOMUXC_GPR_GPR20_GPR_LVDS_M_MASK)
758 #define IOMUXC_GPR_GPR20_GPR_LVDS_S_MASK         0x30000u
759 #define IOMUXC_GPR_GPR20_GPR_LVDS_S_SHIFT        16
760 #define IOMUXC_GPR_GPR20_GPR_LVDS_S(x)           (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR20_GPR_LVDS_S_SHIFT))&IOMUXC_GPR_GPR20_GPR_LVDS_S_MASK)
761 #define IOMUXC_GPR_GPR20_GPR_LVDS_VSEL_MASK      0x1000000u
762 #define IOMUXC_GPR_GPR20_GPR_LVDS_VSEL_SHIFT     24
763 #define IOMUXC_GPR_GPR20_GPR_LVDS_CK_POL_SEL_MASK 0x2000000u
764 #define IOMUXC_GPR_GPR20_GPR_LVDS_CK_POL_SEL_SHIFT 25
765 #define IOMUXC_GPR_GPR20_GPR_LVDS_I_TX2801X_DUMMY_MASK 0x38000000u
766 #define IOMUXC_GPR_GPR20_GPR_LVDS_I_TX2801X_DUMMY_SHIFT 27
767 #define IOMUXC_GPR_GPR20_GPR_LVDS_I_TX2801X_DUMMY(x) (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR20_GPR_LVDS_I_TX2801X_DUMMY_SHIFT))&IOMUXC_GPR_GPR20_GPR_LVDS_I_TX2801X_DUMMY_MASK)
768 /* GPR21 Bit Fields */
769 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC0_MASK      0x7u
770 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC0_SHIFT     0
771 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC0(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKC0_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKC0_MASK)
772 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC1_MASK      0x38u
773 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC1_SHIFT     3
774 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC1(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKC1_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKC1_MASK)
775 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC2_MASK      0x1C0u
776 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC2_SHIFT     6
777 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC2(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKC2_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKC2_MASK)
778 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKCCK_MASK     0xE00u
779 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKCCK_SHIFT    9
780 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKCCK(x)       (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKCCK_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKCCK_MASK)
781 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC3_MASK      0x7000u
782 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC3_SHIFT     12
783 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC3(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKC3_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKC3_MASK)
784 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC4_MASK      0x38000u
785 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC4_SHIFT     15
786 #define IOMUXC_GPR_GPR21_GPR_LVDS_SKC4(x)        (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR21_GPR_LVDS_SKC4_SHIFT))&IOMUXC_GPR_GPR21_GPR_LVDS_SKC4_MASK)
787 #define IOMUXC_GPR_GPR21_SJC_BYPASS_CJTAGC_MASK  0x40000u
788 #define IOMUXC_GPR_GPR21_SJC_BYPASS_CJTAGC_SHIFT 18
789 #define IOMUXC_GPR_GPR21_DAP_BYPASS_CJTAGC_MASK  0x80000u
790 #define IOMUXC_GPR_GPR21_DAP_BYPASS_CJTAGC_SHIFT 19
791 /* GPR22 Bit Fields */
792 #define IOMUXC_GPR_GPR22_ddrc_mrr_data_out_MASK  0xFF0000u
793 #define IOMUXC_GPR_GPR22_ddrc_mrr_data_out_SHIFT 16
794 #define IOMUXC_GPR_GPR22_ddrc_mrr_data_out(x)    (((uint32_t)(((uint32_t)(x))<<IOMUXC_GPR_GPR22_ddrc_mrr_data_out_SHIFT))&IOMUXC_GPR_GPR22_ddrc_mrr_data_out_MASK)
795 #define IOMUXC_GPR_GPR22_ddrc_mrr_valid_out_MASK 0x1000000u
796 #define IOMUXC_GPR_GPR22_ddrc_mrr_valid_out_SHIFT 24
797 #define IOMUXC_GPR_GPR22_ddr_phy_dfi_init_complete_MASK 0x2000000u
798 #define IOMUXC_GPR_GPR22_ddr_phy_dfi_init_complete_SHIFT 25
799 #define IOMUXC_GPR_GPR22_GPR_chd2_dvdd_usb_stable_MASK 0x4000000u
800 #define IOMUXC_GPR_GPR22_GPR_chd2_dvdd_usb_stable_SHIFT 26
801 #define IOMUXC_GPR_GPR22_aux_chrg_det_2_usb_iso_enable_1_MASK 0x8000000u
802 #define IOMUXC_GPR_GPR22_aux_chrg_det_2_usb_iso_enable_1_SHIFT 27
803 #define IOMUXC_GPR_GPR22_GPR_chd1_dvdd_usb_stable_MASK 0x10000000u
804 #define IOMUXC_GPR_GPR22_GPR_chd1_dvdd_usb_stable_SHIFT 28
805 #define IOMUXC_GPR_GPR22_aux_chrg_det_1_usb_iso_enable_1_MASK 0x20000000u
806 #define IOMUXC_GPR_GPR22_aux_chrg_det_1_usb_iso_enable_1_SHIFT 29
807 #define IOMUXC_GPR_GPR22_GPR_PCIE_PHY_PLL_LOCKED_MASK 0x80000000u
808 #define IOMUXC_GPR_GPR22_GPR_PCIE_PHY_PLL_LOCKED_SHIFT 31
809
810 #define IMX7D_GPR5_CSI1_MUX_CTRL_MASK                   (0x1 << 4)
811 #define IMX7D_GPR5_CSI1_MUX_CTRL_PARALLEL_CSI           (0x0 << 4)
812 #define IMX7D_GPR5_CSI1_MUX_CTRL_MIPI_CSI               (0x1 << 4)
813
814 struct iomuxc {
815         u32 gpr[23];
816         /* mux and pad registers */
817 };
818
819 struct iomuxc_gpr_base_regs {
820         u32 gpr[23];        /* 0x000 */
821 };
822
823 /* ECSPI registers */
824 struct cspi_regs {
825         u32 rxdata;
826         u32 txdata;
827         u32 ctrl;
828         u32 cfg;
829         u32 intr;
830         u32 dma;
831         u32 stat;
832         u32 period;
833 };
834
835 /*
836  * CSPI register definitions
837  */
838 #define MXC_ECSPI
839 #define MXC_CSPICTRL_EN         (1 << 0)
840 #define MXC_CSPICTRL_MODE       (1 << 1)
841 #define MXC_CSPICTRL_XCH        (1 << 2)
842 #define MXC_CSPICTRL_MODE_MASK (0xf << 4)
843 #define MXC_CSPICTRL_CHIPSELECT(x)      (((x) & 0x3) << 12)
844 #define MXC_CSPICTRL_BITCOUNT(x)        (((x) & 0xfff) << 20)
845 #define MXC_CSPICTRL_PREDIV(x)  (((x) & 0xF) << 12)
846 #define MXC_CSPICTRL_POSTDIV(x) (((x) & 0xF) << 8)
847 #define MXC_CSPICTRL_SELCHAN(x) (((x) & 0x3) << 18)
848 #define MXC_CSPICTRL_MAXBITS    0xfff
849 #define MXC_CSPICTRL_TC         (1 << 7)
850 #define MXC_CSPICTRL_RXOVF      (1 << 6)
851 #define MXC_CSPIPERIOD_32KHZ    (1 << 15)
852 #define MAX_SPI_BYTES   32
853
854 /* Bit position inside CTRL register to be associated with SS */
855 #define MXC_CSPICTRL_CHAN       18
856
857 /* Bit position inside CON register to be associated with SS */
858 #define MXC_CSPICON_PHA         0  /* SCLK phase control */
859 #define MXC_CSPICON_POL         4  /* SCLK polarity */
860 #define MXC_CSPICON_SSPOL       12 /* SS polarity */
861 #define MXC_CSPICON_CTL         20 /* inactive state of SCLK */
862
863 #define MXC_SPI_BASE_ADDRESSES \
864         ECSPI1_BASE_ADDR, \
865         ECSPI2_BASE_ADDR, \
866         ECSPI3_BASE_ADDR, \
867         ECSPI4_BASE_ADDR
868
869 struct ocotp_regs {
870         u32 ctrl;
871         u32 ctrl_set;
872         u32 ctrl_clr;
873         u32 ctrl_tog;
874         u32 timing;
875         u32 rsvd0[3];
876         u32 data0;
877         u32 rsvd1[3];
878         u32 data1;
879         u32 rsvd2[3];
880         u32 data2;
881         u32 rsvd3[3];
882         u32 data3;
883         u32 rsvd4[3];
884         u32 read_ctrl;
885         u32 rsvd5[3];
886         u32 read_fuse_data0;
887         u32 rsvd6[3];
888         u32 read_fuse_data1;
889         u32 rsvd7[3];
890         u32 read_fuse_data2;
891         u32 rsvd8[3];
892         u32 read_fuse_data3;
893         u32 rsvd9[3];
894         u32 sw_sticky;
895         u32 rsvd10[3];
896         u32 scs;
897         u32 scs_set;
898         u32 scs_clr;
899         u32 scs_tog;
900         u32 crc_addr;
901         u32 rsvd11[3];
902         u32 crc_value;
903         u32 rsvd12[3];
904         u32 version;
905         u32 rsvd13[0xc3];
906
907         struct fuse_bank {      /* offset 0x400 */
908                 u32 fuse_regs[0x10];
909         } bank[16];
910 };
911
912 struct fuse_bank0_regs {
913         u32 lock;
914         u32 rsvd0[3];
915         u32 tester0;
916         u32 rsvd1[3];
917         u32 tester1;
918         u32 rsvd2[3];
919         u32 tester2;
920         u32 rsvd3[3];
921 };
922
923 struct fuse_bank1_regs {
924         u32 tester3;
925         u32 rsvd0[3];
926         u32 tester4;
927         u32 rsvd1[3];
928         u32 tester5;
929         u32 rsvd2[3];
930         u32 cfg0;
931         u32 rsvd3[3];
932 };
933
934 struct fuse_bank2_regs {
935         u32 cfg1;
936         u32 rsvd0[3];
937         u32 cfg2;
938         u32 rsvd1[3];
939         u32 cfg3;
940         u32 rsvd2[3];
941         u32 cfg4;
942         u32 rsvd3[3];
943 };
944
945 struct fuse_bank3_regs {
946         u32 mem_trim0;
947         u32 rsvd0[3];
948         u32 mem_trim1;
949         u32 rsvd1[3];
950         u32 ana0;
951         u32 rsvd2[3];
952         u32 ana1;
953         u32 rsvd3[3];
954 };
955
956 struct fuse_bank8_regs {
957         u32 sjc_resp_low;
958         u32 rsvd0[3];
959         u32 sjc_resp_high;
960         u32 rsvd1[3];
961         u32 usb_id;
962         u32 rsvd2[3];
963         u32 field_return;
964         u32 rsvd3[3];
965 };
966
967 struct fuse_bank9_regs {
968         u32 mac_addr0;
969         u32 rsvd0[3];
970         u32 mac_addr1;
971         u32 rsvd1[3];
972         u32 mac_addr2;
973         u32 rsvd2[7];
974 };
975
976 struct aipstz_regs {
977         u32     mprot0;
978         u32     mprot1;
979         u32     rsvd[0xe];
980         u32     opacr0;
981         u32     opacr1;
982         u32     opacr2;
983         u32     opacr3;
984         u32     opacr4;
985 };
986
987 struct wdog_regs {
988         u16     wcr;    /* Control */
989         u16     wsr;    /* Service */
990         u16     wrsr;   /* Reset Status */
991         u16     wicr;   /* Interrupt Control */
992         u16     wmcr;   /* Miscellaneous Control */
993 };
994
995 struct dbg_monitor_regs {
996         u32     ctrl[4];                /* Control */
997         u32     master_en[4];           /* Master enable */
998         u32     irq[4];                 /* IRQ */
999         u32     trap_addr_low[4];       /* Trap address low */
1000         u32     trap_addr_high[4];      /* Trap address high */
1001         u32     trap_id[4];             /* Trap ID */
1002         u32     snvs_addr[4];           /* SNVS address */
1003         u32     snvs_data[4];           /* SNVS data */
1004         u32     snvs_info[4];           /* SNVS info */
1005         u32     version[4];             /* Version */
1006 };
1007
1008 struct rdc_regs {
1009         u32     vir;            /* Version information */
1010         u32     reserved1[8];
1011         u32     stat;           /* Status */
1012         u32     intctrl;        /* Interrupt and Control */
1013         u32     intstat;        /* Interrupt Status */
1014         u32     reserved2[116];
1015         u32     mda[27];                /* Master Domain Assignment */
1016         u32     reserved3[101];
1017         u32     pdap[118];              /* Peripheral Domain Access Permissions */
1018         u32     reserved4[138];
1019         struct {
1020                 u32 mrsa;               /* Memory Region Start Address */
1021                 u32 mrea;               /* Memory Region End Address */
1022                 u32 mrc;                /* Memory Region Control */
1023                 u32 mrvs;               /* Memory Region Violation Status */
1024         } mem_region[52];
1025 };
1026
1027 struct rdc_sema_regs {
1028         u8      gate[64];       /* Gate */
1029         u16     rstgt;          /* Reset Gate */
1030 };
1031
1032 /* eLCDIF controller registers */
1033 struct mxs_lcdif_regs {
1034         u32     hw_lcdif_ctrl;                  /* 0x00 */
1035         u32     hw_lcdif_ctrl_set;
1036         u32     hw_lcdif_ctrl_clr;
1037         u32     hw_lcdif_ctrl_tog;
1038         u32     hw_lcdif_ctrl1;                 /* 0x10 */
1039         u32     hw_lcdif_ctrl1_set;
1040         u32     hw_lcdif_ctrl1_clr;
1041         u32     hw_lcdif_ctrl1_tog;
1042         u32     hw_lcdif_ctrl2;                 /* 0x20 */
1043         u32     hw_lcdif_ctrl2_set;
1044         u32     hw_lcdif_ctrl2_clr;
1045         u32     hw_lcdif_ctrl2_tog;
1046         u32     hw_lcdif_transfer_count;        /* 0x30 */
1047         u32     reserved1[3];
1048         u32     hw_lcdif_cur_buf;               /* 0x40 */
1049         u32     reserved2[3];
1050         u32     hw_lcdif_next_buf;              /* 0x50 */
1051         u32     reserved3[3];
1052         u32     hw_lcdif_timing;                /* 0x60 */
1053         u32     reserved4[3];
1054         u32     hw_lcdif_vdctrl0;               /* 0x70 */
1055         u32     hw_lcdif_vdctrl0_set;
1056         u32     hw_lcdif_vdctrl0_clr;
1057         u32     hw_lcdif_vdctrl0_tog;
1058         u32     hw_lcdif_vdctrl1;               /* 0x80 */
1059         u32     reserved5[3];
1060         u32     hw_lcdif_vdctrl2;               /* 0x90 */
1061         u32     reserved6[3];
1062         u32     hw_lcdif_vdctrl3;               /* 0xa0 */
1063         u32     reserved7[3];
1064         u32     hw_lcdif_vdctrl4;               /* 0xb0 */
1065         u32     reserved8[3];
1066         u32     hw_lcdif_dvictrl0;              /* 0xc0 */
1067         u32     reserved9[3];
1068         u32     hw_lcdif_dvictrl1;              /* 0xd0 */
1069         u32     reserved10[3];
1070         u32     hw_lcdif_dvictrl2;              /* 0xe0 */
1071         u32     reserved11[3];
1072         u32     hw_lcdif_dvictrl3;              /* 0xf0 */
1073         u32     reserved12[3];
1074         u32     hw_lcdif_dvictrl4;              /* 0x100 */
1075         u32     reserved13[3];
1076         u32     hw_lcdif_csc_coeffctrl0;        /* 0x110 */
1077         u32     reserved14[3];
1078         u32     hw_lcdif_csc_coeffctrl1;        /* 0x120 */
1079         u32     reserved15[3];
1080         u32     hw_lcdif_csc_coeffctrl2;        /* 0x130 */
1081         u32     reserved16[3];
1082         u32     hw_lcdif_csc_coeffctrl3;        /* 0x140 */
1083         u32     reserved17[3];
1084         u32     hw_lcdif_csc_coeffctrl4;        /* 0x150 */
1085         u32     reserved18[3];
1086         u32     hw_lcdif_csc_offset;    /* 0x160 */
1087         u32     reserved19[3];
1088         u32     hw_lcdif_csc_limit;             /* 0x170 */
1089         u32     reserved20[3];
1090         u32     hw_lcdif_data;                  /* 0x180 */
1091         u32     reserved21[3];
1092         u32     hw_lcdif_bm_error_stat; /* 0x190 */
1093         u32     reserved22[3];
1094         u32     hw_lcdif_crc_stat;              /* 0x1a0 */
1095         u32     reserved23[3];
1096         u32     hw_lcdif_lcdif_stat;    /* 0x1b0 */
1097         u32     reserved24[3];
1098         u32     hw_lcdif_version;               /* 0x1c0 */
1099         u32     reserved25[3];
1100         u32     hw_lcdif_debug0;                /* 0x1d0 */
1101         u32     reserved26[3];
1102         u32     hw_lcdif_debug1;                /* 0x1e0 */
1103         u32     reserved27[3];
1104         u32     hw_lcdif_debug2;                /* 0x1f0 */
1105         u32     reserved28[3];
1106         u32     hw_lcdif_thres;                 /* 0x200 */
1107         u32     reserved29[3];
1108         u32     hw_lcdif_as_ctrl;               /* 0x210 */
1109         u32     reserved30[3];
1110         u32     hw_lcdif_as_buf;                /* 0x220 */
1111         u32     reserved31[3];
1112         u32     hw_lcdif_as_next_buf;   /* 0x230 */
1113         u32     reserved32[3];
1114         u32     hw_lcdif_as_clrkeylow;  /* 0x240 */
1115         u32     reserved33[3];
1116         u32     hw_lcdif_as_clrkeyhigh; /* 0x250 */
1117         u32     reserved34[3];
1118         u32     hw_lcdif_as_sync_delay; /* 0x260 */
1119         u32     reserved35[3];
1120         u32     hw_lcdif_as_debug3;             /* 0x270 */
1121         u32     reserved36[3];
1122         u32     hw_lcdif_as_debug4;             /* 0x280 */
1123         u32     reserved37[3];
1124         u32     hw_lcdif_as_debug5;             /* 0x290 */
1125 };
1126
1127 #define MXS_LCDIF_BASE ELCDIF1_IPS_BASE_ADDR
1128
1129 #define LCDIF_CTRL_SFTRST                                       (1 << 31)
1130 #define LCDIF_CTRL_CLKGATE                                      (1 << 30)
1131 #define LCDIF_CTRL_YCBCR422_INPUT                               (1 << 29)
1132 #define LCDIF_CTRL_READ_WRITEB                                  (1 << 28)
1133 #define LCDIF_CTRL_WAIT_FOR_VSYNC_EDGE                          (1 << 27)
1134 #define LCDIF_CTRL_DATA_SHIFT_DIR                               (1 << 26)
1135 #define LCDIF_CTRL_SHIFT_NUM_BITS_MASK                          (0x1f << 21)
1136 #define LCDIF_CTRL_SHIFT_NUM_BITS_OFFSET                        21
1137 #define LCDIF_CTRL_DVI_MODE                                     (1 << 20)
1138 #define LCDIF_CTRL_BYPASS_COUNT                                 (1 << 19)
1139 #define LCDIF_CTRL_VSYNC_MODE                                   (1 << 18)
1140 #define LCDIF_CTRL_DOTCLK_MODE                                  (1 << 17)
1141 #define LCDIF_CTRL_DATA_SELECT                                  (1 << 16)
1142 #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK                      (0x3 << 14)
1143 #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_OFFSET                    14
1144 #define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK                        (0x3 << 12)
1145 #define LCDIF_CTRL_CSC_DATA_SWIZZLE_OFFSET                      12
1146 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK                       (0x3 << 10)
1147 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_OFFSET                     10
1148 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_16BIT                      (0 << 10)
1149 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_8BIT                       (1 << 10)
1150 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_18BIT                      (2 << 10)
1151 #define LCDIF_CTRL_LCD_DATABUS_WIDTH_24BIT                      (3 << 10)
1152 #define LCDIF_CTRL_WORD_LENGTH_MASK                             (0x3 << 8)
1153 #define LCDIF_CTRL_WORD_LENGTH_OFFSET                           8
1154 #define LCDIF_CTRL_WORD_LENGTH_16BIT                            (0 << 8)
1155 #define LCDIF_CTRL_WORD_LENGTH_8BIT                             (1 << 8)
1156 #define LCDIF_CTRL_WORD_LENGTH_18BIT                            (2 << 8)
1157 #define LCDIF_CTRL_WORD_LENGTH_24BIT                            (3 << 8)
1158 #define LCDIF_CTRL_RGB_TO_YCBCR422_CSC                          (1 << 7)
1159 #define LCDIF_CTRL_LCDIF_MASTER                                 (1 << 5)
1160 #define LCDIF_CTRL_DATA_FORMAT_16_BIT                           (1 << 3)
1161 #define LCDIF_CTRL_DATA_FORMAT_18_BIT                           (1 << 2)
1162 #define LCDIF_CTRL_DATA_FORMAT_24_BIT                           (1 << 1)
1163 #define LCDIF_CTRL_RUN                                          (1 << 0)
1164
1165 #define LCDIF_CTRL1_COMBINE_MPU_WR_STRB                         (1 << 27)
1166 #define LCDIF_CTRL1_BM_ERROR_IRQ_EN                             (1 << 26)
1167 #define LCDIF_CTRL1_BM_ERROR_IRQ                                (1 << 25)
1168 #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW                        (1 << 24)
1169 #define LCDIF_CTRL1_INTERLACE_FIELDS                            (1 << 23)
1170 #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD           (1 << 22)
1171 #define LCDIF_CTRL1_FIFO_CLEAR                                  (1 << 21)
1172 #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS                     (1 << 20)
1173 #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK                    (0xf << 16)
1174 #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_OFFSET                  16
1175 #define LCDIF_CTRL1_OVERFLOW_IRQ_EN                             (1 << 15)
1176 #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN                            (1 << 14)
1177 #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN                       (1 << 13)
1178 #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN                           (1 << 12)
1179 #define LCDIF_CTRL1_OVERFLOW_IRQ                                (1 << 11)
1180 #define LCDIF_CTRL1_UNDERFLOW_IRQ                               (1 << 10)
1181 #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ                          (1 << 9)
1182 #define LCDIF_CTRL1_VSYNC_EDGE_IRQ                              (1 << 8)
1183 #define LCDIF_CTRL1_BUSY_ENABLE                                 (1 << 2)
1184 #define LCDIF_CTRL1_MODE86                                      (1 << 1)
1185 #define LCDIF_CTRL1_RESET                                       (1 << 0)
1186
1187 #define LCDIF_CTRL2_OUTSTANDING_REQS_MASK                       (0x7 << 21)
1188 #define LCDIF_CTRL2_OUTSTANDING_REQS_OFFSET                     21
1189 #define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_1                      (0x0 << 21)
1190 #define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_2                      (0x1 << 21)
1191 #define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_4                      (0x2 << 21)
1192 #define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_8                      (0x3 << 21)
1193 #define LCDIF_CTRL2_OUTSTANDING_REQS_REQ_16                     (0x4 << 21)
1194 #define LCDIF_CTRL2_BURST_LEN_8                                 (1 << 20)
1195 #define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK                       (0x7 << 16)
1196 #define LCDIF_CTRL2_ODD_LINE_PATTERN_OFFSET                     16
1197 #define LCDIF_CTRL2_ODD_LINE_PATTERN_RGB                        (0x0 << 16)
1198 #define LCDIF_CTRL2_ODD_LINE_PATTERN_RBG                        (0x1 << 16)
1199 #define LCDIF_CTRL2_ODD_LINE_PATTERN_GBR                        (0x2 << 16)
1200 #define LCDIF_CTRL2_ODD_LINE_PATTERN_GRB                        (0x3 << 16)
1201 #define LCDIF_CTRL2_ODD_LINE_PATTERN_BRG                        (0x4 << 16)
1202 #define LCDIF_CTRL2_ODD_LINE_PATTERN_BGR                        (0x5 << 16)
1203 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK                      (0x7 << 12)
1204 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_OFFSET                    12
1205 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_RGB                       (0x0 << 12)
1206 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_RBG                       (0x1 << 12)
1207 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_GBR                       (0x2 << 12)
1208 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_GRB                       (0x3 << 12)
1209 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_BRG                       (0x4 << 12)
1210 #define LCDIF_CTRL2_EVEN_LINE_PATTERN_BGR                       (0x5 << 12)
1211 #define LCDIF_CTRL2_READ_PACK_DIR                               (1 << 10)
1212 #define LCDIF_CTRL2_READ_MODE_OUTPUT_IN_RGB_FORMAT              (1 << 9)
1213 #define LCDIF_CTRL2_READ_MODE_6_BIT_INPUT                       (1 << 8)
1214 #define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_MASK          (0x7 << 4)
1215 #define LCDIF_CTRL2_READ_MODE_NUM_PACKED_SUBWORDS_OFFSET        4
1216 #define LCDIF_CTRL2_INITIAL_DUMMY_READ_MASK                     (0x7 << 1)
1217 #define LCDIF_CTRL2_INITIAL_DUMMY_READ_OFFSET                   1
1218
1219 #define LCDIF_TRANSFER_COUNT_V_COUNT_MASK                       (0xffff << 16)
1220 #define LCDIF_TRANSFER_COUNT_V_COUNT_OFFSET                     16
1221 #define LCDIF_TRANSFER_COUNT_H_COUNT_MASK                       (0xffff << 0)
1222 #define LCDIF_TRANSFER_COUNT_H_COUNT_OFFSET                     0
1223
1224 #define LCDIF_CUR_BUF_ADDR_MASK                                 0xffffffff
1225 #define LCDIF_CUR_BUF_ADDR_OFFSET                               0
1226
1227 #define LCDIF_NEXT_BUF_ADDR_MASK                                0xffffffff
1228 #define LCDIF_NEXT_BUF_ADDR_OFFSET                              0
1229
1230 #define LCDIF_TIMING_CMD_HOLD_MASK                              (0xff << 24)
1231 #define LCDIF_TIMING_CMD_HOLD_OFFSET                            24
1232 #define LCDIF_TIMING_CMD_SETUP_MASK                             (0xff << 16)
1233 #define LCDIF_TIMING_CMD_SETUP_OFFSET                           16
1234 #define LCDIF_TIMING_DATA_HOLD_MASK                             (0xff << 8)
1235 #define LCDIF_TIMING_DATA_HOLD_OFFSET                           8
1236 #define LCDIF_TIMING_DATA_SETUP_MASK                            (0xff << 0)
1237 #define LCDIF_TIMING_DATA_SETUP_OFFSET                          0
1238
1239 #define LCDIF_VDCTRL0_VSYNC_OEB                                 (1 << 29)
1240 #define LCDIF_VDCTRL0_ENABLE_PRESENT                            (1 << 28)
1241 #define LCDIF_VDCTRL0_VSYNC_POL                                 (1 << 27)
1242 #define LCDIF_VDCTRL0_HSYNC_POL                                 (1 << 26)
1243 #define LCDIF_VDCTRL0_DOTCLK_POL                                (1 << 25)
1244 #define LCDIF_VDCTRL0_ENABLE_POL                                (1 << 24)
1245 #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT                         (1 << 21)
1246 #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT                    (1 << 20)
1247 #define LCDIF_VDCTRL0_HALF_LINE                                 (1 << 19)
1248 #define LCDIF_VDCTRL0_HALF_LINE_MODE                            (1 << 18)
1249 #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK                    0x3ffff
1250 #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_OFFSET                  0
1251
1252 #define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK                         0xffffffff
1253 #define LCDIF_VDCTRL1_VSYNC_PERIOD_OFFSET                       0
1254
1255 #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK                    (0x3fff << 18)
1256 #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_OFFSET                  18
1257 #define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK                         0x3ffff
1258 #define LCDIF_VDCTRL2_HSYNC_PERIOD_OFFSET                       0
1259
1260 #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS                          (1 << 29)
1261 #define LCDIF_VDCTRL3_VSYNC_ONLY                                (1 << 28)
1262 #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK                  (0xfff << 16)
1263 #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_OFFSET                16
1264 #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK                    (0xffff << 0)
1265 #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_OFFSET                  0
1266
1267 #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK                       (0x7 << 29)
1268 #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_OFFSET                     29
1269 #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON                           (1 << 18)
1270 #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK              0x3ffff
1271 #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_OFFSET            0
1272
1273
1274 extern void check_cpu_temperature(void);
1275
1276 extern void pcie_power_up(void);
1277 extern void pcie_power_off(void);
1278
1279 /* If ROM fail back to USB recover mode, USBPH0_PWD will be clear to use USB
1280  * If boot from the other mode, USB0_PWD will keep reset value
1281  */
1282 #define is_boot_from_usb(void) (readl(USBOTG1_IPS_BASE_ADDR + 0x158) || \
1283         readl(USBOTG2_IPS_BASE_ADDR + 0x158))
1284 #define disconnect_from_pc(void) writel(0x0, USBOTG1_IPS_BASE_ADDR + 0x140)
1285
1286 /* Boot device type */
1287 #define BOOT_TYPE_SD            0x1
1288 #define BOOT_TYPE_MMC           0x2
1289 #define BOOT_TYPE_NAND          0x3
1290 #define BOOT_TYPE_QSPI          0x4
1291 #define BOOT_TYPE_WEIM          0x5
1292 #define BOOT_TYPE_SPINOR        0x6
1293
1294 struct bootrom_sw_info {
1295         u8 reserved_1;
1296         u8 boot_dev_instance;
1297         u8 boot_dev_type;
1298         u8 reserved_2;
1299         u32 arm_core_freq;
1300         u32 axi_freq;
1301         u32 ddr_freq;
1302         u32 gpt1_freq;
1303         u32 reserved_3[3];
1304 };
1305
1306 #endif /* __ASSEMBLER__*/
1307 #endif /* __ASM_ARCH_MX7_IMX_REGS_H__ */