Path: blob/master/arch/arm/mach-ep93xx/include/mach/gpio.h
15157 views
/*1* arch/arm/mach-ep93xx/include/mach/gpio.h2*/34#ifndef __ASM_ARCH_GPIO_H5#define __ASM_ARCH_GPIO_H67/* GPIO port A. */8#define EP93XX_GPIO_LINE_A(x) ((x) + 0)9#define EP93XX_GPIO_LINE_EGPIO0 EP93XX_GPIO_LINE_A(0)10#define EP93XX_GPIO_LINE_EGPIO1 EP93XX_GPIO_LINE_A(1)11#define EP93XX_GPIO_LINE_EGPIO2 EP93XX_GPIO_LINE_A(2)12#define EP93XX_GPIO_LINE_EGPIO3 EP93XX_GPIO_LINE_A(3)13#define EP93XX_GPIO_LINE_EGPIO4 EP93XX_GPIO_LINE_A(4)14#define EP93XX_GPIO_LINE_EGPIO5 EP93XX_GPIO_LINE_A(5)15#define EP93XX_GPIO_LINE_EGPIO6 EP93XX_GPIO_LINE_A(6)16#define EP93XX_GPIO_LINE_EGPIO7 EP93XX_GPIO_LINE_A(7)1718/* GPIO port B. */19#define EP93XX_GPIO_LINE_B(x) ((x) + 8)20#define EP93XX_GPIO_LINE_EGPIO8 EP93XX_GPIO_LINE_B(0)21#define EP93XX_GPIO_LINE_EGPIO9 EP93XX_GPIO_LINE_B(1)22#define EP93XX_GPIO_LINE_EGPIO10 EP93XX_GPIO_LINE_B(2)23#define EP93XX_GPIO_LINE_EGPIO11 EP93XX_GPIO_LINE_B(3)24#define EP93XX_GPIO_LINE_EGPIO12 EP93XX_GPIO_LINE_B(4)25#define EP93XX_GPIO_LINE_EGPIO13 EP93XX_GPIO_LINE_B(5)26#define EP93XX_GPIO_LINE_EGPIO14 EP93XX_GPIO_LINE_B(6)27#define EP93XX_GPIO_LINE_EGPIO15 EP93XX_GPIO_LINE_B(7)2829/* GPIO port C. */30#define EP93XX_GPIO_LINE_C(x) ((x) + 40)31#define EP93XX_GPIO_LINE_ROW0 EP93XX_GPIO_LINE_C(0)32#define EP93XX_GPIO_LINE_ROW1 EP93XX_GPIO_LINE_C(1)33#define EP93XX_GPIO_LINE_ROW2 EP93XX_GPIO_LINE_C(2)34#define EP93XX_GPIO_LINE_ROW3 EP93XX_GPIO_LINE_C(3)35#define EP93XX_GPIO_LINE_ROW4 EP93XX_GPIO_LINE_C(4)36#define EP93XX_GPIO_LINE_ROW5 EP93XX_GPIO_LINE_C(5)37#define EP93XX_GPIO_LINE_ROW6 EP93XX_GPIO_LINE_C(6)38#define EP93XX_GPIO_LINE_ROW7 EP93XX_GPIO_LINE_C(7)3940/* GPIO port D. */41#define EP93XX_GPIO_LINE_D(x) ((x) + 24)42#define EP93XX_GPIO_LINE_COL0 EP93XX_GPIO_LINE_D(0)43#define EP93XX_GPIO_LINE_COL1 EP93XX_GPIO_LINE_D(1)44#define EP93XX_GPIO_LINE_COL2 EP93XX_GPIO_LINE_D(2)45#define EP93XX_GPIO_LINE_COL3 EP93XX_GPIO_LINE_D(3)46#define EP93XX_GPIO_LINE_COL4 EP93XX_GPIO_LINE_D(4)47#define EP93XX_GPIO_LINE_COL5 EP93XX_GPIO_LINE_D(5)48#define EP93XX_GPIO_LINE_COL6 EP93XX_GPIO_LINE_D(6)49#define EP93XX_GPIO_LINE_COL7 EP93XX_GPIO_LINE_D(7)5051/* GPIO port E. */52#define EP93XX_GPIO_LINE_E(x) ((x) + 32)53#define EP93XX_GPIO_LINE_GRLED EP93XX_GPIO_LINE_E(0)54#define EP93XX_GPIO_LINE_RDLED EP93XX_GPIO_LINE_E(1)55#define EP93XX_GPIO_LINE_DIORn EP93XX_GPIO_LINE_E(2)56#define EP93XX_GPIO_LINE_IDECS1n EP93XX_GPIO_LINE_E(3)57#define EP93XX_GPIO_LINE_IDECS2n EP93XX_GPIO_LINE_E(4)58#define EP93XX_GPIO_LINE_IDEDA0 EP93XX_GPIO_LINE_E(5)59#define EP93XX_GPIO_LINE_IDEDA1 EP93XX_GPIO_LINE_E(6)60#define EP93XX_GPIO_LINE_IDEDA2 EP93XX_GPIO_LINE_E(7)6162/* GPIO port F. */63#define EP93XX_GPIO_LINE_F(x) ((x) + 16)64#define EP93XX_GPIO_LINE_WP EP93XX_GPIO_LINE_F(0)65#define EP93XX_GPIO_LINE_MCCD1 EP93XX_GPIO_LINE_F(1)66#define EP93XX_GPIO_LINE_MCCD2 EP93XX_GPIO_LINE_F(2)67#define EP93XX_GPIO_LINE_MCBVD1 EP93XX_GPIO_LINE_F(3)68#define EP93XX_GPIO_LINE_MCBVD2 EP93XX_GPIO_LINE_F(4)69#define EP93XX_GPIO_LINE_VS1 EP93XX_GPIO_LINE_F(5)70#define EP93XX_GPIO_LINE_READY EP93XX_GPIO_LINE_F(6)71#define EP93XX_GPIO_LINE_VS2 EP93XX_GPIO_LINE_F(7)7273/* GPIO port G. */74#define EP93XX_GPIO_LINE_G(x) ((x) + 48)75#define EP93XX_GPIO_LINE_EECLK EP93XX_GPIO_LINE_G(0)76#define EP93XX_GPIO_LINE_EEDAT EP93XX_GPIO_LINE_G(1)77#define EP93XX_GPIO_LINE_SLA0 EP93XX_GPIO_LINE_G(2)78#define EP93XX_GPIO_LINE_SLA1 EP93XX_GPIO_LINE_G(3)79#define EP93XX_GPIO_LINE_DD12 EP93XX_GPIO_LINE_G(4)80#define EP93XX_GPIO_LINE_DD13 EP93XX_GPIO_LINE_G(5)81#define EP93XX_GPIO_LINE_DD14 EP93XX_GPIO_LINE_G(6)82#define EP93XX_GPIO_LINE_DD15 EP93XX_GPIO_LINE_G(7)8384/* GPIO port H. */85#define EP93XX_GPIO_LINE_H(x) ((x) + 56)86#define EP93XX_GPIO_LINE_DD0 EP93XX_GPIO_LINE_H(0)87#define EP93XX_GPIO_LINE_DD1 EP93XX_GPIO_LINE_H(1)88#define EP93XX_GPIO_LINE_DD2 EP93XX_GPIO_LINE_H(2)89#define EP93XX_GPIO_LINE_DD3 EP93XX_GPIO_LINE_H(3)90#define EP93XX_GPIO_LINE_DD4 EP93XX_GPIO_LINE_H(4)91#define EP93XX_GPIO_LINE_DD5 EP93XX_GPIO_LINE_H(5)92#define EP93XX_GPIO_LINE_DD6 EP93XX_GPIO_LINE_H(6)93#define EP93XX_GPIO_LINE_DD7 EP93XX_GPIO_LINE_H(7)9495/* maximum value for gpio line identifiers */96#define EP93XX_GPIO_LINE_MAX EP93XX_GPIO_LINE_H(7)9798/* maximum value for irq capable line identifiers */99#define EP93XX_GPIO_LINE_MAX_IRQ EP93XX_GPIO_LINE_F(7)100101/* new generic GPIO API - see Documentation/gpio.txt */102103#include <asm-generic/gpio.h>104105#define gpio_get_value __gpio_get_value106#define gpio_set_value __gpio_set_value107#define gpio_cansleep __gpio_cansleep108109/*110* Map GPIO A0..A7 (0..7) to irq 64..71,111* B0..B7 (7..15) to irq 72..79, and112* F0..F7 (16..24) to irq 80..87.113*/114#define gpio_to_irq(gpio) \115(((gpio) <= EP93XX_GPIO_LINE_MAX_IRQ) ? (64 + (gpio)) : -EINVAL)116117#define irq_to_gpio(irq) ((irq) - gpio_to_irq(0))118119#endif120121122