/*
 * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 */
#ifndef __MACH_IOMUX_MX1_H__
#define __MACH_IOMUX_MX1_H__

#include <mach/iomux-v1.h>

#define PA0_AIN_SPI2_CLK	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 0)
#define PA0_AF_ETMTRACESYNC	(GPIO_PORTA | GPIO_AF | 0)
#define PA1_AOUT_SPI2_RXD	(GPIO_PORTA | GPIO_AOUT | GPIO_IN | 1)
#define PA1_PF_TIN		(GPIO_PORTA | GPIO_PF | 1)
#define PA2_PF_PWM0		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 2)
#define PA3_PF_CSI_MCLK		(GPIO_PORTA | GPIO_PF | 3)
#define PA4_PF_CSI_D0		(GPIO_PORTA | GPIO_PF | 4)
#define PA5_PF_CSI_D1		(GPIO_PORTA | GPIO_PF | 5)
#define PA6_PF_CSI_D2		(GPIO_PORTA | GPIO_PF | 6)
#define PA7_PF_CSI_D3		(GPIO_PORTA | GPIO_PF | 7)
#define PA8_PF_CSI_D4		(GPIO_PORTA | GPIO_PF | 8)
#define PA9_PF_CSI_D5		(GPIO_PORTA | GPIO_PF | 9)
#define PA10_PF_CSI_D6		(GPIO_PORTA | GPIO_PF | 10)
#define PA11_PF_CSI_D7		(GPIO_PORTA | GPIO_PF | 11)
#define PA12_PF_CSI_VSYNC	(GPIO_PORTA | GPIO_PF | 12)
#define PA13_PF_CSI_HSYNC	(GPIO_PORTA | GPIO_PF | 13)
#define PA14_PF_CSI_PIXCLK	(GPIO_PORTA | GPIO_PF | 14)
#define PA15_PF_I2C_SDA		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 15)
#define PA16_PF_I2C_SCL		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 16)
#define PA17_AF_ETMTRACEPKT4	(GPIO_PORTA | GPIO_AF | 17)
#define PA17_AIN_SPI2_SS	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 17)
#define PA18_AF_ETMTRACEPKT5	(GPIO_PORTA | GPIO_AF | 18)
#define PA19_AF_ETMTRACEPKT6	(GPIO_PORTA | GPIO_AF | 19)
#define PA20_AF_ETMTRACEPKT7	(GPIO_PORTA | GPIO_AF | 20)
#define PA21_PF_A0		(GPIO_PORTA | GPIO_PF | 21)
#define PA22_PF_CS4		(GPIO_PORTA | GPIO_PF | 22)
#define PA23_PF_CS5		(GPIO_PORTA | GPIO_PF | 23)
#define PA24_PF_A16		(GPIO_PORTA | GPIO_PF | 24)
#define PA24_AF_ETMTRACEPKT0	(GPIO_PORTA | GPIO_AF | 24)
#define PA25_PF_A17		(GPIO_PORTA | GPIO_PF | 25)
#define PA25_AF_ETMTRACEPKT1	(GPIO_PORTA | GPIO_AF | 25)
#define PA26_PF_A18		(GPIO_PORTA | GPIO_PF | 26)
#define PA26_AF_ETMTRACEPKT2	(GPIO_PORTA | GPIO_AF | 26)
#define PA27_PF_A19		(GPIO_PORTA | GPIO_PF | 27)
#define PA27_AF_ETMTRACEPKT3	(GPIO_PORTA | GPIO_AF | 27)
#define PA28_PF_A20		(GPIO_PORTA | GPIO_PF | 28)
#define PA28_AF_ETMPIPESTAT0	(GPIO_PORTA | GPIO_AF | 28)
#define PA29_PF_A21		(GPIO_PORTA | GPIO_PF | 29)
#define PA29_AF_ETMPIPESTAT1	(GPIO_PORTA | GPIO_AF | 29)
#define PA30_PF_A22		(GPIO_PORTA | GPIO_PF | 30)
#define PA30_AF_ETMPIPESTAT2	(GPIO_PORTA | GPIO_AF | 30)
#define PA31_PF_A23		(GPIO_PORTA | GPIO_PF | 31)
#define PA31_AF_ETMTRACECLK	(GPIO_PORTA | GPIO_AF | 31)
#define PB8_PF_SD_DAT0		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 8)
#define PB8_AF_MS_PIO		(GPIO_PORTB | GPIO_AF | 8)
#define PB9_PF_SD_DAT1		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 9)
#define PB9_AF_MS_PI1		(GPIO_PORTB | GPIO_AF | 9)
#define PB10_PF_SD_DAT2		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 10)
#define PB10_AF_MS_SCLKI	(GPIO_PORTB | GPIO_AF | 10)
#define PB11_PF_SD_DAT3		(GPIO_PORTB | GPIO_PF | 11)
#define PB11_AF_MS_SDIO		(GPIO_PORTB | GPIO_AF | 11)
#define PB12_PF_SD_CLK		(GPIO_PORTB | GPIO_PF | 12)
#define PB12_AF_MS_SCLK0	(GPIO_PORTB | GPIO_AF | 12)
#define PB13_PF_SD_CMD		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 13)
#define PB13_AF_MS_BS		(GPIO_PORTB | GPIO_AF | 13)
#define PB14_AF_SSI_RXFS	(GPIO_PORTB | GPIO_AF | 14)
#define PB15_AF_SSI_RXCLK	(GPIO_PORTB | GPIO_AF | 15)
#define PB16_AF_SSI_RXDAT	(GPIO_PORTB | GPIO_AF | GPIO_IN | 16)
#define PB17_AF_SSI_TXDAT	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 17)
#define PB18_AF_SSI_TXFS	(GPIO_PORTB | GPIO_AF | 18)
#define PB19_AF_SSI_TXCLK	(GPIO_PORTB | GPIO_AF | 19)
#define PB20_PF_USBD_AFE	(GPIO_PORTB | GPIO_PF | 20)
#define PB21_PF_USBD_OE		(GPIO_PORTB | GPIO_PF | 21)
#define PB22_PF_USBD_RCV	(GPIO_PORTB | GPIO_PF | 22)
#define PB23_PF_USBD_SUSPND	(GPIO_PORTB | GPIO_PF | 23)
#define PB24_PF_USBD_VP		(GPIO_PORTB | GPIO_PF | 24)
#define PB25_PF_USBD_VM		(GPIO_PORTB | GPIO_PF | 25)
#define PB26_PF_USBD_VPO	(GPIO_PORTB | GPIO_PF | 26)
#define PB27_PF_USBD_VMO	(GPIO_PORTB | GPIO_PF | 27)
#define PB28_PF_UART2_CTS	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 28)
#define PB29_PF_UART2_RTS	(GPIO_PORTB | GPIO_PF | GPIO_IN | 29)
#define PB30_PF_UART2_TXD	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 30)
#define PB31_PF_UART2_RXD	(GPIO_PORTB | GPIO_PF | GPIO_IN | 31)
#define PC3_PF_SSI_RXFS		(GPIO_PORTC | GPIO_PF | 3)
#define PC4_PF_SSI_RXCLK	(GPIO_PORTC | GPIO_PF | 4)
#define PC5_PF_SSI_RXDAT	(GPIO_PORTC | GPIO_PF | GPIO_IN | 5)
#define PC6_PF_SSI_TXDAT	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 6)
#define PC7_PF_SSI_TXFS		(GPIO_PORTC | GPIO_PF | 7)
#define PC8_PF_SSI_TXCLK	(GPIO_PORTC | GPIO_PF | 8)
#define PC9_PF_UART1_CTS	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 9)
#define PC10_PF_UART1_RTS	(GPIO_PORTC | GPIO_PF | GPIO_IN | 10)
#define PC11_PF_UART1_TXD	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 11)
#define PC12_PF_UART1_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 12)
#define PC13_PF_SPI1_SPI_RDY	(GPIO_PORTC | GPIO_PF | 13)
#define PC14_PF_SPI1_SCLK	(GPIO_PORTC | GPIO_PF | 14)
#define PC15_PF_SPI1_SS		(GPIO_PORTC | GPIO_PF | 15)
#define PC16_PF_SPI1_MISO	(GPIO_PORTC | GPIO_PF | 16)
#define PC17_PF_SPI1_MOSI	(GPIO_PORTC | GPIO_PF | 17)
#define PC24_BIN_UART3_RI	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 24)
#define PC25_BIN_UART3_DSR	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 25)
#define PC26_AOUT_UART3_DTR	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 26)
#define PC27_BIN_UART3_DCD	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 27)
#define PC28_BIN_UART3_CTS	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 28)
#define PC29_AOUT_UART3_RTS	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 29)
#define PC30_BIN_UART3_TX	(GPIO_PORTC | GPIO_BIN | 30)
#define PC31_AOUT_UART3_RX	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 31)
#define PD6_PF_LSCLK		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 6)
#define PD7_PF_REV		(GPIO_PORTD | GPIO_PF | 7)
#define PD7_AF_UART2_DTR	(GPIO_PORTD | GPIO_AF | GPIO_IN | 7)
#define PD7_AIN_SPI2_SCLK	(GPIO_PORTD | GPIO_AIN | 7)
#define PD8_PF_CLS		(GPIO_PORTD | GPIO_PF | 8)
#define PD8_AF_UART2_DCD	(GPIO_PORTD | GPIO_AF | GPIO_OUT | 8)
#define PD8_AIN_SPI2_SS		(GPIO_PORTD | GPIO_AIN | 8)
#define PD9_PF_PS		(GPIO_PORTD | GPIO_PF | 9)
#define PD9_AF_UART2_RI		(GPIO_PORTD | GPIO_AF | GPIO_OUT | 9)
#define PD9_AOUT_SPI2_RXD	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 9)
#define PD10_PF_SPL_SPR		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 10)
#define PD10_AF_UART2_DSR	(GPIO_PORTD | GPIO_AF | GPIO_OUT | 10)
#define PD10_AIN_SPI2_TXD	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 10)
#define PD11_PF_CONTRAST	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 11)
#define PD12_PF_ACD_OE		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 12)
#define PD13_PF_LP_HSYNC	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 13)
#define PD14_PF_FLM_VSYNC	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 14)
#define PD15_PF_LD0		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 15)
#define PD16_PF_LD1		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 16)
#define PD17_PF_LD2		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 17)
#define PD18_PF_LD3		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 18)
#define PD19_PF_LD4		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 19)
#define PD20_PF_LD5		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 20)
#define PD21_PF_LD6		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 21)
#define PD22_PF_LD7		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 22)
#define PD23_PF_LD8		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 23)
#define PD24_PF_LD9		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 24)
#define PD25_PF_LD10		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 25)
#define PD26_PF_LD11		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 26)
#define PD27_PF_LD12		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 27)
#define PD28_PF_LD13		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 28)
#define PD29_PF_LD14		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 29)
#define PD30_PF_LD15		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 30)
#define PD31_PF_TMR2OUT		(GPIO_PORTD | GPIO_PF | 31)
#define PD31_BIN_SPI2_TXD	(GPIO_PORTD | GPIO_BIN | 31)

#endif /* ifndef __MACH_IOMUX_MX1_H__ */
