Merge tag 'dma-mapping-5.4' of git://git.infradead.org/users/hch/dma-mapping
[linux-2.6-block.git] / arch / arm / mach-imx / iomux-mx27.h
CommitLineData
16216333 1/* SPDX-License-Identifier: GPL-2.0-or-later */
ccfe30a7 2/*
60561541
UKK
3 * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de>
4 * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de>
60561541
UKK
5 */
6#ifndef __MACH_IOMUX_MX27_H__
7#define __MACH_IOMUX_MX27_H__
ccfe30a7 8
267dd34c
SG
9#include "iomux-mx2x.h"
10#include "iomux-v1.h"
ccfe30a7 11
ccfe30a7
HS
12/* Primary GPIO pin functions */
13
60561541
UKK
14#define PA0_PF_USBH2_CLK (GPIO_PORTA | GPIO_PF | 0)
15#define PA1_PF_USBH2_DIR (GPIO_PORTA | GPIO_PF | 1)
16#define PA2_PF_USBH2_DATA7 (GPIO_PORTA | GPIO_PF | 2)
17#define PA3_PF_USBH2_NXT (GPIO_PORTA | GPIO_PF | 3)
18#define PA4_PF_USBH2_STP (GPIO_PORTA | GPIO_PF | 4)
19#define PB22_PF_USBH1_SUSP (GPIO_PORTB | GPIO_PF | 22)
20#define PB25_PF_USBH1_RCV (GPIO_PORTB | GPIO_PF | 25)
21#define PC5_PF_I2C2_SDA (GPIO_PORTC | GPIO_PF | GPIO_IN | 5)
22#define PC6_PF_I2C2_SCL (GPIO_PORTC | GPIO_PF | GPIO_IN | 6)
23#define PC7_PF_USBOTG_DATA5 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 7)
24#define PC8_PF_USBOTG_DATA6 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 8)
25#define PC9_PF_USBOTG_DATA0 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 9)
26#define PC10_PF_USBOTG_DATA2 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 10)
27#define PC11_PF_USBOTG_DATA1 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 11)
28#define PC12_PF_USBOTG_DATA4 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 12)
29#define PC13_PF_USBOTG_DATA3 (GPIO_PORTC | GPIO_PF | GPIO_OUT | 13)
30#define PC16_PF_SSI4_FS (GPIO_PORTC | GPIO_PF | GPIO_IN | 16)
31#define PC17_PF_SSI4_RXD (GPIO_PORTC | GPIO_PF | GPIO_IN | 17)
32#define PC18_PF_SSI4_TXD (GPIO_PORTC | GPIO_PF | GPIO_IN | 18)
33#define PC19_PF_SSI4_CLK (GPIO_PORTC | GPIO_PF | GPIO_IN | 19)
34#define PD0_PF_SD3_CMD (GPIO_PORTD | GPIO_PF | 0)
35#define PD1_PF_SD3_CLK (GPIO_PORTD | GPIO_PF | 1)
36#define PD2_PF_ATA_DATA0 (GPIO_PORTD | GPIO_PF | 2)
37#define PD3_PF_ATA_DATA1 (GPIO_PORTD | GPIO_PF | 3)
38#define PD4_PF_ATA_DATA2 (GPIO_PORTD | GPIO_PF | 4)
39#define PD5_PF_ATA_DATA3 (GPIO_PORTD | GPIO_PF | 5)
40#define PD6_PF_ATA_DATA4 (GPIO_PORTD | GPIO_PF | 6)
41#define PD7_PF_ATA_DATA5 (GPIO_PORTD | GPIO_PF | 7)
42#define PD8_PF_ATA_DATA6 (GPIO_PORTD | GPIO_PF | 8)
43#define PD9_PF_ATA_DATA7 (GPIO_PORTD | GPIO_PF | 9)
44#define PD10_PF_ATA_DATA8 (GPIO_PORTD | GPIO_PF | 10)
45#define PD11_PF_ATA_DATA9 (GPIO_PORTD | GPIO_PF | 11)
46#define PD12_PF_ATA_DATA10 (GPIO_PORTD | GPIO_PF | 12)
47#define PD13_PF_ATA_DATA11 (GPIO_PORTD | GPIO_PF | 13)
48#define PD14_PF_ATA_DATA12 (GPIO_PORTD | GPIO_PF | 14)
49#define PD15_PF_ATA_DATA13 (GPIO_PORTD | GPIO_PF | 15)
50#define PD16_PF_ATA_DATA14 (GPIO_PORTD | GPIO_PF | 16)
51#define PE0_PF_USBOTG_NXT (GPIO_PORTE | GPIO_PF | GPIO_OUT | 0)
52#define PE1_PF_USBOTG_STP (GPIO_PORTE | GPIO_PF | GPIO_OUT | 1)
53#define PE2_PF_USBOTG_DIR (GPIO_PORTE | GPIO_PF | GPIO_OUT | 2)
54#define PE24_PF_USBOTG_CLK (GPIO_PORTE | GPIO_PF | GPIO_OUT | 24)
55#define PE25_PF_USBOTG_DATA7 (GPIO_PORTE | GPIO_PF | GPIO_OUT | 25)
56#define PF1_PF_NFCLE (GPIO_PORTF | GPIO_PF | 1)
57#define PF3_PF_NFCE (GPIO_PORTF | GPIO_PF | 3)
58#define PF7_PF_PC_POE (GPIO_PORTF | GPIO_PF | 7)
59#define PF8_PF_PC_RW (GPIO_PORTF | GPIO_PF | 8)
60#define PF9_PF_PC_IOIS16 (GPIO_PORTF | GPIO_PF | 9)
61#define PF10_PF_PC_RST (GPIO_PORTF | GPIO_PF | 10)
62#define PF11_PF_PC_BVD2 (GPIO_PORTF | GPIO_PF | 11)
63#define PF12_PF_PC_BVD1 (GPIO_PORTF | GPIO_PF | 12)
64#define PF13_PF_PC_VS2 (GPIO_PORTF | GPIO_PF | 13)
65#define PF14_PF_PC_VS1 (GPIO_PORTF | GPIO_PF | 14)
66#define PF16_PF_PC_PWRON (GPIO_PORTF | GPIO_PF | 16)
67#define PF17_PF_PC_READY (GPIO_PORTF | GPIO_PF | 17)
68#define PF18_PF_PC_WAIT (GPIO_PORTF | GPIO_PF | 18)
69#define PF19_PF_PC_CD2 (GPIO_PORTF | GPIO_PF | 19)
70#define PF20_PF_PC_CD1 (GPIO_PORTF | GPIO_PF | 20)
71#define PF23_PF_ATA_DATA15 (GPIO_PORTF | GPIO_PF | 23)
ccfe30a7
HS
72
73/* Alternate GPIO pin functions */
74
60561541
UKK
75#define PB4_AF_MSHC_DATA0 (GPIO_PORTB | GPIO_AF | GPIO_OUT | 4)
76#define PB5_AF_MSHC_DATA1 (GPIO_PORTB | GPIO_AF | GPIO_OUT | 5)
77#define PB6_AF_MSHC_DATA2 (GPIO_PORTB | GPIO_AF | GPIO_OUT | 6)
78#define PB7_AF_MSHC_DATA4 (GPIO_PORTB | GPIO_AF | GPIO_OUT | 7)
79#define PB8_AF_MSHC_BS (GPIO_PORTB | GPIO_AF | GPIO_OUT | 8)
80#define PB9_AF_MSHC_SCLK (GPIO_PORTB | GPIO_AF | GPIO_OUT | 9)
81#define PB10_AF_UART6_TXD (GPIO_PORTB | GPIO_AF | GPIO_OUT | 10)
82#define PB11_AF_UART6_RXD (GPIO_PORTB | GPIO_AF | GPIO_IN | 11)
83#define PB12_AF_UART6_CTS (GPIO_PORTB | GPIO_AF | GPIO_OUT | 12)
84#define PB13_AF_UART6_RTS (GPIO_PORTB | GPIO_AF | GPIO_IN | 13)
85#define PB18_AF_UART5_TXD (GPIO_PORTB | GPIO_AF | GPIO_OUT | 18)
86#define PB19_AF_UART5_RXD (GPIO_PORTB | GPIO_AF | GPIO_IN | 19)
87#define PB20_AF_UART5_CTS (GPIO_PORTB | GPIO_AF | GPIO_OUT | 20)
88#define PB21_AF_UART5_RTS (GPIO_PORTB | GPIO_AF | GPIO_IN | 21)
89#define PC8_AF_FEC_MDIO (GPIO_PORTC | GPIO_AF | GPIO_IN | 8)
90#define PC24_AF_GPT5_TOUT (GPIO_PORTC | GPIO_AF | 24)
91#define PC25_AF_GPT5_TIN (GPIO_PORTC | GPIO_AF | 25)
92#define PC26_AF_GPT4_TOUT (GPIO_PORTC | GPIO_AF | 26)
93#define PC27_AF_GPT4_TIN (GPIO_PORTC | GPIO_AF | 27)
94#define PD1_AF_ETMTRACE_PKT15 (GPIO_PORTD | GPIO_AF | 1)
95#define PD6_AF_ETMTRACE_PKT14 (GPIO_PORTD | GPIO_AF | 6)
96#define PD7_AF_ETMTRACE_PKT13 (GPIO_PORTD | GPIO_AF | 7)
97#define PD9_AF_ETMTRACE_PKT12 (GPIO_PORTD | GPIO_AF | 9)
98#define PD2_AF_SD3_D0 (GPIO_PORTD | GPIO_AF | 2)
99#define PD3_AF_SD3_D1 (GPIO_PORTD | GPIO_AF | 3)
100#define PD4_AF_SD3_D2 (GPIO_PORTD | GPIO_AF | 4)
101#define PD5_AF_SD3_D3 (GPIO_PORTD | GPIO_AF | 5)
102#define PD8_AF_FEC_MDIO (GPIO_PORTD | GPIO_AF | GPIO_IN | 8)
103#define PD10_AF_ETMTRACE_PKT11 (GPIO_PORTD | GPIO_AF | 10)
104#define PD11_AF_ETMTRACE_PKT10 (GPIO_PORTD | GPIO_AF | 11)
105#define PD12_AF_ETMTRACE_PKT9 (GPIO_PORTD | GPIO_AF | 12)
106#define PD13_AF_ETMTRACE_PKT8 (GPIO_PORTD | GPIO_AF | 13)
107#define PD14_AF_ETMTRACE_PKT7 (GPIO_PORTD | GPIO_AF | 14)
108#define PD15_AF_ETMTRACE_PKT6 (GPIO_PORTD | GPIO_AF | 15)
109#define PD16_AF_ETMTRACE_PKT5 (GPIO_PORTD | GPIO_AF | 16)
110#define PF1_AF_ETMTRACE_PKT0 (GPIO_PORTF | GPIO_AF | 1)
111#define PF3_AF_ETMTRACE_PKT2 (GPIO_PORTF | GPIO_AF | 3)
112#define PF5_AF_ETMPIPESTAT11 (GPIO_PORTF | GPIO_AF | 5)
113#define PF7_AF_ATA_BUFFER_EN (GPIO_PORTF | GPIO_AF | 7)
114#define PF8_AF_ATA_IORDY (GPIO_PORTF | GPIO_AF | 8)
115#define PF9_AF_ATA_INTRQ (GPIO_PORTF | GPIO_AF | 9)
116#define PF10_AF_ATA_RESET (GPIO_PORTF | GPIO_AF | 10)
117#define PF11_AF_ATA_DMACK (GPIO_PORTF | GPIO_AF | 11)
118#define PF12_AF_ATA_DMAREQ (GPIO_PORTF | GPIO_AF | 12)
119#define PF13_AF_ATA_DA0 (GPIO_PORTF | GPIO_AF | 13)
120#define PF14_AF_ATA_DA1 (GPIO_PORTF | GPIO_AF | 14)
121#define PF15_AF_ETMTRACE_SYNC (GPIO_PORTF | GPIO_AF | 15)
122#define PF16_AF_ATA_DA2 (GPIO_PORTF | GPIO_AF | 16)
123#define PF17_AF_ATA_CS0 (GPIO_PORTF | GPIO_AF | 17)
124#define PF18_AF_ATA_CS1 (GPIO_PORTF | GPIO_AF | 18)
125#define PF19_AF_ATA_DIOW (GPIO_PORTF | GPIO_AF | 19)
126#define PF20_AF_ATA_DIOR (GPIO_PORTF | GPIO_AF | 20)
127#define PF22_AF_ETMTRACE_CLK (GPIO_PORTF | GPIO_AF | 22)
128#define PF23_AF_ETMTRACE_PKT4 (GPIO_PORTF | GPIO_AF | 23)
ccfe30a7
HS
129
130/* AIN GPIO pin functions */
131
60561541
UKK
132#define PC14_AIN_SSI1_MCLK (GPIO_PORTC | GPIO_AIN | GPIO_OUT | 14)
133#define PC15_AIN_GPT6_TOUT (GPIO_PORTC | GPIO_AIN | GPIO_OUT | 15)
134#define PD0_AIN_FEC_TXD0 (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 0)
135#define PD1_AIN_FEC_TXD1 (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 1)
136#define PD2_AIN_FEC_TXD2 (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 2)
137#define PD3_AIN_FEC_TXD3 (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 3)
138#define PD9_AIN_FEC_MDC (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 9)
139#define PD16_AIN_FEC_TX_ER (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 16)
140#define PD27_AIN_EXT_DMA_GRANT (GPIO_PORTD | GPIO_AIN | GPIO_OUT | 27)
141#define PF23_AIN_FEC_TX_EN (GPIO_PORTF | GPIO_AIN | GPIO_OUT | 23)
ccfe30a7
HS
142
143/* BIN GPIO pin functions */
144
60561541 145#define PC14_BIN_SSI2_MCLK (GPIO_PORTC | GPIO_BIN | GPIO_OUT | 14)
ccfe30a7
HS
146
147/* CIN GPIO pin functions */
148
60561541
UKK
149#define PD2_CIN_SLCDC1_DAT0 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 2)
150#define PD3_CIN_SLCDC1_DAT1 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 3)
151#define PD4_CIN_SLCDC1_DAT2 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 4)
152#define PD5_CIN_SLCDC1_DAT3 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 5)
153#define PD6_CIN_SLCDC1_DAT4 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 6)
154#define PD7_CIN_SLCDC1_DAT5 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 7)
155#define PD8_CIN_SLCDC1_DAT6 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 8)
156#define PD9_CIN_SLCDC1_DAT7 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 9)
157#define PD10_CIN_SLCDC1_DAT8 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 10)
158#define PD11_CIN_SLCDC1_DAT9 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 11)
159#define PD12_CIN_SLCDC1_DAT10 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 12)
160#define PD13_CIN_SLCDC1_DAT11 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 13)
161#define PD14_CIN_SLCDC1_DAT12 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 14)
162#define PD15_CIN_SLCDC1_DAT13 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 15)
163#define PD16_CIN_SLCDC1_DAT14 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 16)
164#define PD23_CIN_SLCDC1_DAT15 (GPIO_PORTD | GPIO_CIN | GPIO_OUT | 23)
165#define PF27_CIN_EXT_DMA_GRANT (GPIO_PORTF | GPIO_CIN | GPIO_OUT | 27)
ccfe30a7
HS
166/* LCDC_TESTx on PBxx omitted, because it's not clear what they do */
167
168/* AOUT GPIO pin functions */
169
60561541
UKK
170#define PC14_AOUT_GPT6_TIN (GPIO_PORTC | GPIO_AOUT | GPIO_IN | 14)
171#define PD4_AOUT_FEC_RX_ER (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 4)
172#define PD5_AOUT_FEC_RXD1 (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 5)
173#define PD6_AOUT_FEC_RXD2 (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 6)
174#define PD7_AOUT_FEC_RXD3 (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 7)
175#define PD10_AOUT_FEC_CRS (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 10)
176#define PD11_AOUT_FEC_TX_CLK (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 11)
177#define PD12_AOUT_FEC_RXD0 (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 12)
178#define PD13_AOUT_FEC_RX_DV (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 13)
179#define PD14_AOUT_FEC_RX_CLK (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 14)
180#define PD15_AOUT_FEC_COL (GPIO_PORTD | GPIO_AOUT | GPIO_IN | 15)
181
182/* BOUT GPIO pin functions */
183
184#define PC17_BOUT_PC_IOIS16 (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 17)
185#define PC18_BOUT_PC_BVD2 (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 18)
186#define PC19_BOUT_PC_BVD1 (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 19)
187#define PC28_BOUT_PC_BVD2 (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 28)
188#define PC29_BOUT_PC_VS1 (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 29)
189#define PC30_BOUT_PC_READY (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 30)
190#define PC31_BOUT_PC_WAIT (GPIO_PORTC | GPIO_BOUT | GPIO_IN | 31)
191
192#endif /* __MACH_IOMUX_MX27_H__ */