xref: /rk3399_ARM-atf/plat/imx/common/include/imx_io_mux.h (revision 936072edbb29ac77be94ee182ed7c5c3581b11b1)
1965bda4dSBryan O'Donoghue /*
2*936072edSJun Nie  * Copyright 2018-2019, ARM Limited and Contributors. All rights reserved.
3965bda4dSBryan O'Donoghue  *
4965bda4dSBryan O'Donoghue  * SPDX-License-Identifier: BSD-3-Clause
5965bda4dSBryan O'Donoghue  */
6965bda4dSBryan O'Donoghue 
7c3cf06f1SAntonio Nino Diaz #ifndef IMX_IO_MUX_H
8c3cf06f1SAntonio Nino Diaz #define IMX_IO_MUX_H
9965bda4dSBryan O'Donoghue 
10965bda4dSBryan O'Donoghue #include <stdint.h>
11*936072edSJun Nie #include <lib/utils_def.h>
12965bda4dSBryan O'Donoghue 
13965bda4dSBryan O'Donoghue /*
14965bda4dSBryan O'Donoghue  * i.MX 7Solo Applications Processor Reference Manual, Rev. 0.1, 08/2016
15965bda4dSBryan O'Donoghue  * Section 8.2.7 IOMUXC Memory Map/Register Definition
16965bda4dSBryan O'Donoghue  */
17965bda4dSBryan O'Donoghue 
18965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO08_OFFSET		0x0014
19965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO09_OFFSET		0x0018
20965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO10_OFFSET		0x001C
21965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO11_OFFSET		0x0020
22965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO12_OFFSET		0x0024
23965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO13_OFFSET		0x0028
24*936072edSJun Nie 
25965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_OFFSET		0x002C
26*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_ALT1_SD3_CD_B	BIT(0)
27*936072edSJun Nie 
28965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO15_OFFSET		0x0030
29965bda4dSBryan O'Donoghue 
30965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA00_OFFSET	0x0034
31965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA01_OFFSET	0x0038
32965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA02_OFFSET	0x003C
33965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA03_OFFSET	0x0040
34965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA04_OFFSET	0x0044
35965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA05_OFFSET	0x0048
36965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA06_OFFSET	0x004C
37965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA07_OFFSET	0x0050
38965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA08_OFFSET	0x0054
39965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA09_OFFSET	0x0058
40965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA10_OFFSET	0x005C
41965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA11_OFFSET	0x0060
42965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA12_OFFSET	0x0064
43965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA13_OFFSET	0x0068
44965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA14_OFFSET	0x006C
45965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA15_OFFSET	0x0070
46965bda4dSBryan O'Donoghue 
47965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCLK_OFFSET		0x0074
48965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDLE_OFFSET		0x0078
49965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDOE_OFFSET		0x007C
50965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDSHR_OFFSET		0x0080
51965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE0_OFFSET		0x0084
52965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE1_OFFSET		0x0088
53965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE2_OFFSET		0x008C
54965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE3_OFFSET		0x0090
55965bda4dSBryan O'Donoghue 
56965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDCLK_OFFSET		0x0094
57965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDOE_OFFSET		0x0098
58965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDRL_OFFSET		0x009C
59965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDSP_OFFSET		0x00A0
60965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR0_OFFSET		0x00A4
61965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR1_OFFSET		0x00A8
62965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_COM_OFFSET	0x00AC
63965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_STAT_OFFSET	0x00B0
64965bda4dSBryan O'Donoghue 
65965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_CLK_OFFSET		0x00B4
66965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_ENABLE_OFFSET		0x00B8
67965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_HSYNC_OFFSET		0x00BC
68965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_VSYNC_OFFSET		0x00C0
69965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_RESET_OFFSET		0x00C4
70965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA00_OFFSET		0x00C8
71965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA01_OFFSET		0x00CC
72965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA02_OFFSET		0x00D0
73965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA03_OFFSET		0x00D4
74965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA04_OFFSET		0x00D8
75965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA05_OFFSET		0x00DC
76965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA06_OFFSET		0x00E0
77965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA07_OFFSET		0x00E4
78965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA08_OFFSET		0x00E8
79965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA09_OFFSET		0x00EC
80965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA10_OFFSET		0x00F0
81965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA11_OFFSET		0x00F4
82965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA12_OFFSET		0x00F8
83965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA13_OFFSET		0x00FC
84965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA14_OFFSET		0x0100
85965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA15_OFFSET		0x0104
86965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA16_OFFSET		0x0108
87965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA17_OFFSET		0x010C
88965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA18_OFFSET		0x0110
89965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA19_OFFSET		0x0114
90965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA20_OFFSET		0x0118
91965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA21_OFFSET		0x011C
92965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA22_OFFSET		0x0120
93965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA23_OFFSET		0x0124
94965bda4dSBryan O'Donoghue 
95965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_OFFSET	0x0128
96965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT0_UART1_RX_DATA	0x00
97965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT1_I2C1_SCL	BIT(0)
98965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT2_PMIC_READY	BIT(1)
99965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT3_ECSPI1_SS1	(BIT(1) | BIT(0))
100965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT4_ENET2_1588_EVENT0_IN BIT(3)
101965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT5_GPIO4_IO0	(BIT(2) | BIT(0))
102965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT6_ENET1_MDIO	(BIT(2) | BIT(1))
103965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_SION		BIT(3)
104965bda4dSBryan O'Donoghue 
105965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_OFFSET	0x012C
106965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT0_UART1_TX_DATA	0x00
107965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT1_I2C1_SDA	BIT(0)
108965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT2_SAI3_MCLK	BIT(1)
109965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT3_ECSPI1_SS2	(BIT(1) | BIT(0))
110965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT4_ENET2_1588_EVENT0_OUT BIT(3)
111965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT5_GPIO4_IO1	(BIT(2) | BIT(0))
112965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT6_ENET1_MDC	(BIT(2) | BIT(1))
113965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_SION		BIT(3)
114965bda4dSBryan O'Donoghue 
115965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART2_RX_DATA_OFFSET	0x0130
116965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART2_TX_DATA_OFFSET	0x0134
117965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART3_RX_DATA_OFFSET	0x0138
118965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART3_TX_DATA_OFFSET	0x013C
119965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART3_RTS_B_OFFSET	0x0140
120965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_UART3_CTS_B_OFFSET	0x0144
121965bda4dSBryan O'Donoghue 
122965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C1_SCL_OFFSET		0x0148
123965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C1_SDA_OFFSET		0x014C
124965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C2_SCL_OFFSET		0x0150
125965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C2_SDA_OFFSET		0x0154
126965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C3_SCL_OFFSET		0x0158
127965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C3_SDA_OFFSET		0x015C
128*936072edSJun Nie 
129965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_OFFSET		0x0160
130*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT0_I2C4_SCL		0x0
131*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT1_UART5_RX_DATA	BIT(0)
132*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT2_WDOG4_WDOG_B	BIT(1)
133*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT3_CSI_PIXCLK		(BIT(1) | BIT(0))
134*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT4_USB_OTG1_ID		BIT(2)
135*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT5_GPIO4_IO14		(BIT(2) | BIT(0))
136*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT6_EPDC_VCOM0		(BIT(2) | BIT(1))
137*936072edSJun Nie 
138965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_OFFSET		0x0164
139*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT0_I2C4_SDA		0x0
140*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT1_UART5_TX_DATA	BIT(0)
141*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT2_WDOG4_WDOG_RST_B_DEB BIT(1)
142*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT3_CSI_MCLK		(BIT(1) | BIT(0))
143*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT4_USB_OTG2_ID		BIT(2)
144*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT5_GPIO4_IO15		(BIT(1) | BIT(0))
145*936072edSJun Nie #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT6_EPDC_VCOM1		(BIT(2) | BIT(1))
146965bda4dSBryan O'Donoghue 
147965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_OFFSET	0x0168
148965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT0_ECSPI1_SCLK	0x00
149965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT1_UART6_RX_DATA	BIT(0)
150965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT2_SD2_DATA4	BIT(1)
151965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT3_CSI_DATA2	(BIT(1) | BIT(0))
152965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT5_GPIO4_IO16	(BIT(2) | BIT(0))
153965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT6_EPDC_PWR_COM	(BIT(2) | (BIT(1))
154965bda4dSBryan O'Donoghue 
155965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_OFFSET	0x016C
156965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT0_ECSPI1_MOSI	0x00
157965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT1_UART6_TX_DATA	BIT(0)
158965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT2_SD2_DATA5	BIT(1)
159965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT3_CSI_DATA3	(BIT(1) | BIT(0))
160965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT5_GPIO4_IO17	(BIT(2) | BIT(0))
161965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT6_EPDC_PWR_STAT	(BIT(2) | (BIT(1))
162965bda4dSBryan O'Donoghue 
163965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MISO_OFFSET	0x0170
164965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SS0_OFFSET		0x0174
165965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SCLK_OFFSET	0x0178
166965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MOSI_OFFSET	0x017C
167965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MISO_OFFSET	0x0180
168965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SS0_OFFSET		0x0184
169965bda4dSBryan O'Donoghue 
170965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_CD_B_OFFSET		0x0188
171965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_WP_OFFSET		0x018C
172965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_RESET_B_OFFSET	0x0190
173965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_CLK_OFFSET		0x0194
174965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_CMD_OFFSET		0x0198
175965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA0_OFFSET		0x019C
176965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA1_OFFSET		0x01A0
177965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA2_OFFSET		0x01A4
178965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA3_OFFSET		0x01A8
179965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_CD_B_OFFSET		0x01AC
180965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_WP_OFFSET		0x01B0
181965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_RESET_B_OFFSET	0x01B4
182965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_CLK_OFFSET		0x01B8
183965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_CMD_OFFSET		0x01BC
184965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA0_OFFSET		0x01C0
185965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA1_OFFSET		0x01C4
186965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2_OFFSET		0x01C8
187965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA3_OFFSET		0x01CC
188*936072edSJun Nie 
189965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_CLK_OFFSET		0x01D0
190965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_CMD_OFFSET		0x01D4
191965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA0_OFFSET		0x01D8
192965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA1_OFFSET		0x01DC
193965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA2_OFFSET		0x01E0
194965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA3_OFFSET		0x01E4
195965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA4_OFFSET		0x01E8
196965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA5_OFFSET		0x01EC
197965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA6_OFFSET		0x01F0
198965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA7_OFFSET		0x01F4
199965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_STROBE_OFFSET		0x01F8
200965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SD3_RESET_B_OFFSET	0x01FC
201965bda4dSBryan O'Donoghue 
202965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_DATA_OFFSET	0x0200
203965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_BCLK_OFFSET	0x0204
204965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_SYNC_OFFSET	0x0208
205965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_DATA_OFFSET	0x020C
206965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_SYNC_OFFSET	0x0210
207965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_BCLK_OFFSET	0x0214
208965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI1_MCLK_OFFSET		0x0218
209965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_SYNC_OFFSET	0x021C
210965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_BCLK_OFFSET	0x0220
211965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI2_RX_DATA_OFFSET	0x0224
212965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_DATA_OFFSET	0x0228
213965bda4dSBryan O'Donoghue 
214965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD0_OFFSET	0x022C
215965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD1_OFFSET	0x0230
216965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD2_OFFSET	0x0234
217965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD3_OFFSET	0x0238
218965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET	0x023C
219965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RXC_OFFSET	0x0240
220965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD0_OFFSET	0x0244
221965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD1_OFFSET	0x0248
222965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD2_OFFSET	0x024C
223965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD3_OFFSET	0x0250
224965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET	0x0254
225965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TXC_OFFSET	0x0258
226965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_TX_CLK_OFFSET	0x025C
227965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RX_CLK_OFFSET	0x0260
228965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_CRS_OFFSET		0x0264
229965bda4dSBryan O'Donoghue #define IOMUXC_SW_MUX_CTL_PAD_ENET1_COL_OFFSET		0x0268
230965bda4dSBryan O'Donoghue 
231965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO08_OFFSET		0x026C
232965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO09_OFFSET		0x0270
233965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO10_OFFSET		0x0274
234965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO11_OFFSET		0x0278
235965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO12_OFFSET		0x027C
236965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO13_OFFSET		0x0280
237965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_OFFSET		0x0284
238965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_OFFSET		0x0288
239965bda4dSBryan O'Donoghue 
240965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_MOD_OFFSET		0x028C
241965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TCK_OFFSET		0x0290
242965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDI_OFFSET		0x0294
243965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDO_OFFSET		0x0298
244965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TMS_OFFSET		0x029C
245965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TRST_B_OFFSET	0x02A0
246965bda4dSBryan O'Donoghue 
247965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA00_OFFSET	0x02A4
248965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA01_OFFSET	0x02A8
249965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA02_OFFSET	0x02AC
250965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA03_OFFSET	0x02B0
251965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA04_OFFSET	0x02B4
252965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA05_OFFSET	0x02B8
253965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA06_OFFSET	0x02BC
254965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA07_OFFSET	0x02C0
255965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA08_OFFSET	0x02C4
256965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA09_OFFSET	0x02C8
257965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA10_OFFSET	0x02CC
258965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA11_OFFSET	0x02D0
259965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA12_OFFSET	0x02D4
260965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA13_OFFSET	0x02D8
261965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA14_OFFSET	0x02DC
262965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA15_OFFSET	0x02E0
263965bda4dSBryan O'Donoghue 
264965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCLK_OFFSET		0x02E4
265965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDLE_OFFSET		0x02E8
266965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDOE_OFFSET		0x02EC
267965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDSHR_OFFSET		0x02F0
268965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE0_OFFSET		0x02F4
269965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE1_OFFSET		0x02F8
270965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_OFFSET		0x02FC
271965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE3_OFFSET		0x0300
272965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDCLK_OFFSET		0x0304
273965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDOE_OFFSET		0x0308
274965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_OFFSET		0x030C
275965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDSP_OFFSET		0x0310
276965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR0_OFFSET		0x0314
277965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR1_OFFSET		0x0318
278965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_COM_OFFSET	0x031C
279965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_STAT_OFFSET	0x0320
280965bda4dSBryan O'Donoghue 
281965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_CLK_OFFSET		0x0324
282965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_ENABLE_OFFSET		0x0328
283965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_HSYNC_OFFSET		0x032C
284965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_VSYNC_OFFSET		0x0330
285965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_RESET_OFFSET		0x0334
286965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA00_OFFSET		0x0338
287965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA01_OFFSET		0x033C
288965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA02_OFFSET		0x0340
289965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA03_OFFSET		0x0344
290965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA04_OFFSET		0x0348
291965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA05_OFFSET		0x034C
292965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA06_OFFSET		0x0350
293965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA07_OFFSET		0x0354
294965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA08_OFFSET		0x0358
295965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA09_OFFSET		0x035C
296965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA10_OFFSET		0x0360
297965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA11_OFFSET		0x0364
298965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA12_OFFSET		0x0368
299965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA13_OFFSET		0x036C
300965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA14_OFFSET		0x0370
301965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA15_OFFSET		0x0374
302965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA16_OFFSET		0x0378
303965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA17_OFFSET		0x037C
304965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA18_OFFSET		0x0380
305965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA19_OFFSET		0x0384
306965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA20_OFFSET		0x0388
307965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA21_OFFSET		0x038C
308965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA22_OFFSET		0x0390
309965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA23_OFFSET		0x0394
310965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_OFFSET	0x0398
311965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_0_X1		0
312965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_1_X4		BIT(0)
313965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_2_X2		BIT(1)
314965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_3_X6		(BIT(1) | BIT(0))
315965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_FAST		0
316965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_SLOW		BIT(2)
317965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_DIS		0
318965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_EN		BIT(3)
319965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_DIS		0
320965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_EN		BIT(4)
321965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_0_100K_PD	0
322965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_1_5K_PU		BIT(5)
323965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_2_47K_PU		BIT(6)
324965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_3_100K_PU	(BIT(6) | BIT(5))
325965bda4dSBryan O'Donoghue 
326965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_OFFSET	0x039C
327965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_0_X1		0
328965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_1_X4		BIT(0)
329965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_2_X2		BIT(1)
330965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_3_X6		(BIT(1) | BIT(0))
331965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_FAST		0
332965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_SLOW		BIT(2)
333965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_DIS		0
334965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_EN		BIT(3)
335965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_DIS		0
336965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_EN		BIT(4)
337965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_0_100K_PD	0
338965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_1_5K_PU		BIT(5)
339965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_2_47K_PU		BIT(6)
340965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_3_100K_PU	(BIT(6) | BIT(5))
341965bda4dSBryan O'Donoghue 
342965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART2_RX_DATA_OFFSET	0x03A0
343965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART2_TX_DATA_OFFSET	0x03A4
344965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART3_RX_DATA_OFFSET	0x03A8
345965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART3_TX_DATA_OFFSET	0x03AC
346965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART3_RTS_B_OFFSET	0x03B0
347965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_UART3_CTS_B_OFFSET	0x03B4
348965bda4dSBryan O'Donoghue 
349965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C1_SCL_OFFSET		0x03B8
350965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C1_SDA_OFFSET		0x03BC
351965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C2_SCL_OFFSET		0x03C0
352965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C2_SDA_OFFSET		0x03C4
353965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C3_SCL_OFFSET		0x03C8
354965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C3_SDA_OFFSET		0x03CC
355965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C4_SCL_OFFSET		0x03D0
356965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_I2C4_SDA_OFFSET		0x03D4
357965bda4dSBryan O'Donoghue 
358965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_OFFSET	0x03D8
359965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_0_X1	0
360965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_1_X4	BIT(0)
361965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_2_X2	BIT(1)
362965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_3_X6	(BIT(1) | BIT(0))
363965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_FAST	0
364965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_SLOW	BIT(2)
365965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_DIS	0
366965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_EN	BIT(3)
367965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_DIS	0
368965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_EN		BIT(4)
369965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_0_100K_PD	0
370965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_1_5K_PU	BIT(5)
371965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_2_47K_PU	BIT(6)
372965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_3_100K_PU	(BIT(6) | BIT(5))
373965bda4dSBryan O'Donoghue 
374965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_OFFSET	0x03DC
375965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_0_X1	0
376965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_1_X4	BIT(0)
377965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_2_X2	BIT(1)
378965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_3_X6	(BIT(1) | BIT(0))
379965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_FAST	0
380965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_SLOW	BIT(2)
381965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_DIS	0
382965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_EN	BIT(3)
383965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_DIS	0
384965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_EN		BIT(4)
385965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_0_100K_PD	0
386965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_1_5K_PU	BIT(5)
387965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_2_47K_PU	BIT(6)
388965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_3_100K_PU	(BIT(6) | BIT(5))
389965bda4dSBryan O'Donoghue 
390965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MISO_OFFSET	0x03E0
391965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SS0_OFFSET		0x03E4
392965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SCLK_OFFSET	0x03E8
393965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MOSI_OFFSET	0x03EC
394965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MISO_OFFSET	0x03F0
395965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SS0_OFFSET		0x03F4
396965bda4dSBryan O'Donoghue 
397965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_CD_B_OFFSET		0x03F8
398965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_WP_OFFSET		0x03FC
399965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_RESET_B_OFFSET	0x0400
400965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_CLK_OFFSET		0x0404
401965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_CMD_OFFSET		0x0408
402965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA0_OFFSET		0x040C
403965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA1_OFFSET		0x0410
404965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA2_OFFSET		0x0414
405965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA3_OFFSET		0x0418
406965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_CD_B_OFFSET		0x041C
407965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_WP_OFFSET		0x0420
408965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_RESET_B_OFFSET	0x0424
409965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_CLK_OFFSET		0x0428
410965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_CMD_OFFSET		0x042C
411965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA0_OFFSET		0x0430
412965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA1_OFFSET		0x0434
413965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA2_OFFSET		0x0438
414965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA3_OFFSET		0x043C
415*936072edSJun Nie 
416965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_CLK_OFFSET		0x0440
417965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_CMD_OFFSET		0x0444
418965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA0_OFFSET		0x0448
419965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA1_OFFSET		0x044C
420965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA2_OFFSET		0x0450
421965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA3_OFFSET		0x0454
422965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA4_OFFSET		0x0458
423965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA5_OFFSET		0x045C
424965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA6_OFFSET		0x0460
425965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA7_OFFSET		0x0464
426965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_STROBE_OFFSET		0x0468
427965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SD3_RESET_B_OFFSET	0x046C
428*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_0_X1		0
429*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4		BIT(0)
430*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_2_X2		BIT(1)
431*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_3_X6		(BIT(1) | BIT(0))
432*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4		BIT(0)
433*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_SLOW		BIT(2)
434*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_FAST		0
435*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_HYS			BIT(3)
436*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_PE			BIT(4)
437*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_PD_100K		(0 << 5)
438*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_5K			(1 << 5)
439*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_47K		(2 << 5)
440*936072edSJun Nie #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_100K		(3 << 5)
441965bda4dSBryan O'Donoghue 
442965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_DATA_OFFSET	0x0470
443965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_BCLK_OFFSET	0x0474
444965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_SYNC_OFFSET	0x0478
445965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_DATA_OFFSET	0x047C
446965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_SYNC_OFFSET	0x0480
447965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK_OFFSET	0x0484
448965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI1_MCLK_OFFSET		0x0488
449965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_SYNC_OFFSET	0x048C
450965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_BCLK_OFFSET	0x0490
451965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI2_RX_DATA_OFFSET	0x0494
452965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_DATA_OFFSET	0x0498
453965bda4dSBryan O'Donoghue 
454965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD0_OFFSET	0x049C
455965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD1_OFFSET	0x04A0
456965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD2_OFFSET	0x04A4
457965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD3_OFFSET	0x04A8
458965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET	0x04AC
459965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RXC_OFFSET	0x04B0
460965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD0_OFFSET	0x04B4
461965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD1_OFFSET	0x04B8
462965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD2_OFFSET	0x04BC
463965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD3_OFFSET	0x04C0
464965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET	0x04C4
465965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TXC_OFFSET	0x04C8
466965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_TX_CLK_OFFSET	0x04CC
467965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RX_CLK_OFFSET	0x04D0
468965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_CRS_OFFSET		0x04D4
469965bda4dSBryan O'Donoghue #define IOMUXC_SW_PAD_CTL_PAD_ENET1_COL_OFFSET		0x04D8
470965bda4dSBryan O'Donoghue 
471965bda4dSBryan O'Donoghue #define IOMUXC_FLEXCAN1_RX_SELECT_INPUT_OFFSET		0x04DC
472965bda4dSBryan O'Donoghue #define IOMUXC_FLEXCAN2_RX_SELECT_INPUT_OFFSET		0x04E0
473965bda4dSBryan O'Donoghue 
474965bda4dSBryan O'Donoghue #define IOMUXC_CCM_EXT_CLK_1_SELECT_INPUT_OFFSET	0x04E4
475965bda4dSBryan O'Donoghue #define IOMUXC_CCM_EXT_CLK_2_SELECT_INPUT_OFFSET	0x04E8
476965bda4dSBryan O'Donoghue #define IOMUXC_CCM_EXT_CLK_3_SELECT_INPUT_OFFSET	0x04EC
477965bda4dSBryan O'Donoghue #define IOMUXC_CCM_EXT_CLK_4_SELECT_INPUT_OFFSET	0x04F0
478965bda4dSBryan O'Donoghue 
479965bda4dSBryan O'Donoghue #define IOMUXC_CCM_PMIC_READY_SELECT_INPUT_OFFSET	0x04F4
480965bda4dSBryan O'Donoghue 
481965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA2_SELECT_INPUT_OFFSET		0x04F8
482965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA3_SELECT_INPUT_OFFSET		0x04FC
483965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA4_SELECT_INPUT_OFFSET		0x0500
484965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA5_SELECT_INPUT_OFFSET		0x0504
485965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA6_SELECT_INPUT_OFFSET		0x0508
486965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA7_SELECT_INPUT_OFFSET		0x050C
487965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA8_SELECT_INPUT_OFFSET		0x0510
488965bda4dSBryan O'Donoghue #define IOMUXC_CSI_DATA9_SELECT_INPUT_OFFSET		0x0514
489965bda4dSBryan O'Donoghue #define IOMUXC_CSI_HSYNC_SELECT_INPUT_OFFSET		0x0518
490965bda4dSBryan O'Donoghue #define IOMUXC_CSI_PIXCLK_SELECT_INPUT_OFFSET		0x051C
491965bda4dSBryan O'Donoghue #define IOMUXC_CSI_VSYNC_SELECT_INPUT_OFFSET		0x0520
492965bda4dSBryan O'Donoghue 
493965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI1_SCLK_SELECT_INPUT_OFFSET		0x0524
494965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI1_MISO_SELECT_INPUT_OFFSET		0x0528
495965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI1_MOSI_SELECT_INPUT_OFFSET		0x052C
496965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI1_SS0_B_SELECT_INPUT_OFFSET		0x0530
497965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI2_SCLK_SELECT_INPUT_OFFSET		0x0534
498965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI2_MISO_SELECT_INPUT_OFFSET		0x0538
499965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI2_MOSI_SELECT_INPUT_OFFSET		0x053C
500965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI2_SS0_B_SELECT_INPUT_OFFSET		0x0540
501965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI3_SCLK_SELECT_INPUT_OFFSET		0x0544
502965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI3_MISO_SELECT_INPUT_OFFSET		0x0548
503965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI3_MOSI_SELECT_INPUT_OFFSET		0x054C
504965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI3_SS0_B_SELECT_INPUT_OFFSET		0x0550
505965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI4_SCLK_SELECT_INPUT_OFFSET		0x0554
506965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI4_MISO_SELECT_INPUT_OFFSET		0x0558
507965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI4_MOSI_SELECT_INPUT_OFFSET		0x055C
508965bda4dSBryan O'Donoghue #define IOMUXC_ECSPI4_SS0_B_SELECT_INPUT_OFFSET		0x0560
509965bda4dSBryan O'Donoghue 
510965bda4dSBryan O'Donoghue #define IOMUXC_CCM_ENET1_REF_CLK_SELECT_INPUT_OFFSET	0x0564
511965bda4dSBryan O'Donoghue #define IOMUXC_ENET1_MDIO_SELECT_INPUT_OFFSET		0x0568
512965bda4dSBryan O'Donoghue #define IOMUXC_ENET1_RX_CLK_SELECT_INPUT_OFFSET		0x056C
513965bda4dSBryan O'Donoghue #define IOMUXC_CCM_ENET2_REF_CLK_SELECT_INPUT_OFFSET	0x0570
514965bda4dSBryan O'Donoghue #define IOMUXC_ENET2_MDIO_SELECT_INPUT_OFFSET		0x0574
515965bda4dSBryan O'Donoghue #define IOMUXC_ENET2_RX_CLK_SELECT_INPUT_OFFSET		0x0578
516965bda4dSBryan O'Donoghue 
517965bda4dSBryan O'Donoghue #define IOMUXC_EPDC_PWR_IRQ_SELECT_INPUT_OFFSET		0x057C
518965bda4dSBryan O'Donoghue #define IOMUXC_EPDC_PWR_STAT_SELECT_INPUT_OFFSET	0x0580
519965bda4dSBryan O'Donoghue 
520965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH0_SELECT_INPUT_OFFSET	0x0584
521965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH1_SELECT_INPUT_OFFSET	0x0588
522965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH2_SELECT_INPUT_OFFSET	0x058C
523965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH3_SELECT_INPUT_OFFSET	0x0590
524965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH4_SELECT_INPUT_OFFSET	0x0594
525965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH5_SELECT_INPUT_OFFSET	0x0598
526965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH6_SELECT_INPUT_OFFSET	0x059C
527965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_CH7_SELECT_INPUT_OFFSET	0x05A0
528965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_PHA_SELECT_INPUT_OFFSET	0x05A4
529965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER1_PHB_SELECT_INPUT_OFFSET	0x05A8
530965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH0_SELECT_INPUT_OFFSET	0x05AC
531965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH1_SELECT_INPUT_OFFSET	0x05B0
532965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH2_SELECT_INPUT_OFFSET	0x05B4
533965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH3_SELECT_INPUT_OFFSET	0x05B8
534965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH4_SELECT_INPUT_OFFSET	0x05BC
535965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH5_SELECT_INPUT_OFFSET	0x05C0
536965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH6_SELECT_INPUT_OFFSET	0x05C4
537965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_CH7_SELECT_INPUT_OFFSET	0x05C8
538965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_PHA_SELECT_INPUT_OFFSET	0x05CC
539965bda4dSBryan O'Donoghue #define IOMUXC_FLEXTIMER2_PHB_SELECT_INPUT_OFFSET	0x05D0
540965bda4dSBryan O'Donoghue 
541965bda4dSBryan O'Donoghue #define IOMUXC_I2C1_SCL_SELECT_INPUT_OFFSET		0x05D4
542965bda4dSBryan O'Donoghue #define IOMUXC_I2C1_SDA_SELECT_INPUT_OFFSET		0x05D8
543965bda4dSBryan O'Donoghue #define IOMUXC_I2C2_SCL_SELECT_INPUT_OFFSET		0x05DC
544965bda4dSBryan O'Donoghue #define IOMUXC_I2C2_SDA_SELECT_INPUT_OFFSET		0x05E0
545965bda4dSBryan O'Donoghue #define IOMUXC_I2C3_SCL_SELECT_INPUT_OFFSET		0x05E4
546965bda4dSBryan O'Donoghue #define IOMUXC_I2C3_SDA_SELECT_INPUT_OFFSET		0x05E8
547965bda4dSBryan O'Donoghue #define IOMUXC_I2C4_SCL_SELECT_INPUT_OFFSET		0x05EC
548965bda4dSBryan O'Donoghue #define IOMUXC_I2C4_SDA_SELECT_INPUT_OFFSET		0x05F0
549965bda4dSBryan O'Donoghue 
550965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL0_SELECT_INPUT_OFFSET		0x05F4
551965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL1_SELECT_INPUT_OFFSET		0x05F8
552965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL2_SELECT_INPUT_OFFSET		0x05FC
553965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL3_SELECT_INPUT_OFFSET		0x0600
554965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL4_SELECT_INPUT_OFFSET		0x0604
555965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL5_SELECT_INPUT_OFFSET		0x0608
556965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL6_SELECT_INPUT_OFFSET		0x060C
557965bda4dSBryan O'Donoghue #define IOMUXC_KPP_COL7_SELECT_INPUT_OFFSET		0x0610
558965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW0_SELECT_INPUT_OFFSET		0x0614
559965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW1_SELECT_INPUT_OFFSET		0x0618
560965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW2_SELECT_INPUT_OFFSET		0x061C
561965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW3_SELECT_INPUT_OFFSET		0x0620
562965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW4_SELECT_INPUT_OFFSET		0x0624
563965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW5_SELECT_INPUT_OFFSET		0x0628
564965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW6_SELECT_INPUT_OFFSET		0x062C
565965bda4dSBryan O'Donoghue #define IOMUXC_KPP_ROW7_SELECT_INPUT_OFFSET		0x0630
566965bda4dSBryan O'Donoghue 
567965bda4dSBryan O'Donoghue #define IOMUXC_LCD_BUSY_SELECT_INPUT_OFFSET		0x0634
568965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA00_SELECT_INPUT_OFFSET		0x0638
569965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA01_SELECT_INPUT_OFFSET		0x063C
570965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA02_SELECT_INPUT_OFFSET		0x0640
571965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA03_SELECT_INPUT_OFFSET		0x0644
572965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA04_SELECT_INPUT_OFFSET		0x0648
573965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA05_SELECT_INPUT_OFFSET		0x064C
574965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA06_SELECT_INPUT_OFFSET		0x0650
575965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA07_SELECT_INPUT_OFFSET		0x0654
576965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA08_SELECT_INPUT_OFFSET		0x0658
577965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA09_SELECT_INPUT_OFFSET		0x065C
578965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA10_SELECT_INPUT_OFFSET		0x0660
579965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA11_SELECT_INPUT_OFFSET		0x0664
580965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA12_SELECT_INPUT_OFFSET		0x0668
581965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA13_SELECT_INPUT_OFFSET		0x066C
582965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA14_SELECT_INPUT_OFFSET		0x0670
583965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA15_SELECT_INPUT_OFFSET		0x0674
584965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA16_SELECT_INPUT_OFFSET		0x0678
585965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA17_SELECT_INPUT_OFFSET		0x067C
586965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA18_SELECT_INPUT_OFFSET		0x0680
587965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA19_SELECT_INPUT_OFFSET		0x0684
588965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA20_SELECT_INPUT_OFFSET		0x0688
589965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA21_SELECT_INPUT_OFFSET		0x068C
590965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA22_SELECT_INPUT_OFFSET		0x0690
591965bda4dSBryan O'Donoghue #define IOMUXC_LCD_DATA23_SELECT_INPUT_OFFSET		0x0694
592965bda4dSBryan O'Donoghue #define IOMUXC_LCD_VSYNC_SELECT_INPUT_OFFSET		0x0698
593965bda4dSBryan O'Donoghue 
594965bda4dSBryan O'Donoghue #define IOMUXC_SAI1_RX_BCLK_SELECT_INPUT_OFFSET		0x069C
595965bda4dSBryan O'Donoghue #define IOMUXC_SAI1_RX_DATA_SELECT_INPUT_OFFSET		0x06A0
596965bda4dSBryan O'Donoghue #define IOMUXC_SAI1_RX_SYNC_SELECT_INPUT_OFFSET		0x06A4
597965bda4dSBryan O'Donoghue #define IOMUXC_SAI1_TX_BCLK_SELECT_INPUT_OFFSET		0x06A8
598965bda4dSBryan O'Donoghue #define IOMUXC_SAI1_TX_SYNC_SELECT_INPUT_OFFSET		0x06AC
599965bda4dSBryan O'Donoghue #define IOMUXC_SAI2_RX_BCLK_SELECT_INPUT_OFFSET		0x06B0
600965bda4dSBryan O'Donoghue #define IOMUXC_SAI2_RX_DATA_SELECT_INPUT_OFFSET		0x06B4
601965bda4dSBryan O'Donoghue #define IOMUXC_SAI2_RX_SYNC_SELECT_INPUT_OFFSET		0x06B8
602965bda4dSBryan O'Donoghue #define IOMUXC_SAI2_TX_BCLK_SELECT_INPUT_OFFSET		0x06BC
603965bda4dSBryan O'Donoghue #define IOMUXC_SAI2_TX_SYNC_SELECT_INPUT_OFFSET		0x06C0
604965bda4dSBryan O'Donoghue #define IOMUXC_SAI3_RX_BCLK_SELECT_INPUT_OFFSET		0x06C4
605965bda4dSBryan O'Donoghue #define IOMUXC_SAI3_RX_DATA_SELECT_INPUT_OFFSET		0x06C8
606965bda4dSBryan O'Donoghue #define IOMUXC_SAI3_RX_SYNC_SELECT_INPUT_OFFSET		0x06CC
607965bda4dSBryan O'Donoghue #define IOMUXC_SAI3_TX_BCLK_SELECT_INPUT_OFFSET		0x06D0
608965bda4dSBryan O'Donoghue #define IOMUXC_SAI3_TX_SYNC_SELECT_INPUT_OFFSET		0x06D4
609965bda4dSBryan O'Donoghue #define IOMUXC_SDMA_EVENTS0_SELECT_INPUT_OFFSET		0x06D8
610965bda4dSBryan O'Donoghue #define IOMUXC_SDMA_EVENTS1_SELECT_INPUT_OFFSET		0x06DC
611965bda4dSBryan O'Donoghue 
612965bda4dSBryan O'Donoghue #define IOMUXC_SIM1_PORT1_PD_SELECT_INPUT_OFFSET	0x06E0
613965bda4dSBryan O'Donoghue #define IOMUXC_SIM1_PORT1_TRXD_SELECT_INPUT_OFFSET	0x06E4
614965bda4dSBryan O'Donoghue #define IOMUXC_SIM2_PORT1_PD_SELECT_INPUT_OFFSET	0x06E8
615965bda4dSBryan O'Donoghue #define IOMUXC_SIM2_PORT1_TRXD_SELECT_INPUT_OFFSET	0x06EC
616965bda4dSBryan O'Donoghue 
617965bda4dSBryan O'Donoghue #define IOMUXC_UART1_RTS_B_SELECT_INPUT_OFFSET		0x06F0
618965bda4dSBryan O'Donoghue #define IOMUXC_UART1_RX_DATA_SELECT_INPUT_OFFSET	0x06F4
619965bda4dSBryan O'Donoghue #define IOMUXC_UART2_RTS_B_SELECT_INPUT_OFFSET		0x06F8
620965bda4dSBryan O'Donoghue #define IOMUXC_UART2_RX_DATA_SELECT_INPUT_OFFSET	0x06FC
621965bda4dSBryan O'Donoghue #define IOMUXC_UART3_RTS_B_SELECT_INPUT_OFFSET		0x0700
622965bda4dSBryan O'Donoghue #define IOMUXC_UART3_RX_DATA_SELECT_INPUT_OFFSET	0x0704
623965bda4dSBryan O'Donoghue #define IOMUXC_UART4_RTS_B_SELECT_INPUT_OFFSET		0x0708
624965bda4dSBryan O'Donoghue #define IOMUXC_UART4_RX_DATA_SELECT_INPUT_OFFSET	0x070C
625965bda4dSBryan O'Donoghue #define IOMUXC_UART5_RTS_B_SELECT_INPUT_OFFSET		0x0710
626*936072edSJun Nie 
627965bda4dSBryan O'Donoghue #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_OFFSET	0x0714
628*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SCL_ALT1	0x00
629*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SDA_ALT1	BIT(0)
630*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_RX_DATA_ALT2	BIT(1)
631*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_TX_BCLK_ALT2	(BIT(1) | BIT(0))
632*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO06_ALT3	BIT(2)
633*936072edSJun Nie #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO07_ALT3	(BIT(2) | BIT(1))
634*936072edSJun Nie 
635965bda4dSBryan O'Donoghue #define IOMUXC_UART6_RTS_B_SELECT_INPUT_OFFSET		0x0718
636965bda4dSBryan O'Donoghue #define IOMUXC_UART6_RX_DATA_SELECT_INPUT_OFFSET	0x071C
637965bda4dSBryan O'Donoghue #define IOMUXC_UART7_RTS_B_SELECT_INPUT_OFFSET		0x0720
638965bda4dSBryan O'Donoghue #define IOMUXC_UART7_RX_DATA_SELECT_INPUT_OFFSET	0x0724
639965bda4dSBryan O'Donoghue 
640965bda4dSBryan O'Donoghue #define IOMUXC_USB_OTG2_OC_SELECT_INPUT_OFFSET		0x0728
641965bda4dSBryan O'Donoghue #define IOMUXC_USB_OTG1_OC_SELECT_INPUT_OFFSET		0x072C
642965bda4dSBryan O'Donoghue #define IOMUXC_USB_OTG2_ID_SELECT_INPUT_OFFSET		0x0730
643965bda4dSBryan O'Donoghue #define IOMUXC_USB_OTG1_ID_SELECT_INPUT_OFFSET		0x0734
644965bda4dSBryan O'Donoghue #define IOMUXC_SD3_CD_B_SELECT_INPUT_OFFSET		0x0738
645965bda4dSBryan O'Donoghue #define IOMUXC_SD3_WP_SELECT_INPUT_OFFSET		0x073C
646965bda4dSBryan O'Donoghue 
647965bda4dSBryan O'Donoghue /* Pad mux/feature set routines */
648965bda4dSBryan O'Donoghue 
649965bda4dSBryan O'Donoghue void imx_io_muxc_set_pad_alt_function(uint32_t pad_mux_offset, uint32_t alt_function);
650965bda4dSBryan O'Donoghue void imx_io_muxc_set_pad_features(uint32_t pad_feature_offset, uint32_t pad_features);
651965bda4dSBryan O'Donoghue 
652c3cf06f1SAntonio Nino Diaz #endif /* IMX_IO_MUX_H */
653