Omap3530Gpio.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /** @file
  2. Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef __OMAP3530GPIO_H__
  6. #define __OMAP3530GPIO_H__
  7. #define GPIO1_BASE (0x48310000)
  8. #define GPIO2_BASE (0x49050000)
  9. #define GPIO3_BASE (0x49052000)
  10. #define GPIO4_BASE (0x49054000)
  11. #define GPIO5_BASE (0x49056000)
  12. #define GPIO6_BASE (0x49058000)
  13. #define GPIO_SYSCONFIG (0x0010)
  14. #define GPIO_SYSSTATUS (0x0014)
  15. #define GPIO_IRQSTATUS1 (0x0018)
  16. #define GPIO_IRQENABLE1 (0x001C)
  17. #define GPIO_WAKEUPENABLE (0x0020)
  18. #define GPIO_IRQSTATUS2 (0x0028)
  19. #define GPIO_IRQENABLE2 (0x002C)
  20. #define GPIO_CTRL (0x0030)
  21. #define GPIO_OE (0x0034)
  22. #define GPIO_DATAIN (0x0038)
  23. #define GPIO_DATAOUT (0x003C)
  24. #define GPIO_LEVELDETECT0 (0x0040)
  25. #define GPIO_LEVELDETECT1 (0x0044)
  26. #define GPIO_RISINGDETECT (0x0048)
  27. #define GPIO_FALLINGDETECT (0x004C)
  28. #define GPIO_DEBOUNCENABLE (0x0050)
  29. #define GPIO_DEBOUNCINGTIME (0x0054)
  30. #define GPIO_CLEARIRQENABLE1 (0x0060)
  31. #define GPIO_SETIRQENABLE1 (0x0064)
  32. #define GPIO_CLEARIRQENABLE2 (0x0070)
  33. #define GPIO_SETIRQENABLE2 (0x0074)
  34. #define GPIO_CLEARWKUENA (0x0080)
  35. #define GPIO_SETWKUENA (0x0084)
  36. #define GPIO_CLEARDATAOUT (0x0090)
  37. #define GPIO_SETDATAOUT (0x0094)
  38. #define GPIO_SYSCONFIG_IDLEMODE_MASK (3UL << 3)
  39. #define GPIO_SYSCONFIG_IDLEMODE_FORCE (0UL << 3)
  40. #define GPIO_SYSCONFIG_IDLEMODE_NONE BIT3
  41. #define GPIO_SYSCONFIG_IDLEMODE_SMART (2UL << 3)
  42. #define GPIO_SYSCONFIG_ENAWAKEUP_MASK BIT2
  43. #define GPIO_SYSCONFIG_ENAWAKEUP_DISABLE (0UL << 2)
  44. #define GPIO_SYSCONFIG_ENAWAKEUP_ENABLE BIT2
  45. #define GPIO_SYSCONFIG_SOFTRESET_MASK BIT1
  46. #define GPIO_SYSCONFIG_SOFTRESET_NORMAL (0UL << 1)
  47. #define GPIO_SYSCONFIG_SOFTRESET_RESET BIT1
  48. #define GPIO_SYSCONFIG_AUTOIDLE_MASK BIT0
  49. #define GPIO_SYSCONFIG_AUTOIDLE_FREE_RUN (0UL << 0)
  50. #define GPIO_SYSCONFIG_AUTOIDLE_ON BIT0
  51. #define GPIO_SYSSTATUS_RESETDONE_MASK BIT0
  52. #define GPIO_SYSSTATUS_RESETDONE_ONGOING (0UL << 0)
  53. #define GPIO_SYSSTATUS_RESETDONE_COMPLETE BIT0
  54. #define GPIO_IRQSTATUS_MASK(x) (1UL << (x))
  55. #define GPIO_IRQSTATUS_NOT_TRIGGERED(x) (0UL << (x))
  56. #define GPIO_IRQSTATUS_TRIGGERED(x) (1UL << (x))
  57. #define GPIO_IRQSTATUS_CLEAR(x) (1UL << (x))
  58. #define GPIO_IRQENABLE_MASK(x) (1UL << (x))
  59. #define GPIO_IRQENABLE_DISABLE(x) (0UL << (x))
  60. #define GPIO_IRQENABLE_ENABLE(x) (1UL << (x))
  61. #define GPIO_WAKEUPENABLE_MASK(x) (1UL << (x))
  62. #define GPIO_WAKEUPENABLE_DISABLE(x) (0UL << (x))
  63. #define GPIO_WAKEUPENABLE_ENABLE(x) (1UL << (x))
  64. #define GPIO_CTRL_GATINGRATIO_MASK (3UL << 1)
  65. #define GPIO_CTRL_GATINGRATIO_DIV_1 (0UL << 1)
  66. #define GPIO_CTRL_GATINGRATIO_DIV_2 BIT1
  67. #define GPIO_CTRL_GATINGRATIO_DIV_4 (2UL << 1)
  68. #define GPIO_CTRL_GATINGRATIO_DIV_8 (3UL << 1)
  69. #define GPIO_CTRL_DISABLEMODULE_MASK BIT0
  70. #define GPIO_CTRL_DISABLEMODULE_ENABLE (0UL << 0)
  71. #define GPIO_CTRL_DISABLEMODULE_DISABLE BIT0
  72. #define GPIO_OE_MASK(x) (1UL << (x))
  73. #define GPIO_OE_OUTPUT(x) (0UL << (x))
  74. #define GPIO_OE_INPUT(x) (1UL << (x))
  75. #define GPIO_DATAIN_MASK(x) (1UL << (x))
  76. #define GPIO_DATAOUT_MASK(x) (1UL << (x))
  77. #define GPIO_LEVELDETECT_MASK(x) (1UL << (x))
  78. #define GPIO_LEVELDETECT_DISABLE(x) (0UL << (x))
  79. #define GPIO_LEVELDETECT_ENABLE(x) (1UL << (x))
  80. #define GPIO_RISINGDETECT_MASK(x) (1UL << (x))
  81. #define GPIO_RISINGDETECT_DISABLE(x) (0UL << (x))
  82. #define GPIO_RISINGDETECT_ENABLE(x) (1UL << (x))
  83. #define GPIO_FALLINGDETECT_MASK(x) (1UL << (x))
  84. #define GPIO_FALLINGDETECT_DISABLE(x) (0UL << (x))
  85. #define GPIO_FALLINGDETECT_ENABLE(x) (1UL << (x))
  86. #define GPIO_DEBOUNCENABLE_MASK(x) (1UL << (x))
  87. #define GPIO_DEBOUNCENABLE_DISABLE(x) (0UL << (x))
  88. #define GPIO_DEBOUNCENABLE_ENABLE(x) (1UL << (x))
  89. #define GPIO_DEBOUNCINGTIME_MASK (0xFF)
  90. #define GPIO_DEBOUNCINGTIME_US(x) ((((x) / 31) - 1) & GPIO_DEBOUNCINGTIME_MASK)
  91. #define GPIO_CLEARIRQENABLE_BIT(x) (1UL << (x))
  92. #define GPIO_SETIRQENABLE_BIT(x) (1UL << (x))
  93. #define GPIO_CLEARWKUENA_BIT(x) (1UL << (x))
  94. #define GPIO_SETWKUENA_BIT(x) (1UL << (x))
  95. #define GPIO_CLEARDATAOUT_BIT(x) (1UL << (x))
  96. #define GPIO_SETDATAOUT_BIT(x) (1UL << (x))
  97. #endif // __OMAP3530GPIO_H__