/*
 * 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 "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__ */