| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| if ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_CHIP_SERIES |
| string |
| default "esp32c3" if ARCH_CHIP_ESP32C3 |
| default "esp32c6" if ARCH_CHIP_ESP32C6 |
| default "esp32h2" if ARCH_CHIP_ESP32H2 |
| default "unknown" |
| |
| choice ESPRESSIF_FLASH |
| prompt "Flash Size" |
| default ESPRESSIF_FLASH_4M if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_FLASH_2M |
| bool "2 MB" |
| |
| config ESPRESSIF_FLASH_4M |
| bool "4 MB" |
| |
| config ESPRESSIF_FLASH_8M |
| bool "8 MB" |
| |
| config ESPRESSIF_FLASH_16M |
| bool "16 MB" |
| |
| endchoice # ESPRESSIF_FLASH |
| |
| config ESPRESSIF_FLASH_DETECT |
| bool "Auto-detect FLASH size" |
| default n |
| ---help--- |
| Auto detect flash size when flashing. |
| |
| config ESPRESSIF_NUM_CPUS |
| int |
| default 1 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| |
| choice ESPRESSIF_CPU_FREQ |
| prompt "CPU frequency" |
| default ESPRESSIF_CPU_FREQ_96 if ARCH_CHIP_ESP32H2 |
| default ESPRESSIF_CPU_FREQ_160 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| ---help--- |
| CPU frequency to be set on application startup. |
| |
| config ESPRESSIF_CPU_FREQ_40 |
| bool "40 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| ---help--- |
| Set the CPU frequency to 40 MHz. |
| |
| config ESPRESSIF_CPU_FREQ_48 |
| bool "48 MHz" |
| depends on ARCH_CHIP_ESP32H2 |
| ---help--- |
| Set the CPU frequency to 48 MHz. |
| |
| config ESPRESSIF_CPU_FREQ_64 |
| bool "64 MHz" |
| depends on ARCH_CHIP_ESP32H2 |
| ---help--- |
| Set the CPU frequency to 64 MHz. |
| |
| config ESPRESSIF_CPU_FREQ_80 |
| bool "80 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| ---help--- |
| Set the CPU frequency to 80 MHz. |
| |
| config ESPRESSIF_CPU_FREQ_96 |
| bool "96 MHz" |
| depends on ARCH_CHIP_ESP32H2 |
| ---help--- |
| Set the CPU frequency to 96 MHz. |
| |
| config ESPRESSIF_CPU_FREQ_160 |
| bool "160 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| ---help--- |
| Set the CPU frequency to 160 MHz. |
| |
| endchoice # ESPRESSIF_CPU_FREQ |
| |
| config ESPRESSIF_CPU_FREQ_MHZ |
| int |
| default 40 if ESPRESSIF_CPU_FREQ_40 |
| default 48 if ESPRESSIF_CPU_FREQ_48 |
| default 64 if ESPRESSIF_CPU_FREQ_64 |
| default 80 if ESPRESSIF_CPU_FREQ_80 |
| default 96 if ESPRESSIF_CPU_FREQ_96 |
| default 160 if ESPRESSIF_CPU_FREQ_160 |
| |
| config ESPRESSIF_REGION_PROTECTION |
| bool "Enable region protection" |
| default y |
| select ARCH_USE_MPU |
| ---help--- |
| Configure the MPU to disable access to invalid memory regions. |
| |
| config ESPRESSIF_RUN_IRAM |
| bool "Run from IRAM" |
| default n |
| ---help--- |
| This loads all of NuttX inside IRAM. Used to test somewhat small |
| images that can fit entirely in IRAM. |
| |
| config ESPRESSIF_ESPTOOLPY_NO_STUB |
| bool "Disable download stub" |
| default n |
| ---help--- |
| The flasher tool sends a precompiled download stub first by default. |
| That stub allows things like compressed downloads and more. |
| Usually you should not need to disable that feature. |
| It is only required to be disabled in certain scenarios when either |
| Secure Boot V2 or Flash Encryption is enabled. |
| |
| config ESPRESSIF_HAL_ASSERTIONS |
| bool "Enable HAL assertions" |
| depends on DEBUG_ASSERTIONS |
| default y |
| ---help--- |
| Enable the assertions implemented in the HAL. Otherwise, the assertions |
| are replaced by empty macros. |
| |
| config ESPRESSIF_SOC_RTC_MEM_SUPPORTED |
| bool |
| default n |
| |
| menu "Bootloader and Image Configuration" |
| |
| config ESPRESSIF_SIMPLE_BOOT |
| bool |
| depends on !ESPRESSIF_BOOTLOADER_MCUBOOT |
| default y |
| |
| config ESPRESSIF_BOOTLOADER_MCUBOOT |
| bool "Enable MCUboot-bootable format" |
| select ESPRESSIF_HAVE_OTA_PARTITION |
| ---help--- |
| Enables the Espressif port of MCUboot to be used as 2nd stage bootloader. |
| |
| config ESPRESSIF_MCUBOOT_VERSION |
| string "MCUboot version" |
| depends on ESPRESSIF_BOOTLOADER_MCUBOOT |
| default "8a07053d42e592c85cb35b79c4de1b7749943387" |
| |
| choice ESPRESSIF_ESPTOOL_TARGET_SLOT |
| prompt "Target slot for image flashing" |
| default ESPRESSIF_ESPTOOL_TARGET_PRIMARY |
| depends on ESPRESSIF_HAVE_OTA_PARTITION |
| ---help--- |
| Slot to which ESPTOOL will flash the generated binary image. |
| |
| config ESPRESSIF_ESPTOOL_TARGET_PRIMARY |
| bool "Application image primary slot" |
| ---help--- |
| This assumes that the generated image is already pre-validated. |
| This is the recommended option for the initial stages of the |
| application firmware image development. |
| |
| config ESPRESSIF_ESPTOOL_TARGET_SECONDARY |
| bool "Application image secondary slot" |
| ---help--- |
| The application needs to confirm the generated image as valid, |
| otherwise the bootloader may consider it invalid and perform the |
| rollback of the update after a reset. |
| This is the choice most suitable for the development and verification |
| of a secure firmware update workflow. |
| |
| endchoice |
| |
| config ESPRESSIF_MCUBOOT_SIGN_IMAGE_VERSION |
| string "Sign image version" |
| depends on ESPRESSIF_BOOTLOADER_MCUBOOT |
| default "1.0.0" |
| |
| config ESPRESSIF_APP_MCUBOOT_HEADER_SIZE |
| int "Application image header size (in bytes)" |
| default 32 |
| depends on ESPRESSIF_BOOTLOADER_MCUBOOT |
| |
| config ESPRESSIF_HAVE_OTA_PARTITION |
| bool |
| default n |
| |
| if ESPRESSIF_HAVE_OTA_PARTITION |
| |
| comment "Application Image OTA Update support" |
| |
| config ESPRESSIF_OTA_PRIMARY_SLOT_OFFSET |
| hex "Application image primary slot offset" |
| default 0x20000 |
| |
| config ESPRESSIF_OTA_PRIMARY_SLOT_DEVPATH |
| string "Application image primary slot device path" |
| default "/dev/ota0" |
| |
| config ESPRESSIF_OTA_SECONDARY_SLOT_OFFSET |
| hex "Application image secondary slot offset" |
| default 0x120000 |
| |
| config ESPRESSIF_OTA_SECONDARY_SLOT_DEVPATH |
| string "Application image secondary slot device path" |
| default "/dev/ota1" |
| |
| config ESPRESSIF_OTA_SLOT_SIZE |
| hex "Application image slot size (in bytes)" |
| default 0x100000 |
| |
| config ESPRESSIF_OTA_SCRATCH_OFFSET |
| hex "Scratch partition offset" |
| default 0x220000 |
| |
| config ESPRESSIF_OTA_SCRATCH_SIZE |
| hex "Scratch partition size" |
| default 0x40000 |
| |
| config ESPRESSIF_OTA_SCRATCH_DEVPATH |
| string "Scratch partition device path" |
| default "/dev/otascratch" |
| |
| endif # ESPRESSIF_HAVE_OTA_PARTITION |
| |
| config ESPRESSIF_SECURE_FLASH_ENC_ENABLED |
| bool "Enable Flash Encryption on boot (READ DOCS FIRST)" |
| default n |
| depends on ESPRESSIF_BOOTLOADER_MCUBOOT |
| select ESPRESSIF_EFUSE |
| ---help--- |
| If this option is set, flash contents will be encrypted by the bootloader on first boot. |
| |
| Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted |
| system is complicated and not always possible. |
| |
| Read https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html |
| before enabling. |
| |
| Note: enabling this option will automatically select ESPRESSIF_EFUSE and ESPRESSIF_EFUSE_VIRTUAL, |
| as a mean to avoid accidental burning of the E-Fuses. |
| |
| if ESPRESSIF_SECURE_FLASH_ENC_ENABLED |
| |
| config ESPRESSIF_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC |
| bool "Leave UART bootloader encryption enabled" |
| depends on ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| default n |
| help |
| If not set (default), the bootloader will permanently disable UART bootloader encryption access on |
| first boot. If set, the UART bootloader will still be able to access hardware encryption. |
| |
| It is recommended to only set this option in testing environments. |
| |
| config ESPRESSIF_SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC |
| bool "Leave UART bootloader decryption enabled" |
| default n |
| depends on ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| ---help--- |
| If not set (default), the bootloader will permanently disable UART bootloader decryption access on |
| first boot. If set, the UART bootloader will still be able to access hardware decryption. |
| |
| Only set this option in testing environments. Setting this option allows complete bypass of flash |
| encryption. |
| |
| config ESPRESSIF_SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE |
| bool "Leave UART bootloader flash cache enabled" |
| default n |
| depends on ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| ---help--- |
| If not set (default), the bootloader will permanently disable UART bootloader flash cache access on |
| first boot. If set, the UART bootloader will still be able to access the flash cache. |
| |
| Only set this option in testing environments. |
| |
| choice ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE |
| bool "Enable usage mode" |
| default ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| ---help--- |
| By default, Development mode is enabled which allows ROM download mode to perform Flash Encryption |
| operations (plaintext is sent to the device, and it encrypts it internally and writes ciphertext |
| to flash). This mode is not secure, it's possible for an attacker to write their own chosen plaintext |
| to flash. |
| |
| Release mode should always be selected for production or manufacturing. Once enabled it's no longer |
| possible for the device in ROM Download Mode to use the Flash Encryption hardware. |
| |
| Refer to the Flash Encryption section of the ESP-IDF Programmer's Guide for details: |
| https://docs.espressif.com/projects/esp-idf/en/latest/esp32/security/flash-encryption.html#flash-encryption-configuration |
| |
| config ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| bool "Development (NOT SECURE)" |
| select ESPRESSIF_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC |
| |
| config ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_RELEASE |
| bool "Release" |
| |
| endchoice |
| |
| config ESPRESSIF_SECURE_FLASH_ENC_USE_HOST_KEY |
| bool "Require user provided encryption key for flash encryption" |
| default y |
| ---help--- |
| This option enables the requirement of a host generated flash encryption key. |
| |
| If not selected, a random key will be generated by the bootloader on first boot. |
| In this case, the user will not have access to the key and will be unable to reuse it. |
| |
| if ESPRESSIF_SECURE_FLASH_ENC_USE_HOST_KEY |
| |
| config ESPRESSIF_SECURE_FLASH_ENC_HOST_KEY_NAME |
| string "Path to flash encryption key" |
| default "flash_enc_key.bin" |
| ---help--- |
| Path to the key file used to encrypt the flash. |
| |
| This key is in a binary format and is generated by espsecure application. |
| |
| Path is evaluated relative to the NuttX root directory. |
| |
| You can generate a new signing key by running the following command: |
| $ espsecure.py generate_flash_encryption_key <key_name> |
| |
| endif # ESPRESSIF_SECURE_FLASH_ENC_USE_HOST_KEY |
| |
| config ESPRESSIF_SECURE_FLASH_ENC_FLASH_DEVICE_ENCRYPTED |
| bool "Device is already encrypted" |
| default n |
| depends on ESPRESSIF_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT |
| depends on !ESPRESSIF_EFUSE_VIRTUAL |
| ---help--- |
| Append --encrypt to esptool.py write_flash command. |
| |
| This option is useful when the device already has a flash encryption key, |
| and the user wants to simply flash a new firmware to it, using the key already present. |
| It requires that the DEVELOPMENT mode is set. It is not possible to reflash in RELEASE mode. |
| |
| endif # ESPRESSIF_SECURE_FLASH_ENC_ENABLED |
| |
| endmenu # Bootloader and Image Configuration |
| |
| menu "LP Core (Low-power core) Coprocessor Configuration" |
| |
| config ESPRESSIF_USE_LP_CORE |
| bool "Enable LP Coprocessor" |
| depends on ARCH_CHIP_ESP32C6 |
| ---help--- |
| Enable LP core (Low-power core) coprocessor |
| |
| config ESPRESSIF_ULP_COPROC_RESERVE_MEM_SIZE |
| int "RTC slow memory reserved for coprocessor" |
| depends on ESPRESSIF_USE_LP_CORE |
| default 4096 |
| range 32 16352 |
| ---help--- |
| Bytes of memory to reserve for ULP Co-processor firmware & data. |
| Data is reserved at the beginning of RTC slow memory. |
| |
| config ESPRESSIF_ULP_SHARED_MEM_SIZE |
| int "Size of the shared memory for ULP core" |
| depends on ESPRESSIF_USE_LP_CORE |
| default 16 |
| ---help--- |
| Size of the shared memory defined in bytes. |
| |
| config ESPRESSIF_ULP_ENABLE_UBSAN |
| bool "Enable UBSan (undefined behavior sanitizer) for LP core application" |
| depends on ESPRESSIF_USE_LP_CORE |
| depends on DEBUG_SYMBOLS |
| default n |
| ---help--- |
| LP core supports limited set of HW exceptions. This can be overcome |
| by enabling undefined behavior sanitizer for LP core application to catch some errors. |
| But note that it will increase code size significantly and it can happen that |
| application will not fit into RTC RAM |
| |
| endmenu # LP Core (Low-power core) Coprocessor Configuration |
| |
| menu "PM Configuration" |
| |
| if PM |
| |
| config PM_EXT1_WAKEUP |
| bool "PM EXT1 Wakeup" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable EXT1 wakeup functionality. |
| This allows the system to wake up from PM_STANDBY or PM_SLEEP |
| when a GPIO pin configured as an EXT1 wakeup source is triggered. |
| |
| menu "PM EXT1 Wakeup Sources" |
| depends on PM_EXT1_WAKEUP |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO0 |
| bool "RTC_GPIO0" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO0 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO1 |
| bool "RTC_GPIO1" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO1 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO2 |
| bool "RTC_GPIO2" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO2 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO3 |
| bool "RTC_GPIO3" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO3 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO4 |
| bool "RTC_GPIO4" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO4 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO5 |
| bool "RTC_GPIO5" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO5 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO6 |
| bool "RTC_GPIO6" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO6 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO7 |
| bool "RTC_GPIO7" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable RTC GPIO7 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO8 |
| bool "RTC_GPIO8" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO8 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO9 |
| bool "RTC_GPIO9" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO9 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO10 |
| bool "RTC_GPIO10" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO10 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO11 |
| bool "RTC_GPIO11" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO11 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO12 |
| bool "RTC_GPIO12" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO12 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO13 |
| bool "RTC_GPIO13" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO13 as an EXT1 wakeup source. |
| |
| config PM_EXT1_WAKEUP_RTC_GPIO14 |
| bool "RTC_GPIO14" |
| depends on ARCH_CHIP_ESP32H2 |
| default n |
| ---help--- |
| Enable RTC GPIO14 as an EXT1 wakeup source. |
| |
| choice PM_EXT1_WAKEUP_TRIGGER_MODE |
| prompt "PM EXT1 Wakeup Trigger Mode" |
| default PM_EXT1_WAKEUP_TRIGGER_ANY_LOW |
| |
| config PM_EXT1_WAKEUP_TRIGGER_ANY_LOW |
| bool "Wake the chip when any of the selected GPIOs go low" |
| |
| config PM_EXT1_WAKEUP_TRIGGER_ANY_HIGH |
| bool "Wake the chip when any of the selected GPIOs go high" |
| |
| endchoice # PM_EXT1_WAKEUP_TRIGGER_MODE |
| |
| endmenu # PM_EXT1_WAKEUP_SOURCES |
| |
| config PM_ULP_WAKEUP |
| bool "PM ULP Wakeup" |
| depends on ARCH_CHIP_ESP32C6 && ESPRESSIF_USE_LP_CORE |
| default n |
| ---help--- |
| Enable ULP coprocessor wakeup functionality. |
| This allows the system to wake up from PM_STANDBY or PM_SLEEP |
| when ULP app triggers HP core to wakeup with "ulp_lp_core_wakeup_main_processor" |
| call on ULP app. |
| |
| config PM_GPIO_WAKEUP |
| bool "PM GPIO Wakeup" |
| default n |
| ---help--- |
| Enable GPIO wakeup functionality. |
| This allows the system to wake up from PM_STANDBY |
| when a GPIO pin configured as wakeup source is triggered. |
| |
| menu "PM GPIO Wakeup Sources" |
| depends on PM_GPIO_WAKEUP |
| |
| config PM_GPIO_WAKEUP_GPIO0 |
| bool "GPIO0" |
| default n |
| ---help--- |
| Enable GPIO0 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO1 |
| bool "GPIO1" |
| default n |
| ---help--- |
| Enable GPIO1 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO2 |
| bool "GPIO2" |
| default n |
| ---help--- |
| Enable GPIO2 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO3 |
| bool "GPIO3" |
| default n |
| ---help--- |
| Enable GPIO3 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO4 |
| bool "GPIO4" |
| default n |
| ---help--- |
| Enable GPIO4 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO5 |
| bool "GPIO5" |
| default n |
| ---help--- |
| Enable GPIO5 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO6 |
| bool "GPIO6" |
| default n |
| ---help--- |
| Enable GPIO6 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO7 |
| bool "GPIO7" |
| default n |
| ---help--- |
| Enable GPIO7 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO8 |
| bool "GPIO8" |
| default n |
| ---help--- |
| Enable GPIO8 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO9 |
| bool "GPIO9" |
| default n |
| ---help--- |
| Enable GPIO9 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO10 |
| bool "GPIO10" |
| default n |
| ---help--- |
| Enable GPIO10 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO11 |
| bool "GPIO11" |
| default n |
| ---help--- |
| Enable GPIO11 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO12 |
| bool "GPIO12" |
| default n |
| ---help--- |
| Enable GPIO12 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO13 |
| bool "GPIO13" |
| default n |
| ---help--- |
| Enable GPIO13 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO14 |
| bool "GPIO14" |
| default n |
| ---help--- |
| Enable GPIO14 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO15 |
| bool "GPIO15" |
| default n |
| ---help--- |
| Enable GPIO15 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO16 |
| bool "GPIO16" |
| default n |
| ---help--- |
| Enable GPIO16 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO17 |
| bool "GPIO17" |
| default n |
| ---help--- |
| Enable GPIO17 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO18 |
| bool "GPIO18" |
| default n |
| ---help--- |
| Enable GPIO18 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO19 |
| bool "GPIO19" |
| default n |
| ---help--- |
| Enable GPIO19 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO20 |
| bool "GPIO20" |
| default n |
| ---help--- |
| Enable GPIO20 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO21 |
| bool "GPIO21" |
| default n |
| ---help--- |
| Enable GPIO21 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO22 |
| bool "GPIO22" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO22 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO23 |
| bool "GPIO23" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO23 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO24 |
| bool "GPIO24" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO24 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO25 |
| bool "GPIO25" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO25 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO26 |
| bool "GPIO26" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO26 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO27 |
| bool "GPIO27" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| default n |
| ---help--- |
| Enable GPIO27 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO28 |
| bool "GPIO28" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable GPIO28 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO29 |
| bool "GPIO29" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable GPIO29 as an GPIO wakeup source. |
| |
| config PM_GPIO_WAKEUP_GPIO30 |
| bool "GPIO30" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| ---help--- |
| Enable GPIO30 as an GPIO wakeup source. |
| |
| choice PM_GPIO_WAKEUP_TRIGGER_MODE |
| prompt "PM GPIO Wakeup Trigger Mode" |
| default PM_GPIO_WAKEUP_TRIGGER_ANY_LOW |
| |
| config PM_GPIO_WAKEUP_TRIGGER_ANY_LOW |
| bool "Wake the chip when any of the selected GPIOs go low" |
| |
| config PM_GPIO_WAKEUP_TRIGGER_ANY_HIGH |
| bool "Wake the chip when any of the selected GPIOs go high" |
| |
| endchoice # PM_GPIO_WAKEUP_TRIGGER_MODE |
| |
| endmenu # PM_GPIO_WAKEUP_SOURCES |
| |
| config PM_UART_WAKEUP |
| bool "PM UART Wakeup" |
| depends on ESPRESSIF_UART0 || ESPRESSIF_UART1 |
| default n |
| ---help--- |
| Enable UART wakeup functionality. |
| This allows the system to wake up from PM_STANDBY |
| when a UART configured as an UART wakeup source is triggered. |
| |
| menu "PM UART Wakeup Sources" |
| depends on PM_UART_WAKEUP |
| |
| choice PM_UART_WAKEUP_UART_NUM |
| prompt "PM UART Wakeup UART Number" |
| default PM_UART_WAKEUP_UART0 if ESPRESSIF_UART0 |
| default PM_UART_WAKEUP_UART1 if ESPRESSIF_UART1 |
| |
| config PM_UART_WAKEUP_UART0 |
| depends on ESPRESSIF_UART0 |
| bool "Wake the chip up when UART0 gets a data" |
| |
| config PM_UART_WAKEUP_UART1 |
| depends on ESPRESSIF_UART1 |
| bool "Wake the chip up when UART1 gets a data" |
| |
| endchoice # PM_UART_WAKEUP_UART_NUM |
| |
| choice PM_UART_WAKEUP_MODE |
| prompt "PM UART Wakeup Mode" |
| default PM_UART_WAKEUP_START_BIT_MODE if !ARCH_CHIP_ESP32C3_GENERIC |
| default PM_UART_WAKEUP_ACTIVE_EDGE_THRESHOLD_MODE if ARCH_CHIP_ESP32C3_GENERIC |
| |
| config PM_UART_WAKEUP_ACTIVE_EDGE_THRESHOLD_MODE |
| bool "Wake-up triggered by active edge threshold" |
| |
| config PM_UART_WAKEUP_FIFO_THRESHOLD_MODE |
| bool "Wake-up triggered by the number of bytes received in the RX FIFO" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| |
| config PM_UART_WAKEUP_START_BIT_MODE |
| bool "Wake-up triggered by the detection of a start bit" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| |
| config PM_UART_WAKEUP_CHAR_SEQ_MODE |
| bool "Wake-up triggered by detecting a specific character sequence" |
| depends on !ARCH_CHIP_ESP32C3_GENERIC |
| |
| endchoice # PM_UART_WAKEUP_MODE |
| |
| config PM_UART_WAKEUP_ACTIVE_EDGE_THRESHOLD |
| int "Number of RXD edge changes to to trigger wake-up" |
| depends on PM_UART_WAKEUP_ACTIVE_EDGE_THRESHOLD_MODE |
| default 3 |
| |
| config PM_UART_WAKEUP_FIFO_THRESHOLD |
| int "Number of bytes needed to receive in the RX FIFO to trigger wake-up" |
| depends on PM_UART_WAKEUP_FIFO_THRESHOLD_MODE |
| default 8 |
| |
| config PM_UART_WAKEUP_CHAR_SEQ |
| string "Character sequence to trigger wake-up" |
| depends on PM_UART_WAKEUP_CHAR_SEQ_MODE |
| default "esp" |
| |
| endmenu # PM UART Wakeup Sources |
| |
| config PM_ALARM_SEC |
| int "PM_STANDBY delay (seconds)" |
| default 15 |
| ---help--- |
| Number of seconds to wait in PM_STANDBY mode. |
| |
| config PM_ALARM_NSEC |
| int "PM_STANDBY delay (nanoseconds)" |
| default 0 |
| ---help--- |
| Number of additional nanoseconds to wait in PM_STANDBY mode. |
| |
| config PM_SLEEP_WAKEUP_SEC |
| int "PM_SLEEP delay (seconds)" |
| default 20 |
| ---help--- |
| Number of seconds to wait in PM_SLEEP. |
| |
| config PM_SLEEP_WAKEUP_NSEC |
| int "PM_SLEEP delay (nanoseconds)" |
| default 0 |
| ---help--- |
| Number of additional nanoseconds to wait in PM_SLEEP. |
| |
| endif # PM |
| |
| endmenu # PM Configuration |
| |
| menu "Peripheral Support" |
| |
| config ESPRESSIF_RTC |
| bool "Real Time Clock (RTC)" |
| default y |
| |
| config ESPRESSIF_UART |
| bool |
| default n |
| |
| config ESPRESSIF_LP_UART |
| bool |
| default n |
| |
| config ESPRESSIF_UART0 |
| bool "UART0" |
| default y |
| select ESPRESSIF_UART |
| select UART0_SERIALDRIVER |
| select ARCH_HAVE_SERIAL_TERMIOS |
| |
| config ESPRESSIF_UART1 |
| bool "UART1" |
| default n |
| select ESPRESSIF_UART |
| select UART1_SERIALDRIVER |
| select ARCH_HAVE_SERIAL_TERMIOS |
| |
| config ESPRESSIF_LP_UART0 |
| bool "LP UART0" |
| default n |
| depends on ARCH_CHIP_ESP32C6 |
| select ESPRESSIF_UART |
| select ESPRESSIF_LP_UART |
| select LPUART0_SERIALDRIVER |
| select ARCH_HAVE_SERIAL_TERMIOS |
| |
| config ESPRESSIF_TWAI |
| bool "TWAI (CAN)" |
| default n |
| select ARCH_HAVE_CAN_ERRORS |
| select CAN |
| |
| config ESPRESSIF_TWAI0 |
| bool "TWAI0 (CAN)" |
| default n |
| select ESPRESSIF_TWAI |
| select ARCH_HAVE_CAN_ERRORS |
| select CAN |
| |
| config ESPRESSIF_TWAI1 |
| bool "TWAI1 (CAN)" |
| default n |
| depends on ARCH_CHIP_ESP32C6 |
| select ESPRESSIF_TWAI |
| select ARCH_HAVE_CAN_ERRORS |
| select CAN |
| |
| config ESPRESSIF_USBSERIAL |
| bool "USB-Serial-JTAG Driver" |
| default n |
| select ESPRESSIF_ESPTOOLPY_NO_STUB if ARCH_CHIP_ESP32C3 |
| select OTHER_UART_SERIALDRIVER |
| select ARCH_HAVE_SERIAL_TERMIOS |
| |
| config ESPRESSIF_DEDICATED_GPIO |
| bool "Dedicated GPIO" |
| default n |
| ---help--- |
| Enable dedicated GPIO support for faster response time. |
| Dedicated GPIO is suitable for faster response times required |
| applications like simulate serial/parallel interfaces in a bit-banging way. |
| It can work as pin grouping and you can use any pin up to 8 pins for |
| input and 8 pins for output for dedicated gpio in total. |
| |
| config ESPRESSIF_GPIO_IRQ |
| bool "GPIO pin interrupts" |
| default n |
| ---help--- |
| Enable support for interrupting GPIO pins |
| |
| config ESPRESSIF_RTCIO_IRQ |
| bool "RTC IO interrupts" |
| default n |
| depends on !ARCH_CHIP_ESP32H2 && !ARCH_CHIP_ESP32C6 |
| ---help--- |
| Enable support for RTC peripherals interrupts. |
| |
| config ESPRESSIF_LEDC |
| bool "LEDC (PWM)" |
| default n |
| select PWM |
| select ARCH_HAVE_PWM_MULTICHAN |
| |
| config ESPRESSIF_SHA_ACCELERATOR |
| bool "SHA Accelerator" |
| default n |
| ---help--- |
| Enable SHA accelerator support. |
| |
| config ESPRESSIF_ADC |
| bool "Analog-to-digital converter (ADC)" |
| default n |
| select ANALOG |
| select ADC |
| ---help--- |
| Enable support for analog-to-digital converter (ADC) peripheral. |
| |
| if ESPRESSIF_ADC |
| |
| config ESPRESSIF_ADC_1 |
| default y |
| bool "Enable SAR ADC 1" |
| |
| endif # ESPRESSIF_ADC |
| |
| config ESPRESSIF_I2S |
| bool |
| default n |
| |
| config ESPRESSIF_I2S0 |
| bool "I2S 0" |
| default n |
| select ESPRESSIF_I2S |
| select I2S |
| select ESPRESSIF_DMA |
| select ESPRESSIF_GPIO_IRQ |
| select SCHED_HPWORK |
| |
| config ESPRESSIF_I2C |
| bool |
| default n |
| |
| config ESPRESSIF_LPI2C |
| bool |
| default n |
| |
| config ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| bool |
| depends on (ESPRESSIF_I2C0_MASTER_MODE || ESPRESSIF_I2C1_MASTER_MODE || ESPRESSIF_LP_I2C0) |
| default n |
| |
| config ESPRESSIF_I2C_PERIPH_SLAVE_MODE |
| bool |
| depends on (ESPRESSIF_I2C0_SLAVE_MODE || ESPRESSIF_I2C1_SLAVE_MODE) |
| default n |
| |
| config ESPRESSIF_I2C0 |
| bool "I2C 0" |
| default n |
| select ESPRESSIF_I2C |
| select I2C |
| |
| config ESPRESSIF_I2C1 |
| bool "I2C 1" |
| default n |
| depends on ARCH_CHIP_ESP32H2 |
| select ESPRESSIF_I2C |
| select I2C |
| |
| config ESPRESSIF_LP_I2C0 |
| bool "LP I2C 0" |
| default n |
| depends on ARCH_CHIP_ESP32C6 |
| select ESPRESSIF_I2C |
| select ESPRESSIF_LPI2C |
| select ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| select I2C |
| |
| config ESPRESSIF_I2C_BITBANG |
| bool "I2C Bitbang" |
| default n |
| select I2C_BITBANG |
| select ESPRESSIF_I2C |
| select I2C |
| select I2C_BITBANG |
| ---help--- |
| Software implemented I2C peripheral with GPIOs. Suggested to use if I2C peripherals are already in use. |
| |
| config ESPRESSIF_SPI |
| bool |
| default n |
| |
| config ESPRESSIF_SPI_SLAVE |
| bool |
| default n |
| |
| config ESPRESSIF_SPI_PERIPH |
| bool |
| depends on ESPRESSIF_SPI2 |
| default n |
| |
| config ESPRESSIF_SPI2 |
| bool "SPI 2" |
| default n |
| select ESPRESSIF_SPI |
| select SPI |
| select ESPRESSIF_SPI_PERIPH |
| |
| config ESPRESSIF_SPI_BITBANG |
| bool "SPI Bitbang" |
| default n |
| select ESPRESSIF_SPI |
| select SPI |
| select SPI_BITBANG |
| ---help--- |
| Software implemented SPI peripheral with GPIOs. Suggested to use if SPI peripheral is already in use. |
| |
| config ESPRESSIF_SPIFLASH |
| bool "SPI Flash (User Storage)" |
| default n |
| ---help--- |
| Enable SPI Flash driver for general storage support. This allows |
| mounting an MTD partition at a configurable region in flash. |
| |
| config ESPRESSIF_DMA |
| bool "General DMA (GDMA)" |
| default n |
| select ARCH_DMA |
| |
| config ESPRESSIF_EFUSE |
| bool "E-Fuse support" |
| default n |
| ---help--- |
| Enable efuse support. |
| |
| config ESPRESSIF_EFUSE_VIRTUAL |
| bool "Virtual E-Fuses support" |
| depends on ESPRESSIF_EFUSE |
| default y |
| ---help--- |
| Enable virtual E-Fuse support to simulate E-Fuse operations in RAM. |
| Changes will be reverted each reboot unless enabling ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH. |
| |
| config ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH |
| bool "Keep E-Fuses in flash" |
| depends on ESPRESSIF_EFUSE_VIRTUAL |
| default y |
| ---help--- |
| In addition to the "Virtual E-Fuses support" option, this option just adds |
| a feature to keep E-Fuses after reboots in flash memory. |
| |
| During startup, the E-Fuses are copied from flash or, |
| in case if flash is empty, from real E-Fuse to RAM and then update flash. |
| This mode is useful when need to keep changes after reboots (testing secure_boot, |
| flash_encryption or using MCUBoot + encryption). |
| |
| if ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH |
| |
| config ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH_OFFSET |
| hex "E-Fuses offset in flash" |
| depends on ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH |
| default 0x10000 if ESPRESSIF_BOOTLOADER_MCUBOOT |
| default 0x250000 if !ESPRESSIF_BOOTLOADER_MCUBOOT |
| ---help--- |
| Offset in flash where the E-Fuses will be stored when using the "E-Fuses size to keep in flash" option. |
| |
| config ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH_SIZE |
| hex "E-Fuses size to keep in flash" |
| depends on ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH |
| default 0x2000 |
| ---help--- |
| Size of E-Fuse region to keep in flash. |
| |
| endif # ESPRESSIF_EFUSE_VIRTUAL_KEEP_IN_FLASH |
| |
| config ESPRESSIF_HR_TIMER |
| bool |
| default RTC_DRIVER |
| ---help--- |
| A high-resolution hardware timer for supporting the management of |
| kernel events. |
| The HR Timer is built on top of the System Timer (SYSTIMER) peripheral. |
| Timer callbacks are dispatched from a high-priority kernel task. |
| |
| config ESPRESSIF_WDT |
| bool |
| default n |
| select WATCHDOG |
| |
| config ESPRESSIF_MWDT0 |
| bool "Main System Watchdog Timer (Group 0)" |
| default n |
| select ESPRESSIF_WDT |
| ---help--- |
| Includes MWDT0. This watchdog timer is part of the Group 0 |
| timer submodule. |
| |
| config ESPRESSIF_MWDT1 |
| bool "Main System Watchdog Timer (Group 1)" |
| default n |
| select ESPRESSIF_WDT |
| ---help--- |
| Includes MWDT1. This watchdog timer is part of the Group 1 |
| timer submodule. |
| |
| config ESPRESSIF_RWDT |
| bool "RTC Watchdog Timer" |
| default n |
| select ESPRESSIF_WDT |
| ---help--- |
| Includes RWDT. This watchdog timer is from the RTC module. |
| When it is selected, if the developer sets it to reset on expiration |
| it will reset Main System and the RTC module. If you don't want |
| to have the RTC module reset, please, use the Timers' Module WDTs. |
| They will only reset Main System. |
| |
| config ESPRESSIF_XTWDT |
| bool "XTAL32K Watchdog Timer" |
| depends on ARCH_CHIP_ESP32C3 |
| depends on ESPRESSIF_RTCIO_IRQ |
| depends on ESPRESSIF_RTC_CLK_EXT_OSC || ESPRESSIF_RTC_CLK_EXT_XTAL |
| default n |
| select ESPRESSIF_WDT |
| ---help--- |
| Includes XTWDT. This watchdog timer monitors the status of the |
| external 32 kHz crystal oscillator (XTAL32K). When XTAL32K_CLK works |
| as the clock source of RTC_SLOW_CLK and it stops oscillating, the |
| XTAL32K watchdog timer first switches to BACKUP32K_CLK derived from |
| RC_SLOW_CLK (if ESP32S2_XTWDT_BACKUP_CLK_ENABLE) and, then, generates |
| an interrupt that could be captured by WDIOC_CAPTURE. |
| |
| config ESPRESSIF_XTWDT_TIMEOUT |
| int "XTAL32K watchdog timeout period" |
| depends on ESPRESSIF_XTWDT |
| range 1 255 |
| default 200 |
| ---help--- |
| Timeout period configuration for the XTAL32K watchdog timer based on RTC_CLK. |
| |
| config ESPRESSIF_XTWDT_BACKUP_CLK_ENABLE |
| bool "Automatically switch to BACKUP32K_CLK when timer expires" |
| depends on ESPRESSIF_XTWDT |
| default y |
| ---help--- |
| Enable this to automatically switch to BACKUP32K_CLK as the source of |
| RTC_SLOW_CLK when the watchdog timer expires. |
| |
| config ESPRESSIF_BROWNOUT_DET |
| bool "Brownout Detector" |
| default y |
| ---help--- |
| A built-in brownout detector which can detect if the voltage is lower |
| than a specific value. If this happens, it will reset the chip in |
| order to prevent unintended behaviour. |
| |
| config ESP_RMT |
| bool "Remote Control Module (RMT)" |
| default n |
| depends on RMT |
| ---help--- |
| The RMT (Remote Control Transceiver) peripheral was designed to act as |
| an infrared transceiver. However, due to the flexibility of its data |
| format, RMT can be extended to a versatile and general-purpose |
| transceiver, transmitting or receiving many other types of signals. |
| |
| config ESP_SDM |
| bool "Sigma-Delta Modulation (SDM) Module" |
| default n |
| select ANALOG |
| select DAC |
| |
| config ESPRESSIF_TEMP |
| bool "Internal Temperature Sensor" |
| default n |
| ---help--- |
| A built-in sensor used to measure the chip's internal temperature. |
| |
| config ESP_WIRELESS |
| bool |
| default n |
| select NET |
| select ARCH_PHY_INTERRUPT |
| select RTC |
| select RTC_DRIVER |
| select ESPRESSIF_HR_TIMER |
| |
| config ESPRESSIF_WIFI |
| bool "Wi-Fi" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| default n |
| select ESP_WIRELESS |
| ---help--- |
| Enable Wi-Fi support |
| |
| config ESPRESSIF_BLE |
| bool "BLE" |
| depends on ARCH_CHIP_ESP32C3 |
| default n |
| select ESP_WIRELESS |
| ---help--- |
| Enable BLE support |
| |
| config ESP_COEX_SW_COEXIST_ENABLE |
| bool "Software WiFi/Bluetooth/IEEE 802.15.4 coexistence" |
| depends on (ESPRESSIF_WIFI && ESPRESSIF_BLE) || \ |
| (ESPRESSIF_WIFI && ESP_IEEE802154) || \ |
| (ESP_IEEE802154 && ESPRESSIF_BLE) |
| default y |
| ---help--- |
| If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware. |
| Recommended for heavy traffic scenarios. Both coexistence configuration options are |
| automatically managed, no user intervention is required. |
| If only Bluetooth is used, it is recommended to disable this option to reduce binary file |
| size. |
| |
| menuconfig ESPRESSIF_WIFI_BT_COEXIST |
| bool "Wi-Fi and BT coexist" |
| default y if ESPRESSIF_WIFI && ESPRESSIF_BLE |
| default n |
| depends on ESPRESSIF_WIFI && ESPRESSIF_BLE |
| select ESPRESSIF_WIFI_STA_DISCONNECT_PM |
| |
| config ESP_MCPWM |
| bool "Motor Control PWM (MCPWM)" |
| default n |
| depends on ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| ---help--- |
| Enable support for timer capture and motor control using |
| the Motor Control PWM peripheral. |
| |
| config ESP_PCNT |
| bool "Pulse Counter (PCNT / QE) Module" |
| default n |
| select CAPTURE |
| depends on ARCH_CHIP_ESP32H2 || ARCH_CHIP_ESP32C6 |
| |
| menu "Pulse Counter (PCNT) Configuration" |
| depends on ESP_PCNT |
| |
| config ESP_PCNT_TEST_MODE |
| bool "Pulse Counter character driver loopback test mode (for testing only)" |
| default n |
| ---help--- |
| This enables a loopback test mode that attaches the transmitter |
| to the receiver internally, being able to test the PCNT |
| peripheral without any external connection. |
| |
| config ESP_PCNT_HIGH_LIMIT |
| int "PCNT high limit value" |
| default 1024 |
| range 1 32767 |
| ---help--- |
| This sets thr_h_lim value for all units. When pulse_cnt reaches |
| this value, the counter will be cleared. |
| |
| config ESP_PCNT_LOW_LIMIT |
| int "PCNT low limit value" |
| default -1024 |
| range -32768 -1 |
| ---help--- |
| This sets thr_l_lim value for all units. When pulse_cnt reaches |
| this value, the counter will be cleared. |
| |
| config ESP_PCNT_AS_QE |
| bool |
| default n |
| select SENSORS |
| select SENSORS_QENCODER |
| |
| config ESP_PCNT_U0 |
| bool "Enable PCNT Unit 0" |
| default n |
| |
| if ESP_PCNT_U0 |
| |
| config ESP_PCNT_U0_QE |
| bool "Use this PCNT Unit as Quadrature Encoder" |
| default n |
| select ESP_PCNT_AS_QE |
| |
| config ESP_PCNT_U0_CH0_EDGE_PIN |
| int "PCNT_U0 CH0 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| |
| config ESP_PCNT_U0_CH0_LEVEL_PIN |
| int "PCNT_U0 CH0 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| depends on !ESP_PCNT_U0_QE |
| |
| config ESP_PCNT_U0_CH1_EDGE_PIN |
| int "PCNT_U0 CH1 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| depends on !ESP_PCNT_U0_QE |
| |
| config ESP_PCNT_U0_CH1_LEVEL_PIN |
| int "PCNT_U0 CH1 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| |
| config ESP_PCNT_U0_FILTER_EN |
| bool "Enable Glitch Filter for this PCNT Unit" |
| default n |
| |
| if ESP_PCNT_U0_FILTER_EN |
| |
| config ESP_PCNT_U0_FILTER_THRES |
| int "PCNT_U0 Filter Threshold value" |
| default 5 |
| ---help--- |
| If a pulse is shorter than this number of APB_CLK clock cycles |
| then it will not be considered as a valid pulse. |
| |
| endif # ESP_PCNT_U0_FILTER_EN |
| |
| endif # ESP_PCNT_U0 |
| |
| config ESP_PCNT_U1 |
| bool "Enable PCNT Unit 1" |
| depends on ESP_PCNT_U0 |
| default n |
| |
| if ESP_PCNT_U1 |
| |
| config ESP_PCNT_U1_QE |
| bool "Use this PCNT Unit as Quadrature Encoder" |
| default n |
| select ESP_PCNT_AS_QE |
| |
| config ESP_PCNT_U1_CH0_EDGE_PIN |
| int "PCNT_U1 CH0 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| |
| config ESP_PCNT_U1_CH0_LEVEL_PIN |
| int "PCNT_U1 CH0 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| depends on !ESP_PCNT_U1_QE |
| |
| config ESP_PCNT_U1_CH1_EDGE_PIN |
| int "PCNT_U1 CH1 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| depends on !ESP_PCNT_U1_QE |
| |
| config ESP_PCNT_U1_CH1_LEVEL_PIN |
| int "PCNT_U1 CH1 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| |
| config ESP_PCNT_U1_FILTER_EN |
| bool "Enable Glitch Filter for this PCNT Unit" |
| default n |
| |
| if ESP_PCNT_U1_FILTER_EN |
| |
| config ESP_PCNT_U1_FILTER_THRES |
| int "PCNT_U1 Filter Threshold value" |
| default 5 |
| ---help--- |
| If a pulse is shorter than this number of APB_CLK clock cycles |
| then it will not be considered as a valid pulse. |
| |
| endif # ESP_PCNT_U1_FILTER_EN |
| |
| endif # ESP_PCNT_U1 |
| |
| config ESP_PCNT_U2 |
| bool "Enable PCNT Unit 2" |
| depends on ESP_PCNT_U1 |
| default n |
| |
| if ESP_PCNT_U2 |
| |
| config ESP_PCNT_U2_QE |
| bool "Use this PCNT Unit as Quadrature Encoder" |
| default n |
| select ESP_PCNT_AS_QE |
| |
| config ESP_PCNT_U2_CH0_EDGE_PIN |
| int "PCNT_U2 CH0 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| |
| config ESP_PCNT_U2_CH0_LEVEL_PIN |
| int "PCNT_U2 CH0 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| depends on !ESP_PCNT_U2_QE |
| |
| config ESP_PCNT_U2_CH1_EDGE_PIN |
| int "PCNT_U2 CH1 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| depends on !ESP_PCNT_U2_QE |
| |
| config ESP_PCNT_U2_CH1_LEVEL_PIN |
| int "PCNT_U2 CH1 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| |
| config ESP_PCNT_U2_FILTER_EN |
| bool "Enable Glitch Filter for this PCNT Unit" |
| default n |
| |
| if ESP_PCNT_U2_FILTER_EN |
| |
| config ESP_PCNT_U2_FILTER_THRES |
| int "PCNT_U2 Filter Threshold value" |
| default 5 |
| ---help--- |
| If a pulse is shorter than this number of APB_CLK clock cycles |
| then it will not be considered as a valid pulse. |
| |
| endif # ESP_PCNT_U2_FILTER_EN |
| |
| endif # ESP_PCNT_U2 |
| |
| config ESP_PCNT_U3 |
| bool "Enable PCNT Unit 3" |
| depends on ESP_PCNT_U2 |
| default n |
| |
| if ESP_PCNT_U3 |
| |
| config ESP_PCNT_U3_QE |
| bool "Use this PCNT Unit as Quadrature Encoder" |
| default n |
| select ESP_PCNT_AS_QE |
| |
| config ESP_PCNT_U3_CH0_EDGE_PIN |
| int "PCNT_U3 CH0 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| |
| config ESP_PCNT_U3_CH0_LEVEL_PIN |
| int "PCNT_U3 CH0 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| depends on !ESP_PCNT_U3_QE |
| |
| config ESP_PCNT_U3_CH1_EDGE_PIN |
| int "PCNT_U3 CH1 Edge/Pulse Pin Number" |
| default 0 |
| range -1 39 |
| depends on !ESP_PCNT_U3_QE |
| |
| config ESP_PCNT_U3_CH1_LEVEL_PIN |
| int "PCNT_U3 CH1 Level/Control Pin Number" |
| default 4 |
| range -1 39 |
| |
| config ESP_PCNT_U3_FILTER_EN |
| bool "Enable Glitch Filter for this PCNT Unit" |
| default n |
| |
| if ESP_PCNT_U3_FILTER_EN |
| |
| config ESP_PCNT_U3_FILTER_THRES |
| int "PCNT_U3 Filter Threshold value" |
| default 5 |
| ---help--- |
| If a pulse is shorter than this number of APB_CLK clock cycles |
| then it will not be considered as a valid pulse. |
| |
| endif # ESP_PCNT_U3_FILTER_EN |
| |
| endif # ESP_PCNT_U3 |
| |
| endmenu # ESP_PCNT |
| |
| endmenu # Peripheral Support |
| |
| menu "ADC Configuration" |
| depends on ESPRESSIF_ADC |
| |
| if ESPRESSIF_ADC_1 |
| |
| config ESPRESSIF_ADC_1_DEVNAME |
| string "ADC 1 Device Name" |
| default "/dev/adc0" |
| |
| choice ESPRESSIF_ADC_1_ATTENUATION |
| prompt "ADC 1 Input Attenuation" |
| default ESPRESSIF_ADC_1_ATTEN_12 |
| ---help--- |
| Select input attenuation for the ADC unit. |
| Relates to maximum measurable input voltage. |
| See ESP32 Technical Reference Manual for details. |
| |
| config ESPRESSIF_ADC_1_ATTEN_0 |
| bool "0 dB (1.1 V)" |
| |
| config ESPRESSIF_ADC_1_ATTEN_2_5 |
| bool "2.5 dB (1.47 V)" |
| |
| config ESPRESSIF_ADC_1_ATTEN_6 |
| bool "6 dB (2.2 V)" |
| |
| config ESPRESSIF_ADC_1_ATTEN_12 |
| bool "12 dB (4.4 V)" |
| |
| endchoice # ESPRESSIF_ADC_1_ATTENUATION |
| |
| config ESPRESSIF_ADC_1_ATTENUATION |
| int |
| default 0 if ESPRESSIF_ADC_1_ATTEN_0 |
| default 1 if ESPRESSIF_ADC_1_ATTEN_2_5 |
| default 2 if ESPRESSIF_ADC_1_ATTEN_6 |
| default 3 if ESPRESSIF_ADC_1_ATTEN_12 |
| |
| choice ESPRESSIF_ADC_1_MODE |
| prompt "ADC 1 Mode" |
| default ESPRESSIF_ADC_1_MODE_ONE_SHOT |
| ---help--- |
| Select operating mode for ADC 1. |
| |
| config ESPRESSIF_ADC_1_MODE_ONE_SHOT |
| bool "One-Shot Mode" |
| |
| config ESPRESSIF_ADC_1_MODE_CONTINUOUS |
| bool "Continuous Mode" |
| |
| endchoice # ESPRESSIF_ADC_1_MODE |
| |
| menu "ADC 1 Channel Selection" |
| |
| config ESPRESSIF_ADC_1_CH0 |
| bool "Channel 0" |
| default y |
| |
| config ESPRESSIF_ADC_1_CH1 |
| bool "Channel 1" |
| default y |
| |
| config ESPRESSIF_ADC_1_CH2 |
| bool "Channel 2" |
| default y |
| |
| config ESPRESSIF_ADC_1_CH3 |
| bool "Channel 3" |
| default y |
| |
| config ESPRESSIF_ADC_1_CH4 |
| bool "Channel 4" |
| default n |
| |
| config ESPRESSIF_ADC_1_CH5 |
| bool "Channel 5" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| |
| config ESPRESSIF_ADC_1_CH6 |
| bool "Channel 6" |
| depends on ARCH_CHIP_ESP32C6 |
| default n |
| |
| endmenu # ADC 1 Channel Selection |
| |
| endif # ESPRESSIF_ADC_1 |
| |
| endmenu # ADC Configuration |
| |
| menu "Wi-Fi Configuration" |
| depends on ESPRESSIF_WIFI |
| |
| menu "ESP WPA-Supplicant" |
| |
| config WPA_WAPI_PSK |
| bool "Enable WAPI PSK support" |
| default n |
| ---help--- |
| Select this option to enable WAPI-PSK |
| which is a Chinese National Standard Encryption for Wireless LANs (GB 15629.11-2003). |
| |
| config WPA_SUITE_B_192 |
| bool "Enable NSA suite B support with 192-bit key" |
| default n |
| select ESPRESSIF_WIFI_GCMP_SUPPORT |
| select ESPRESSIF_WIFI_GMAC_SUPPORT |
| ---help--- |
| Select this option to enable 192-bit NSA suite-B. |
| This is necessary to support WPA3 192-bit security. |
| |
| config ESP_WPA_DEBUG_PRINT |
| bool "Print debug messages from Espressif's WPA Supplicant" |
| default n |
| ---help--- |
| Select this option to print logging information from WPA supplicant, |
| this includes handshake information and key hex dumps depending |
| on the project logging level. |
| |
| Enabling this could increase the build size ~60kb |
| depending on the project logging level. |
| |
| endmenu # ESP WPA-Supplicant |
| |
| choice ESPRESSIF_WIFI_MODE |
| prompt "ESP Wi-Fi mode" |
| default ESPRESSIF_WIFI_STATION |
| |
| config ESPRESSIF_WIFI_STATION |
| bool "Station mode" |
| |
| config ESPRESSIF_WIFI_SOFTAP |
| bool "SoftAP mode" |
| |
| config ESPRESSIF_WIFI_STATION_SOFTAP |
| bool "Station + SoftAP" |
| |
| endchoice # ESPRESSIF_WIFI_MODE |
| |
| menu "SoftAP Configuration" |
| depends on ESPRESSIF_WIFI_SOFTAP || ESPRESSIF_WIFI_STATION_SOFTAP |
| |
| config ESPRESSIF_WIFI_SOFTAP_DEFAULT_SSID |
| string "SoftAP default SSID" |
| default "NuttX" |
| ---help--- |
| Represents the default SSID configured for the SoftAP when the device is started. |
| |
| config ESPRESSIF_WIFI_SOFTAP_DEFAULT_PASSWORD |
| string "SoftAP default password" |
| default "nuttx12345" |
| ---help--- |
| Represents the default password configured for the SoftAP when the device is started. |
| |
| config ESPRESSIF_WIFI_SOFTAP_MAX_CONNECTIONS |
| int "SoftAP max connections" |
| default 3 |
| ---help--- |
| Maximum number of stations connected to the SoftAP. |
| |
| config ESPRESSIF_WIFI_SOFTAP_CHANNEL |
| int "SoftAP channel" |
| default 1 |
| ---help--- |
| Channel number for the SoftAP. |
| |
| endmenu # SoftAP Configuration |
| |
| config ESPRESSIF_WIFI_ENABLE_WPA3_SAE |
| bool "Enable WPA3-Personal" |
| default y |
| ---help--- |
| Select this option to allow the device to establish a WPA3-Personal connection with eligible AP's. |
| PMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be |
| explicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide for details. |
| |
| config ESPRESSIF_WIFI_ENABLE_SAE_PK |
| bool "Enable SAE-PK" |
| depends on ESPRESSIF_WIFI_ENABLE_WPA3_SAE |
| default y |
| ---help--- |
| Select this option to enable SAE-PK |
| |
| config ESPRESSIF_WIFI_ENABLE_SAE_H2E |
| bool "Enable SAE-H2E" |
| default y |
| ---help--- |
| Select this option to enable SAE-H2E |
| |
| config ESPRESSIF_WIFI_SOFTAP_SAE_SUPPORT |
| bool "Enable WPA3 Personal(SAE) SoftAP" |
| default y |
| depends on ESPRESSIF_WIFI_ENABLE_WPA3_SAE |
| depends on ESPRESSIF_WIFI_SOFTAP || ESPRESSIF_WIFI_STATION_SOFTAP |
| ---help--- |
| Select this option to enable SAE support in softAP mode. |
| |
| config ESPRESSIF_WIFI_ENABLE_WPA3_OWE_STA |
| bool "Enable OWE STA" |
| default y |
| ---help--- |
| Select this option to allow the device to establish OWE connection with eligible AP's. |
| PMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be |
| explicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide for details. |
| |
| choice ESPRESSIF_WIFI_MGMT_RX_BUFFER |
| prompt "Type of WiFi RX MGMT buffers" |
| default ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER |
| ---help--- |
| Select type of WiFi RX MGMT buffers: |
| |
| If "Static" is selected, WiFi RX MGMT buffers are allocated when WiFi is initialized and released |
| when WiFi is de-initialized. The size of each static RX MGMT buffer is fixed to about 500 Bytes. |
| |
| If "Dynamic" is selected, each WiFi RX MGMT buffer is allocated as needed when a MGMT data frame is |
| received. The MGMT buffer is freed after the MGMT data frame has been processed by the WiFi driver. |
| |
| config ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER |
| bool "Static" |
| config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER |
| bool "Dynamic" |
| endchoice |
| |
| config ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER_TYPE |
| int |
| default 0 if ESPRESSIF_WIFI_STATIC_RX_MGMT_BUFFER |
| default 1 if ESPRESSIF_WIFI_DYNAMIC_RX_MGMT_BUFFER |
| |
| config ESPRESSIF_WIFI_STATIC_RX_BUFFER_NUM |
| int "Max number of WiFi static RX buffers" |
| range 2 25 if !ARCH_CHIP_ESP32C6 |
| range 2 128 if ARCH_CHIP_ESP32C6 |
| default 10 |
| ---help--- |
| Set the number of WiFi static RX buffers. Each buffer takes approximately 1.6KB of RAM. |
| The static rx buffers are allocated when esp_wifi_init is called, they are not freed |
| until esp_wifi_deinit is called. |
| |
| WiFi hardware use these buffers to receive all 802.11 frames. |
| A higher number may allow higher throughput but increases memory use. If ESPRESSIF_WIFI_AMPDU_RX_ENABLED |
| is enabled, this value is recommended to set equal or bigger than ESPRESSIF_WIFI_RX_BA_WIN in order to |
| achieve better throughput and compatibility with both stations and APs. |
| |
| config ESPRESSIF_WIFI_DYNAMIC_RX_BUFFER_NUM |
| int "Max number of WiFi dynamic RX buffers" |
| default 32 |
| ---help--- |
| Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated |
| (provided sufficient free RAM). The size of each dynamic RX buffer depends on the size of |
| the received data frame. |
| |
| For each received data frame, the WiFi driver makes a copy to an RX buffer and then delivers |
| it to the high layer TCP/IP stack. The dynamic RX buffer is freed after the higher layer has |
| successfully received the data frame. |
| |
| For some applications, WiFi data frames may be received faster than the application can |
| process them. In these cases we may run out of memory if RX buffer number is unlimited (0). |
| |
| If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers. |
| |
| choice ESPRESSIF_WIFI_TX_BUFFER |
| prompt "Type of WiFi TX buffers" |
| default ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER |
| ---help--- |
| Select type of WiFi TX buffers: |
| |
| If "Static" is selected, WiFi TX buffers are allocated when WiFi is initialized and released |
| when WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB. |
| |
| If "Dynamic" is selected, each WiFi TX buffer is allocated as needed when a data frame is |
| delivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame |
| has been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length |
| of each data frame sent by the TCP/IP layer. |
| |
| If PSRAM is enabled, "Static" should be selected to guarantee enough WiFi TX buffers. |
| If PSRAM is disabled, "Dynamic" should be selected to improve the utilization of RAM. |
| |
| TODO: There is a special dependency for Dynamic if SPIRAM is enabled. |
| |
| config ESPRESSIF_WIFI_STATIC_TX_BUFFER |
| bool "Static" |
| config ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER |
| bool "Dynamic" |
| endchoice |
| |
| config ESPRESSIF_WIFI_TX_BUFFER_TYPE |
| int |
| default 0 if ESPRESSIF_WIFI_STATIC_TX_BUFFER |
| default 1 if ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER |
| |
| config ESPRESSIF_WIFI_STATIC_TX_BUFFER_NUM |
| int "Max number of WiFi static TX buffers" |
| range 2 64 |
| default 16 |
| ---help--- |
| Set the number of WiFi static TX buffers. Each buffer takes approximately 1.6KB of RAM. |
| The static RX buffers are allocated when esp_wifi_init() is called, they are not released |
| until esp_wifi_deinit() is called. |
| |
| This value might be reduced to save memory if the application does not need to send |
| frames at a high rate. |
| |
| For each transmitted data frame from the higher layer TCP/IP stack, the WiFi driver makes a |
| copy of it in a TX buffer. For some applications especially UDP applications, the upper |
| layer can deliver frames faster than WiFi layer can transmit. In these cases, we may run out |
| of TX buffers. |
| |
| config ESPRESSIF_WIFI_DYNAMIC_TX_BUFFER_NUM |
| int "Max number of WiFi dynamic TX buffers" |
| range 1 128 |
| default 32 |
| ---help--- |
| Set the number of WiFi dynamic TX buffers. The size of each dynamic TX buffer is not fixed, |
| it depends on the size of each transmitted data frame. |
| |
| For each transmitted frame from the higher layer TCP/IP stack, the WiFi driver makes a copy |
| of it in a TX buffer. For some applications, especially UDP applications, the upper layer |
| can deliver frames faster than WiFi layer can transmit. In these cases, we may run out of TX |
| buffers. |
| |
| config ESPRESSIF_WIFI_RX_MGMT_BUF_NUM_DEF |
| int "Max number of WiFi RX MGMT buffers" |
| range 1 10 |
| default 5 |
| ---help--- |
| Set the number of WiFi RX_MGMT buffers. |
| For Management buffers, the number of dynamic and static management buffers is the same. |
| |
| config ESPRESSIF_WIFI_AMPDU_TX_ENABLED |
| bool "Wi-Fi TX AMPDU" |
| default y |
| ---help--- |
| Select this option to enable AMPDU TX feature |
| |
| config ESPRESSIF_WIFI_TX_BA_WIN |
| int "WiFi AMPDU TX BA window size" |
| depends on ESPRESSIF_WIFI_AMPDU_TX_ENABLED |
| range 2 32 if !ARCH_CHIP_ESP32C6 |
| range 2 64 if ARCH_CHIP_ESP32C6 |
| default 6 |
| |
| config ESPRESSIF_WIFI_AMPDU_RX_ENABLED |
| bool "WiFi AMPDU RX" |
| default y |
| ---help--- |
| Select this option to enable AMPDU RX feature |
| |
| config ESPRESSIF_WIFI_RX_BA_WIN |
| int "WiFi AMPDU RX BA window size" |
| depends on ESPRESSIF_WIFI_AMPDU_RX_ENABLED |
| range 2 32 if !ARCH_CHIP_ESP32C6 |
| range 2 64 if ARCH_CHIP_ESP32C6 |
| default 6 |
| ---help--- |
| Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput and better |
| compatibility but more memory. Most of time we should NOT change the default value unless special |
| reason, e.g. test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the |
| recommended value is 9~12. If PSRAM is used and WiFi memory is preferred to allocate in PSRAM first, |
| the default and minimum value should be 16 to achieve better throughput and compatibility with both |
| stations and APs. |
| |
| config ESPRESSIF_WIFI_GCMP_SUPPORT |
| bool "WiFi GCMP Support(GCMP128 and GCMP256)" |
| default n |
| ---help--- |
| Select this option to enable GCMP support. GCMP support is compulsory for WiFi Suite-B support. |
| |
| config ESPRESSIF_WIFI_GMAC_SUPPORT |
| bool "WiFi GMAC Support(GMAC128 and GMAC256)" |
| default n |
| ---help--- |
| Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192-bit certification. |
| |
| config ESPRESSIF_WIFI_CONNECT_TIMEOUT |
| int "Connect timeout in second" |
| default 10 |
| ---help--- |
| Max waiting time of connecting to AP. |
| |
| config ESPRESSIF_WIFI_SCAN_RESULT_SIZE |
| int "Scan result buffer" |
| default 4096 |
| ---help--- |
| Maximum scan result buffer size. |
| |
| config ESPRESSIF_WIFI_STA_DISCONNECT_PM |
| bool "Power Management for station when disconnected" |
| default y |
| ---help--- |
| Select this option to enable power management for station when disconnected. |
| Chip will do modem-sleep when RF module is not in use anymore. |
| |
| choice ESPRESSIF_POWER_SAVE_MODE |
| prompt "Wi-Fi Power save mode" |
| default ESPRESSIF_POWER_SAVE_MIN_MODEM if ESPRESSIF_WIFI_BT_COEXIST |
| default ESPRESSIF_POWER_SAVE_NONE |
| ---help--- |
| Wi-Fi supports the Modem-sleep mode which refers to the legacy power-saving mode in the IEEE 802.11 protocol. |
| Modem-sleep mode works in station-only mode and the station must connect to the AP first. If the Modem-sleep |
| mode is enabled, station will switch between active and sleep state periodically. In sleep state, RF, PHY and |
| BB are turned off in order to reduce power consumption. Station can keep connection with AP in modem-sleep mode. |
| |
| Modem-sleep mode includes minimum and maximum power-saving modes. |
| |
| In minimum power-saving mode, station wakes |
| up every DTIM to receive beacon. Broadcast data will not be lost because it is transmitted after DTIM. |
| However, it cannot save much more power if DTIM is short for DTIM is determined by AP. |
| |
| In maximum power-saving mode, station wakes up in every listen interval to receive beacon. This listen interval |
| can be set to be longer than the AP DTIM period. Broadcast data may be lost because station may be in sleep |
| state at DTIM time. If listen interval is longer, more power is saved, but broadcast data is more easy to lose. |
| Listen interval can be configured by setting ESPRESSIF_WIFI_LISTEN_INTERVAL. |
| |
| ESPRESSIF_POWER_SAVE_NONE disables Modem-sleep mode entirely. Disabling it increases power consumption, but |
| minimizes the delay in receiving Wi-Fi data in real time. When Modem-sleep mode is enabled, the delay in |
| receiving Wi-Fi data may be the same as the DTIM cycle (minimum power-saving mode) or the listening interval |
| (maximum power-saving mode). Setting ESPRESSIF_POWER_SAVE_NONE is suitable when high throughput is required. |
| |
| config ESPRESSIF_POWER_SAVE_NONE |
| bool "No power save" |
| |
| config ESPRESSIF_POWER_SAVE_MIN_MODEM |
| bool "Minimum modem power saving." |
| |
| config ESPRESSIF_POWER_SAVE_MAX_MODEM |
| bool "Maximum modem power saving" |
| |
| endchoice # ESP_POWER_SAVE_MODE |
| |
| endmenu # ESPRESSIF_WIFI |
| |
| menu "BLE Configuration" |
| depends on ESPRESSIF_BLE |
| |
| config ESPRESSIF_BLE_TTY_NAME |
| string "BLE TTY device name" |
| default "/dev/ttyHCI0" |
| depends on UART_BTH4 |
| |
| config ESPRESSIF_BLE_TASK_STACK_SIZE |
| int "Controller task stack size" |
| default 4096 |
| |
| config ESPRESSIF_BLE_TASK_PRIORITY |
| int "Controller task priority" |
| default 253 |
| |
| config ESPRESSIF_BLE_INTERRUPT_SAVE_STATUS |
| int "Number of interrupt save status" |
| default 3 |
| ---help--- |
| Number of interrupt save status variables to keep track. Increase it if any related bug is found. |
| |
| endmenu # BLE Configuration |
| |
| menu "UART Configuration" |
| depends on ESPRESSIF_UART |
| |
| if ESPRESSIF_UART0 |
| |
| config ESPRESSIF_UART0_RS485 |
| bool "RS-485 on UART0" |
| default n |
| ---help--- |
| Enable RS-485 interface on UART0. Your board config will have to |
| provide GPIO_UART0_RS485_DIR pin definition. |
| |
| config ESPRESSIF_UART0_RS485_DIR_PIN |
| int "UART0 RS-485 DIR pin" |
| default 10 |
| range 0 46 |
| depends on ESPRESSIF_UART0_RS485 |
| ---help--- |
| DIR pin for RS-485 on UART0. This pin will control the RS485 enable |
| TX of the RS485 transceiver. |
| |
| config ESPRESSIF_UART0_RS485_DIR_POLARITY |
| int "UART0 RS-485 DIR pin polarity" |
| default 1 |
| range 0 1 |
| depends on ESPRESSIF_UART0_RS485 |
| ---help--- |
| Polarity of DIR pin for RS-485 on UART0. Set to state on DIR pin which |
| enables TX (0 - low / nTXEN, 1 - high / TXEN). |
| |
| config ESPRESSIF_UART0_TXPIN |
| int "UART0 TX Pin" |
| default 21 if ARCH_CHIP_ESP32C3 |
| default 16 if ARCH_CHIP_ESP32C6 |
| default 24 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART0_RXPIN |
| int "UART0 RX Pin" |
| default 20 if ARCH_CHIP_ESP32C3 |
| default 17 if ARCH_CHIP_ESP32C6 |
| default 23 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART0_RTSPIN |
| int "UART0 RTS Pin" |
| depends on SERIAL_IFLOWCONTROL |
| default 16 if ARCH_CHIP_ESP32C3 |
| default 15 if ARCH_CHIP_ESP32C6 |
| default 22 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART0_CTSPIN |
| int "UART0 CTS Pin" |
| depends on SERIAL_OFLOWCONTROL |
| default 15 if ARCH_CHIP_ESP32C3 |
| default 14 if ARCH_CHIP_ESP32C6 |
| default 21 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| endif # ESPRESSIF_UART0 |
| |
| if ESPRESSIF_UART1 |
| |
| config ESPRESSIF_UART1_RS485 |
| bool "RS-485 on UART1" |
| default n |
| ---help--- |
| Enable RS-485 interface on UART1. Your board config will have to |
| provide GPIO_UART1_RS485_DIR pin definition. |
| |
| config ESPRESSIF_UART1_RS485_DIR_PIN |
| int "UART1 RS-485 DIR pin" |
| default 4 |
| range 0 46 |
| depends on ESPRESSIF_UART1_RS485 |
| ---help--- |
| DIR pin for RS-485 on UART1. This pin will control the RS485 enable |
| TX of the RS485 transceiver. |
| |
| config ESPRESSIF_UART1_RS485_DIR_POLARITY |
| int "UART1 RS-485 DIR pin polarity" |
| default 1 |
| range 0 1 |
| depends on ESPRESSIF_UART1_RS485 |
| ---help--- |
| Polarity of DIR pin for RS-485 on UART1. Set to state on DIR pin which |
| enables TX (0 - low / nTXEN, 1 - high / TXEN). |
| |
| config ESPRESSIF_UART1_TXPIN |
| int "UART1 TX Pin" |
| default 8 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART1_RXPIN |
| int "UART1 RX Pin" |
| default 9 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART1_RTSPIN |
| int "UART1 RTS Pin" |
| depends on SERIAL_IFLOWCONTROL |
| default 1 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_UART1_CTSPIN |
| int "UART1 CTS Pin" |
| depends on SERIAL_OFLOWCONTROL |
| default 2 if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| endif # ESPRESSIF_UART1 |
| |
| endmenu # UART Configuration |
| |
| menu "TWAI driver options" |
| depends on ESPRESSIF_TWAI |
| |
| if ESPRESSIF_TWAI0 |
| |
| config ESPRESSIF_TWAI0_TXPIN |
| int "TWAI0 TX Pin" |
| default 2 |
| |
| config ESPRESSIF_TWAI0_RXPIN |
| int "TWAI0 RX Pin" |
| default 3 |
| |
| choice ESPRESSIF_TWAI0_TIMING |
| prompt "TWAI0 Timing config" |
| default TWAI0_TIMING_100KBITS |
| ---help--- |
| These options control timing of TWAI0. |
| |
| config TWAI0_TIMING_100KBITS |
| bool "100 KBits" |
| |
| config TWAI0_TIMING_125KBITS |
| bool "125 KBits" |
| |
| config TWAI0_TIMING_250KBITS |
| bool "250 KBits" |
| |
| config TWAI0_TIMING_500KBITS |
| bool "500 KBits" |
| |
| config TWAI0_TIMING_800KBITS |
| bool "800 KBits" |
| |
| endchoice # ESPRESSIF_TWAI0_TIMING |
| |
| config ESPRESSIF_TWAI0_SAM |
| bool "TWAI0 sampling" |
| default n |
| ---help--- |
| The bus is sampled 3 times (recommended for low to medium speed buses |
| to spikes on the bus-line). |
| |
| endif # ESPRESSIF_TWAI0 |
| |
| if ESPRESSIF_TWAI1 |
| |
| config ESPRESSIF_TWAI1_TXPIN |
| int "TWAI1 TX Pin" |
| default 4 |
| |
| config ESPRESSIF_TWAI1_RXPIN |
| int "TWAI1 RX Pin" |
| default 5 |
| |
| choice ESPRESSIF_TWAI1_TIMING |
| prompt "TWAI1 Timing config" |
| default TWAI1_TIMING_100KBITS |
| ---help--- |
| These options control timing of TWAI1. |
| |
| config TWAI1_TIMING_100KBITS |
| bool "100 KBits" |
| |
| config TWAI1_TIMING_125KBITS |
| bool "125 KBits" |
| |
| config TWAI1_TIMING_250KBITS |
| bool "250 KBits" |
| |
| config TWAI1_TIMING_500KBITS |
| bool "500 KBits" |
| |
| config TWAI1_TIMING_800KBITS |
| bool "800 KBits" |
| |
| endchoice # ESPRESSIF_TWAI1_TIMING |
| |
| config ESPRESSIF_TWAI1_SAM |
| bool "TWAI1 sampling" |
| default n |
| ---help--- |
| The bus is sampled 3 times (recommended for low to medium speed buses |
| to spikes on the bus-line). |
| |
| endif # ESPRESSIF_TWAI1 |
| |
| config ESPRESSIF_TWAI_TEST_MODE |
| bool "TWAI character driver loopback test mode (for testing only)" |
| default n |
| depends on CAN_LOOPBACK |
| ---help--- |
| This enables a loopback test mode that attaches the transmitter |
| to the receiver internally, being able to test the TWAI |
| peripheral without any external connection. |
| |
| endmenu #ESPRESSIF_TWAI |
| |
| menu "SPI configuration" |
| depends on ESPRESSIF_SPI |
| |
| config ESPRESSIF_SPI_SWCS |
| bool "SPI software CS" |
| depends on ESPRESSIF_SPI_PERIPH |
| default n |
| ---help--- |
| Use SPI software CS. |
| |
| config ESPRESSIF_SPI_UDCS |
| bool "User defined CS" |
| default n |
| depends on ESPRESSIF_SPI_SWCS |
| depends on ESPRESSIF_SPI_PERIPH |
| ---help--- |
| Use user-defined CS. |
| |
| if ESPRESSIF_SPI2 |
| |
| config ESPRESSIF_SPI2_DMA |
| bool "SPI2 use GDMA" |
| default n |
| depends on ESPRESSIF_DMA |
| ---help--- |
| Enable support for transfers using the GDMA engine. |
| |
| config ESPRESSIF_SPI2_DMADESC_NUM |
| int "SPI2 Master GDMA maximum number of descriptors" |
| default 2 |
| depends on ESPRESSIF_SPI2_DMA |
| ---help--- |
| Configure the maximum number of out-link/in-link descriptors to |
| be chained for a GDMA transfer. |
| |
| config ESPRESSIF_SPI2_DMATHRESHOLD |
| int "SPI2 GDMA threshold" |
| default 64 |
| depends on ESPRESSIF_SPI2_DMA |
| ---help--- |
| When SPI GDMA is enabled, GDMA transfers whose size are below the |
| defined threshold will be performed by polling logic. |
| |
| choice ESPRESSIF_SPI2_MODE |
| prompt "SPI2 mode" |
| default ESPRESSIF_SPI2_MODE_MASTER |
| |
| config ESPRESSIF_SPI2_MODE_MASTER |
| bool "SPI2 Master mode" |
| depends on SPI_DRIVER |
| ---help--- |
| Configure SPI2 to operate in Master mode. |
| |
| config ESPRESSIF_SPI2_SLAVE |
| bool "SPI2 Slave mode" |
| depends on SPI_SLAVE |
| select ESPRESSIF_GPIO_IRQ |
| select ESPRESSIF_SPI_SLAVE |
| ---help--- |
| Configure SPI2 to operate in Slave mode. |
| |
| endchoice # ESPRESSIF_SPI2_MODE |
| |
| config ESPRESSIF_SPI2_SLAVE_BUFSIZE |
| int "SPI2 Slave buffer size" |
| default 2048 |
| depends on ESPRESSIF_SPI2_SLAVE |
| ---help--- |
| Configure the size of SPI2 Slave controller's internal buffers. |
| |
| config ESPRESSIF_SPI2_CSPIN |
| int "SPI2 CS Pin" |
| default 10 if ARCH_CHIP_ESP32C3 |
| default 16 if ARCH_CHIP_ESP32C6 |
| default 1 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI2_CLKPIN |
| int "SPI2 CLK Pin" |
| default 6 if ARCH_CHIP_ESP32C3 |
| default 6 if ARCH_CHIP_ESP32C6 |
| default 4 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI2_MOSIPIN |
| int "SPI2 MOSI Pin" |
| default 7 if ARCH_CHIP_ESP32C3 |
| default 7 if ARCH_CHIP_ESP32C6 |
| default 5 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI2_MISOPIN |
| int "SPI2 MISO Pin" |
| default 2 if ARCH_CHIP_ESP32C3 |
| default 2 if ARCH_CHIP_ESP32C6 |
| default 0 if ARCH_CHIP_ESP32H2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| endif # ESPRESSIF_SPI2 |
| |
| if ESPRESSIF_SPI_BITBANG |
| |
| choice ESPRESSIF_SPI_BITBANG_OPERATION_MODE |
| prompt "SPI Bitbang mode" |
| default ESPRESSIF_SPI_BITBANG_OPERATION_MODE_MASTER |
| |
| config ESPRESSIF_SPI_BITBANG_OPERATION_MODE_MASTER |
| bool "SPI Bitbang Master mode" |
| depends on SPI_DRIVER |
| ---help--- |
| Configure SPI Bitbang to operate in Master mode. |
| |
| endchoice # ESPRESSIF_SPI_BITBANG_OPERATION_MODE |
| |
| config ESPRESSIF_SPI_BITBANG_CSPIN |
| int "SPI Bitbang CS Pin" |
| default 0 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI_BITBANG_CLKPIN |
| int "SPI Bitbang CLK Pin" |
| default 1 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI_BITBANG_MOSIPIN |
| int "SPI Bitbang MOSI Pin" |
| default 2 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_SPI_BITBANG_MISOPIN |
| int "SPI Bitbang MISO Pin" |
| default 3 |
| range 0 21 if ARCH_CHIP_ESP32C3 |
| range 0 30 if ARCH_CHIP_ESP32C6 |
| range 0 27 if ARCH_CHIP_ESP32H2 |
| |
| choice ESPRESSIF_SPI_BITBANG_MODE |
| prompt "SPI Bitbang mode" |
| default ESPRESSIF_SPI_BITBANG_MODE0 |
| |
| config ESPRESSIF_SPI_BITBANG_MODE0 |
| bool "SPI MODE0" |
| |
| config ESPRESSIF_SPI_BITBANG_MODE1 |
| bool "SPI MODE1" |
| |
| config ESPRESSIF_SPI_BITBANG_MODE2 |
| bool "SPI MODE2" |
| |
| config ESPRESSIF_SPI_BITBANG_MODE3 |
| bool "SPI MODE3" |
| |
| endchoice # ESPRESSIF_SPI_BITBANG_MODE |
| |
| endif # ESPRESSIF_SPI_BITBANG |
| |
| config ESPRESSIF_SPI_TEST_MODE |
| bool "SPI driver loopback test mode (for testing only)" |
| default n |
| depends on SYSTEM_SPITOOL |
| depends on ESPRESSIF_SPI_PERIPH |
| ---help--- |
| This enables a loopback test mode that attaches the transmitter |
| to the receiver internally, being able to test the SPI |
| peripheral without any external connection. |
| |
| endmenu # SPI configuration |
| |
| menu "Interrupt Configuration" |
| |
| config ESPRESSIF_IRAM_ISR_DEBUG |
| bool "Enable debugging of the IRAM-enabled interrupts" |
| default n |
| ---help--- |
| This option enables keeping track of the IRAM-enabled interrupts by |
| registering its execution when non-IRAM interrupts are disabled. It |
| keeps track of the IRQ executed and register how many times since |
| boot it was executed. Generally used for testing. |
| |
| endmenu |
| |
| menu "SPI Flash Configuration" |
| |
| choice ESPRESSIF_FLASH_MODE |
| prompt "SPI Flash mode" |
| default ESPRESSIF_FLASH_MODE_DIO |
| ---help--- |
| These options control how many I/O pins are used for communication with the attached SPI Flash chip. |
| The option selected here is then used by esptool when flashing. |
| |
| config ESPRESSIF_FLASH_MODE_DIO |
| bool "Dual IO (DIO)" |
| |
| config ESPRESSIF_FLASH_MODE_DOUT |
| bool "Dual Output (DOUT)" |
| |
| config ESPRESSIF_FLASH_MODE_QIO |
| bool "Quad IO (QIO)" |
| |
| config ESPRESSIF_FLASH_MODE_QOUT |
| bool "Quad Output (QOUT)" |
| |
| endchoice # ESPRESSIF_FLASH_MODE |
| |
| choice ESPRESSIF_FLASH_FREQ |
| prompt "SPI Flash frequency" |
| default ESPRESSIF_FLASH_FREQ_80M if ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| default ESPRESSIF_FLASH_FREQ_64M if ARCH_CHIP_ESP32H2 |
| ---help--- |
| SPI Flash frequency. |
| |
| config ESPRESSIF_FLASH_FREQ_80M |
| bool "80 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| |
| config ESPRESSIF_FLASH_FREQ_64M |
| bool "64 MHz" |
| depends on ARCH_CHIP_ESP32H2 |
| |
| config ESPRESSIF_FLASH_FREQ_40M |
| bool "40 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| |
| config ESPRESSIF_FLASH_FREQ_26M |
| bool "26 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| |
| config ESPRESSIF_FLASH_FREQ_20M |
| bool "20 MHz" |
| depends on ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 |
| |
| endchoice # ESPRESSIF_FLASH_FREQ |
| |
| config ESPRESSIF_FLASH_FREQ |
| string |
| # On some of the ESP chips, max boot frequency would be equal to (or even lower than) 80m. |
| # We currently define this to `80m`. |
| default '80m' if ESPRESSIF_FLASH_FREQ_120M |
| default '80m' if ESPRESSIF_FLASH_FREQ_80M |
| default '60m' if ESPRESSIF_FLASH_FREQ_60M |
| default '48m' if ESPRESSIF_FLASH_FREQ_64M |
| default '48m' if ESPRESSIF_FLASH_FREQ_48M |
| default '24m' if ESPRESSIF_FLASH_FREQ_32M |
| default '30m' if ESPRESSIF_FLASH_FREQ_30M |
| default '24m' if ESPRESSIF_FLASH_FREQ_24M |
| default '40m' if ESPRESSIF_FLASH_FREQ_40M |
| default '26m' if ESPRESSIF_FLASH_FREQ_26M |
| default '20m' if ESPRESSIF_FLASH_FREQ_20M |
| default '12m' if ESPRESSIF_FLASH_FREQ_16M |
| default '20m' # if no clock can match in bin headers, go with minimal. |
| |
| config ESPRESSIF_SPI_FLASH_USE_ROM_CODE |
| bool "Use SPI flash driver in ROM" |
| default n |
| depends on ARCH_CHIP_ESP32C3 |
| ---help--- |
| Use functions in ROM for SPI flash driver instead of |
| source code. |
| |
| config ESPRESSIF_SPI_FLASH_USE_32BIT_ADDRESS |
| bool "SPI flash uses 32-bit address" |
| default n |
| ---help--- |
| SPI flash driver in ROM only support 24-bit address access, |
| if select the option, it will force to use source code instead |
| of functions in ROM, so that SPI flash driver can access full |
| 32-bit address. |
| |
| endmenu # SPI Flash Configuration |
| |
| if ESPRESSIF_SPIFLASH |
| menu "User Storage MTD Configuration" |
| |
| config ESPRESSIF_MTD |
| bool "MTD driver" |
| default y |
| select MTD |
| select MTD_BYTE_WRITE |
| select MTD_PARTITION |
| ---help--- |
| Initialize an MTD driver for the SPI Flash, which will |
| add an entry at /dev for application access from userspace. |
| |
| config ESPRESSIF_SPIFLASH_MTD_BLKSIZE |
| int "Storage MTD block size" |
| default 64 |
| depends on ESPRESSIF_MTD |
| ---help--- |
| Block size for MTD driver in kB. This size must be divisible by 2 |
| |
| config ESPRESSIF_STORAGE_MTD_DEBUG |
| bool "Storage MTD Debug" |
| default n |
| depends on ESPRESSIF_MTD && DEBUG_FS_INFO |
| ---help--- |
| If this option is enabled, Storage MTD driver read and write functions |
| will output input parameters and return values (if applicable). |
| |
| config ESPRESSIF_STORAGE_MTD_OFFSET |
| hex "Storage MTD base address in SPI Flash" |
| default 0x180000 if !ESPRESSIF_BOOTLOADER_MCUBOOT |
| default 0x260000 if ESPRESSIF_BOOTLOADER_MCUBOOT |
| depends on ESPRESSIF_MTD |
| ---help--- |
| MTD base address in SPI Flash. |
| |
| config ESPRESSIF_STORAGE_MTD_SIZE |
| hex "Storage MTD size in SPI Flash" |
| default 0x100000 |
| depends on ESPRESSIF_MTD |
| ---help--- |
| MTD size in SPI Flash. |
| |
| endmenu # User Storage MTD Configuration |
| endif # ESPRESSIF_SPIFLASH |
| |
| menu "RTC Configuration" |
| depends on ESPRESSIF_RTC |
| |
| choice ESPRESSIF_RTC_CLK_SRC |
| prompt "RTC clock source" |
| default ESPRESSIF_RTC_CLK_INT_RC |
| ---help--- |
| Choose which clock is used as RTC clock source. |
| |
| - "Internal 90KHz oscillator" option provides lowest deep sleep current |
| consumption, and does not require extra external components. However |
| frequency stability with respect to temperature is poor, so time may |
| drift in deep/light sleep modes. |
| - "External 32KHz crystal" provides better frequency stability, at the |
| expense of slightly higher (1uA) deep sleep current consumption. |
| - "External 32KHz oscillator" allows using 32KHz clock generated by an |
| external circuit. In this case, external clock signal must be connected |
| to 32K_XN pin. Amplitude should be <1.2V in case of sine wave signal, |
| and <1V in case of square wave signal. Common mode voltage should be |
| 0.1 < Vcm < 0.5Vamp, where Vamp is the signal amplitude. |
| Additionally, 1nF capacitor must be connected between 32K_XP pin and |
| ground. 32K_XP pin can not be used as a GPIO in this case. |
| - "Internal 8.5MHz oscillator divided by 256" option results in higher |
| deep sleep current (by 5uA) but has better frequency stability than |
| the internal 90KHz oscillator. It does not require external components. |
| |
| config ESPRESSIF_RTC_CLK_INT_RC |
| bool "Internal 90KHz RC oscillator" |
| |
| config ESPRESSIF_RTC_CLK_EXT_XTAL |
| bool "External 32KHz crystal" |
| select ESP_SYSTEM_RTC_EXT_XTAL |
| |
| config ESPRESSIF_RTC_CLK_EXT_OSC |
| bool "External 32KHz oscillator at 32K_XN pin" |
| select ESP_SYSTEM_RTC_EXT_XTAL |
| |
| config ESPRESSIF_RTC_CLK_INT_8MD256 |
| bool "Internal 8.5MHz oscillator, divided by 256 (~33kHz)" |
| |
| endchoice |
| endmenu # "RTC Configuration" |
| |
| menu "LEDC configuration" |
| depends on ESPRESSIF_LEDC |
| |
| config ESPRESSIF_LEDC_HPOINT |
| hex "LEDC hpoint value" |
| default 0x0000 |
| range 0x0 0xfffff |
| |
| menuconfig ESPRESSIF_LEDC_TIMER0 |
| bool "Timer 0" |
| default n |
| |
| if ESPRESSIF_LEDC_TIMER0 |
| |
| config ESPRESSIF_LEDC_TIMER0_CHANNELS |
| int "Number of Timer 0 channels" |
| default 2 if PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| default 1 if !PWM_MULTICHAN || PWM_NCHANNELS = 1 |
| range 0 6 |
| |
| config ESPRESSIF_LEDC_TIMER0_RESOLUTION |
| int "Timer 0 resolution" |
| default 13 |
| range 1 14 if ARCH_CHIP_ESP32C3 && !(ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| range 1 20 if !ARCH_CHIP_ESP32C3 && (ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| ---help--- |
| Timer resolution in bits. The resolution is the number of bits used to by the timer |
| counter to generate the PWM signal. The duty cycle provided by the upper layers |
| will be scaled to fit the resolution. |
| |
| endif # ESPRESSIF_LEDC_TIMER0 |
| |
| menuconfig ESPRESSIF_LEDC_TIMER1 |
| bool "Timer 1" |
| default n |
| |
| if ESPRESSIF_LEDC_TIMER1 |
| |
| config ESPRESSIF_LEDC_TIMER1_CHANNELS |
| int "Number of Timer 1 channels" |
| default 2 if PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| default 1 if !PWM_MULTICHAN || PWM_NCHANNELS = 1 |
| range 0 6 |
| |
| config ESPRESSIF_LEDC_TIMER1_RESOLUTION |
| int "Timer 1 resolution" |
| default 13 |
| range 1 14 if ARCH_CHIP_ESP32C3 && !(ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| range 1 20 if !ARCH_CHIP_ESP32C3 && (ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| ---help--- |
| Timer resolution in bits. The resolution is the number of bits used to by the timer |
| counter to generate the PWM signal. The duty cycle provided by the upper layers |
| will be scaled to fit the resolution. |
| |
| endif # ESPRESSIF_LEDC_TIMER1 |
| |
| menuconfig ESPRESSIF_LEDC_TIMER2 |
| bool "Timer 2" |
| default n |
| |
| if ESPRESSIF_LEDC_TIMER2 |
| |
| config ESPRESSIF_LEDC_TIMER2_CHANNELS |
| int "Number of Timer 2 channels" |
| default 2 if PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| default 1 if !PWM_MULTICHAN || PWM_NCHANNELS = 1 |
| range 0 6 |
| |
| config ESPRESSIF_LEDC_TIMER2_RESOLUTION |
| int "Timer 2 resolution" |
| default 13 |
| range 1 14 if ARCH_CHIP_ESP32C3 && !(ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| range 1 20 if !ARCH_CHIP_ESP32C3 && (ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| ---help--- |
| Timer resolution in bits. The resolution is the number of bits used to by the timer |
| counter to generate the PWM signal. The duty cycle provided by the upper layers |
| will be scaled to fit the resolution. |
| |
| endif # ESPRESSIF_LEDC_TIMER2 |
| |
| menuconfig ESPRESSIF_LEDC_TIMER3 |
| bool "Timer 3" |
| default n |
| |
| if ESPRESSIF_LEDC_TIMER3 |
| |
| config ESPRESSIF_LEDC_TIMER3_CHANNELS |
| int "Number of Timer 3 channels" |
| default 2 if PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| default 1 if !PWM_MULTICHAN || PWM_NCHANNELS = 1 |
| range 0 6 |
| |
| config ESPRESSIF_LEDC_TIMER3_RESOLUTION |
| int "Timer 3 resolution" |
| default 13 |
| range 1 14 if ARCH_CHIP_ESP32C3 && !(ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| range 1 20 if !ARCH_CHIP_ESP32C3 && (ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) |
| ---help--- |
| Timer resolution in bits. The resolution is the number of bits used to by the timer |
| counter to generate the PWM signal. The duty cycle provided by the upper layers |
| will be scaled to fit the resolution. |
| |
| endif # ESPRESSIF_LEDC_TIMER3 |
| |
| config ESPRESSIF_LEDC_CHANNEL0_PIN |
| int "Channel 0 pin" |
| default 2 |
| |
| config ESPRESSIF_LEDC_CHANNEL1_PIN |
| int "Channel 1 pin" |
| default 3 |
| |
| config ESPRESSIF_LEDC_CHANNEL2_PIN |
| int "Channel 2 pin" |
| default 4 |
| |
| config ESPRESSIF_LEDC_CHANNEL3_PIN |
| int "Channel 3 pin" |
| default 5 |
| |
| if PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| |
| config ESPRESSIF_LEDC_CHANNEL4_PIN |
| int "Channel 4 pin" |
| default 6 |
| |
| config ESPRESSIF_LEDC_CHANNEL5_PIN |
| int "Channel 5 pin" |
| default 7 |
| |
| endif # PWM_MULTICHAN && PWM_NCHANNELS > 1 |
| |
| endmenu # LEDC configuration |
| |
| menu "I2S Configuration" |
| depends on ESPRESSIF_I2S |
| |
| config ESPRESSIF_I2S_MAXINFLIGHT |
| int "I2S queue size" |
| default 4 |
| ---help--- |
| This is the total number of transfers, both RX and TX, that can be |
| enqueued before the caller is required to wait. This setting |
| determines the number certain queue data structures that will be |
| pre-allocated. |
| |
| if ESPRESSIF_I2S0 |
| |
| config ESPRESSIF_I2S0_RX |
| bool "Enable I2S receiver" |
| default y |
| ---help--- |
| Enable I2S receiver (port 0) |
| |
| config ESPRESSIF_I2S0_TX |
| bool "Enable I2S transmitter" |
| default y |
| ---help--- |
| Enable I2S transmitter (port 0) |
| |
| choice ESPRESSIF_I2S0_ROLE |
| prompt "I2S0 role" |
| default ESPRESSIF_I2S0_ROLE_MASTER |
| ---help--- |
| Selects the operation role of the I2S0. |
| |
| config ESPRESSIF_I2S0_ROLE_MASTER |
| bool "Master" |
| |
| config ESPRESSIF_I2S0_ROLE_SLAVE |
| bool "Slave" |
| |
| endchoice # I2S0 role |
| |
| choice ESPRESSIF_I2S0_DATA_BIT_WIDTH |
| prompt "Bit width" |
| default ESPRESSIF_I2S0_DATA_BIT_WIDTH_16BIT |
| ---help--- |
| Selects the valid data bits per sample. |
| Note that this option may be overwritten by the audio |
| according to the bit width of the file being played |
| |
| config ESPRESSIF_I2S0_DATA_BIT_WIDTH_8BIT |
| bool "8 bits" |
| |
| config ESPRESSIF_I2S0_DATA_BIT_WIDTH_16BIT |
| bool "16 bits" |
| |
| config ESPRESSIF_I2S0_DATA_BIT_WIDTH_24BIT |
| bool "24 bits" |
| |
| config ESPRESSIF_I2S0_DATA_BIT_WIDTH_32BIT |
| bool "32 bits" |
| |
| endchoice # Bit width |
| |
| config ESPRESSIF_I2S0_SAMPLE_RATE |
| int "I2S0 sample rate" |
| default 44100 |
| range 8000 48000 |
| ---help--- |
| Selects the sample rate. |
| Note that this option may be overwritten by the audio |
| according to the bit width of the file being played |
| |
| config ESPRESSIF_I2S0_BCLKPIN |
| int "I2S0 BCLK pin" |
| default 4 |
| range 0 48 |
| |
| config ESPRESSIF_I2S0_WSPIN |
| int "I2S0 WS pin" |
| default 5 |
| range 0 48 |
| |
| config ESPRESSIF_I2S0_DINPIN |
| int "I2S0 DIN pin" |
| depends on ESPRESSIF_I2S0_RX |
| default 19 if !ARCH_CHIP_ESP32H2 |
| default 11 if ARCH_CHIP_ESP32H2 |
| range 0 48 |
| |
| config ESPRESSIF_I2S0_DOUTPIN |
| int "I2S0 DOUT pin" |
| depends on ESPRESSIF_I2S0_TX |
| default 18 if !ARCH_CHIP_ESP32H2 |
| default 10 if ARCH_CHIP_ESP32H2 |
| range 0 48 |
| |
| config ESPRESSIF_I2S0_MCLK |
| bool "Enable I2S Master Clock" |
| depends on ESPRESSIF_I2S0_ROLE_MASTER |
| default n |
| ---help--- |
| Enable I2S master clock |
| |
| config ESPRESSIF_I2S0_MCLKPIN |
| int "I2S MCLK pin" |
| depends on ESPRESSIF_I2S0_MCLK |
| default 0 |
| range 0 48 |
| |
| endif # ESPRESSIF_I2S0 |
| |
| config I2S_DMADESC_NUM |
| int "I2S DMA maximum number of descriptors" |
| default 2 |
| ---help--- |
| Configure the maximum number of out-link/in-link descriptors to |
| be chained for an I2S DMA transfer. |
| |
| endmenu # I2S configuration |
| |
| menu "I2C Configuration" |
| depends on ESPRESSIF_I2C |
| |
| if ESPRESSIF_I2C0 |
| |
| choice ESPRESSIF_I2C0_MODE |
| prompt "I2C0 Mode" |
| depends on ESPRESSIF_I2C0 |
| default ESPRESSIF_I2C0_MASTER_MODE |
| |
| config ESPRESSIF_I2C0_MASTER_MODE |
| bool "I2C0 Master Mode" |
| select ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| |
| config ESPRESSIF_I2C0_SLAVE_MODE |
| bool "I2C0 Slave Mode" |
| select I2C_SLAVE |
| select I2C_SLAVE_DRIVER |
| select ESPRESSIF_I2C_PERIPH_SLAVE_MODE |
| |
| endchoice # ESPRESSIF_I2C0_MODE |
| |
| config ESPRESSIF_I2C0_SCLPIN |
| int "I2C0 SCL Pin" |
| default 6 if !ESPRESSIF_LPI2C |
| default 23 if ESPRESSIF_LPI2C |
| range 0 21 |
| |
| config ESPRESSIF_I2C0_SDAPIN |
| int "I2C0 SDA Pin" |
| default 5 |
| range 0 21 |
| |
| endif # ESPRESSIF_I2C0 |
| |
| if ESPRESSIF_I2C1 |
| |
| choice ESPRESSIF_I2C1_MODE |
| prompt "I2C1 Mode" |
| depends on ESPRESSIF_I2C1 |
| default ESPRESSIF_I2C1_MASTER_MODE |
| |
| config ESPRESSIF_I2C1_MASTER_MODE |
| bool "I2C1 Master Mode" |
| select ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| |
| config ESPRESSIF_I2C1_SLAVE_MODE |
| bool "I2C1 Slave Mode" |
| select I2C_SLAVE |
| select I2C_SLAVE_DRIVER |
| select ESPRESSIF_I2C_PERIPH_SLAVE_MODE |
| |
| endchoice # ESPRESSIF_I2C1_MODE |
| |
| config ESPRESSIF_I2C1_SCLPIN |
| int "I2C1 SCL Pin" |
| default 2 |
| range 0 21 |
| |
| config ESPRESSIF_I2C1_SDAPIN |
| int "I2C1 SDA Pin" |
| default 1 |
| range 0 21 |
| |
| endif # ESPRESSIF_I2C1 |
| |
| if ESPRESSIF_LPI2C |
| |
| choice ESPRESSIF_LPI2C_MODE |
| prompt "LPI2C Mode" |
| default ESPRESSIF_LPI2C_MASTER_MODE |
| |
| config ESPRESSIF_LPI2C_MASTER_MODE |
| bool "I2C0 Master Mode" |
| select ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| |
| endchoice # ESPRESSIF_LPI2C_MODE |
| |
| config ESPRESSIF_LPI2C_SCLPIN |
| int "LPI2C SCL Pin" |
| default 7 |
| range 7 7 |
| |
| config ESPRESSIF_LPI2C_SDAPIN |
| int "LPI2C SDA Pin" |
| default 6 |
| range 6 6 |
| |
| endif # ESPRESSIF_LPI2C |
| |
| if ESPRESSIF_I2C_BITBANG |
| |
| choice ESPRESSIF_I2C_BITBANG_MODE |
| prompt "I2C Bitbang Mode" |
| default ESPRESSIF_I2C_BITBANG_MASTER_MODE |
| |
| config ESPRESSIF_I2C_BITBANG_MASTER_MODE |
| bool "I2C Bitbang Master Mode" |
| |
| endchoice # ESPRESSIF_I2C_BITBANG_MODE |
| |
| config ESPRESSIF_I2C_BITBANG_SCLPIN |
| int "I2C Bitbang SCL Pin" |
| default 0 |
| range 0 21 |
| |
| config ESPRESSIF_I2C_BITBANG_SDAPIN |
| int "I2C Bitbang SDA Pin" |
| default 1 |
| range 0 21 |
| |
| endif # ESPRESSIF_I2C_BITBANG |
| |
| config ESPRESSIF_I2CTIMEOSEC |
| int "Timeout seconds" |
| depends on ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| default 0 |
| |
| config ESPRESSIF_I2CTIMEOMS |
| int "Timeout milliseconds" |
| depends on ESPRESSIF_I2C_PERIPH_MASTER_MODE |
| default 500 |
| |
| endmenu # I2C configuration |
| |
| menu "MCPWM Configuration" |
| depends on ESP_MCPWM |
| |
| config ESP_MCPWM_MOTOR |
| bool "MCPWM Motor Support" |
| default n |
| |
| menu "MCPWM Motor Configuration" |
| depends on ESP_MCPWM_MOTOR |
| |
| config ESP_MCPWM_MOTOR_BDC |
| bool "Brushed DC Motor Control" |
| depends on ESP_MCPWM |
| depends on ESP_MCPWM_MOTOR |
| select MOTOR |
| select MOTOR_UPPER |
| select MOTOR_UPPER_HAVE_SPEED |
| default n |
| ---help--- |
| Enables the use of the MCPWM submodule for control of brushed DC |
| motor. |
| |
| if ESP_MCPWM_MOTOR_BDC |
| |
| config ESP_MCPWM_MOTOR_CH0 |
| bool "Motor Control Channel 0" |
| default n |
| ---help--- |
| Enables motor control on channel 0. |
| |
| if ESP_MCPWM_MOTOR_CH0 |
| |
| config ESP_MCPWM_MOTOR_CH0_PWMA_GPIO |
| int "Output Pin PWM_A" |
| default 20 if ARCH_CHIP_ESP32C6 |
| default 10 if ARCH_CHIP_ESP32H2 |
| ---help--- |
| Output pin assigned to channel 0 PWM output PWM_A. |
| |
| config ESP_MCPWM_MOTOR_CH0_PWMB_GPIO |
| int "Output Pin PWM_B" |
| default 21 if ARCH_CHIP_ESP32C6 |
| default 11 if ARCH_CHIP_ESP32H2 |
| ---help--- |
| Output pin assigned to channel 0 PWM output PWM_B. |
| |
| config ESP_MCPWM_MOTOR_CH0_PWM_FREQ |
| int "PWM output frequency for channel 0 [Hz]" |
| default 1000 |
| ---help--- |
| Select PWM frequency for channel 0. |
| Minimum is 25 Hz and maximum is 3000 Hz. |
| |
| config ESP_MCPMW_MOTOR_CH0_FAULT |
| bool "Enable fault for channel 0" |
| default n |
| ---help--- |
| Enables the use of a fault pin to quickly stop the motor when |
| a GPIO pin pulled high. |
| |
| if ESP_MCPMW_MOTOR_CH0_FAULT |
| |
| config ESP_MCPMW_MOTOR_CH0_FAULT_GPIO |
| int "GPIO Pin for fault detection" |
| default 9 |
| ---help--- |
| Input pin assigned to channel 0 fault indicator. |
| |
| endif # ESP_MCPMW_MOTOR_CH0_FAULT |
| |
| endif # ESP_MCPWM_MOTOR_CH0 |
| |
| config ESP_MCPWM_MOTOR_CH1 |
| bool "Motor Control Channel 1" |
| default n |
| ---help--- |
| Enables motor control on channel 1. |
| |
| if ESP_MCPWM_MOTOR_CH1 |
| |
| config ESP_MCPWM_MOTOR_CH1_PWMA_GPIO |
| int "Output Pin CH1 PWM_A" |
| default 15 |
| ---help--- |
| Output pin assigned to channel 1 PWM output PWM_A. |
| |
| config ESP_MCPWM_MOTOR_CH1_PWMB_GPIO |
| int "Output Pin CH1 PWM_B" |
| default 16 |
| ---help--- |
| Output pin assigned to channel 1 PWM output PWM_B. |
| |
| endif # ESP_MCPWM_MOTOR_CH1 |
| |
| endif # ESP_MCPWM_MOTOR_BDC |
| |
| endmenu # MCPWM Motor Settings |
| |
| config ESP_MCPWM_CAPTURE |
| bool "MCPWM Capture Submodule" |
| depends on ESP_MCPWM |
| select CAPTURE |
| default n |
| ---help--- |
| Enables the use of the MCPWM capture submodule. |
| |
| if ESP_MCPWM_CAPTURE |
| |
| config ESP_MCPWM_CAPTURE_CH0 |
| bool "Capture Channel 0" |
| default n |
| ---help--- |
| Enables capture on channel 0. |
| |
| if ESP_MCPWM_CAPTURE_CH0 |
| |
| config ESP_MCPWM_CAPTURE_CH0_GPIO |
| int "GPIO Pin" |
| default 18 |
| ---help--- |
| GPIO pin assigned to capture channel 0. |
| |
| endif # ESP_MCPWM_CAPTURE_CH0 |
| |
| config ESP_MCPWM_CAPTURE_CH1 |
| bool "Capture Channel 1" |
| default n |
| ---help--- |
| Enables capture on channel 1. |
| |
| if ESP_MCPWM_CAPTURE_CH1 |
| |
| config ESP_MCPWM_CAPTURE_CH1_GPIO |
| int "GPIO Pin" |
| default 19 |
| ---help--- |
| GPIO pin assigned to capture channel 1. |
| |
| endif # ESP_MCPWM_CAPTURE_CH1 |
| |
| config ESP_MCPWM_CAPTURE_CH2 |
| bool "Capture Channel 2" |
| default n |
| ---help--- |
| Enables capture on channel 2. |
| |
| if ESP_MCPWM_CAPTURE_CH2 |
| |
| config ESP_MCPWM_CAPTURE_CH2_GPIO |
| int "GPIO Pin" |
| default 20 |
| ---help--- |
| GPIO pin assigned to capture channel 2. |
| |
| endif # ESP_MCPWM_CAPTURE_CH2 |
| |
| endif # ESP_MCPWM_CAPTURE |
| |
| config ESP_MCPWM_TEST_LOOPBACK |
| bool "MCPWM loopback test mode" |
| depends on EXPERIMENTAL |
| default n |
| ---help--- |
| This enables a lower-half driver-specific loopback test |
| mode that attaches a capture device to the PWM output on |
| motor tests. |
| |
| endmenu # MCPWM Configuration |
| |
| menu "High Resolution Timer" |
| depends on ESPRESSIF_HR_TIMER |
| |
| config ESPRESSIF_HR_TIMER_TASK_NAME |
| string "High Resolution Timer task name" |
| default "hr_timer" |
| |
| config ESPRESSIF_HR_TIMER_TASK_PRIORITY |
| int "High Resolution Timer task priority" |
| default 223 |
| ---help--- |
| Priority level of the High Resolution Timer task. |
| Must be lower than the SCHED_HPWORKPRIORITY. |
| |
| config ESPRESSIF_HR_TIMER_TASK_STACK_SIZE |
| int "High Resolution Timer task stack size" |
| default 2048 |
| |
| endmenu # High Resolution Timer |
| |
| menu "Brownout Detector Configuration" |
| depends on ESPRESSIF_BROWNOUT_DET |
| |
| choice ESPRESSIF_BROWNOUT_DET_LVL_SEL |
| prompt "Brownout voltage level" |
| default ESPRESSIF_BROWNOUT_DET_LVL_SEL_7 |
| ---help--- |
| The brownout detector will reset the chip when the supply voltage is |
| approximately below this level. Note that there may be some variation |
| of brownout voltage level between each chip. |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_7 |
| bool "2.51V" |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_6 |
| bool "2.64V" |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_5 |
| bool "2.76V" |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_4 |
| bool "2.92V" |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_3 |
| bool "3.10V" |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL_SEL_2 |
| bool "3.27V" |
| |
| endchoice # ESPRESSIF_BROWNOUT_DET_LVL_SEL |
| |
| config ESPRESSIF_BROWNOUT_DET_LVL |
| int |
| default 2 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_2 |
| default 3 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_3 |
| default 4 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_4 |
| default 5 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_5 |
| default 6 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_6 |
| default 7 if ESPRESSIF_BROWNOUT_DET_LVL_SEL_7 |
| |
| endmenu # ESPRESSIF_BROWNOUT_DET |
| |
| menu "Internal Temperature Sensor Configuration" |
| depends on ESPRESSIF_TEMP |
| |
| config ESPRESSIF_TEMP_UORB |
| bool "Internal Temperature Sensor UORB Interface" |
| default n |
| ---help--- |
| Enables work with the UORB or Character Device interface. |
| If not set, the Character Device is used by default. |
| |
| config ESPRESSIF_TEMP_PATH |
| string "Internal Temperature Sensor Path" |
| depends on !ESPRESSIF_TEMP_UORB |
| default "dev/temp" |
| |
| config ESPRESSIF_TEMP_PATH_DEVNO |
| int "Internal Temperature Sensor Path Device Number" |
| depends on ESPRESSIF_TEMP_UORB |
| default 0 |
| |
| config ESPRESSIF_TEMP_UORB_POLL |
| bool "Enables polling sensor data" |
| depends on ESPRESSIF_TEMP_UORB |
| default n |
| ---help--- |
| Enables polling of sensor. |
| |
| config ESPRESSIF_TEMP_UORB_POLL_INTERVAL |
| int "Polling interval in microseconds, default 1 sec" |
| depends on ESPRESSIF_TEMP_UORB_POLL |
| default 1000000 |
| range 0 4294967295 |
| ---help--- |
| The interval until a new sensor measurement will be triggered. |
| |
| config ESPRESSIF_TEMP_THREAD_STACKSIZE |
| int "Worker thread stack size" |
| depends on ESPRESSIF_TEMP_UORB_POLL |
| default 1024 |
| ---help--- |
| The stack size for the worker thread. |
| |
| endmenu # ESPRESSIF_TEMP |
| |
| endif # ARCH_CHIP_ESPRESSIF |