reg_accdet.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. /*Register address define*/
  2. #define ACCDET_BASE 0x00000000
  3. #define TOP_RST_ACCDET (ACCDET_BASE + 0x0298)
  4. #define TOP_RST_ACCDET_SET (ACCDET_BASE + 0x029A)
  5. #define TOP_RST_ACCDET_CLR (ACCDET_BASE + 0x029C)
  6. #define INT_CON_ACCDET (ACCDET_BASE + 0x02AC)
  7. #define INT_CON_ACCDET_SET (ACCDET_BASE + 0x02AE)
  8. #define INT_CON_ACCDET_CLR (ACCDET_BASE + 0x02B0)
  9. #define INT_STATUS_ACCDET (ACCDET_BASE + 0x02C4)
  10. /*clock register*/
  11. #define TOP_CKPDN (ACCDET_BASE + 0x0248)
  12. #define TOP_CKPDN_SET (ACCDET_BASE + 0x024A)
  13. #define TOP_CKPDN_CLR (ACCDET_BASE + 0x024C)
  14. #define ACCDET_RSV (ACCDET_BASE + 0x0F14)
  15. #define ACCDET_CTRL (ACCDET_BASE + 0x0F16)
  16. #define ACCDET_STATE_SWCTRL (ACCDET_BASE + 0x0F18)
  17. #define ACCDET_PWM_WIDTH (ACCDET_BASE + 0x0F1A)
  18. #define ACCDET_PWM_THRESH (ACCDET_BASE + 0x0F1C)
  19. #define ACCDET_EN_DELAY_NUM (ACCDET_BASE + 0x0F1E)
  20. #define ACCDET_DEBOUNCE0 (ACCDET_BASE + 0x0F20)
  21. #define ACCDET_DEBOUNCE1 (ACCDET_BASE + 0x0F22)
  22. #define ACCDET_DEBOUNCE2 (ACCDET_BASE + 0x0F24)
  23. #define ACCDET_DEBOUNCE3 (ACCDET_BASE + 0x0F26)
  24. #define ACCDET_DEBOUNCE4 (ACCDET_BASE + 0x0F28)
  25. #define ACCDET_DEFAULT_STATE_RG (ACCDET_BASE + 0x0F2A)
  26. #define ACCDET_IRQ_STS (ACCDET_BASE + 0x0F2C)
  27. #define ACCDET_CONTROL_RG (ACCDET_BASE + 0x0F2E)
  28. #define ACCDET_STATE_RG (ACCDET_BASE + 0x0F30)
  29. #define ACCDET_EINT_CTL (ACCDET_BASE + 0x0F32)
  30. #define ACCDET_EINT_PWM_DELAY (ACCDET_BASE + 0x0F34)
  31. #define ACCDET_TEST_DEBUG (ACCDET_BASE + 0x0F36)
  32. #define ACCDET_EINT_NV (ACCDET_BASE + 0x0F38)
  33. #define ACCDET_NEGV (ACCDET_BASE + 0x0F3C)
  34. #define ACCDET_CUR_DEB (ACCDET_BASE + 0x0F3E)
  35. #define ACCDET_EINT_CUR_DEB (ACCDET_BASE + 0x0F40)
  36. #define ACCDET_RSV_CON0 (ACCDET_BASE + 0x0F42)
  37. #define ACCDET_RSV_CON1 (ACCDET_BASE + 0x0F44)
  38. #define ACCDET_AUXADC_CTL (ACCDET_BASE + 0x0E88)
  39. #define ACCDET_AUXADC_CTL_SET (ACCDET_BASE + 0x0E8A)
  40. #define ACCDET_AUXADC_REG (ACCDET_BASE + 0x0E0A)
  41. #define ACCDET_AUXADC_AUTO_SPL (ACCDET_BASE + 0x0ECA)
  42. #define ACCDET_ADC_REG (ACCDET_BASE + 0x0D00)
  43. /*Register value define*/
  44. #define ACCDET_AUXADC_AUTO_SET (1<<0)
  45. #define ACCDET_DATA_READY (1<<15)
  46. #define ACCDET_CH_REQ_EN (1<<5)
  47. #define ACCDET_DATA_MASK (0x0FFF)
  48. #define ACCDET_POWER_MOD (1<<13)
  49. #define ACCDET_MIC1_ON (1<<7)
  50. #define ACCDET_BF_ON (1<<10)
  51. #define ACCDET_BF_OFF (0<<10)
  52. #define ACCDET_BF_MOD (1<<11)
  53. #define ACCDET_INPUT_MICP (1<<3)
  54. #define ACCDET_EINT_CON_EN (1<<14)
  55. #define ACCDET_NEGV_DT_EN (1<<13)
  56. #define ACCDET_CTRL_EN (1<<0)
  57. #define ACCDET_EINT_EN (1<<2)
  58. #define ACCDET_NEGV_EN (1<<4)
  59. #define ACCDET_EINT_PWM_IDLE (1<<7)
  60. #define ACCDET_MIC_PWM_IDLE (1<<6)
  61. #define ACCDET_VTH_PWM_IDLE (1<<5)
  62. #define ACCDET_CMP_PWM_IDLE (1<<4)
  63. #define ACCDET_EINT_PWM_EN (1<<3)
  64. #define ACCDET_CMP_EN (1<<0)
  65. #define ACCDET_VTH_EN (1<<1)
  66. #define ACCDET_MICBIA_EN (1<<2)
  67. #define ACCDET_ENABLE (1<<0)
  68. #define ACCDET_DISABLE (0<<0)
  69. #define ACCDET_RESET_SET (1<<4)
  70. #define ACCDET_RESET_CLR (1<<4)
  71. #define IRQ_CLR_BIT 0x100
  72. #define IRQ_EINT_CLR_BIT 0x400
  73. #define IRQ_NEGV_CLR_BIT 0x200
  74. #define IRQ_STATUS_BIT (1<<0)
  75. #define EINT_IRQ_STATUS_BIT (1<<2)
  76. #define NEGV_IRQ_STATUS_BIT (1<<1)
  77. #define EINT_IRQ_DE_OUT 0x50
  78. #define EINT_IRQ_DE_IN 0x60
  79. #define EINT_PWM_THRESH 0x400
  80. #define EINT_IRQ_POL_HIGH (1<<15)
  81. #define EINT_IRQ_POL_LOW (1<<15)
  82. #define RG_ACCDET_IRQ_SET (1<<12)
  83. #define RG_ACCDET_IRQ_CLR (1<<12)
  84. #define RG_ACCDET_IRQ_STATUS_CLR (1<<12)
  85. #define RG_ACCDET_EINT_IRQ_SET (1<<13)
  86. #define RG_ACCDET_EINT_IRQ_CLR (1<<13)
  87. #define RG_ACCDET_EINT_IRQ_STATUS_CLR (1<<10)
  88. #define RG_ACCDET_EINT_HIGH (1<<15)
  89. #define RG_ACCDET_EINT_LOW (0<<15)
  90. #define RG_ACCDET_NEGV_IRQ_SET (1<<14)
  91. #define RG_ACCDET_NEGV_IRQ_CLR (1<<14)
  92. #define RG_ACCDET_NEGV_IRQ_STATUS_CLR (1<<14)
  93. /*CLOCK*/
  94. #define RG_ACCDET_CLK_SET (1<<9)
  95. #define RG_ACCDET_CLK_CLR (1<<9)
  96. #define ACCDET_PWM_EN_SW (1<<15)
  97. #define ACCDET_MIC_EN_SW (1<<14)
  98. #define ACCDET_VTH_EN_SW (1<<13)
  99. #define ACCDET_CMP_EN_SW (1<<12)
  100. #define ACCDET_SWCTRL_EN 0x07
  101. #define ACCDET_IN_SW 0x10
  102. #define ACCDET_DE4 0x42 /*2ms*/
  103. /*
  104. #define ACCDET_PWM_SEL_CMP 0x00
  105. #define ACCDET_PWM_SEL_VTH 0x01
  106. #define ACCDET_PWM_SEL_MIC 0x10
  107. #define ACCDET_PWM_SEL_SW 0x11
  108. #define ACCDET_TEST_MODE5_ACCDET_IN_GPI (1<<5)
  109. #define ACCDET_TEST_MODE4_ACCDET_IN_SW (1<<4)
  110. #define ACCDET_TEST_MODE3_MIC_SW (1<<3)
  111. #define ACCDET_TEST_MODE2_VTH_SW (1<<2)
  112. #define ACCDET_TEST_MODE1_CMP_SW (1<<1)
  113. #define ACCDET_TEST_MODE0_GPI (1<<0)
  114. #define ACCDET_DEFVAL_SEL (1<<15)
  115. */
  116. /*power mode and auxadc switch on/off*/
  117. #define ACCDET_1V9_MODE_OFF 0x1A10
  118. #define ACCDET_2V8_MODE_OFF 0x5A10
  119. #define ACCDET_1V9_MODE_ON 0x1E10
  120. #define ACCDET_2V8_MODE_ON 0x5A20
  121. #define ACCDET_SWCTRL_IDLE_EN (0x07<<4)