summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/iomux-mx27.h
blob: 4d848d1ef1e3cbfc29d343a42d8d4e1065886c95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de>
 * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de>
 */
#ifndef __MACH_IOMUX_MX27_H__
#define __MACH_IOMUX_MX27_H__

#include "iomux-mx2x.h"
#include "iomux-v1.h"

/* Primary GPIO pin functions */

#define PA0_PF_USBH2_CLK	(GPIO_PORTA | GPIO_PF | 0)
#define PA1_PF_USBH2_DIR	(GPIO_PORTA | GPIO_PF | 1)
#define PA2_PF_USBH2_DATA7	(GPIO_PORTA | GPIO_PF | 2)
#define PA3_PF_USBH2_NXT	(GPIO_PORTA | GPIO_PF | 3)
#define PA4_PF_USBH2_STP	(GPIO_PORTA | GPIO_PF | 4)
#define PB22_PF_USBH1_SUSP	(GPIO_PORTB | GPIO_PF | 22)
#define PB25_PF_USBH1_RCV	(GPIO_PORTB | GPIO_PF | 25)
#define PC5_PF_I2C2_SDA		(GPIO_PORTC | GPIO_PF | GPIO_IN | 5)
#define PC6_PF_I2C2_SCL		(GPIO_PORTC | GPIO_PF | GPIO_IN | 6)
#define PC7_PF_USBOTG_DATA5	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 7)
#define PC8_PF_USBOTG_DATA6	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 8)
#define PC9_PF_USBOTG_DATA0	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 9)
#define PC10_PF_USBOTG_DATA2	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 10)
#define PC11_PF_USBOTG_DATA1	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 11)
#define PC12_PF_USBOTG_DATA4	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 12)
#define PC13_PF_USBOTG_DATA3	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 13)
#define PC16_PF_SSI4_FS		(GPIO_PORTC | GPIO_PF | GPIO_IN | 16)
#define PC17_PF_SSI4_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 17)
#define PC18_PF_SSI4_TXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 18)
#define PC19_PF_SSI4_CLK	(GPIO_PORTC | GPIO_PF | GPIO_IN | 19)
#define PD0_PF_SD3_CMD		(GPIO_PORTD | GPIO_PF | 0)
#define PD1_PF_SD3_CLK		(GPIO_PORTD | GPIO_PF | 1)
#define PD2_PF_ATA_DATA0	(GPIO_PORTD | GPIO_PF | 2)
#define PD3_PF_ATA_DATA1	(GPIO_PORTD | GPIO_PF | 3)
#define PD4_PF_ATA_DATA2	(GPIO_PORTD | GPIO_PF | 4)
#define PD5_PF_ATA_DATA3	(GPIO_PORTD | GPIO_PF | 5)
#define PD6_PF_ATA_DATA4	(GPIO_PORTD | GPIO_PF | 6)
#define PD7_PF_ATA_DATA5	(GPIO_PORTD | GPIO_PF | 7)
#define PD8_PF_ATA_DATA6	(GPIO_PORTD | GPIO_PF | 8)
#define PD9_PF_ATA_DATA7	(GPIO_PORTD | GPIO_PF | 9)
#define PD10_PF_ATA_DATA8	(GPIO_PORTD | GPIO_PF | 10)
#define PD11_PF_ATA_DATA9	(GPIO_PORTD | GPIO_PF | 11)
#define PD12_PF_ATA_DATA10	(GPIO_PORTD | GPIO_PF | 12)
#define PD13_PF_ATA_DATA11	(GPIO_PORTD | GPIO_PF | 13)
#define PD14_PF_ATA_DATA12	(GPIO_PORTD | GPIO_PF | 14)
#define PD15_PF_ATA_DATA13	(GPIO_PORTD | GPIO_PF | 15)
#define PD16_PF_ATA_DATA14	(GPIO_PORTD | GPIO_PF | 16)
#define PE0_PF_USBOTG_NXT	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 0)
#define PE1_PF_USBOTG_STP	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 1)
#define PE2_PF_USBOTG_DIR	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 2)
#define PE24_PF_USBOTG_CLK	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 24)
#define PE25_PF_USBOTG_DATA7	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 25)
#define PF1_PF_NFCLE		(GPIO_PORTF | GPIO_PF | 1)
#define PF3_PF_NFCE		(GPIO_PORTF | GPIO_PF | 3)
#define PF7_PF_PC_POE		(GPIO_PORTF | GPIO_PF | 7)
#define PF8_PF_PC_RW		(GPIO_PORTF | GPIO_PF | 8)
#define PF9_PF_PC_IOIS16	(GPIO_PORTF | GPIO_PF | 9)
#define PF10_PF_PC_RST		(GPIO_PORTF | GPIO_PF | 10)
#define PF11_PF_PC_BVD2		(GPIO_PORTF | GPIO_PF | 11)
#define PF12_PF_PC_BVD1		(GPIO_PORTF | GPIO_PF | 12)
#define PF13_PF_PC_VS2		(GPIO_PORTF | GPIO_PF | 13)
#define PF14_PF_PC_VS1		(GPIO_PORTF | GPIO_PF | 14)
#define PF16_PF_PC_PWRON	(GPIO_PORTF | GPIO_PF | 16)
#define PF17_PF_PC_READY	(GPIO_PORTF | GPIO_PF | 17)
#define PF18_PF_PC_WAIT		(GPIO_PORTF | GPIO_PF | 18)
#define PF19_PF_PC_CD2		(GPIO_PORTF | GPIO_PF | 19)
#define PF20_PF_PC_CD1		(GPIO_PORTF | GPIO_PF | 20)
#define PF23_PF_ATA_DATA15	(GPIO_PORTF | GPIO_PF | 23)

