blob: d588cfd6eb707305a8aed74398e7ee5f927c1c00 [file] [log] [blame]
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +01001/*
Jun Nied85efcf2019-06-13 11:47:09 +08002 * Copyright 2018-2019, ARM Limited and Contributors. All rights reserved.
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef IMX_IO_MUX_H
8#define IMX_IO_MUX_H
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +01009
10#include <stdint.h>
Jun Nied85efcf2019-06-13 11:47:09 +080011#include <lib/utils_def.h>
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +010012
13/*
14 * i.MX 7Solo Applications Processor Reference Manual, Rev. 0.1, 08/2016
15 * Section 8.2.7 IOMUXC Memory Map/Register Definition
16 */
17
18#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO08_OFFSET 0x0014
19#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO09_OFFSET 0x0018
20#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO10_OFFSET 0x001C
21#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO11_OFFSET 0x0020
22#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO12_OFFSET 0x0024
23#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO13_OFFSET 0x0028
Jun Nied85efcf2019-06-13 11:47:09 +080024
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +010025#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_OFFSET 0x002C
Jun Nied85efcf2019-06-13 11:47:09 +080026#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_ALT1_SD3_CD_B BIT(0)
27
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +010028#define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO15_OFFSET 0x0030
29
30#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA00_OFFSET 0x0034
31#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA01_OFFSET 0x0038
32#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA02_OFFSET 0x003C
33#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA03_OFFSET 0x0040
34#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA04_OFFSET 0x0044
35#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA05_OFFSET 0x0048
36#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA06_OFFSET 0x004C
37#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA07_OFFSET 0x0050
38#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA08_OFFSET 0x0054
39#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA09_OFFSET 0x0058
40#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA10_OFFSET 0x005C
41#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA11_OFFSET 0x0060
42#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA12_OFFSET 0x0064
43#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA13_OFFSET 0x0068
44#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA14_OFFSET 0x006C
45#define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA15_OFFSET 0x0070
46
47#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCLK_OFFSET 0x0074
48#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDLE_OFFSET 0x0078
49#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDOE_OFFSET 0x007C
50#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDSHR_OFFSET 0x0080
51#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE0_OFFSET 0x0084
52#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE1_OFFSET 0x0088
53#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE2_OFFSET 0x008C
54#define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE3_OFFSET 0x0090
55
56#define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDCLK_OFFSET 0x0094
57#define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDOE_OFFSET 0x0098
58#define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDRL_OFFSET 0x009C
59#define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDSP_OFFSET 0x00A0
60#define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR0_OFFSET 0x00A4
61#define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR1_OFFSET 0x00A8
62#define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_COM_OFFSET 0x00AC
63#define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_STAT_OFFSET 0x00B0
64
65#define IOMUXC_SW_MUX_CTL_PAD_LCD_CLK_OFFSET 0x00B4
66#define IOMUXC_SW_MUX_CTL_PAD_LCD_ENABLE_OFFSET 0x00B8
67#define IOMUXC_SW_MUX_CTL_PAD_LCD_HSYNC_OFFSET 0x00BC
68#define IOMUXC_SW_MUX_CTL_PAD_LCD_VSYNC_OFFSET 0x00C0
69#define IOMUXC_SW_MUX_CTL_PAD_LCD_RESET_OFFSET 0x00C4
70#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA00_OFFSET 0x00C8
71#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA01_OFFSET 0x00CC
72#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA02_OFFSET 0x00D0
73#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA03_OFFSET 0x00D4
74#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA04_OFFSET 0x00D8
75#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA05_OFFSET 0x00DC
76#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA06_OFFSET 0x00E0
77#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA07_OFFSET 0x00E4
78#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA08_OFFSET 0x00E8
79#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA09_OFFSET 0x00EC
80#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA10_OFFSET 0x00F0
81#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA11_OFFSET 0x00F4
82#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA12_OFFSET 0x00F8
83#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA13_OFFSET 0x00FC
84#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA14_OFFSET 0x0100
85#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA15_OFFSET 0x0104
86#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA16_OFFSET 0x0108
87#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA17_OFFSET 0x010C
88#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA18_OFFSET 0x0110
89#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA19_OFFSET 0x0114
90#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA20_OFFSET 0x0118
91#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA21_OFFSET 0x011C
92#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA22_OFFSET 0x0120
93#define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA23_OFFSET 0x0124
94
95#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_OFFSET 0x0128
96#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT0_UART1_RX_DATA 0x00
97#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT1_I2C1_SCL BIT(0)
98#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT2_PMIC_READY BIT(1)
99#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT3_ECSPI1_SS1 (BIT(1) | BIT(0))
100#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT4_ENET2_1588_EVENT0_IN BIT(3)
101#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT5_GPIO4_IO0 (BIT(2) | BIT(0))
102#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT6_ENET1_MDIO (BIT(2) | BIT(1))
103#define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_SION BIT(3)
104
105#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_OFFSET 0x012C
106#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT0_UART1_TX_DATA 0x00
107#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT1_I2C1_SDA BIT(0)
108#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT2_SAI3_MCLK BIT(1)
109#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT3_ECSPI1_SS2 (BIT(1) | BIT(0))
110#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT4_ENET2_1588_EVENT0_OUT BIT(3)
111#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT5_GPIO4_IO1 (BIT(2) | BIT(0))
112#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT6_ENET1_MDC (BIT(2) | BIT(1))
113#define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_SION BIT(3)
114
115#define IOMUXC_SW_MUX_CTL_PAD_UART2_RX_DATA_OFFSET 0x0130
116#define IOMUXC_SW_MUX_CTL_PAD_UART2_TX_DATA_OFFSET 0x0134
117#define IOMUXC_SW_MUX_CTL_PAD_UART3_RX_DATA_OFFSET 0x0138
118#define IOMUXC_SW_MUX_CTL_PAD_UART3_TX_DATA_OFFSET 0x013C
119#define IOMUXC_SW_MUX_CTL_PAD_UART3_RTS_B_OFFSET 0x0140
120#define IOMUXC_SW_MUX_CTL_PAD_UART3_CTS_B_OFFSET 0x0144
121
122#define IOMUXC_SW_MUX_CTL_PAD_I2C1_SCL_OFFSET 0x0148
123#define IOMUXC_SW_MUX_CTL_PAD_I2C1_SDA_OFFSET 0x014C
124#define IOMUXC_SW_MUX_CTL_PAD_I2C2_SCL_OFFSET 0x0150
125#define IOMUXC_SW_MUX_CTL_PAD_I2C2_SDA_OFFSET 0x0154
126#define IOMUXC_SW_MUX_CTL_PAD_I2C3_SCL_OFFSET 0x0158
127#define IOMUXC_SW_MUX_CTL_PAD_I2C3_SDA_OFFSET 0x015C
Jun Nied85efcf2019-06-13 11:47:09 +0800128
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100129#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_OFFSET 0x0160
Jun Nied85efcf2019-06-13 11:47:09 +0800130#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT0_I2C4_SCL 0x0
131#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT1_UART5_RX_DATA BIT(0)
132#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT2_WDOG4_WDOG_B BIT(1)
133#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT3_CSI_PIXCLK (BIT(1) | BIT(0))
134#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT4_USB_OTG1_ID BIT(2)
135#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT5_GPIO4_IO14 (BIT(2) | BIT(0))
136#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT6_EPDC_VCOM0 (BIT(2) | BIT(1))
137
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100138#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_OFFSET 0x0164
Jun Nied85efcf2019-06-13 11:47:09 +0800139#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT0_I2C4_SDA 0x0
140#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT1_UART5_TX_DATA BIT(0)
141#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT2_WDOG4_WDOG_RST_B_DEB BIT(1)
142#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT3_CSI_MCLK (BIT(1) | BIT(0))
143#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT4_USB_OTG2_ID BIT(2)
144#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT5_GPIO4_IO15 (BIT(1) | BIT(0))
145#define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT6_EPDC_VCOM1 (BIT(2) | BIT(1))
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100146
147#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_OFFSET 0x0168
148#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT0_ECSPI1_SCLK 0x00
149#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT1_UART6_RX_DATA BIT(0)
150#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT2_SD2_DATA4 BIT(1)
151#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT3_CSI_DATA2 (BIT(1) | BIT(0))
152#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT5_GPIO4_IO16 (BIT(2) | BIT(0))
153#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT6_EPDC_PWR_COM (BIT(2) | (BIT(1))
154
155#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_OFFSET 0x016C
156#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT0_ECSPI1_MOSI 0x00
157#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT1_UART6_TX_DATA BIT(0)
158#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT2_SD2_DATA5 BIT(1)
159#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT3_CSI_DATA3 (BIT(1) | BIT(0))
160#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT5_GPIO4_IO17 (BIT(2) | BIT(0))
161#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT6_EPDC_PWR_STAT (BIT(2) | (BIT(1))
162
163#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MISO_OFFSET 0x0170
164#define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SS0_OFFSET 0x0174
165#define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SCLK_OFFSET 0x0178
166#define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MOSI_OFFSET 0x017C
167#define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MISO_OFFSET 0x0180
168#define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SS0_OFFSET 0x0184
169
170#define IOMUXC_SW_MUX_CTL_PAD_SD1_CD_B_OFFSET 0x0188
171#define IOMUXC_SW_MUX_CTL_PAD_SD1_WP_OFFSET 0x018C
172#define IOMUXC_SW_MUX_CTL_PAD_SD1_RESET_B_OFFSET 0x0190
173#define IOMUXC_SW_MUX_CTL_PAD_SD1_CLK_OFFSET 0x0194
174#define IOMUXC_SW_MUX_CTL_PAD_SD1_CMD_OFFSET 0x0198
175#define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA0_OFFSET 0x019C
176#define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA1_OFFSET 0x01A0
177#define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA2_OFFSET 0x01A4
178#define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA3_OFFSET 0x01A8
179#define IOMUXC_SW_MUX_CTL_PAD_SD2_CD_B_OFFSET 0x01AC
180#define IOMUXC_SW_MUX_CTL_PAD_SD2_WP_OFFSET 0x01B0
181#define IOMUXC_SW_MUX_CTL_PAD_SD2_RESET_B_OFFSET 0x01B4
182#define IOMUXC_SW_MUX_CTL_PAD_SD2_CLK_OFFSET 0x01B8
183#define IOMUXC_SW_MUX_CTL_PAD_SD2_CMD_OFFSET 0x01BC
184#define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA0_OFFSET 0x01C0
185#define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA1_OFFSET 0x01C4
186#define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2_OFFSET 0x01C8
187#define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA3_OFFSET 0x01CC
Jun Nied85efcf2019-06-13 11:47:09 +0800188
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100189#define IOMUXC_SW_MUX_CTL_PAD_SD3_CLK_OFFSET 0x01D0
190#define IOMUXC_SW_MUX_CTL_PAD_SD3_CMD_OFFSET 0x01D4
191#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA0_OFFSET 0x01D8
192#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA1_OFFSET 0x01DC
193#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA2_OFFSET 0x01E0
194#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA3_OFFSET 0x01E4
195#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA4_OFFSET 0x01E8
196#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA5_OFFSET 0x01EC
197#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA6_OFFSET 0x01F0
198#define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA7_OFFSET 0x01F4
199#define IOMUXC_SW_MUX_CTL_PAD_SD3_STROBE_OFFSET 0x01F8
200#define IOMUXC_SW_MUX_CTL_PAD_SD3_RESET_B_OFFSET 0x01FC
201
202#define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_DATA_OFFSET 0x0200
203#define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_BCLK_OFFSET 0x0204
204#define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_SYNC_OFFSET 0x0208
205#define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_DATA_OFFSET 0x020C
206#define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_SYNC_OFFSET 0x0210
207#define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_BCLK_OFFSET 0x0214
208#define IOMUXC_SW_MUX_CTL_PAD_SAI1_MCLK_OFFSET 0x0218
209#define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_SYNC_OFFSET 0x021C
210#define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_BCLK_OFFSET 0x0220
211#define IOMUXC_SW_MUX_CTL_PAD_SAI2_RX_DATA_OFFSET 0x0224
212#define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_DATA_OFFSET 0x0228
213
214#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD0_OFFSET 0x022C
215#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD1_OFFSET 0x0230
216#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD2_OFFSET 0x0234
217#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD3_OFFSET 0x0238
218#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET 0x023C
219#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RXC_OFFSET 0x0240
220#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD0_OFFSET 0x0244
221#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD1_OFFSET 0x0248
222#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD2_OFFSET 0x024C
223#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD3_OFFSET 0x0250
224#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET 0x0254
225#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TXC_OFFSET 0x0258
226#define IOMUXC_SW_MUX_CTL_PAD_ENET1_TX_CLK_OFFSET 0x025C
227#define IOMUXC_SW_MUX_CTL_PAD_ENET1_RX_CLK_OFFSET 0x0260
228#define IOMUXC_SW_MUX_CTL_PAD_ENET1_CRS_OFFSET 0x0264
229#define IOMUXC_SW_MUX_CTL_PAD_ENET1_COL_OFFSET 0x0268
230
231#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO08_OFFSET 0x026C
232#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO09_OFFSET 0x0270
233#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO10_OFFSET 0x0274
234#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO11_OFFSET 0x0278
235#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO12_OFFSET 0x027C
236#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO13_OFFSET 0x0280
237#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_OFFSET 0x0284
238#define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_OFFSET 0x0288
239
240#define IOMUXC_SW_PAD_CTL_PAD_JTAG_MOD_OFFSET 0x028C
241#define IOMUXC_SW_PAD_CTL_PAD_JTAG_TCK_OFFSET 0x0290
242#define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDI_OFFSET 0x0294
243#define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDO_OFFSET 0x0298
244#define IOMUXC_SW_PAD_CTL_PAD_JTAG_TMS_OFFSET 0x029C
245#define IOMUXC_SW_PAD_CTL_PAD_JTAG_TRST_B_OFFSET 0x02A0
246
247#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA00_OFFSET 0x02A4
248#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA01_OFFSET 0x02A8
249#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA02_OFFSET 0x02AC
250#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA03_OFFSET 0x02B0
251#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA04_OFFSET 0x02B4
252#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA05_OFFSET 0x02B8
253#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA06_OFFSET 0x02BC
254#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA07_OFFSET 0x02C0
255#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA08_OFFSET 0x02C4
256#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA09_OFFSET 0x02C8
257#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA10_OFFSET 0x02CC
258#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA11_OFFSET 0x02D0
259#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA12_OFFSET 0x02D4
260#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA13_OFFSET 0x02D8
261#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA14_OFFSET 0x02DC
262#define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA15_OFFSET 0x02E0
263
264#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCLK_OFFSET 0x02E4
265#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDLE_OFFSET 0x02E8
266#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDOE_OFFSET 0x02EC
267#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDSHR_OFFSET 0x02F0
268#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE0_OFFSET 0x02F4
269#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE1_OFFSET 0x02F8
270#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_OFFSET 0x02FC
271#define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE3_OFFSET 0x0300
272#define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDCLK_OFFSET 0x0304
273#define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDOE_OFFSET 0x0308
274#define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_OFFSET 0x030C
275#define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDSP_OFFSET 0x0310
276#define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR0_OFFSET 0x0314
277#define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR1_OFFSET 0x0318
278#define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_COM_OFFSET 0x031C
279#define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_STAT_OFFSET 0x0320
280
281#define IOMUXC_SW_PAD_CTL_PAD_LCD_CLK_OFFSET 0x0324
282#define IOMUXC_SW_PAD_CTL_PAD_LCD_ENABLE_OFFSET 0x0328
283#define IOMUXC_SW_PAD_CTL_PAD_LCD_HSYNC_OFFSET 0x032C
284#define IOMUXC_SW_PAD_CTL_PAD_LCD_VSYNC_OFFSET 0x0330
285#define IOMUXC_SW_PAD_CTL_PAD_LCD_RESET_OFFSET 0x0334
286#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA00_OFFSET 0x0338
287#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA01_OFFSET 0x033C
288#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA02_OFFSET 0x0340
289#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA03_OFFSET 0x0344
290#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA04_OFFSET 0x0348
291#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA05_OFFSET 0x034C
292#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA06_OFFSET 0x0350
293#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA07_OFFSET 0x0354
294#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA08_OFFSET 0x0358
295#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA09_OFFSET 0x035C
296#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA10_OFFSET 0x0360
297#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA11_OFFSET 0x0364
298#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA12_OFFSET 0x0368
299#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA13_OFFSET 0x036C
300#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA14_OFFSET 0x0370
301#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA15_OFFSET 0x0374
302#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA16_OFFSET 0x0378
303#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA17_OFFSET 0x037C
304#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA18_OFFSET 0x0380
305#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA19_OFFSET 0x0384
306#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA20_OFFSET 0x0388
307#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA21_OFFSET 0x038C
308#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA22_OFFSET 0x0390
309#define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA23_OFFSET 0x0394
310#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_OFFSET 0x0398
311#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_0_X1 0
312#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_1_X4 BIT(0)
313#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_2_X2 BIT(1)
314#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_3_X6 (BIT(1) | BIT(0))
315#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_FAST 0
316#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_SLOW BIT(2)
317#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_DIS 0
318#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_EN BIT(3)
319#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_DIS 0
320#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_EN BIT(4)
321#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_0_100K_PD 0
322#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_1_5K_PU BIT(5)
323#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_2_47K_PU BIT(6)
324#define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_3_100K_PU (BIT(6) | BIT(5))
325
326#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_OFFSET 0x039C
327#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_0_X1 0
328#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_1_X4 BIT(0)
329#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_2_X2 BIT(1)
330#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_3_X6 (BIT(1) | BIT(0))
331#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_FAST 0
332#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_SLOW BIT(2)
333#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_DIS 0
334#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_EN BIT(3)
335#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_DIS 0
336#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_EN BIT(4)
337#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_0_100K_PD 0
338#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_1_5K_PU BIT(5)
339#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_2_47K_PU BIT(6)
340#define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_3_100K_PU (BIT(6) | BIT(5))
341
342#define IOMUXC_SW_PAD_CTL_PAD_UART2_RX_DATA_OFFSET 0x03A0
343#define IOMUXC_SW_PAD_CTL_PAD_UART2_TX_DATA_OFFSET 0x03A4
344#define IOMUXC_SW_PAD_CTL_PAD_UART3_RX_DATA_OFFSET 0x03A8
345#define IOMUXC_SW_PAD_CTL_PAD_UART3_TX_DATA_OFFSET 0x03AC
346#define IOMUXC_SW_PAD_CTL_PAD_UART3_RTS_B_OFFSET 0x03B0
347#define IOMUXC_SW_PAD_CTL_PAD_UART3_CTS_B_OFFSET 0x03B4
348
349#define IOMUXC_SW_PAD_CTL_PAD_I2C1_SCL_OFFSET 0x03B8
350#define IOMUXC_SW_PAD_CTL_PAD_I2C1_SDA_OFFSET 0x03BC
351#define IOMUXC_SW_PAD_CTL_PAD_I2C2_SCL_OFFSET 0x03C0
352#define IOMUXC_SW_PAD_CTL_PAD_I2C2_SDA_OFFSET 0x03C4
353#define IOMUXC_SW_PAD_CTL_PAD_I2C3_SCL_OFFSET 0x03C8
354#define IOMUXC_SW_PAD_CTL_PAD_I2C3_SDA_OFFSET 0x03CC
355#define IOMUXC_SW_PAD_CTL_PAD_I2C4_SCL_OFFSET 0x03D0
356#define IOMUXC_SW_PAD_CTL_PAD_I2C4_SDA_OFFSET 0x03D4
357
358#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_OFFSET 0x03D8
359#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_0_X1 0
360#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_1_X4 BIT(0)
361#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_2_X2 BIT(1)
362#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_3_X6 (BIT(1) | BIT(0))
363#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_FAST 0
364#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_SLOW BIT(2)
365#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_DIS 0
366#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_EN BIT(3)
367#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_DIS 0
368#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_EN BIT(4)
369#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_0_100K_PD 0
370#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_1_5K_PU BIT(5)
371#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_2_47K_PU BIT(6)
372#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_3_100K_PU (BIT(6) | BIT(5))
373
374#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_OFFSET 0x03DC
375#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_0_X1 0
376#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_1_X4 BIT(0)
377#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_2_X2 BIT(1)
378#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_3_X6 (BIT(1) | BIT(0))
379#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_FAST 0
380#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_SLOW BIT(2)
381#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_DIS 0
382#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_EN BIT(3)
383#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_DIS 0
384#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_EN BIT(4)
385#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_0_100K_PD 0
386#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_1_5K_PU BIT(5)
387#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_2_47K_PU BIT(6)
388#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_3_100K_PU (BIT(6) | BIT(5))
389
390#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MISO_OFFSET 0x03E0
391#define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SS0_OFFSET 0x03E4
392#define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SCLK_OFFSET 0x03E8
393#define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MOSI_OFFSET 0x03EC
394#define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MISO_OFFSET 0x03F0
395#define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SS0_OFFSET 0x03F4
396
397#define IOMUXC_SW_PAD_CTL_PAD_SD1_CD_B_OFFSET 0x03F8
398#define IOMUXC_SW_PAD_CTL_PAD_SD1_WP_OFFSET 0x03FC
399#define IOMUXC_SW_PAD_CTL_PAD_SD1_RESET_B_OFFSET 0x0400
400#define IOMUXC_SW_PAD_CTL_PAD_SD1_CLK_OFFSET 0x0404
401#define IOMUXC_SW_PAD_CTL_PAD_SD1_CMD_OFFSET 0x0408
402#define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA0_OFFSET 0x040C
403#define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA1_OFFSET 0x0410
404#define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA2_OFFSET 0x0414
405#define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA3_OFFSET 0x0418
406#define IOMUXC_SW_PAD_CTL_PAD_SD2_CD_B_OFFSET 0x041C
407#define IOMUXC_SW_PAD_CTL_PAD_SD2_WP_OFFSET 0x0420
408#define IOMUXC_SW_PAD_CTL_PAD_SD2_RESET_B_OFFSET 0x0424
409#define IOMUXC_SW_PAD_CTL_PAD_SD2_CLK_OFFSET 0x0428
410#define IOMUXC_SW_PAD_CTL_PAD_SD2_CMD_OFFSET 0x042C
411#define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA0_OFFSET 0x0430
412#define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA1_OFFSET 0x0434
413#define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA2_OFFSET 0x0438
414#define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA3_OFFSET 0x043C
Jun Nied85efcf2019-06-13 11:47:09 +0800415
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100416#define IOMUXC_SW_PAD_CTL_PAD_SD3_CLK_OFFSET 0x0440
417#define IOMUXC_SW_PAD_CTL_PAD_SD3_CMD_OFFSET 0x0444
418#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA0_OFFSET 0x0448
419#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA1_OFFSET 0x044C
420#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA2_OFFSET 0x0450
421#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA3_OFFSET 0x0454
422#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA4_OFFSET 0x0458
423#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA5_OFFSET 0x045C
424#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA6_OFFSET 0x0460
425#define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA7_OFFSET 0x0464
426#define IOMUXC_SW_PAD_CTL_PAD_SD3_STROBE_OFFSET 0x0468
427#define IOMUXC_SW_PAD_CTL_PAD_SD3_RESET_B_OFFSET 0x046C
Jun Nied85efcf2019-06-13 11:47:09 +0800428#define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_0_X1 0
429#define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4 BIT(0)
430#define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_2_X2 BIT(1)
431#define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_3_X6 (BIT(1) | BIT(0))
432#define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4 BIT(0)
433#define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_SLOW BIT(2)
434#define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_FAST 0
435#define IOMUXC_SW_PAD_CTL_PAD_SD3_HYS BIT(3)
436#define IOMUXC_SW_PAD_CTL_PAD_SD3_PE BIT(4)
437#define IOMUXC_SW_PAD_CTL_PAD_SD3_PD_100K (0 << 5)
438#define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_5K (1 << 5)
439#define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_47K (2 << 5)
440#define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_100K (3 << 5)
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100441
442#define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_DATA_OFFSET 0x0470
443#define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_BCLK_OFFSET 0x0474
444#define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_SYNC_OFFSET 0x0478
445#define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_DATA_OFFSET 0x047C
446#define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_SYNC_OFFSET 0x0480
447#define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK_OFFSET 0x0484
448#define IOMUXC_SW_PAD_CTL_PAD_SAI1_MCLK_OFFSET 0x0488
449#define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_SYNC_OFFSET 0x048C
450#define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_BCLK_OFFSET 0x0490
451#define IOMUXC_SW_PAD_CTL_PAD_SAI2_RX_DATA_OFFSET 0x0494
452#define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_DATA_OFFSET 0x0498
453
454#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD0_OFFSET 0x049C
455#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD1_OFFSET 0x04A0
456#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD2_OFFSET 0x04A4
457#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD3_OFFSET 0x04A8
458#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET 0x04AC
459#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RXC_OFFSET 0x04B0
460#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD0_OFFSET 0x04B4
461#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD1_OFFSET 0x04B8
462#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD2_OFFSET 0x04BC
463#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD3_OFFSET 0x04C0
464#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET 0x04C4
465#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TXC_OFFSET 0x04C8
466#define IOMUXC_SW_PAD_CTL_PAD_ENET1_TX_CLK_OFFSET 0x04CC
467#define IOMUXC_SW_PAD_CTL_PAD_ENET1_RX_CLK_OFFSET 0x04D0
468#define IOMUXC_SW_PAD_CTL_PAD_ENET1_CRS_OFFSET 0x04D4
469#define IOMUXC_SW_PAD_CTL_PAD_ENET1_COL_OFFSET 0x04D8
470
471#define IOMUXC_FLEXCAN1_RX_SELECT_INPUT_OFFSET 0x04DC
472#define IOMUXC_FLEXCAN2_RX_SELECT_INPUT_OFFSET 0x04E0
473
474#define IOMUXC_CCM_EXT_CLK_1_SELECT_INPUT_OFFSET 0x04E4
475#define IOMUXC_CCM_EXT_CLK_2_SELECT_INPUT_OFFSET 0x04E8
476#define IOMUXC_CCM_EXT_CLK_3_SELECT_INPUT_OFFSET 0x04EC
477#define IOMUXC_CCM_EXT_CLK_4_SELECT_INPUT_OFFSET 0x04F0
478
479#define IOMUXC_CCM_PMIC_READY_SELECT_INPUT_OFFSET 0x04F4
480
481#define IOMUXC_CSI_DATA2_SELECT_INPUT_OFFSET 0x04F8
482#define IOMUXC_CSI_DATA3_SELECT_INPUT_OFFSET 0x04FC
483#define IOMUXC_CSI_DATA4_SELECT_INPUT_OFFSET 0x0500
484#define IOMUXC_CSI_DATA5_SELECT_INPUT_OFFSET 0x0504
485#define IOMUXC_CSI_DATA6_SELECT_INPUT_OFFSET 0x0508
486#define IOMUXC_CSI_DATA7_SELECT_INPUT_OFFSET 0x050C
487#define IOMUXC_CSI_DATA8_SELECT_INPUT_OFFSET 0x0510
488#define IOMUXC_CSI_DATA9_SELECT_INPUT_OFFSET 0x0514
489#define IOMUXC_CSI_HSYNC_SELECT_INPUT_OFFSET 0x0518
490#define IOMUXC_CSI_PIXCLK_SELECT_INPUT_OFFSET 0x051C
491#define IOMUXC_CSI_VSYNC_SELECT_INPUT_OFFSET 0x0520
492
493#define IOMUXC_ECSPI1_SCLK_SELECT_INPUT_OFFSET 0x0524
494#define IOMUXC_ECSPI1_MISO_SELECT_INPUT_OFFSET 0x0528
495#define IOMUXC_ECSPI1_MOSI_SELECT_INPUT_OFFSET 0x052C
496#define IOMUXC_ECSPI1_SS0_B_SELECT_INPUT_OFFSET 0x0530
497#define IOMUXC_ECSPI2_SCLK_SELECT_INPUT_OFFSET 0x0534
498#define IOMUXC_ECSPI2_MISO_SELECT_INPUT_OFFSET 0x0538
499#define IOMUXC_ECSPI2_MOSI_SELECT_INPUT_OFFSET 0x053C
500#define IOMUXC_ECSPI2_SS0_B_SELECT_INPUT_OFFSET 0x0540
501#define IOMUXC_ECSPI3_SCLK_SELECT_INPUT_OFFSET 0x0544
502#define IOMUXC_ECSPI3_MISO_SELECT_INPUT_OFFSET 0x0548
503#define IOMUXC_ECSPI3_MOSI_SELECT_INPUT_OFFSET 0x054C
504#define IOMUXC_ECSPI3_SS0_B_SELECT_INPUT_OFFSET 0x0550
505#define IOMUXC_ECSPI4_SCLK_SELECT_INPUT_OFFSET 0x0554
506#define IOMUXC_ECSPI4_MISO_SELECT_INPUT_OFFSET 0x0558
507#define IOMUXC_ECSPI4_MOSI_SELECT_INPUT_OFFSET 0x055C
508#define IOMUXC_ECSPI4_SS0_B_SELECT_INPUT_OFFSET 0x0560
509
510#define IOMUXC_CCM_ENET1_REF_CLK_SELECT_INPUT_OFFSET 0x0564
511#define IOMUXC_ENET1_MDIO_SELECT_INPUT_OFFSET 0x0568
512#define IOMUXC_ENET1_RX_CLK_SELECT_INPUT_OFFSET 0x056C
513#define IOMUXC_CCM_ENET2_REF_CLK_SELECT_INPUT_OFFSET 0x0570
514#define IOMUXC_ENET2_MDIO_SELECT_INPUT_OFFSET 0x0574
515#define IOMUXC_ENET2_RX_CLK_SELECT_INPUT_OFFSET 0x0578
516
517#define IOMUXC_EPDC_PWR_IRQ_SELECT_INPUT_OFFSET 0x057C
518#define IOMUXC_EPDC_PWR_STAT_SELECT_INPUT_OFFSET 0x0580
519
520#define IOMUXC_FLEXTIMER1_CH0_SELECT_INPUT_OFFSET 0x0584
521#define IOMUXC_FLEXTIMER1_CH1_SELECT_INPUT_OFFSET 0x0588
522#define IOMUXC_FLEXTIMER1_CH2_SELECT_INPUT_OFFSET 0x058C
523#define IOMUXC_FLEXTIMER1_CH3_SELECT_INPUT_OFFSET 0x0590
524#define IOMUXC_FLEXTIMER1_CH4_SELECT_INPUT_OFFSET 0x0594
525#define IOMUXC_FLEXTIMER1_CH5_SELECT_INPUT_OFFSET 0x0598
526#define IOMUXC_FLEXTIMER1_CH6_SELECT_INPUT_OFFSET 0x059C
527#define IOMUXC_FLEXTIMER1_CH7_SELECT_INPUT_OFFSET 0x05A0
528#define IOMUXC_FLEXTIMER1_PHA_SELECT_INPUT_OFFSET 0x05A4
529#define IOMUXC_FLEXTIMER1_PHB_SELECT_INPUT_OFFSET 0x05A8
530#define IOMUXC_FLEXTIMER2_CH0_SELECT_INPUT_OFFSET 0x05AC
531#define IOMUXC_FLEXTIMER2_CH1_SELECT_INPUT_OFFSET 0x05B0
532#define IOMUXC_FLEXTIMER2_CH2_SELECT_INPUT_OFFSET 0x05B4
533#define IOMUXC_FLEXTIMER2_CH3_SELECT_INPUT_OFFSET 0x05B8
534#define IOMUXC_FLEXTIMER2_CH4_SELECT_INPUT_OFFSET 0x05BC
535#define IOMUXC_FLEXTIMER2_CH5_SELECT_INPUT_OFFSET 0x05C0
536#define IOMUXC_FLEXTIMER2_CH6_SELECT_INPUT_OFFSET 0x05C4
537#define IOMUXC_FLEXTIMER2_CH7_SELECT_INPUT_OFFSET 0x05C8
538#define IOMUXC_FLEXTIMER2_PHA_SELECT_INPUT_OFFSET 0x05CC
539#define IOMUXC_FLEXTIMER2_PHB_SELECT_INPUT_OFFSET 0x05D0
540
541#define IOMUXC_I2C1_SCL_SELECT_INPUT_OFFSET 0x05D4
542#define IOMUXC_I2C1_SDA_SELECT_INPUT_OFFSET 0x05D8
543#define IOMUXC_I2C2_SCL_SELECT_INPUT_OFFSET 0x05DC
544#define IOMUXC_I2C2_SDA_SELECT_INPUT_OFFSET 0x05E0
545#define IOMUXC_I2C3_SCL_SELECT_INPUT_OFFSET 0x05E4
546#define IOMUXC_I2C3_SDA_SELECT_INPUT_OFFSET 0x05E8
547#define IOMUXC_I2C4_SCL_SELECT_INPUT_OFFSET 0x05EC
548#define IOMUXC_I2C4_SDA_SELECT_INPUT_OFFSET 0x05F0
549
550#define IOMUXC_KPP_COL0_SELECT_INPUT_OFFSET 0x05F4
551#define IOMUXC_KPP_COL1_SELECT_INPUT_OFFSET 0x05F8
552#define IOMUXC_KPP_COL2_SELECT_INPUT_OFFSET 0x05FC
553#define IOMUXC_KPP_COL3_SELECT_INPUT_OFFSET 0x0600
554#define IOMUXC_KPP_COL4_SELECT_INPUT_OFFSET 0x0604
555#define IOMUXC_KPP_COL5_SELECT_INPUT_OFFSET 0x0608
556#define IOMUXC_KPP_COL6_SELECT_INPUT_OFFSET 0x060C
557#define IOMUXC_KPP_COL7_SELECT_INPUT_OFFSET 0x0610
558#define IOMUXC_KPP_ROW0_SELECT_INPUT_OFFSET 0x0614
559#define IOMUXC_KPP_ROW1_SELECT_INPUT_OFFSET 0x0618
560#define IOMUXC_KPP_ROW2_SELECT_INPUT_OFFSET 0x061C
561#define IOMUXC_KPP_ROW3_SELECT_INPUT_OFFSET 0x0620
562#define IOMUXC_KPP_ROW4_SELECT_INPUT_OFFSET 0x0624
563#define IOMUXC_KPP_ROW5_SELECT_INPUT_OFFSET 0x0628
564#define IOMUXC_KPP_ROW6_SELECT_INPUT_OFFSET 0x062C
565#define IOMUXC_KPP_ROW7_SELECT_INPUT_OFFSET 0x0630
566
567#define IOMUXC_LCD_BUSY_SELECT_INPUT_OFFSET 0x0634
568#define IOMUXC_LCD_DATA00_SELECT_INPUT_OFFSET 0x0638
569#define IOMUXC_LCD_DATA01_SELECT_INPUT_OFFSET 0x063C
570#define IOMUXC_LCD_DATA02_SELECT_INPUT_OFFSET 0x0640
571#define IOMUXC_LCD_DATA03_SELECT_INPUT_OFFSET 0x0644
572#define IOMUXC_LCD_DATA04_SELECT_INPUT_OFFSET 0x0648
573#define IOMUXC_LCD_DATA05_SELECT_INPUT_OFFSET 0x064C
574#define IOMUXC_LCD_DATA06_SELECT_INPUT_OFFSET 0x0650
575#define IOMUXC_LCD_DATA07_SELECT_INPUT_OFFSET 0x0654
576#define IOMUXC_LCD_DATA08_SELECT_INPUT_OFFSET 0x0658
577#define IOMUXC_LCD_DATA09_SELECT_INPUT_OFFSET 0x065C
578#define IOMUXC_LCD_DATA10_SELECT_INPUT_OFFSET 0x0660
579#define IOMUXC_LCD_DATA11_SELECT_INPUT_OFFSET 0x0664
580#define IOMUXC_LCD_DATA12_SELECT_INPUT_OFFSET 0x0668
581#define IOMUXC_LCD_DATA13_SELECT_INPUT_OFFSET 0x066C
582#define IOMUXC_LCD_DATA14_SELECT_INPUT_OFFSET 0x0670
583#define IOMUXC_LCD_DATA15_SELECT_INPUT_OFFSET 0x0674
584#define IOMUXC_LCD_DATA16_SELECT_INPUT_OFFSET 0x0678
585#define IOMUXC_LCD_DATA17_SELECT_INPUT_OFFSET 0x067C
586#define IOMUXC_LCD_DATA18_SELECT_INPUT_OFFSET 0x0680
587#define IOMUXC_LCD_DATA19_SELECT_INPUT_OFFSET 0x0684
588#define IOMUXC_LCD_DATA20_SELECT_INPUT_OFFSET 0x0688
589#define IOMUXC_LCD_DATA21_SELECT_INPUT_OFFSET 0x068C
590#define IOMUXC_LCD_DATA22_SELECT_INPUT_OFFSET 0x0690
591#define IOMUXC_LCD_DATA23_SELECT_INPUT_OFFSET 0x0694
592#define IOMUXC_LCD_VSYNC_SELECT_INPUT_OFFSET 0x0698
593
594#define IOMUXC_SAI1_RX_BCLK_SELECT_INPUT_OFFSET 0x069C
595#define IOMUXC_SAI1_RX_DATA_SELECT_INPUT_OFFSET 0x06A0
596#define IOMUXC_SAI1_RX_SYNC_SELECT_INPUT_OFFSET 0x06A4
597#define IOMUXC_SAI1_TX_BCLK_SELECT_INPUT_OFFSET 0x06A8
598#define IOMUXC_SAI1_TX_SYNC_SELECT_INPUT_OFFSET 0x06AC
599#define IOMUXC_SAI2_RX_BCLK_SELECT_INPUT_OFFSET 0x06B0
600#define IOMUXC_SAI2_RX_DATA_SELECT_INPUT_OFFSET 0x06B4
601#define IOMUXC_SAI2_RX_SYNC_SELECT_INPUT_OFFSET 0x06B8
602#define IOMUXC_SAI2_TX_BCLK_SELECT_INPUT_OFFSET 0x06BC
603#define IOMUXC_SAI2_TX_SYNC_SELECT_INPUT_OFFSET 0x06C0
604#define IOMUXC_SAI3_RX_BCLK_SELECT_INPUT_OFFSET 0x06C4
605#define IOMUXC_SAI3_RX_DATA_SELECT_INPUT_OFFSET 0x06C8
606#define IOMUXC_SAI3_RX_SYNC_SELECT_INPUT_OFFSET 0x06CC
607#define IOMUXC_SAI3_TX_BCLK_SELECT_INPUT_OFFSET 0x06D0
608#define IOMUXC_SAI3_TX_SYNC_SELECT_INPUT_OFFSET 0x06D4
609#define IOMUXC_SDMA_EVENTS0_SELECT_INPUT_OFFSET 0x06D8
610#define IOMUXC_SDMA_EVENTS1_SELECT_INPUT_OFFSET 0x06DC
611
612#define IOMUXC_SIM1_PORT1_PD_SELECT_INPUT_OFFSET 0x06E0
613#define IOMUXC_SIM1_PORT1_TRXD_SELECT_INPUT_OFFSET 0x06E4
614#define IOMUXC_SIM2_PORT1_PD_SELECT_INPUT_OFFSET 0x06E8
615#define IOMUXC_SIM2_PORT1_TRXD_SELECT_INPUT_OFFSET 0x06EC
616
617#define IOMUXC_UART1_RTS_B_SELECT_INPUT_OFFSET 0x06F0
618#define IOMUXC_UART1_RX_DATA_SELECT_INPUT_OFFSET 0x06F4
619#define IOMUXC_UART2_RTS_B_SELECT_INPUT_OFFSET 0x06F8
620#define IOMUXC_UART2_RX_DATA_SELECT_INPUT_OFFSET 0x06FC
621#define IOMUXC_UART3_RTS_B_SELECT_INPUT_OFFSET 0x0700
622#define IOMUXC_UART3_RX_DATA_SELECT_INPUT_OFFSET 0x0704
623#define IOMUXC_UART4_RTS_B_SELECT_INPUT_OFFSET 0x0708
624#define IOMUXC_UART4_RX_DATA_SELECT_INPUT_OFFSET 0x070C
625#define IOMUXC_UART5_RTS_B_SELECT_INPUT_OFFSET 0x0710
Jun Nied85efcf2019-06-13 11:47:09 +0800626
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100627#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_OFFSET 0x0714
Jun Nied85efcf2019-06-13 11:47:09 +0800628#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SCL_ALT1 0x00
629#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SDA_ALT1 BIT(0)
630#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_RX_DATA_ALT2 BIT(1)
631#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_TX_BCLK_ALT2 (BIT(1) | BIT(0))
632#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO06_ALT3 BIT(2)
633#define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO07_ALT3 (BIT(2) | BIT(1))
634
Bryan O'Donoghue1c7bbca2018-06-20 16:56:31 +0100635#define IOMUXC_UART6_RTS_B_SELECT_INPUT_OFFSET 0x0718
636#define IOMUXC_UART6_RX_DATA_SELECT_INPUT_OFFSET 0x071C
637#define IOMUXC_UART7_RTS_B_SELECT_INPUT_OFFSET 0x0720
638#define IOMUXC_UART7_RX_DATA_SELECT_INPUT_OFFSET 0x0724
639
640#define IOMUXC_USB_OTG2_OC_SELECT_INPUT_OFFSET 0x0728
641#define IOMUXC_USB_OTG1_OC_SELECT_INPUT_OFFSET 0x072C
642#define IOMUXC_USB_OTG2_ID_SELECT_INPUT_OFFSET 0x0730
643#define IOMUXC_USB_OTG1_ID_SELECT_INPUT_OFFSET 0x0734
644#define IOMUXC_SD3_CD_B_SELECT_INPUT_OFFSET 0x0738
645#define IOMUXC_SD3_WP_SELECT_INPUT_OFFSET 0x073C
646
647/* Pad mux/feature set routines */
648
649void imx_io_muxc_set_pad_alt_function(uint32_t pad_mux_offset, uint32_t alt_function);
650void imx_io_muxc_set_pad_features(uint32_t pad_feature_offset, uint32_t pad_features);
651
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +0000652#endif /* IMX_IO_MUX_H */