Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | # OpenThread driver configuration options # Copyright (c) 2018 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 config OPENTHREAD_SECURITY_INTERNAL bool help OpenThread setting to signal that OpenThread security settings, such as the OPENTHREAD_MBEDTLS setting will be controlled through other Kconfig dependencies and should not be user configurable. menuconfig NET_L2_OPENTHREAD bool "OpenThread L2" depends on NETWORKING select NET_L2_PHY_IEEE802154 imply FLASH imply FLASH_PAGE_LAYOUT imply FLASH_MAP imply MPU_ALLOW_FLASH_WRITE imply NVS select SETTINGS if FLASH select OPENTHREAD_SETTINGS_RAM if !FLASH select CPLUSPLUS select REBOOT select ENTROPY_GENERATOR imply NET_UDP imply NET_IPV6 imply NET_CONFIG_NEED_IPV6 if NET_L2_OPENTHREAD choice OPENTHREAD_IMPLEMENTATION prompt "OpenThread origin selection" help Select OpenThread to use for build. Custom OpenThread implementations can be added to the application Kconfig. config OPENTHREAD_SOURCES bool "OpenThread from sources" help Build Zephyr's OpenThread port from sources. endchoice 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 parameters and try to join the Thread network automatically during initialization (using credentials stored in persistent storage, obtained during commissioning or pre-commissioned with other Kconfig options, depending on configuration used). menu "OpenThread stack features" source "subsys/net/l2/openthread/Kconfig.features" endmenu menu "Thread Network configuration" source "subsys/net/l2/openthread/Kconfig.thread" endmenu menu "Logging" menuconfig OPENTHREAD_DEBUG bool "OpenThread stack logging support" depends on NET_L2_OPENTHREAD help This option enables logging 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_CRIT bool "Critical" config OPENTHREAD_LOG_LEVEL_WARN bool "Warning" config OPENTHREAD_LOG_LEVEL_NOTE bool "Notice" config OPENTHREAD_LOG_LEVEL_INFO bool "Informational" config OPENTHREAD_LOG_LEVEL_DEBG bool "Debug" endchoice config OPENTHREAD_LOG_LEVEL int default 1 if OPENTHREAD_LOG_LEVEL_CRIT default 2 if OPENTHREAD_LOG_LEVEL_WARN default 3 if OPENTHREAD_LOG_LEVEL_NOTE default 4 if OPENTHREAD_LOG_LEVEL_INFO default 5 if OPENTHREAD_LOG_LEVEL_DEBG 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 # OPENTHREAD_L2_DEBUG 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" endmenu # "Logging" menu "Zephyr optimizations" config OPENTHREAD_THREAD_PREEMPTIVE bool "Set Openthread thread to be preemptive" config OPENTHREAD_THREAD_PRIORITY int "OpenThread thread priority" default 0 if OPENTHREAD_THREAD_PREEMPTIVE default 8 config OPENTHREAD_THREAD_STACK_SIZE int "OpenThread thread stack size" default 6144 if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER default 6240 if (OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER) && MPU_STACK_GUARD && FPU_SHARING && CPU_CORTEX_M default 3168 if MPU_STACK_GUARD && FPU_SHARING && CPU_CORTEX_M default 3072 config OPENTHREAD_PKT_LIST_SIZE int "List size for IPv6 packet buffering" default 10 config OPENTHREAD_RADIO_WORKQUEUE_STACK_SIZE int "OpenThread radio transmit workqueue stack size" default 608 if MPU_STACK_GUARD && FPU_SHARING && CPU_CORTEX_M default 512 endmenu # "Zephyr optimizations" config OPENTHREAD_SHELL bool "OpenThread shell" depends on SHELL default y config MBEDTLS_PROMPTLESS bool default y if !CUSTOM_OPENTHREAD_SECURITY choice OPENTHREAD_SECURITY prompt "OpenThread security" default OPENTHREAD_MBEDTLS_CHOICE depends on !OPENTHREAD_SECURITY_INTERNAL config CUSTOM_OPENTHREAD_SECURITY bool "Custom" help Security settings will be controlled directly by the user. Enabling this setting will give access to full control of mbed TLS configuration. config OPENTHREAD_MBEDTLS_CHOICE bool "mbed TLS built-in" select OPENTHREAD_MBEDTLS help Use the OpenThread mbed TLS configuration pre-defined security scheme. endchoice config OPENTHREAD_MBEDTLS bool 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 select MBEDTLS_CIPHER select MBEDTLS_MD select MBEDTLS_TLS_VERSION_1_2 if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_DTLS if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_ECP_DP_SECP256R1_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_ECP_NIST_OPTIM if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_SSL_EXPORT_KEYS if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_CTR_DRBG_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_HMAC_DRBG_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER select MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED if OPENTHREAD_ECDSA select MBEDTLS_ECDSA_DETERMINISTIC if OPENTHREAD_ECDSA select MBEDTLS_PK_WRITE_C if OPENTHREAD_ECDSA config OPENTHREAD_MBEDTLS_LIB_NAME string "mbedtls lib name" default "mbedTLS" help This option allows to specify one or more mbedtls library files to be linked with OpenThread. Separate multiple values with space " ". config OPENTHREAD_COPROCESSOR bool "OpenThread Co-Processor" select OPENTHREAD_MANUAL_START select RING_BUFFER select UART_INTERRUPT_DRIVEN help Enable Co-Processor in OpenThread stack. if OPENTHREAD_COPROCESSOR choice prompt "OpenThread Co-Processor type" help This option selects Thread network co-processor type config OPENTHREAD_COPROCESSOR_NCP bool "NCP - Network Co-Processor" config OPENTHREAD_COPROCESSOR_RCP bool "RCP - Radio Co-Processor" endchoice config OPENTHREAD_COPROCESSOR_UART_RING_BUFFER_SIZE int "Set Co-Processor UART ring buffer size" default 4096 help TX buffer size for the OpenThread Co-Processor UART. config OPENTHREAD_COPROCESSOR_VENDOR_HOOK_SOURCE string "Path to vendor hook source file" help Provides path to compile vendor hook file. endif # OPENTHREAD_COPROCESSOR config OPENTHREAD_PLATFORM_INFO string "Platform information for OpenThread" default "ZEPHYR" help Platform information for OpenThread config OPENTHREAD_CUSTOM_PARAMETERS string "Custom Parameters to pass to OpenThread build system" default "" help This option is intended for advanced users only. Pass additional parameters that do not have corresponding Kconfig options to the OpenThread build system. Separate multiple values with space " ", for example: "OPENTHREAD_CONFIG_JOINER_ENABLE=1 OPENTHREAD_CONFIG_JOINER_MAX_CANDIDATES=3" config OPENTHREAD_NUM_MESSAGE_BUFFERS int "The number of message buffers in the buffer pool" default 128 help "The number of message buffers in the buffer pool." config OPENTHREAD_MAX_STATECHANGE_HANDLERS int "The maximum number of state-changed callback handlers" default 2 help The maximum number of state-changed callback handlers set using otSetStateChangedCallback. config OPENTHREAD_TMF_ADDRESS_CACHE_ENTRIES int "The number of EID-to-RLOC cache entries" default 20 help The number of EID-to-RLOC cache entries. config OPENTHREAD_LOG_PREPEND_LEVEL_ENABLE bool "Prepending the log level to all OpenThread log messages" help When enabled the OpenThread logs will be prepended with the appropriate log level prefix i.e. [CRIT], [WARN], [NOTE], [INFO], [DEBG]. config OPENTHREAD_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE bool "Software ACK timeout logic" default y help Set y if the radio supports AckTime event config OPENTHREAD_MAC_SOFTWARE_RETRANSMIT_ENABLE bool "Software retransmission logic" default y help Set y if the radio supports tx retry logic with collision avoidance (CSMA) config OPENTHREAD_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE bool "Software CSMA backoff logic" default y help Set y to enable software CSMA backoff. The option can be disabled if the radio has hardware support for this feature (IEEE802154_HW_CSMA). config OPENTHREAD_CRYPTO_PSA bool "ARM PSA crypto API" depends on BUILD_WITH_TFM select OPENTHREAD_PLATFORM_KEY_REFERENCES_ENABLE select OPENTHREAD_PLATFORM_KEYS_EXPORTABLE_ENABLE help Enable crypto backend library implementation based on ARM PSA crypto API instead of the default, using mbedTLS. config OPENTHREAD_PLATFORM_KEY_REFERENCES_ENABLE bool "Cryptographic key reference support" help Enable usage of cryptographic key references instead of literal keys This requires a crypto backend library that supports key references. config OPENTHREAD_PLATFORM_KEYS_EXPORTABLE_ENABLE bool "Make MAC keys exportable" depends on OPENTHREAD_PLATFORM_KEY_REFERENCES_ENABLE help Enable the creation of exportable MAC keys in the OpenThread Key Manager. endif # NET_L2_OPENTHREAD |