/* Alternate GPIO pin functions */

#define PB4_AF_MSHC_DATA0	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 4)
#define PB5_AF_MSHC_DATA1	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 5)
#define PB6_AF_MSHC_DATA2	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 6)
#define PB7_AF_MSHC_DATA4	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 7)
#define PB8_AF_MSHC_BS		(GPIO_PORTB | GPIO_AF | GPIO_OUT | 8)
#define PB9_AF_MSHC_SCLK	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 9)
#define PB10_AF_UART6_TXD	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 10)
#define PB11_AF_UART6_RXD	(GPIO_PORTB | GPIO_AF | GPIO_IN | 11)
#define PB12_AF_UART6_CTS	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 12)
#define PB13_AF_UART6_RTS	(GPIO_PORTB | GPIO_AF | GPIO_IN | 13)
#define PB18_AF_UART5_TXD	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 18)
#define PB19_AF_UART5_RXD	(GPIO_PORTB | GPIO_AF | GPIO_IN | 19)
#define PB20_AF_UART5_CTS	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 20)
#define PB21_AF_UART5_RTS	(GPIO_PORTB | GPIO_AF | GPIO_IN | 21)
#define PC8_AF_FEC_MDIO		(GPIO_PORTC | GPIO_AF | GPIO_IN | 8)
#define PC24_AF_GPT5_TOUT	(GPIO_PORTC | GPIO_AF | 24)
#define PC25_AF_GPT5_TIN	(GPIO_PORTC | GPIO_AF | 25)
#define PC26_AF_GPT4_TOUT	(GPIO_PORTC | GPIO_AF | 26)
#define PC27_AF_GPT4_TIN	(GPIO_PORTC | GPIO_AF | 27)
#define PD1_AF_ETMTRACE_PKT15	(GPIO_PORTD | GPIO_AF | 1)
#define PD6_AF_ETMTRACE_PKT14	(GPIO_PORTD | GPIO_AF | 6)
#define PD7_AF_ETMTRACE_PKT13	(GPIO_PORTD | GPIO_AF | 7)
#define PD9_AF_ETMTRACE_PKT12	(GPIO_PORTD | GPIO_AF | 9)
#define PD2_AF_SD3_D0		(GPIO_PORTD | GPIO_AF | 2)
#define PD3_AF_SD3_D1		(GPIO_PORTD | GPIO_AF | 3)
#define PD4_AF_SD3_D2		(GPIO_PORTD | GPIO_AF | 4)
#define PD5_AF_SD3_D3		(GPIO_PORTD | GPIO_AF | 5)
#define PD8_AF_FEC_MDIO		(GPIO_PORTD | GPIO_AF | GPIO_IN | 8)
#define PD10_AF_ETMTRACE_PKT11	(GPIO_PORTD | GPIO_AF | 10)
#define PD11_AF_ETMTRACE_PKT10	(GPIO_PORTD | GPIO_AF | 11)
#define PD12_AF_ETMTRACE_PKT9	(GPIO_PORTD | GPIO_AF | 12)
#define PD13_AF_ETMTRACE_PKT8	(GPIO_PORTD | GPIO_AF | 13)
#define PD14_AF_ETMTRACE_PKT7	(GPIO_PORTD | GPIO_AF | 14)
#define PD15_AF_ETMTRACE_PKT6	(GPIO_PORTD | GPIO_AF | 15)
#define PD16_AF_ETMTRACE_PKT5	(GPIO_PORTD | GPIO_AF | 16)
#define PF1_AF_ETMTRACE_PKT0	(GPIO_PORTF | GPIO_AF | 1)
#define PF3_AF_ETMTRACE_PKT2	(GPIO_PORTF | GPIO_AF | 3)
#define PF5_AF_ETMPIPESTAT11	(GPIO_PORTF | GPIO_AF | 5)
#define PF7_AF_ATA_BUFFER_EN	(GPIO_PORTF | GPIO_AF | 7)
#define PF8_AF_ATA_IORDY	(GPIO_PORTF | GPIO_AF | 8)
#define PF9_AF_ATA_INTRQ	(GPIO_PORTF | GPIO_AF | 9)
#define PF10_AF_ATA_RESET	(GPIO_PORTF | GPIO_AF | 10)
#define PF11_AF_ATA_DMACK	(GPIO_PORTF | GPIO_AF | 11)
#define PF12_AF_ATA_DMAREQ	(GPIO_PORTF | GPIO_AF | 12)
#define PF13_AF_ATA_DA0		(GPIO_PORTF | GPIO_AF | 13)
#define PF14_AF_ATA_DA1		(GPIO_PORTF | GPIO_AF | 14)
#define PF15_AF_ETMTRACE_SYNC	(GPIO_PORTF | GPIO_AF | 15)
#define PF16_AF_ATA_DA2		(GPIO_PORTF | GPIO_AF | 16)
#define PF17_AF_ATA_CS0		(GPIO_PORTF | GPIO_AF | 17)
#define PF18_AF_ATA_CS1		(GPIO_PORTF | GPIO_AF | 18)
#define PF19_AF_ATA_DIOW	(GPIO_PORTF | GPIO_AF | 19)
#define PF20_AF_ATA_DIOR	(GPIO_PORTF | GPIO_AF | 20)
#define PF22_AF_ETMTRACE_CLK	(GPIO_PORTF | GPIO_AF | 22)
#define PF23_AF_ETMTRACE_PKT4	(GPIO_PORTF | GPIO_AF | 23)

