1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (c) 2010 Michael Sevakis
12 * i.MX31 IOMUXC helper routines
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied.
22 ****************************************************************************/
23 #ifndef _IOMUXC_IMX31_H_
24 #define _IOMUXC_IMX31_H_
26 enum IMX31_IOMUXC_PINS
29 IOMUXC_CSPI3_SPI_RDY
= 1,
30 IOMUXC_CSPI3_SCLK
= 2,
31 IOMUXC_CSPI3_MISO
= 3,
32 IOMUXC_CSPI3_MOSI
= 4,
34 IOMUXC_CE_CONTROL
= 6,
41 IOMUXC_SD1_DATA3
= 13,
42 IOMUXC_SD1_DATA2
= 14,
43 IOMUXC_SD1_DATA1
= 15,
44 IOMUXC_SD1_DATA0
= 16,
83 IOMUXC_USBH2_DATA1
= 55,
84 IOMUXC_USBH2_DATA0
= 56,
85 IOMUXC_USBH2_NXT
= 57,
86 IOMUXC_USBH2_STP
= 58,
87 IOMUXC_USBH2_DIR
= 59,
88 IOMUXC_USBH2_CLK
= 60,
89 IOMUXC_USBOTG_DATA7
= 61,
90 IOMUXC_USBOTG_DATA6
= 62,
91 IOMUXC_USBOTG_DATA5
= 63,
92 IOMUXC_USBOTG_DATA4
= 64,
93 IOMUXC_USBOTG_DATA3
= 65,
94 IOMUXC_USBOTG_DATA2
= 66,
95 IOMUXC_USBOTG_DATA1
= 67,
96 IOMUXC_USBOTG_DATA0
= 68,
97 IOMUXC_USBOTG_NXT
= 69,
98 IOMUXC_USBOTG_STP
= 70,
99 IOMUXC_USBOTG_DIR
= 71,
100 IOMUXC_USBOTG_CLK
= 72,
112 IOMUXC_KEY_COL7
= 84,
113 IOMUXC_KEY_COL6
= 85,
114 IOMUXC_KEY_COL5
= 86,
115 IOMUXC_KEY_COL4
= 87,
116 IOMUXC_KEY_COL3
= 88,
117 IOMUXC_KEY_COL2
= 89,
118 IOMUXC_KEY_COL1
= 90,
119 IOMUXC_KEY_COL0
= 91,
120 IOMUXC_KEY_ROW7
= 92,
121 IOMUXC_KEY_ROW6
= 93,
122 IOMUXC_KEY_ROW5
= 94,
123 IOMUXC_KEY_ROW4
= 95,
124 IOMUXC_KEY_ROW3
= 96,
125 IOMUXC_KEY_ROW2
= 97,
126 IOMUXC_KEY_ROW1
= 98,
127 IOMUXC_KEY_ROW0
= 99,
128 IOMUXC_BATT_LINE
= 100,
133 IOMUXC_DTR_DCE2
= 105,
134 IOMUXC_DCD_DTE1
= 106,
135 IOMUXC_RI_DTE1
= 107,
136 IOMUXC_DSR_DTE1
= 108,
137 IOMUXC_DTR_DTE1
= 109,
138 IOMUXC_DCD_DCE1
= 110,
139 IOMUXC_RI_DCE1
= 111,
140 IOMUXC_DSR_DCE1
= 112,
141 IOMUXC_DTR_DCE1
= 113,
146 IOMUXC_CSPI2_SPI_RDY
= 118,
147 IOMUXC_CSPI2_SCLK
= 119,
148 IOMUXC_CSPI2_SS2
= 120,
149 IOMUXC_CSPI2_SS1
= 121,
150 IOMUXC_CSPI2_SS0
= 122,
151 IOMUXC_CSPI2_MISO
= 123,
152 IOMUXC_CSPI2_MOSI
= 124,
153 IOMUXC_CSPI1_SPI_RDY
= 125,
154 IOMUXC_CSPI1_SCLK
= 126,
155 IOMUXC_CSPI1_SS2
= 127,
156 IOMUXC_CSPI1_SS1
= 128,
157 IOMUXC_CSPI1_SS0
= 129,
158 IOMUXC_CSPI1_MISO
= 130,
159 IOMUXC_CSPI1_MOSI
= 131,
176 IOMUXC_I2C_DAT
= 148,
177 IOMUXC_I2C_CLK
= 149,
178 IOMUXC_CSI_PIXCLK
= 150,
179 IOMUXC_CSI_HSYNC
= 151,
180 IOMUXC_CSI_VSYNC
= 152,
181 IOMUXC_CSI_MCLK
= 153,
182 IOMUXC_CSI_D15
= 154,
183 IOMUXC_CSI_D14
= 155,
184 IOMUXC_CSI_D13
= 156,
185 IOMUXC_CSI_D12
= 157,
186 IOMUXC_CSI_D11
= 158,
187 IOMUXC_CSI_D10
= 159,
194 IOMUXC_M_GRANT
= 166,
195 IOMUXC_M_REQUEST
= 167,
197 IOMUXC_PC_RW_B
= 169,
200 IOMUXC_PC_BVD2
= 172,
201 IOMUXC_PC_BVD1
= 173,
204 IOMUXC_PC_PWRON
= 176,
205 IOMUXC_PC_READY
= 177,
206 IOMUXC_PC_WAIT_B
= 178,
207 IOMUXC_PC_CD2_B
= 179,
208 IOMUXC_PC_CD1_B
= 180,
236 IOMUXC_RESERVED0
= 208,
326 IOMUXC_POWER_FAIL
= 298,
328 IOMUXC_BOOT_MODE4
= 300,
329 IOMUXC_BOOT_MODE3
= 301,
330 IOMUXC_BOOT_MODE2
= 302,
331 IOMUXC_BOOT_MODE1
= 303,
332 IOMUXC_BOOT_MODE0
= 304,
335 IOMUXC_RESET_IN_B
= 307,
343 IOMUXC_GPIO3_1
= 315,
344 IOMUXC_GPIO3_0
= 316,
345 IOMUXC_GPIO1_6
= 317,
346 IOMUXC_GPIO1_5
= 318,
347 IOMUXC_GPIO1_4
= 319,
348 IOMUXC_GPIO1_3
= 320,
349 IOMUXC_GPIO1_2
= 321,
350 IOMUXC_GPIO1_1
= 322,
351 IOMUXC_GPIO1_0
= 323,
353 IOMUXC_WATCHDOG_RST
= 325,
354 IOMUXC_COMPARE
= 326,
355 IOMUXC_CAPTURE
= 327,
358 /* Set the pin multiplexing configuration (functional, GPIO, etc.) */
359 void iomuxc_set_pin_mux(enum IMX31_IOMUXC_PINS pin
, unsigned long mux
);
361 /* Set the pin pad configuration (keeper, drive strength, etc.) */
362 void iomuxc_set_pad_config(enum IMX31_IOMUXC_PINS pin
, unsigned long config
);
364 #endif /* _IOMUXC_IMX31_H_ */