home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-ks8695 / include / mach / regs-gpio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.2 KB  |  56 lines

  1. /*
  2.  * arch/arm/mach-ks8695/include/mach/regs-gpio.h
  3.  *
  4.  * Copyright (C) 2007 Andrew Victor
  5.  *
  6.  * KS8695 - GPIO control registers and bit definitions.
  7.  *
  8.  * This file is licensed under  the terms of the GNU General Public
  9.  * License version 2. This program is licensed "as is" without any
  10.  * warranty of any kind, whether express or implied.
  11.  */
  12.  
  13. #ifndef KS8695_GPIO_H
  14. #define KS8695_GPIO_H
  15.  
  16. #define KS8695_GPIO_OFFSET    (0xF0000 + 0xE600)
  17. #define KS8695_GPIO_VA        (KS8695_IO_VA + KS8695_GPIO_OFFSET)
  18. #define KS8695_GPIO_PA        (KS8695_IO_PA + KS8695_GPIO_OFFSET)
  19.  
  20.  
  21. #define KS8695_IOPM        (0x00)        /* I/O Port Mode Register */
  22. #define KS8695_IOPC        (0x04)        /* I/O Port Control Register */
  23. #define KS8695_IOPD        (0x08)        /* I/O Port Data Register */
  24.  
  25.  
  26. /* Port Mode Register */
  27. #define IOPM(x)            (1 << (x))    /* Mode for GPIO Pin x */
  28.  
  29. /* Port Control Register */
  30. #define IOPC_IOTIM1EN        (1 << 17)    /* GPIO Pin for Timer1 Enable */
  31. #define IOPC_IOTIM0EN        (1 << 16)    /* GPIO Pin for Timer0 Enable */
  32. #define IOPC_IOEINT3EN        (1 << 15)    /* GPIO Pin for External/Soft Interrupt 3 Enable */
  33. #define IOPC_IOEINT3TM        (7 << 12)    /* GPIO Pin for External/Soft Interrupt 3 Trigger Mode */
  34. #define IOPC_IOEINT3_MODE(x)    ((x) << 12)
  35. #define IOPC_IOEINT2EN        (1 << 11)    /* GPIO Pin for External/Soft Interrupt 2 Enable */
  36. #define IOPC_IOEINT2TM        (7 << 8)    /* GPIO Pin for External/Soft Interrupt 2 Trigger Mode */
  37. #define IOPC_IOEINT2_MODE(x)    ((x) << 8)
  38. #define IOPC_IOEINT1EN        (1 << 7)    /* GPIO Pin for External/Soft Interrupt 1 Enable */
  39. #define IOPC_IOEINT1TM        (7 << 4)    /* GPIO Pin for External/Soft Interrupt 1 Trigger Mode */
  40. #define IOPC_IOEINT1_MODE(x)    ((x) << 4)
  41. #define IOPC_IOEINT0EN        (1 << 3)    /* GPIO Pin for External/Soft Interrupt 0 Enable */
  42. #define IOPC_IOEINT0TM        (7 << 0)    /* GPIO Pin for External/Soft Interrupt 0 Trigger Mode */
  43. #define IOPC_IOEINT0_MODE(x)    ((x) << 0)
  44.  
  45.  /* Trigger Modes */
  46. #define IOPC_TM_LOW        (0)        /* Level Detection (Active Low) */
  47. #define IOPC_TM_HIGH        (1)        /* Level Detection (Active High) */
  48. #define IOPC_TM_RISING        (2)        /* Rising Edge Detection */
  49. #define IOPC_TM_FALLING        (4)        /* Falling Edge Detection */
  50. #define IOPC_TM_EDGE        (6)        /* Both Edge Detection */
  51.  
  52. /* Port Data Register */
  53. #define IOPD(x)            (1 << (x))    /* Signal Level of GPIO Pin x */
  54.  
  55. #endif
  56.