Merge branch 'iop-raid6' into async-tx-next
[pandora-kernel.git] / arch / arm / plat-mxc / include / mach / iomux-mx1.h
1 /*
2 * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de>
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16 * MA 02110-1301, USA.
17 */
18
19 #ifndef _MXC_IOMUX_MX1_H
20 #define _MXC_IOMUX_MX1_H
21
22 #ifndef GPIO_PORTA
23 #error Please include mach/iomux.h
24 #endif
25
26 /* FIXME: This list is not completed. The correct directions are
27 * missing on some (many) pins
28 */
29
30
31 /* Primary GPIO pin functions */
32
33 #define PA0_AIN_SPI2_CLK        (GPIO_PORTA | GPIO_AIN | GPIO_OUT | 0)
34 #define PA0_AF_ETMTRACESYNC     (GPIO_PORTA | GPIO_AF | 0)
35 #define PA1_AOUT_SPI2_RXD       (GPIO_PORTA | GPIO_AOUT | GPIO_IN | 1)
36 #define PA1_PF_TIN              (GPIO_PORTA | GPIO_PF | 1)
37 #define PA2_PF_PWM0             (GPIO_PORTA | GPIO_PF | GPIO_OUT | 2)
38 #define PA3_PF_CSI_MCLK         (GPIO_PORTA | GPIO_PF | 3)
39 #define PA4_PF_CSI_D0           (GPIO_PORTA | GPIO_PF | 4)
40 #define PA5_PF_CSI_D1           (GPIO_PORTA | GPIO_PF | 5)
41 #define PA6_PF_CSI_D2           (GPIO_PORTA | GPIO_PF | 6)
42 #define PA7_PF_CSI_D3           (GPIO_PORTA | GPIO_PF | 7)
43 #define PA8_PF_CSI_D4           (GPIO_PORTA | GPIO_PF | 8)
44 #define PA9_PF_CSI_D5           (GPIO_PORTA | GPIO_PF | 9)
45 #define PA10_PF_CSI_D6          (GPIO_PORTA | GPIO_PF | 10)
46 #define PA11_PF_CSI_D7          (GPIO_PORTA | GPIO_PF | 11)
47 #define PA12_PF_CSI_VSYNC       (GPIO_PORTA | GPIO_PF | 12)
48 #define PA13_PF_CSI_HSYNC       (GPIO_PORTA | GPIO_PF | 13)
49 #define PA14_PF_CSI_PIXCLK      (GPIO_PORTA | GPIO_PF | 14)
50 #define PA15_PF_I2C_SDA         (GPIO_PORTA | GPIO_PF | GPIO_OUT | 15)
51 #define PA16_PF_I2C_SCL         (GPIO_PORTA | GPIO_PF | GPIO_OUT | 16)
52 #define PA17_AF_ETMTRACEPKT4    (GPIO_PORTA | GPIO_AF | 17)
53 #define PA17_AIN_SPI2_SS        (GPIO_PORTA | GPIO_AIN | GPIO_OUT | 17)
54 #define PA18_AF_ETMTRACEPKT5    (GPIO_PORTA | GPIO_AF | 18)
55 #define PA19_AF_ETMTRACEPKT6    (GPIO_PORTA | GPIO_AF | 19)
56 #define PA20_AF_ETMTRACEPKT7    (GPIO_PORTA | GPIO_AF | 20)
57 #define PA21_PF_A0              (GPIO_PORTA | GPIO_PF | 21)
58 #define PA22_PF_CS4             (GPIO_PORTA | GPIO_PF | 22)
59 #define PA23_PF_CS5             (GPIO_PORTA | GPIO_PF | 23)
60 #define PA24_PF_A16             (GPIO_PORTA | GPIO_PF | 24)
61 #define PA24_AF_ETMTRACEPKT0    (GPIO_PORTA | GPIO_AF | 24)
62 #define PA25_PF_A17             (GPIO_PORTA | GPIO_PF | 25)
63 #define PA25_AF_ETMTRACEPKT1    (GPIO_PORTA | GPIO_AF | 25)
64 #define PA26_PF_A18             (GPIO_PORTA | GPIO_PF | 26)
65 #define PA26_AF_ETMTRACEPKT2    (GPIO_PORTA | GPIO_AF | 26)
66 #define PA27_PF_A19             (GPIO_PORTA | GPIO_PF | 27)
67 #define PA27_AF_ETMTRACEPKT3    (GPIO_PORTA | GPIO_AF | 27)
68 #define PA28_PF_A20             (GPIO_PORTA | GPIO_PF | 28)
69 #define PA28_AF_ETMPIPESTAT0    (GPIO_PORTA | GPIO_AF | 28)
70 #define PA29_PF_A21             (GPIO_PORTA | GPIO_PF | 29)
71 #define PA29_AF_ETMPIPESTAT1    (GPIO_PORTA | GPIO_AF | 29)
72 #define PA30_PF_A22             (GPIO_PORTA | GPIO_PF | 30)
73 #define PA30_AF_ETMPIPESTAT2    (GPIO_PORTA | GPIO_AF | 30)
74 #define PA31_PF_A23             (GPIO_PORTA | GPIO_PF | 31)
75 #define PA31_AF_ETMTRACECLK     (GPIO_PORTA | GPIO_AF | 31)
76 #define PB8_PF_SD_DAT0          (GPIO_PORTB | GPIO_PF | GPIO_PUEN | 8)
77 #define PB8_AF_MS_PIO           (GPIO_PORTB | GPIO_AF | 8)
78 #define PB9_PF_SD_DAT1          (GPIO_PORTB | GPIO_PF | GPIO_PUEN | 9)
79 #define PB9_AF_MS_PI1           (GPIO_PORTB | GPIO_AF | 9)
80 #define PB10_PF_SD_DAT2         (GPIO_PORTB | GPIO_PF | GPIO_PUEN | 10)
81 #define PB10_AF_MS_SCLKI        (GPIO_PORTB | GPIO_AF | 10)
82 #define PB11_PF_SD_DAT3         (GPIO_PORTB | GPIO_PF | 11)
83 #define PB11_AF_MS_SDIO         (GPIO_PORTB | GPIO_AF | 11)
84 #define PB12_PF_SD_CLK          (GPIO_PORTB | GPIO_PF | 12)
85 #define PB12_AF_MS_SCLK0        (GPIO_PORTB | GPIO_AF | 12)
86 #define PB13_PF_SD_CMD          (GPIO_PORTB | GPIO_PF | GPIO_PUEN | 13)
87 #define PB13_AF_MS_BS           (GPIO_PORTB | GPIO_AF | 13)
88 #define PB14_AF_SSI_RXFS        (GPIO_PORTB | GPIO_AF | 14)
89 #define PB15_AF_SSI_RXCLK       (GPIO_PORTB | GPIO_AF | 15)
90 #define PB16_AF_SSI_RXDAT       (GPIO_PORTB | GPIO_AF | GPIO_IN | 16)
91 #define PB17_AF_SSI_TXDAT       (GPIO_PORTB | GPIO_AF | GPIO_OUT | 17)
92 #define PB18_AF_SSI_TXFS        (GPIO_PORTB | GPIO_AF | 18)
93 #define PB19_AF_SSI_TXCLK       (GPIO_PORTB | GPIO_AF | 19)
94 #define PB20_PF_USBD_AFE        (GPIO_PORTB | GPIO_PF | 20)
95 #define PB21_PF_USBD_OE         (GPIO_PORTB | GPIO_PF | 21)
96 #define PB22_PF_USBD_RCV        (GPIO_PORTB | GPIO_PF | 22)
97 #define PB23_PF_USBD_SUSPND     (GPIO_PORTB | GPIO_PF | 23)
98 #define PB24_PF_USBD_VP         (GPIO_PORTB | GPIO_PF | 24)
99 #define PB25_PF_USBD_VM         (GPIO_PORTB | GPIO_PF | 25)
100 #define PB26_PF_USBD_VPO        (GPIO_PORTB | GPIO_PF | 26)
101 #define PB27_PF_USBD_VMO        (GPIO_PORTB | GPIO_PF | 27)
102 #define PB28_PF_UART2_CTS       (GPIO_PORTB | GPIO_PF | GPIO_OUT | 28)
103 #define PB29_PF_UART2_RTS       (GPIO_PORTB | GPIO_PF | GPIO_IN | 29)
104 #define PB30_PF_UART2_TXD       (GPIO_PORTB | GPIO_PF | GPIO_OUT | 30)
105 #define PB31_PF_UART2_RXD       (GPIO_PORTB | GPIO_PF | GPIO_IN | 31)
106 #define PC3_PF_SSI_RXFS         (GPIO_PORTC | GPIO_PF | 3)
107 #define PC4_PF_SSI_RXCLK        (GPIO_PORTC | GPIO_PF | 4)
108 #define PC5_PF_SSI_RXDAT        (GPIO_PORTC | GPIO_PF | GPIO_IN | 5)
109 #define PC6_PF_SSI_TXDAT        (GPIO_PORTC | GPIO_PF | GPIO_OUT | 6)
110 #define PC7_PF_SSI_TXFS         (GPIO_PORTC | GPIO_PF | 7)
111 #define PC8_PF_SSI_TXCLK        (GPIO_PORTC | GPIO_PF | 8)
112 #define PC9_PF_UART1_CTS        (GPIO_PORTC | GPIO_PF | GPIO_OUT | 9)
113 #define PC10_PF_UART1_RTS       (GPIO_PORTC | GPIO_PF | GPIO_IN | 10)
114 #define PC11_PF_UART1_TXD       (GPIO_PORTC | GPIO_PF | GPIO_OUT | 11)
115 #define PC12_PF_UART1_RXD       (GPIO_PORTC | GPIO_PF | GPIO_IN | 12)
116 #define PC13_PF_SPI1_SPI_RDY    (GPIO_PORTC | GPIO_PF | 13)
117 #define PC14_PF_SPI1_SCLK       (GPIO_PORTC | GPIO_PF | 14)
118 #define PC15_PF_SPI1_SS         (GPIO_PORTC | GPIO_PF | 15)
119 #define PC16_PF_SPI1_MISO       (GPIO_PORTC | GPIO_PF | 16)
120 #define PC17_PF_SPI1_MOSI       (GPIO_PORTC | GPIO_PF | 17)
121 #define PC24_BIN_UART3_RI       (GPIO_PORTC | GPIO_BIN | GPIO_OUT | 24)
122 #define PC25_BIN_UART3_DSR      (GPIO_PORTC | GPIO_BIN | GPIO_OUT | 25)
123 #define PC26_AOUT_UART3_DTR     (GPIO_PORTC | GPIO_AOUT | GPIO_IN | 26)
124 #define PC27_BIN_UART3_DCD      (GPIO_PORTC | GPIO_BIN | GPIO_OUT | 27)
125 #define PC28_BIN_UART3_CTS      (GPIO_PORTC | GPIO_BIN | GPIO_OUT | 28)
126 #define PC29_AOUT_UART3_RTS     (GPIO_PORTC | GPIO_AOUT | GPIO_IN | 29)
127 #define PC30_BIN_UART3_TX       (GPIO_PORTC | GPIO_BIN | 30)
128 #define PC31_AOUT_UART3_RX      (GPIO_PORTC | GPIO_AOUT | GPIO_IN | 31)
129 #define PD6_PF_LSCLK            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 6)
130 #define PD7_PF_REV              (GPIO_PORTD | GPIO_PF | 7)
131 #define PD7_AF_UART2_DTR        (GPIO_PORTD | GPIO_AF | GPIO_IN | 7)
132 #define PD7_AIN_SPI2_SCLK       (GPIO_PORTD | GPIO_AIN | 7)
133 #define PD8_PF_CLS              (GPIO_PORTD | GPIO_PF | 8)
134 #define PD8_AF_UART2_DCD        (GPIO_PORTD | GPIO_AF | GPIO_OUT | 8)
135 #define PD8_AIN_SPI2_SS         (GPIO_PORTD | GPIO_AIN | 8)
136 #define PD9_PF_PS               (GPIO_PORTD | GPIO_PF | 9)
137 #define PD9_AF_UART2_RI         (GPIO_PORTD | GPIO_AF | GPIO_OUT | 9)
138 #define PD9_AOUT_SPI2_RXD       (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 9)
139 #define PD10_PF_SPL_SPR         (GPIO_PORTD | GPIO_PF | GPIO_OUT | 10)
140 #define PD10_AF_UART2_DSR       (GPIO_PORTD | GPIO_AF | GPIO_OUT | 10)
141 #define PD10_AIN_SPI2_TXD       (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 10)
142 #define PD11_PF_CONTRAST        (GPIO_PORTD | GPIO_PF | GPIO_OUT | 11)
143 #define PD12_PF_ACD_OE          (GPIO_PORTD | GPIO_PF | GPIO_OUT | 12)
144 #define PD13_PF_LP_HSYNC        (GPIO_PORTD | GPIO_PF | GPIO_OUT | 13)
145 #define PD14_PF_FLM_VSYNC       (GPIO_PORTD | GPIO_PF | GPIO_OUT | 14)
146 #define PD15_PF_LD0             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 15)
147 #define PD16_PF_LD1             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 16)
148 #define PD17_PF_LD2             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 17)
149 #define PD18_PF_LD3             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 18)
150 #define PD19_PF_LD4             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 19)
151 #define PD20_PF_LD5             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 20)
152 #define PD21_PF_LD6             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 21)
153 #define PD22_PF_LD7             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 22)
154 #define PD23_PF_LD8             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 23)
155 #define PD24_PF_LD9             (GPIO_PORTD | GPIO_PF | GPIO_OUT | 24)
156 #define PD25_PF_LD10            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 25)
157 #define PD26_PF_LD11            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 26)
158 #define PD27_PF_LD12            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 27)
159 #define PD28_PF_LD13            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 28)
160 #define PD29_PF_LD14            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 29)
161 #define PD30_PF_LD15            (GPIO_PORTD | GPIO_PF | GPIO_OUT | 30)
162 #define PD31_PF_TMR2OUT         (GPIO_PORTD | GPIO_PF | 31)
163 #define PD31_BIN_SPI2_TXD       (GPIO_PORTD | GPIO_BIN | 31)
164
165
166 #endif