Kconfig.projbuild 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. menu "Example Configuration"
  2. config EXAMPLE_TOUCH_WAKEUP
  3. bool "Enable touch wake up"
  4. default y
  5. depends on SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP
  6. help
  7. This option enables wake up from deep sleep using touch pads.
  8. ESP32 - TOUCH8 and TOUCH9, which correspond to GPIO33 and GPIO32.
  9. ESP32S2/S3 - TOUCH9, which corresponds to GPIO9.
  10. Note: On ESP32, touch wakeup source can not be used together with ext0 wakeup source.
  11. config EXAMPLE_EXT0_WAKEUP
  12. bool "Enable wakeup from GPIO (ext0)"
  13. default y if !IDF_TARGET_ESP32
  14. default n if IDF_TARGET_ESP32
  15. depends on SOC_PM_SUPPORT_EXT0_WAKEUP
  16. help
  17. This option enables wake up from deep sleep from GPIO25(ESP32)/GPIO3(ESP32S2,S3). The pin should be
  18. connected to LOW to avoid being in a floating state. When triggering a wake up, connect the pin to HIGH.
  19. Note that floating pins may trigger a wake up.
  20. Note: On ESP32, ext0 wakeup source can not be used together with touch wakeup source.
  21. config EXAMPLE_EXT1_WAKEUP
  22. bool "Enable wakeup from GPIO (ext1)"
  23. default y
  24. depends on SOC_PM_SUPPORT_EXT1_WAKEUP
  25. help
  26. This option enables wake up from deep sleep from GPIO2 and GPIO4. They should be connected to LOW to avoid
  27. floating pins. When triggering a wake up, connect one or both of the pins to HIGH. Note that floating
  28. pins may trigger a wake up.
  29. menu "EXT1 wakeup configuration"
  30. visible if EXAMPLE_EXT1_WAKEUP
  31. config EXAMPLE_EXT1_WAKEUP_PIN_1
  32. int "Enable wakeup from PIN_1"
  33. depends on !IDF_TARGET_ESP32
  34. default 2 if !IDF_TARGET_ESP32H2
  35. default 10 if IDF_TARGET_ESP32H2
  36. range 0 7 if IDF_TARGET_ESP32C6
  37. range 7 14 if IDF_TARGET_ESP32H2
  38. range 0 21 if IDF_TARGET_ESP32S2
  39. range 0 21 if IDF_TARGET_ESP32S3
  40. choice EXAMPLE_EXT1_WAKEUP_PIN_1_SEL
  41. prompt "Enable wakeup from PIN_1"
  42. default EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
  43. depends on IDF_TARGET_ESP32
  44. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_0
  45. bool "GPIO 0"
  46. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
  47. bool "GPIO 2"
  48. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_4
  49. bool "GPIO 4"
  50. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_12
  51. bool "GPIO 12"
  52. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_13
  53. bool "GPIO 13"
  54. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_14
  55. bool "GPIO 14"
  56. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_15
  57. bool "GPIO 15"
  58. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_25
  59. bool "GPIO 25"
  60. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_26
  61. bool "GPIO 26"
  62. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_27
  63. bool "GPIO 27"
  64. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_32
  65. bool "GPIO 32"
  66. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_33
  67. bool "GPIO 33"
  68. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_34
  69. bool "GPIO 34"
  70. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_35
  71. bool "GPIO 35"
  72. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_36
  73. bool "GPIO 36"
  74. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_37
  75. bool "GPIO 37"
  76. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_38
  77. bool "GPIO 38"
  78. config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_39
  79. bool "GPIO 39"
  80. endchoice
  81. config EXAMPLE_EXT1_WAKEUP_PIN_1
  82. int
  83. depends on IDF_TARGET_ESP32
  84. default 0 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_0
  85. default 2 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
  86. default 4 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_4
  87. default 12 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_12
  88. default 13 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_13
  89. default 14 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_14
  90. default 15 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_15
  91. default 25 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_25
  92. default 26 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_26
  93. default 27 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_27
  94. default 32 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_32
  95. default 33 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_33
  96. default 34 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_34
  97. default 35 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_35
  98. default 36 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_36
  99. default 37 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_37
  100. default 38 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_38
  101. default 39 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_39
  102. config EXAMPLE_EXT1_WAKEUP_PIN_2
  103. int "Enable wakeup from PIN_2"
  104. depends on !IDF_TARGET_ESP32
  105. default 4 if !IDF_TARGET_ESP32H2
  106. default 11 if IDF_TARGET_ESP32H2
  107. range 0 7 if IDF_TARGET_ESP32C6
  108. range 7 14 if IDF_TARGET_ESP32H2
  109. range 0 21 if IDF_TARGET_ESP32S2
  110. range 0 21 if IDF_TARGET_ESP32S3
  111. choice EXAMPLE_EXT1_WAKEUP_PIN_2_SEL
  112. prompt "Enable wakeup from PIN_2"
  113. default EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
  114. depends on IDF_TARGET_ESP32
  115. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_0
  116. bool "GPIO 0"
  117. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_2
  118. bool "GPIO 2"
  119. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
  120. bool "GPIO 4"
  121. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_12
  122. bool "GPIO 12"
  123. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_13
  124. bool "GPIO 13"
  125. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_14
  126. bool "GPIO 14"
  127. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_15
  128. bool "GPIO 15"
  129. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_25
  130. bool "GPIO 25"
  131. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_26
  132. bool "GPIO 26"
  133. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_27
  134. bool "GPIO 27"
  135. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_32
  136. bool "GPIO 32"
  137. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_33
  138. bool "GPIO 33"
  139. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_34
  140. bool "GPIO 34"
  141. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_35
  142. bool "GPIO 35"
  143. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_36
  144. bool "GPIO 36"
  145. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_37
  146. bool "GPIO 37"
  147. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_38
  148. bool "GPIO 38"
  149. config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_39
  150. bool "GPIO 39"
  151. endchoice
  152. config EXAMPLE_EXT1_WAKEUP_PIN_2
  153. int
  154. depends on IDF_TARGET_ESP32
  155. default 0 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_0
  156. default 2 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_2
  157. default 4 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
  158. default 12 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_12
  159. default 13 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_13
  160. default 14 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_14
  161. default 15 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_15
  162. default 25 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_25
  163. default 26 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_26
  164. default 27 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_27
  165. default 32 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_32
  166. default 33 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_33
  167. default 34 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_34
  168. default 35 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_35
  169. default 36 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_36
  170. default 37 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_37
  171. default 38 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_38
  172. default 39 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_39
  173. choice EXAMPLE_EXT1_WAKEUP_MODE_SEL
  174. prompt "Select wakeup mode from EXT1"
  175. default ESP_EXT1_WAKEUP_ANY_HIGH
  176. depends on !SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  177. config ESP_EXT1_WAKEUP_ANY_LOW
  178. bool "GPIO any low level"
  179. depends on !IDF_TARGET_ESP32
  180. config ESP_EXT1_WAKEUP_ALL_LOW
  181. bool "GPIO all low level"
  182. depends on IDF_TARGET_ESP32
  183. config ESP_EXT1_WAKEUP_ANY_HIGH
  184. bool "GPIO any high level"
  185. endchoice
  186. config EXAMPLE_EXT1_WAKEUP_MODE
  187. int
  188. depends on !SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  189. default 0 if ESP_EXT1_WAKEUP_ANY_LOW
  190. default 0 if ESP_EXT1_WAKEUP_ALL_LOW
  191. default 1 if ESP_EXT1_WAKEUP_ANY_HIGH
  192. choice EXAMPLE_EXT1_WAKEUP_PIN_1_MODE_SEL
  193. prompt "Select pin_1 wakeup mode from EXT1"
  194. default ESP_EXT1_WAKEUP_PIN_1_HIGH
  195. depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  196. config ESP_EXT1_WAKEUP_PIN_1_LOW
  197. bool "GPIO low level"
  198. config ESP_EXT1_WAKEUP_PIN_1_HIGH
  199. bool "GPIO high level"
  200. endchoice
  201. config EXAMPLE_EXT1_WAKEUP_MODE_PIN_1
  202. int
  203. depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  204. default 0 if ESP_EXT1_WAKEUP_PIN_1_LOW
  205. default 1 if ESP_EXT1_WAKEUP_PIN_1_HIGH
  206. choice EXAMPLE_EXT1_WAKEUP_PIN_2_MODE_SEL
  207. prompt "Select pin_2 wakeup mode from EXT1"
  208. default ESP_EXT1_WAKEUP_PIN_2_HIGH
  209. depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  210. config ESP_EXT1_WAKEUP_PIN_2_LOW
  211. bool "GPIO low level"
  212. config ESP_EXT1_WAKEUP_PIN_2_HIGH
  213. bool "GPIO high level"
  214. endchoice
  215. config EXAMPLE_EXT1_WAKEUP_MODE_PIN_2
  216. int
  217. depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
  218. default 0 if ESP_EXT1_WAKEUP_PIN_2_LOW
  219. default 1 if ESP_EXT1_WAKEUP_PIN_2_HIGH
  220. config EXAMPLE_EXT1_USE_INTERNAL_PULLUPS
  221. bool "Use internal pull-up/downs for EXT1 wakeup source"
  222. default n
  223. depends on EXAMPLE_EXT1_WAKEUP
  224. help
  225. When using EXT1 wakeup source without external pull-up/downs, you may want to make use of
  226. the internal ones.
  227. if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH domain,
  228. we will use the HOLD feature to maintain the pull-up and pull-down on the pins during sleep.
  229. but if we turn on the RTC_PERIPH domain, we don not need to use HOLD feature and this will
  230. increase some power comsumption.
  231. EXT0 wakeup source resides in the same power domain as RTCIO (RTC Periph), so internal
  232. pull-up/downs are always available. There's no need to explicitly force it on for EXT0.
  233. endmenu
  234. config EXAMPLE_GPIO_WAKEUP
  235. bool "Enable wakeup from GPIO"
  236. default y
  237. depends on SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
  238. help
  239. This option enables wake up from GPIO. Be aware that if you use low level to trigger wakeup, we strongly
  240. recommand you to connect external pull-up resistance.
  241. menu "GPIO wakeup configuration"
  242. visible if EXAMPLE_GPIO_WAKEUP
  243. config EXAMPLE_GPIO_WAKEUP_PIN
  244. int "Enable wakeup from GPIO"
  245. default 0
  246. range 0 7 if IDF_TARGET_ESP32C6
  247. range 0 5 if !IDF_TARGET_ESP32C6
  248. config EXAMPLE_GPIO_WAKEUP_HIGH_LEVEL
  249. bool "Enable GPIO high-level wakeup"
  250. default y
  251. help
  252. This option set the gpio wake-up trigger signal, In deep sleep, only high or low level wake-up is
  253. supported. If this option is enabled, it is a high level wake up, otherwise it is a low level wake up.
  254. endmenu
  255. endmenu