diff --git a/modules/openthread/Kconfig b/modules/openthread/Kconfig index c5277fccccfb7..02a997028db40 100644 --- a/modules/openthread/Kconfig +++ b/modules/openthread/Kconfig @@ -356,6 +356,12 @@ config OPENTHREAD_PLATFORM_CARRIER_FUNCTIONS help Enable support for functions such as modulated carrier and continuous carrier. +config OPENTHREAD_PLATFORM_USEC_TIMER + bool + default y if (OPENTHREAD_CSL_RECEIVER && !OPENTHREAD_THREAD_VERSION_1_1) || OPENTHREAD_WAKEUP_END_DEVICE + help + Enable microsecond backoff timer implemented in platform. + menu "OpenThread Border Router" config OPENTHREAD_ZEPHYR_BORDER_ROUTER diff --git a/modules/openthread/Kconfig.features b/modules/openthread/Kconfig.features index 0a91eb8725b3c..3f8eded30bfb9 100644 --- a/modules/openthread/Kconfig.features +++ b/modules/openthread/Kconfig.features @@ -236,6 +236,9 @@ config OPENTHREAD_LOG_LEVEL_DYNAMIC config OPENTHREAD_MAC_FILTER bool "MAC filter support" +config OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING + bool "Mac beacon payload parsing support" + config OPENTHREAD_MULTICAST_DNS bool "Multicast DNS (mDNS)" @@ -265,6 +268,11 @@ config OPENTHREAD_MULTIPAN_RCP config OPENTHREAD_MULTIPLE_INSTANCE bool "OpenThread multiple instances" +config OPENTHREAD_MULTIPLE_INSTANCE_NUM + int "OpenThread number of instances" + depends on OPENTHREAD_MULTIPLE_INSTANCE + default 3 + config OPENTHREAD_NAT64_BORDER_ROUTING bool "Border routing NAT64 support" diff --git a/modules/openthread/platform/openthread-core-zephyr-config.h b/modules/openthread/platform/openthread-core-zephyr-config.h index ea7e5d6b5b65f..8e41af46bc419 100644 --- a/modules/openthread/platform/openthread-core-zephyr-config.h +++ b/modules/openthread/platform/openthread-core-zephyr-config.h @@ -211,16 +211,30 @@ * in platform. * */ -#if defined(CONFIG_OPENTHREAD_CSL_RECEIVER) || defined(CONFIG_OPENTHREAD_WAKEUP_END_DEVICE) -#if defined(CONFIG_OPENTHREAD_CSL_RECEIVER) && \ - (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) -#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1 -#elif defined(CONFIG_OPENTHREAD_WAKEUP_END_DEVICE) -#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1 +#ifdef CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER +#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER #else #define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 0 +#endif /* CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER */ + +/** + * @def OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE + * + * Define to 1 if you want to enable mac beacon payload parsing support. + * + */ +#ifdef CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING +#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE \ + CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING #endif -#endif /* CONFIG_OPENTHREAD_CSL_RECEIVER || CONFIG_OPENTHREAD_WAKEUP_END_DEVICE */ + +/** + * @def OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM + * + * Set the number of OpenThread instances For static buffer allocation. + * + */ +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM CONFIG_OPENTHREAD_MULTIPLE_INSTANCE_NUM /* Zephyr does not use OpenThread's heap. mbedTLS will use heap memory allocated * by Zephyr. Here, we use some dummy values to prevent OpenThread warnings. @@ -250,7 +264,13 @@ * The number of short source address table entries. * */ +#ifndef RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM +#ifdef CONFIG_OPENTHREAD_MAX_CHILDREN +#define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM CONFIG_OPENTHREAD_MAX_CHILDREN +#else #define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM 0 +#endif +#endif /** * @def OPENTHREAD_CONFIG_PLATFORM_INFO @@ -289,7 +309,13 @@ * The number of extended source address table entries. * */ +#ifndef RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM +#ifdef CONFIG_OPENTHREAD_MAX_CHILDREN +#define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM CONFIG_OPENTHREAD_MAX_CHILDREN +#else #define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM 0 +#endif +#endif /** * @def OPENTHREAD_CONFIG_MAC_CSL_REQUEST_AHEAD_US