# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

mainmenu "Espressif Deep Sleep demo"

config EXAMPLE_EXT1_WAKEUP
	bool "Enable wakeup from GPIO"
	depends on !SOC_ESP32C3
	help
	  This option enables wake up from deep sleep from GPIO2 and
	  GPIO4. They should be connected to LOW to avoid floating pins.
	  When triggering a wake up, connect one or both of the pins to
	  HIGH. Note that floating pins may trigger a wake up.

config EXAMPLE_GPIO_WAKEUP
	bool "Enable wakeup from GPIO"
	depends on SOC_ESP32C3
	help
	  This option enables wake up from GPIO, only GPIO0~5 can be used
	  to wake up. Be aware that when low level is used to trigger wakeup,
	  an external pull-up resistance must be used.

source "Kconfig.zephyr"