/* AIN GPIO pin functions */

#define PC14_AIN_SSI1_MCLK	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 14)
#define PC15_AIN_GPT6_TOUT	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 15)
#define PD0_AIN_FEC_TXD0	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 0)
#define PD1_AIN_FEC_TXD1	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 1)
#define PD2_AIN_FEC_TXD2	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 2)
#define PD3_AIN_FEC_TXD3	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 3)
#define PD9_AIN_FEC_MDC		(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 9)
#define PD16_AIN_FEC_TX_ER	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 16)
#define PD27_AIN_EXT_DMA_GRANT	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 27)
#define PF23_AIN_FEC_TX_EN	(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 23)

/* BIN GPIO pin functions */

#define PC14_BIN_SSI2_MCLK	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 14)

/* CIN GPIO pin functions */

#define PD2_CIN_SLCDC1_DAT0	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 2)
#define PD3_CIN_SLCDC1_DAT1	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 3)
#define PD4_CIN_SLCDC1_DAT2	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 4)
#define PD5_CIN_SLCDC1_DAT3	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 5)
#define PD6_CIN_SLCDC1_DAT4	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 6)
#define PD7_CIN_SLCDC1_DAT5	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 7)
#define PD8_CIN_SLCDC1_DAT6	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 8)
#define PD9_CIN_SLCDC1_DAT7	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 9)
#define PD10_CIN_SLCDC1_DAT8	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 10)
#define PD11_CIN_SLCDC1_DAT9	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 11)
#define PD12_CIN_SLCDC1_DAT10	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 12)
#define PD13_CIN_SLCDC1_DAT11	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 13)
#define PD14_CIN_SLCDC1_DAT12	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 14)
#define PD15_CIN_SLCDC1_DAT13	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 15)
#define PD16_CIN_SLCDC1_DAT14	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 16)
#define PD23_CIN_SLCDC1_DAT15	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 23)
#define PF27_CIN_EXT_DMA_GRANT	(GPIO_PORTF | GPIO_CIN | GPIO_OUT | 27)
/* LCDC_TESTx on PBxx omitted, because it's not clear what they do */

/* AOUT GPIO pin functions */

#define PC14_AOUT_GPT6_TIN	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 14)
#define PD4_AOUT_FEC_RX_ER	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 4)
#define PD5_AOUT_FEC_RXD1	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 5)
#define PD6_AOUT_FEC_RXD2	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 6)
#define PD7_AOUT_FEC_RXD3	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 7)
#define PD10_AOUT_FEC_CRS	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 10)
#define PD11_AOUT_FEC_TX_CLK	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 11)
#define PD12_AOUT_FEC_RXD0	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 12)
#define PD13_AOUT_FEC_RX_DV	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 13)
#define PD14_AOUT_FEC_RX_CLK	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 14)
#define PD15_AOUT_FEC_COL	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 15)

/* BOUT GPIO pin functions */

#define PC17_BOUT_PC_IOIS16	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 17)
#define PC18_BOUT_PC_BVD2	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 18)
#define PC19_BOUT_PC_BVD1	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 19)
#define PC28_BOUT_PC_BVD2	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 28)
#define PC29_BOUT_PC_VS1	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 29)
#define PC30_BOUT_PC_READY	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 30)
#define PC31_BOUT_PC_WAIT	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 31)

#endif /* __MACH_IOMUX_MX27_H__ */