External Module Configuration Options¶
Kconfig
files describe build-time configuration options (called symbols
in Kconfig-speak), how they’re grouped into menus and sub-menus, and
dependencies between them that determine what configurations are valid.
Kconfig
files appear throughout the directory tree. For example,
subsys/power/Kconfig
defines power-related options.
This documentation is generated automatically from the Kconfig
files by
the genrest.py
script. Click on symbols for more
information.
Configuration Options¶
Symbol name |
Help/prompt |
---|---|
Add MBEDTLS header files to the ‘app’ include path. It may be disabled if the include paths for MBEDTLS are causing aliasing issues for ‘app’. |
|
This option enables the CANopenNode library. |
|
This option specifies whether a check user exists for a cbor encoder. |
|
This option enables floating point support. |
|
This option enables half float type support. |
|
This option specifies whether a default reader exists. |
|
This option specifies whether a default writer exists. |
|
This option specifies max recursions for the parser. |
|
This option enables the strict parser checks. |
|
This option enables cbor_value_to_pretty_stream function. |
|
This option enables open memstream support. |
|
This option enables the civetweb HTTP API. |
|
Set if the EPIT module is present in the SoC. |
|
Set if the GPIO module is present in the SoC. |
|
Set if the I2C module is present in the SoC. |
|
Set if the 12-bit ADC (ADC12) module is present in the SoC. |
|
Set if the 16-bit ADC (ADC16) module is present in the SoC. |
|
Set if the L1 or L2 cache is present in the SoC. |
|
Set if the clock control module (CCM) module is present in the SoC. |
|
Set if the CMOS Sensor Interface module is present in the SoC. |
|
Set if the enhanced LCD interface (eLCDIF) module is present in the SoC. |
|
Set if the ethernet (ENET) module is present in the SoC. |
|
Set if the FlexCAN module is presents in the SoC. |
|
Set if the flexcomm (FLEXCOMM) module is present in the SoC. |
|
Set if the flash memory (FTFA, FTFE, or FTFL) module is present in the SoC. |
|
Set if the FlexTimer (FTM) module is present in the SoC. |
|
Set if the general purpose timer (GPT) module is present in the SoC. |
|
Set if the flash memory In Applcation Programming is present in the LPC family SoCs. |
|
Set if the iMX GPIO (IGPIO) module is present in the SoC. |
|
Set if the low power I2C (LPI2C) module is present in the SoC. |
|
Set if the low power uart (LPSCI) module is present in the SoC. |
|
Set if the low power SPI (LPSPI) module is present in the SoC. |
|
Set if the low power uart (LPUART) module is present in the SoC. |
|
Set if the peripheral clock controller module (PCC) module is present in the SoC. |
|
Set if the PWM module is present in the SoC. |
|
Set if the random number generator accelerator (RNGA) module is present in the SoC. |
|
Set if the real time clock (RTC) modules is present in the SoC. |
|
Set if the system clock generator (SCG) module is present in the SoC. |
|
Set if the system integration module (SIM) module is present in the SoC. |
|
Set if the SMC module is present in the SoC. |
|
Set if the true random number generator (TRNG) module is present in the SoC. |
|
Set if the USB controller EHCI module is present in the SoC. |
|
Set if the USDHC instance 1 module is present in the SoC. |
|
Set if the USDHC2 instance 2 module is present in the SoC. |
|
Set if the watchdog (WDOG32) module is present in the SoC. |
|
Microchip MEC HAL drivers support |
|
Set if the flash memory (FTFA, FTFE, or FTFL) module is present in the SoC. |
|
Set if the low power i2c (LPI2C) module is present in the SoC. |
|
Set if the low power spi (LPSPI) module is present in the SoC. |
|
Set if the low power uart (LPUART) module is present in the SoC. |
|
Set if the Timer/PWM (TPM) module is present in the SoC. |
|
This option enables the use of Semtech’s LoRaMac stack |
|
This option enables the use of Semtech’s Radio drivers |
|
This option enables the libmetal HAL abstraction layer |
|
This option specifies the path to the source for the libmetal library |
|
This option enables the mbedTLS cryptography library. |
|
Use precomputed AES tables stored in ROM. |
|
Link with local mbedTLS sources instead of external library. |
|
Use a specific mbed TLS configuration file. The default config file file can be tweaked with Kconfig. The default configuration is suitable to communicate with majority of HTTPS servers on the Internet, but has relatively many features enabled. To optimize resources for special TLS usage, use available Kconfig options, or select an alternative config. |
|
Enable the ChaCha20-Poly1305 AEAD algorithm |
|
Enable the AES block cipher |
|
Enable all available ciphers |
|
Enable the ARC4 stream cipher |
|
Enable the Blowfish block cipher |
|
Enable the Camellia block cipher |
|
Enable Cipher Block Chaining mode (CBC) for symmetric ciphers |
|
Enable the Counter with CBC-MAC (CCM) mode for 128-bit block cipher |
|
Enable the ChaCha20 stream cipher |
|
Enable the DES block cipher |
|
Enable the Galois/Counter Mode (GCM) for AES |
|
Enable Xor-encrypt-xor with ciphertext stealing mode (XTS) for AES |
|
Enable the CTR_DRBG AES-256-based random generator |
|
Enable debugging activation for mbed TLS configuration. If you use mbedTLS/Zephyr integration (e.g. net_app), this will activate debug logging (of the level configured by MBEDTLS_DEBUG_LEVEL). If you use mbedTLS directly instead, you will need to perform additional configuration yourself: call mbedtls_ssl_conf_dbg(&mbedtls.conf, my_debug, NULL); mbedtls_debug_set_threshold(level); functions in your application, and create the my_debug() function to actually print something useful. |
|
Default mbed TLS debug logging level for Zephyr integration code (from ext/lib/crypto/mbedtls/include/mbedtls/debug.h): 0 No debug 1 Error 2 State change 3 Information 4 Verbose |
|
Enable support for DTLS |
|
Enable deterministic ECDSA (RFC 6979) |
|
Enable all available elliptic curves |
|
Enable BP256R1 elliptic curve |
|
Enable BP384R1 elliptic curve |
|
Enable BP512R1 elliptic curve |
|
Enable CURVE25519 elliptic curve |
|
Enable CURVE448 elliptic curve |
|
Enable SECP192K1 elliptic curve |
|
Enable SECP192R1 elliptic curve |
|
Enable SECP224K1 elliptic curve |
|
Enable SECP224R1 elliptic curve |
|
Enable SECP256K1 elliptic curve |
|
Enable SECP256R1 elliptic curve |
|
Enable SECP384R1 elliptic curve |
|
Enable SECP521R1 elliptic curve |
|
Enable NSIT curves optimization |
|
This option enables the mbedtls to use the heap. This setting must be global so that various applications and libraries in Zephyr do not try to do this themselves as there can be only one heap defined in mbedtls. If this is enabled, then the Zephyr will, during the device startup, initialize the heap automatically. |
|
Enable mbedTLS generic entropy pool |
|
Enable the prime-number generation code. |
|
Enable use of assembly code in mbedTLS. This improves the performances of asymmetric cryptography, however this might have an impact on the code size. |
|
The mbedtls routines will use this heap if enabled. See ext/lib/crypto/mbedtls/include/mbedtls/config.h and MBEDTLS_MEMORY_BUFFER_ALLOC_C option for details. That option is not enabled by default. Default value for the heap size is not set as it depends on the application. For streaming communication with arbitrary (HTTPS) servers on the Internet, 32KB + overheads (up to another 20KB) may be needed. For some dedicated and specific usage of mbedtls API, the 1000 bytes might be ok. |
|
Enable the HMAC_DRBG random generator |
|
This option holds the path where the mbedTLS libraries and headers are installed. Make sure this option is properly set when MBEDTLS_LIBRARY is enabled otherwise the build will fail. |
|
Enable all available ciphersuite modes |
|
Enable the DHE-PSK based ciphersuite modes |
|
Enable the DHE-RSA based ciphersuite modes |
|
Enable the ECDHE-ECDSA based ciphersuite modes |
|
Enable the ECDHE-PSK based ciphersuite modes |
|
Enable the ECDHE-RSA based ciphersuite modes |
|
Enable the ECDH-ECDSA based ciphersuite modes |
|
Enable the ECDH-RSA based ciphersuite modes |
|
Enable the ECJPAKE based ciphersuite modes |
|
Enable the PSK based ciphersuite modes |
|
Enable the RSA-only based ciphersuite modes |
|
Enable the RSA-PSK based ciphersuite modes |
|
This option enables mbedTLS library. |
|
Enable all available MAC methods |
|
Enable the CMAC (Cipher-based Message Authentication Code) mode for block ciphers. |
|
Enable the MD4 hash algorithm |
|
Enable the MD5 hash algorithm |
|
Enable the Poly1305 MAC algorithm |
|
Enable the SHA1 hash algorithm |
|
Enable the SHA-224 and SHA-256 hash algorithms |
|
Enable the SHA-384 and SHA-512 hash algorithms |
|
Enable some OpenThread specific mbedTLS optimizations that allows to save some RAM/ROM when OpenThread is used. Note, that when application aims to use other mbedTLS services on top of OpenThread (e.g. secure sockets), it’s advised to disable this option. |
|
By default only DER (binary) format of certificates is supported. Enable this option to enable support for PEM format. |
|
Enable an implementation of SHA-256 that has lower ROM footprint but also lower performance |
|
Enable support for exporting SSL key block and master secret |
|
The TLS standards mandate max payload size of 16384 bytes. So, for maximum operability and for general-purpose usage, that value must be used. For specific usages, that value can be largely decreased. E.g. for DTLS, payload size is limited by UDP datagram size, and even for HTTPS REST API, the payload can be limited to max size of (REST request, REST response, server certificate(s)). mbedTLS uses this value separate for input and output buffers, so twice this value will be allocated (on mbedTLS own heap, so the value of MBEDTLS_HEAP_SIZE should accommodate that). |
|
Enable self test function for the crypto algorithms |
|
Enable support for TLS 1.0 |
|
Enable support for TLS 1.1 (DTLS 1.0) |
|
Enable support for TLS 1.2 (DTLS 1.2) |
|
Enable user mbedTLS config file that will be included at the end of the generic config file. |
|
User config file that can contain mbedTLS configs that were not covered by the generic config file. |
|
This option enables the MIPI SyS-T Library |
|
Enable ADC driver |
|
Enable CLOCK driver |
|
Enable COMP driver |
|
Enable DPPI allocator |
|
Enable EGU driver |
|
Enable EGU0 instance |
|
Enable EGU1 instance |
|
Enable EGU2 instance |
|
Enable EGU3 instance |
|
Enable EGU4 instance |
|
Enable EGU5 instance |
|
Enable GPIOTE driver |
|
Enable I2S driver |
|
Enable IPC driver |
|
Enable LPCOMP driver |
|
Enable NFCT driver |
|
Enable NVMC driver |
|
Enable PDM driver |
|
Enable POWER driver |
|
Enable PPI allocator |
|
Enable Peripheral Resource Sharing module |
|
Enable PRS box 0 |
|
Enable PRS box 1 |
|
Enable PRS box 2 |
|
Enable PRS box 3 |
|
Enable PRS box 4 |
|
Enable PWM driver |
|
Enable PWM0 instance |
|
Enable PWM1 instance |
|
Enable PWM2 instance |
|
Enable PWM3 instance |
|
Enable QDEC driver |
|
Enable QSPI driver |
|
Enable RNG driver |
|
Enable RTC driver |
|
Enable RTC0 instance |
|
Enable RTC1 instance |
|
Enable RTC2 instance |
|
Enable SAADC driver |
|
Enable SPI driver |
|
Enable SPI0 instance |
|
Enable SPI1 instance |
|
Enable SPI2 instance |
|
Enable SPIM driver |
|
Enable SPIM0 instance |
|
Enable SPIM1 instance |
|
Enable SPIM2 instance |
|
Enable SPIM3 instance |
|
Enable SPIM4 instance |
|
Enable SPIS driver |
|
Enable SPIS0 instance |
|
Enable SPIS1 instance |
|
Enable SPIS2 instance |
|
Enable SPIS3 instance |
|
Enable SYSTICK driver |
|
Enable TEMP driver |
|
Enable TIMER driver |
|
Enable TIMER0 instance |
|
Enable TIMER1 instance |
|
Enable TIMER2 instance |
|
Enable TIMER3 instance |
|
Enable TIMER4 instance |
|
Enable TWI driver |
|
Enable TWI0 instance |
|
Enable TWI1 instance |
|
Enable TWIM driver |
|
Enable TWIM0 instance |
|
Enable TWIM1 instance |
|
Enable TWIM2 instance |
|
Enable TWIM3 instance |
|
Enable TWIS driver |
|
Enable TWIS0 instance |
|
Enable TWIS1 instance |
|
Enable TWIS2 instance |
|
Enable TWIS3 instance |
|
Enable UART driver |
|
Enable UART0 instance |
|
Enable UARTE driver |
|
Enable UARTE0 instance |
|
Enable UARTE1 instance |
|
Enable UARTE2 instance |
|
Enable UARTE3 instance |
|
Enable USBD driver |
|
Enable USBREG driver |
|
Enable WDT driver |
|
Enable support for nrfx WDT instance 0. |
|
Enable support for nrfx WDT instance 1. |
|
Limit for occurrences above correlator threshold. When not equal to zero the correlator based signal detect is enabled. |
|
nRF IEEE 802.15.4 CCA Correlator threshold |
|
If energy detected in a given channel is above the value then the channel is deemed busy. The unit is defined as per 802.15.4-2006 spec. |
|
Carrier Seen |
|
Energy Above Threshold AND Carrier Seen |
|
Energy Above Threshold OR Carrier Seen |
|
Energy Above Threshold |
|
Enable nRF IEEE 802.15.4 radio driver |
|
This option enables the OpenAMP IPC library |
|
This option specifies the path to the source for the open-amp library |
|
Build the SimpleLink host driver |
|
This option enables the tinyCBOR library. |
|
Enable STM32Cube Analog-to-Digital Converter (ADC) HAL module driver |
|
Enable STM32Cube Extended Analog-to-Digital Converter (ADC) HAL module driver |
|
Enable STM32Cube Controller Area Network (CAN) HAL module driver |
|
Enable STM32Cube HDMI-CEC controller (CEC) HAL module driver |
|
Enable STM32Cube Ultra Low Power Comparator channels (COMP) HAL module driver |
|
Enable STM32Cube CORTEX HAL module driver |
|
Enable STM32Cube Cyclic redundancy check calculation unit (CRC) HAL module driver |
|
Enable STM32Cube Extended Cyclic redundancy check calculation unit (CRC) HAL module driver |
|
Enable STM32Cube Cryptographic processor (CRYP) HAL module driver |
|
Enable STM32Cube Extended Cryptographic processor (CRYP) HAL module driver |
|
Enable STM32Cube Digital-to-analog converter (DAC) HAL module driver |
|
Enable STM32Cube Extended Digital-to-analog converter (DAC) HAL module driver |
|
Enable STM32Cube Digital camera interface (DCM) HAL module driver |
|
Enable STM32Cube Extended Digital camera interface (DCM) HAL module driver |
|
Enable STM32Cube Digital filter for sigma delta modulators (DFSDM) HAL module driver |
|
Enable STM32Cube Extended Digital filter for sigma delta modulators (DFSDM) HAL module driver |
|
Enable STM32Cube Direct Memory Access controller (DMA) HAL module driver |
|
Enable STM32Cube Chrom-Art Accelerator™ controller (DMA2D) HAL module driver |
|
Enable STM32Cube Extended Direct Memory Access controller (DMA) HAL module driver |
|
Enable STM32Cube Display Serial Interface Host (DSI) HAL module driver |
|
Enable STM32Cube Ethernet (ETH) HAL module driver |
|
Enable STM32Cube Extended interrupt and event controller (EXTI) HAL module driver |
|
Enable STM32Cube Controller area network with flexible data rate (FDCAN) HAL module driver |
|
Enable STM32Cube Firewall HAL module driver |
|
Enable STM32Cube Embedded Flash Memory (FLASH) HAL module driver |
|
Enable STM32Cube Extended Embedded Flash Memory (FLASH) HAL module driver |
|
Enable STM32Cube Embedded Flash Memory RAM functions (FLASH_RAMFUNC) HAL module driver |
|
Enable STM32Cube Fast-mode Plus Inter-integrated circuit (FMPI2C) HAL module driver |
|
Enable STM32Cube Extended Fast-mode Plus Inter-integrated circuit (FMPI2C) HAL module driver |
|
Enable STM32Cube Chrom-GRCTM (GFXMMU) HAL module driver |
|
Enable STM32Cube General-purpose I/Os (GPIO) HAL module driver |
|
Enable STM32Cube Extended General-purpose I/Os (GPIO) HAL module driver |
|
Enable STM32Cube Hash processor (HASH) HAL module driver |
|
Enable STM32Cube Extended Hash processor (HASH) HAL module driver |
|
Enable STM32Cube Host Controller device (HCD) HAL module driver |
|
Enable STM32Cube High-Resolution Timer (HRTIM) HAL module driver |
|
Enable STM32Cube Hardware Semaphore (HSEM) HAL module driver |
|
Enable STM32Cube Inter-integrated circuit (I2C) interface HAL module driver |
|
Enable STM32Cube Extended Inter-integrated circuit (I2C) interface HAL module driver |
|
Enable STM32Cube Inter-IC sound (I2S) HAL module driver |
|
Enable STM32Cube Etxended Inter-IC sound (I2S) HAL module driver |
|
Enable STM32Cube Inter-Processor communication controller (IPCC) HAL module driver |
|
Enable STM32Cube Infrared Data Association (IRDA) HAL module driver |
|
Enable STM32Cube Independent watchdog (IWDG) HAL module driver |
|
Enable STM32Cube Jpeg codec (JPEG) HAL module driver |
|
Enable STM32Cube LCD controller (LCD) HAL module driver |
|
Enable STM32Cube Low Power Timer (LPTIM) HAL module driver |
|
Enable STM32Cube LCD-TFT controller (LTDC) HAL module driver |
|
Enable STM32Cube Extended LCD-TFT controller (LTDC) HAL module driver |
|
Enable STM32Cube Management data input/output (MDIOS) HAL module driver |
|
Enable STM32Cube Master Direct Memory Access controller (MDMA) HAL module driver |
|
Enable STM32Cube MultiMediaCard interface (SDMMC) HAL module driver |
|
Enable STM32Cube Extended MultiMediaCard interface (SDMMC) HAL module driver |
|
Enable STM32Cube NAND Controller (NAND) HAL module driver |
|
Enable STM32Cube NOR Controller (NOR) HAL module driver |
|
Enable STM32Cube Operational amplifiers (OPAMP) HAL module driver |
|
Enable STM32Cube Extended Operational amplifiers (OPAMP) HAL module driver |
|
Enable STM32Cube Octo-SPI interface (OSPI) HAL module driver |
|
Enable STM32Cube PCCard memories (PCCARD) HAL module driver |
|
Enable STM32Cube USB Peripheral Controller (PCD) HAL module driver |
|
Enable STM32Cube Extended USB Peripheral Controller (PCD) HAL module driver |
|
Enable STM32Cube Power control (PWR) HAL module driver |
|
Enable STM32Cube Extended Power control (PWR) HAL module driver |
|
Enable STM32Cube Quad-SPI interface (QSPI) HAL module driver |
|
Enable STM32Cube RAM ECC monitoring (RAMECC) HAL module driver |
|
Enable STM32Cube Reset and Clock Control (RCC) HAL module driver |
|
Enable STM32Cube Extended Reset and Clock Control (RCC) HAL module driver |
|
Enable STM32Cube True random number generator (RNG) HAL module driver |
|
Enable STM32Cube Real-time clock (RTC) HAL module driver |
|
Enable STM32Cube Extended Real-time clock (RTC) HAL module driver |
|
Enable STM32Cube Serial audio interface (SAI) HAL module driver |
|
Enable STM32Cube Extended Serial audio interface (SAI) HAL module driver |
|
Enable STM32Cube Secure digital input/output MultiMediaCard interface (SDMMC) HAL module driver |
|
Enable STM32Cube SDADC HAL module driver |
|
Enable STM32Cube SDRAM controller (SDRAM) HAL module driver |
|
Enable STM32Cube Extended Secure digital input/output MultiMediaCard interface (SDMMC) HAL module driver |
|
Enable STM32Cube Smartcard controller (SMARTCARD) HAL module driver |
|
Enable STM32Cube Extended Smartcard controller (SMARTCARD) HAL module driver |
|
Enable STM32Cube System Management Bus (SMBus) HAL module driver |
|
Enable STM32Cube SPDIF receiver interface (SPDIFRX) HAL module driver |
|
Enable STM32Cube Serial peripheral interface (SPI) HAL module driver |
|
Enable STM32Cube Extended Serial peripheral interface (SPI) HAL module driver |
|
Enable STM32Cube SRAM controller (SRAM) HAL module driver |
|
Enable STM32Cube Single Wire Protocol Master Interface (SWPMI) HAL module |
|
Enable STM32Cube Timer (TIM) HAL module driver |
|
Enable STM32Cube Extended Timer (TIM) HAL module driver |
|
Enable STM32Cube Touch sensing controller (TSC) HAL module driver |
|
Enable STM32Cube Universal asynchronous receiver transmitter (USART) HAL module driver |
|
Enable STM32Cube Extended Universal asynchronous receiver transmitter (USART) HAL module driver |
|
Enable STM32Cube Universal synchronous asynchronous receiver transmitter (USART) HAL module driver |
|
Enable STM32Cube Extended Universal synchronous asynchronous receiver transmitter (USART) HAL module driver |
|
Enable STM32Cube System window watchdog (WWDG) HAL module driver |
|
Enable STM32Cube Analog-to-Digital Converter (ADC) LL module driver |
|
Enable STM32Cube Basic direct memory access controller (BDMA) LL module driver |
|
Enable STM32Cube Ultra Low Power Comparator channels (COMP) LL module driver |
|
Enable STM32Cube Cyclic redundancy check calculation unit (CRC) LL module driver |
|
Enable STM32Cube Clock recovery system (CRS) LL module driver |
|
Enable STM32Cube Digital-to-analog converter (DAC) LL module driver |
|
Enable STM32Cube DelayBlock (DELAYBLOCK) LL module driver |
|
Enable STM32Cube Direct Memory Access controller (DMA) LL module driver |
|
Enable STM32Cube Chrom-Art Accelerator™ controller (DMA2D) LL module driver |
|
Enable STM32Cube Extended interrupt and event controller (EXTI) LL module driver |
|
Enable STM32Cube Flexible memory controller (FMC) LL module driver |
|
Enable STM32Cube Flexible static memory controller (FSMC) LL module driver |
|
Enable STM32Cube Extended General-purpose I/Os (GPIO) LL module driver |
|
Enable STM32Cube High-Resolution Timer (HRTIM) LL module driver |
|
Enable STM32Cube Inter-integrated circuit (I2C) interface LL module driver |
|
Enable STM32Cube Inter-Processor communication controller (IPCC) LL module driver |
|
Enable STM32Cube Low Power Timer (LPTIM) LL module driver |
|
Enable STM32Cube Low-power universal asynchronous receiver transmitter (LPUART) LL module driver |
|
Enable STM32Cube Master Direct Memory Access controller (MDMA) LL module driver |
|
Enable STM32Cube Operational amplifiers (OPAMP) LL module driver |
|
Enable STM32Cube Power control (PWR) LL module driver |
|
Enable STM32Cube Reset and Clock Control (RCC) LL module driver |
|
Enable STM32Cube True random number generator (RNG) LL module driver |
|
Enable STM32Cube Real-time clock (RTC) LL module driver |
|
Enable STM32Cube SD/SDIO/MMC card host interface (SDMMC) LL module driver |
|
Enable STM32Cube Serial peripheral interface (SPI) LL module driver |
|
Enable STM32Cube Single Wire Protocol Master Interface (SWPMI) LL module driver |
|
Enable STM32Cube Timer (TIM) LL module driver |
|
Enable STM32Cube Universal synchronous asynchronous receiver transmitter (USART) LL module driver |
|
Enable STM32Cube Universal serial bus full-speed device interface (USB) LL module driver |
|
Enable STM32Cube Utility functions (UTILS) LL module driver |
|
RV32M1 VEGA SDK support |
|
Build the Xtensa HAL module during build process. This is selected by the Xtensa ARCH kconfig automatically. |