Home | History | Annotate | Download | only in arch
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef __ASM_ARCH_OMAP_GPIO_H
     13 #define __ASM_ARCH_OMAP_GPIO_H
     14 
     15 #include <asm/hardware.h>
     16 #include <asm/arch/irqs.h>
     17 #include <asm/io.h>
     18 
     19 #define OMAP_MPUIO_BASE (void __iomem *)0xfffb5000
     20 
     21 #define OMAP_MPUIO_INPUT_LATCH 0x00
     22 #define OMAP_MPUIO_OUTPUT 0x04
     23 #define OMAP_MPUIO_IO_CNTL 0x08
     24 #define OMAP_MPUIO_KBR_LATCH 0x10
     25 #define OMAP_MPUIO_KBC 0x14
     26 #define OMAP_MPUIO_GPIO_EVENT_MODE 0x18
     27 #define OMAP_MPUIO_GPIO_INT_EDGE 0x1c
     28 #define OMAP_MPUIO_KBD_INT 0x20
     29 #define OMAP_MPUIO_GPIO_INT 0x24
     30 #define OMAP_MPUIO_KBD_MASKIT 0x28
     31 #define OMAP_MPUIO_GPIO_MASKIT 0x2c
     32 #define OMAP_MPUIO_GPIO_DEBOUNCING 0x30
     33 #define OMAP_MPUIO_LATCH 0x34
     34 
     35 #define OMAP_MPUIO(nr) (OMAP_MAX_GPIO_LINES + (nr))
     36 #define OMAP_GPIO_IS_MPUIO(nr) ((nr) >= OMAP_MAX_GPIO_LINES)
     37 
     38 #define OMAP_GPIO_IRQ(nr) (OMAP_GPIO_IS_MPUIO(nr) ?   IH_MPUIO_BASE + ((nr) & 0x0f) :   IH_GPIO_BASE + (nr))
     39 
     40 struct omap_machine_gpio_bank {
     41  int start;
     42  int end;
     43 
     44  void (*set_gpio_direction)(int gpio, int is_input);
     45  void (*set_gpio_dataout)(int gpio, int enable);
     46  int (*get_gpio_datain)(int gpio);
     47 };
     48 
     49 #endif
     50