blob: f888fae27acfb162cd0eeb3fa3e26f2a9af1ac46 [file] [log] [blame]
#ifndef _TZ1090_GPIO_H_
#define _TZ1090_GPIO_H_
/* TZ1090 has 90 main GPIOs, in 3 banks of 30. */
#define NR_BUILTIN_GPIO 90
/* Plus 7 PDC GPIOs */
#define NR_PDC_GPIO 7
#define GPIO_0_BASE 0
#define GPIO_0_PIN(x) (GPIO_0_BASE + (x))
#define GPIO_1_BASE 30
#define GPIO_1_PIN(x) (GPIO_1_BASE + (x))
#define GPIO_2_BASE 60
#define GPIO_2_PIN(x) (GPIO_2_BASE + (x))
#define GPIO_PDC_BASE NR_BUILTIN_GPIO
#define GPIO_PDC_PIN(x) (GPIO_PDC_BASE + (x))
#define GPIO_SDIO_CLK GPIO_0_PIN(0)
#define GPIO_SDIO_CMD GPIO_0_PIN(1)
#define GPIO_SDIO_D0 GPIO_0_PIN(2)
#define GPIO_SDIO_D1 GPIO_0_PIN(3)
#define GPIO_SDIO_D2 GPIO_0_PIN(4)
#define GPIO_SDIO_D3 GPIO_0_PIN(5)
#define GPIO_SDIO_FIRST GPIO_SDIO_CLK
#define GPIO_SDIO_LAST GPIO_SDIO_D3
#define GPIO_SDH_CD GPIO_0_PIN(6)
#define GPIO_SDH_WP GPIO_0_PIN(7)
#define GPIO_SDH_0_FIRST GPIO_SDH_CD
#define GPIO_SDH_0_LAST GPIO_SDH_WP
#define GPIO_SPI0_MCLK GPIO_0_PIN(8)
#define GPIO_SPI0_CS0 GPIO_0_PIN(9)
#define GPIO_SPI0_CS1 GPIO_0_PIN(10)
#define GPIO_SPI0_CS2 GPIO_0_PIN(11)
#define GPIO_SPI0_DOUT GPIO_0_PIN(12)
#define GPIO_SPI0_DIN GPIO_0_PIN(13)
#define GPIO_SPI0_FIRST GPIO_SPI0_MCLK
#define GPIO_SPI0_LAST GPIO_SPI0_DIN
#define GPIO_SPI1_MCLK GPIO_0_PIN(14)
#define GPIO_SPI1_CS0 GPIO_0_PIN(15)
#define GPIO_SPI1_CS1 GPIO_0_PIN(16)
#define GPIO_SPI1_CS2 GPIO_0_PIN(17)
#define GPIO_SPI1_DOUT GPIO_0_PIN(18)
#define GPIO_SPI1_DIN GPIO_0_PIN(19)
#define GPIO_SPI1_FIRST GPIO_SPI1_MCLK
#define GPIO_SPI1_LAST GPIO_SPI1_DIN
#define GPIO_UART0_RXD GPIO_0_PIN(20)
#define GPIO_UART0_TXD GPIO_0_PIN(21)
#define GPIO_UART0_CTS GPIO_0_PIN(22)
#define GPIO_UART0_RTS GPIO_0_PIN(23)
#define GPIO_UART0_FIRST GPIO_UART0_RXD
#define GPIO_UART0_LAST GPIO_UART0_RTS
#define GPIO_UART1_RXD GPIO_0_PIN(24)
#define GPIO_UART1_TXD GPIO_0_PIN(25)
#define GPIO_UART1_FIRST GPIO_UART1_RXD
#define GPIO_UART1_LAST GPIO_UART1_TXD
#define GPIO_SCB0_SDAT GPIO_0_PIN(26)
#define GPIO_SCB0_SCLK GPIO_0_PIN(27)
#define GPIO_SCB0_FIRST GPIO_SCB0_SDAT
#define GPIO_SCB0_LAST GPIO_SCB0_SCLK
#define GPIO_SCB1_SDAT GPIO_0_PIN(28)
#define GPIO_SCB1_SCLK GPIO_0_PIN(29)
#define GPIO_SCB1_FIRST GPIO_SCB1_SDAT
#define GPIO_SCB1_LAST GPIO_SCB1_SCLK
#define GPIO_SCB2_SDAT GPIO_1_PIN(0)
#define GPIO_SCB2_SCLK GPIO_1_PIN(1)
#define GPIO_SCB2_FIRST GPIO_SCB2_SDAT
#define GPIO_SCB2_LAST GPIO_SCB2_SCLK
#define GPIO_I2S_MCLK GPIO_1_PIN(2)
#define GPIO_I2S_BCLK_OUT GPIO_1_PIN(3)
#define GPIO_I2S_LRCLK_OUT GPIO_1_PIN(4)
#define GPIO_I2S_DOUT0 GPIO_1_PIN(5)
#define GPIO_I2S_DOUT1 GPIO_1_PIN(6)
#define GPIO_I2S_DOUT2 GPIO_1_PIN(7)
#define GPIO_I2S_DIN GPIO_1_PIN(8)
#define GPIO_I2S_FIRST GPIO_I2S_MCLK
#define GPIO_I2S_LAST GPIO_I2S_DIN
#define GPIO_PDM_A GPIO_1_PIN(9)
#define GPIO_PDM_B GPIO_1_PIN(10)
#define GPIO_PDM_C GPIO_1_PIN(11)
#define GPIO_PDM_D GPIO_1_PIN(12)
#define GPIO_PDM_FIRST GPIO_PDM_A
#define GPIO_PDM_LAST GPIO_PDM_D
#define GPIO_TFT_RED0 GPIO_1_PIN(13)
#define GPIO_TFT_RED1 GPIO_1_PIN(14)
#define GPIO_TFT_RED2 GPIO_1_PIN(15)
#define GPIO_TFT_RED3 GPIO_1_PIN(16)
#define GPIO_TFT_RED4 GPIO_1_PIN(17)
#define GPIO_TFT_RED5 GPIO_1_PIN(18)
#define GPIO_TFT_RED6 GPIO_1_PIN(19)
#define GPIO_TFT_RED7 GPIO_1_PIN(20)
#define GPIO_TFT_GREEN0 GPIO_1_PIN(21)
#define GPIO_TFT_GREEN1 GPIO_1_PIN(22)
#define GPIO_TFT_GREEN2 GPIO_1_PIN(23)
#define GPIO_TFT_GREEN3 GPIO_1_PIN(24)
#define GPIO_TFT_GREEN4 GPIO_1_PIN(25)
#define GPIO_TFT_GREEN5 GPIO_1_PIN(26)
#define GPIO_TFT_GREEN6 GPIO_1_PIN(27)
#define GPIO_TFT_GREEN7 GPIO_1_PIN(28)
#define GPIO_TFT_BLUE0 GPIO_1_PIN(29)
#define GPIO_TFT_BLUE1 GPIO_2_PIN(0)
#define GPIO_TFT_BLUE2 GPIO_2_PIN(1)
#define GPIO_TFT_BLUE3 GPIO_2_PIN(2)
#define GPIO_TFT_BLUE4 GPIO_2_PIN(3)
#define GPIO_TFT_BLUE5 GPIO_2_PIN(4)
#define GPIO_TFT_BLUE6 GPIO_2_PIN(5)
#define GPIO_TFT_BLUE7 GPIO_2_PIN(6)
#define GPIO_TFT_VDDEN_GD GPIO_2_PIN(7)
#define GPIO_TFT_PANELCLK GPIO_2_PIN(8)
#define GPIO_TFT_BLANK_LS GPIO_2_PIN(9)
#define GPIO_TFT_VSYNC_NS GPIO_2_PIN(10)
#define GPIO_TFT_HSYNC_NR GPIO_2_PIN(11)
#define GPIO_TFT_VD12ACB GPIO_2_PIN(12)
#define GPIO_TFT_PWRSAVE GPIO_2_PIN(13)
#define GPIO_TFT_FIRST GPIO_TFT_RED0
#define GPIO_TFT_LAST GPIO_TFT_PWRSAVE
#define GPIO_TX_ON GPIO_2_PIN(14)
#define GPIO_RX_ON GPIO_2_PIN(15)
#define GPIO_PLL_ON GPIO_2_PIN(16)
#define GPIO_PA_ON GPIO_2_PIN(17)
#define GPIO_RX_HP GPIO_2_PIN(18)
#define GPIO_GAIN0 GPIO_2_PIN(19)
#define GPIO_GAIN1 GPIO_2_PIN(20)
#define GPIO_GAIN2 GPIO_2_PIN(21)
#define GPIO_GAIN3 GPIO_2_PIN(22)
#define GPIO_GAIN4 GPIO_2_PIN(23)
#define GPIO_GAIN5 GPIO_2_PIN(24)
#define GPIO_GAIN6 GPIO_2_PIN(25)
#define GPIO_GAIN7 GPIO_2_PIN(26)
#define GPIO_ANT_SEL0 GPIO_2_PIN(27)
#define GPIO_ANT_SEL1 GPIO_2_PIN(28)
#define GPIO_RF_FIRST GPIO_TX_ON
#define GPIO_RF_LAST GPIO_ANT_SEL1
#define GPIO_SDH_CLK_IN GPIO_2_PIN(29)
#define GPIO_SDH_1_FIRST GPIO_SDH_CLK_IN
#define GPIO_SDH_1_LAST GPIO_SDH_CLK_IN
#define GPIO_SPI_FIRST GPIO_SPI0_FIRST
#define GPIO_SPI_LAST GPIO_SPI1_LAST
#define GPIO_UART_FIRST GPIO_UART0_FIRST
#define GPIO_UART_LAST GPIO_UART1_LAST
#define GPIO_SCB_FIRST GPIO_SCB0_FIRST
#define GPIO_SCB_LAST GPIO_SCB2_LAST
/* PDC GPIOs */
#define GPIO_PDC_GPIO0 GPIO_PDC_PIN(0)
#define GPIO_PDC_GPIO1 GPIO_PDC_PIN(1)
#define GPIO_SYS_WAKE0 GPIO_PDC_PIN(2)
#define GPIO_SYS_WAKE1 GPIO_PDC_PIN(3)
#define GPIO_SYS_WAKE2 GPIO_PDC_PIN(4)
#define GPIO_IR_DATA GPIO_PDC_PIN(5)
#define GPIO_EXT_POWER GPIO_PDC_PIN(6)
struct irq_data;
/* gpio.c */
int comet_gpio_disable(unsigned int gpio);
int comet_gpio_enable(unsigned int gpio);
int comet_gpio_disable_block(unsigned int first, unsigned int last);
int comet_gpio_enable_block(unsigned int first, unsigned int last);
int comet_gpio_pullup_type(unsigned int gpio, unsigned int pullup);
#define GPIO_PULLUP_TRISTATE 0x0
#define GPIO_PULLUP_UP 0x1
#define GPIO_PULLUP_DOWN 0x2
#define GPIO_PULLUP_REPEATER 0x3
#include <asm-generic/gpio.h>
#endif