zephyr/subsys/net/l2/openthread/Kconfig

307 lines
7.5 KiB
Plaintext

# OpenThread driver configuration options
# Copyright (c) 2018 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
#
# OpenThread options
#
menuconfig NET_L2_OPENTHREAD
bool "OpenThread L2"
depends on FLASH
depends on FLASH_PAGE_LAYOUT
depends on CPLUSPLUS
depends on REBOOT
depends on SETTINGS
select OPENTHREAD_PLAT
select MBEDTLS
select MBEDTLS_ENABLE_HEAP
select MBEDTLS_CIPHER_AES_ENABLED
select MBEDTLS_CIPHER_CCM_ENABLED
select MBEDTLS_MAC_SHA256_ENABLED
select MBEDTLS_ENTROPY_ENABLED
select MBEDTLS_MAC_CMAC_ENABLED
if NET_L2_OPENTHREAD
config OPENTHREAD_DTLS
# Hidden option to enable DTLS support in OpenThread
bool
select MBEDTLS_TLS_VERSION_1_2
select MBEDTLS_DTLS
select MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
select MBEDTLS_ECP_DP_SECP256R1_ENABLED
select MBEDTLS_ECP_NIST_OPTIM
select MBEDTLS_SSL_EXPORT_KEYS
select MBEDTLS_CTR_DRBG_ENABLED
select MBEDTLS_HMAC_DRBG_ENABLED
config OPENTHREAD_PLAT
bool
help
This option enables OpenThread platform
menuconfig OPENTHREAD_DEBUG
bool "OpenThread stack log support"
depends on OPENTHREAD_PLAT
help
This option enables log support for OpenThread
choice
prompt "OpenThread stack log level"
depends on OPENTHREAD_DEBUG
help
This option selects log level for OpenThread stack.
config OPENTHREAD_LOG_LEVEL_ERROR
bool "Error"
config OPENTHREAD_LOG_LEVEL_WARNING
bool "Warning"
config OPENTHREAD_LOG_LEVEL_INFO
bool "Info"
config OPENTHREAD_LOG_LEVEL_DEBUG
bool "Debug"
endchoice
config OPENTHREAD_LOG_LEVEL
int
default 1 if OPENTHREAD_LOG_LEVEL_ERROR
default 2 if OPENTHREAD_LOG_LEVEL_WARNING
default 3 if OPENTHREAD_LOG_LEVEL_INFO
default 4 if OPENTHREAD_LOG_LEVEL_DEBUG
default 0
menuconfig OPENTHREAD_L2_DEBUG
bool "OpenThread L2 log support"
help
This option enables log support for OpenThread
if OPENTHREAD_L2_DEBUG
config OPENTHREAD_L2_DEBUG_DUMP_15_4
bool "Dump 802.15.4 packets"
help
This option enables dumping of 802.15.4 packets
config OPENTHREAD_L2_DEBUG_DUMP_IPV6
bool "Dump IPv6 packets"
help
This option enables dumping of IPv6 packets
endif
module = OPENTHREAD_L2
module-dep = NET_LOG
module-str = Log level for OpenThread driver
module-help = Enables OpenThread driver to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
config OPENTHREAD_THREAD_PRIORITY
int "OpenThread thread priority"
default 8
config OPENTHREAD_THREAD_STACK_SIZE
int "OpenThread thread stack size"
default 6144 if OPENTHREAD_COMMISSIONER
default 3072
config OPENTHREAD_PKT_LIST_SIZE
int "List size for Ip6 packet buffering"
default 10
config OPENTHREAD_MANUAL_START
bool "Start OpenThread stack manually"
help
If enabled, OpenThread stack will have to be configured and
started manually, with respective API calls or CLI/NCP commands.
Otherwise, OpenThread will configure the network parametrs and try to
join the Thread network automatically during initialization (using
credentials stored in persistend storage, obtained during
commissioning or pre-commissioned with other Kconfig options,
depending on configuration used).
if !OPENTHREAD_MANUAL_START
config OPENTHREAD_PANID
int "Default PAN ID"
default 43981
config OPENTHREAD_CHANNEL
int "Default Channel"
default 11
config OPENTHREAD_NETWORK_NAME
string "Default network name"
default "ot_zephyr"
help
Network name for OpenThread
config OPENTHREAD_XPANID
string "Default Extended PAN ID"
default "de:ad:00:be:ef:00:ca:fe"
help
Extended PAN ID for OpenThread with
format "de:ad:00:be:ef:00:ca:fe"
endif
choice
prompt "OpenThread device type"
help
This option selects Thread network device type
config OPENTHREAD_FTD
bool "FTD - Full Thread Device"
config OPENTHREAD_MTD
bool "MTD - Minimal Thread Device"
endchoice
config OPENTHREAD_MTD_SED
bool "SED - Sleepy End Device"
depends on OPENTHREAD_MTD
config OPENTHREAD_POLL_PERIOD
int "Poll period for sleepy end devices [ms]"
default 236000
depends on OPENTHREAD_MTD_SED
config OPENTHREAD_SHELL
bool "Enable OpenThread shell"
select SHELL
default y
config OPENTHREAD_DIAG
bool "Diagnostic functions support"
help
Enable OpenThread CLI diagnostic commands
config OPENTHREAD_COMMISSIONER
bool "Commissioner functions support"
select OPENTHREAD_DTLS
help
Enable commissioner capability in OpenThread stack. Note, that DTLS
handshake used in the commissioning procedure requires a larger
mbedTLS heap than the default value. A minimum recommended value of
CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 8KB.
config OPENTHREAD_JOINER
bool "Joiner functions support"
select OPENTHREAD_DTLS
help
Enable joiner capability in OpenThread stack. Note, that DTLS
handshake used in the commissioning procedure requires a larger
mbedTLS heap than the default value. A minimum recommended value of
CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 8KB.
config OPENTHREAD_JOINER_AUTOSTART
bool "Support for automatic joiner start"
depends on OPENTHREAD_JOINER
depends on !OPENTHREAD_MANUAL_START
help
Enable automatic joiner start
config OPENTHREAD_JOINER_PSKD
string "Default Pre Shared key for the Device to start joiner"
depends on OPENTHREAD_JOINER_AUTOSTART
default "J01NME"
help
Pre Shared Key for the Device to start joiner
config OPENTHREAD_DHCP6_CLIENT
bool "DHCPv6 client support"
help
Enable DHCPv6 client capability in OpenThread stack
config OPENTHREAD_DHCP6_SERVER
bool "DHCPv6 server support"
help
Enable DHCPv6 server capability in OpenThread stack
config OPENTHREAD_SLAAC
bool "SLAAC support"
help
Enable SLAAC capability in OpenThread stack
config OPENTHREAD_ENABLE_SERVICE
bool "Service support"
help
Enable service capability in OpenThread stack
config OPENTHREAD_RAW
bool "Raw Link support"
help
Enable raw link support in OpenThread stack
config OPENTHREAD_BORDER_AGENT
bool "Border Agent support"
help
Enable border agent support in OpenThread stack
config OPENTHREAD_BORDER_ROUTER
bool "Border Router support"
help
Enable border router support in OpenThread stack
config OPENTHREAD_COAP
bool "OpenThread CoAP support"
help
Enable CoAP api for the application communicates with use of OpenThread stack
config OPENTHREAD_NCP
bool "Network Co-Processor"
select OPENTHREAD_MANUAL_START
select RING_BUFFER
select UART_INTERRUPT_DRIVEN
help
Enable NCP in OpenThread stack
config OPENTHREAD_NCP_RADIO
bool "Network Co-Processor as Radio"
depends on OPENTHREAD_NCP
help
Enable NCP in OpenThread stack as radio-only
config OPENTHREAD_NCP_SPINEL_ON_UART_DEV_NAME
string "UART device to use for NCP SPINEL"
default "UART_0"
depends on OPENTHREAD_NCP
help
UART device to use for NCP SPINEL
config OPENTHREAD_NCP_UART_RING_BUFFER_SIZE
int "Set NCP UART ring buffer size"
default 4096
depends on OPENTHREAD_NCP
help
TX buffer size for the OpenThread NCP UART
config OPENTHREAD_NCP_SPINEL_ON_UART_ACM
bool "Run SPINEL over USB-ACM"
depends on OPENTHREAD_NCP && USB_CDC_ACM
help
Is the SPINEL device a USB-CDC-ACM device
config OPENTHREAD_UDP_FORWARD
bool "UDP forward support"
help
Enable UDP forward support in OpenThread stack
config OPENTHREAD_PLATFORM_INFO
string "Platform information for OpenThread"
default "ZEPHYR"
help
Platform information for OpenThread
config OPENTHREAD_JAM_DETECTION
bool "Jam detection support"
help
Enable jam detection in OpenThread stack
config OT_PLAT_FLASH_PAGES_COUNT
int "Flash pages count used by OpenThread platform"
default 4
help
This option sets flash pages count used by OpenThread to store its settings. They are located at the end of flash.
endif