Skip to content

Commit cfe51ec

Browse files
committed
net: openthread: Expand OpenThread features
Add Kconfig support for the following OpenThread features: - OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING - OPENTHREAD_PLATFORM_USEC_TIMER - OPENTHREAD_MULTIPLE_INSTANCE_NUM Modify core configuration to set the number of short and extended source address table entries to the maximum number of children, in line with upstream OpenThread configuration. Signed-off-by: David Boullie <[email protected]>
1 parent dddd738 commit cfe51ec

File tree

3 files changed

+47
-7
lines changed

3 files changed

+47
-7
lines changed

modules/openthread/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,12 @@ config OPENTHREAD_PLATFORM_CARRIER_FUNCTIONS
356356
help
357357
Enable support for functions such as modulated carrier and continuous carrier.
358358

359+
config OPENTHREAD_PLATFORM_USEC_TIMER
360+
bool
361+
default y if (OPENTHREAD_CSL_RECEIVER && !OPENTHREAD_THREAD_VERSION_1_1) || OPENTHREAD_WAKEUP_END_DEVICE
362+
help
363+
Enable microsecond backoff timer implemented in platform.
364+
359365
menu "OpenThread Border Router"
360366

361367
config OPENTHREAD_ZEPHYR_BORDER_ROUTER

modules/openthread/Kconfig.features

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,9 @@ config OPENTHREAD_LOG_LEVEL_DYNAMIC
236236
config OPENTHREAD_MAC_FILTER
237237
bool "MAC filter support"
238238

239+
config OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING
240+
bool "Mac beacon payload parsing support"
241+
239242
config OPENTHREAD_MULTICAST_DNS
240243
bool "Multicast DNS (mDNS)"
241244

@@ -265,6 +268,11 @@ config OPENTHREAD_MULTIPAN_RCP
265268
config OPENTHREAD_MULTIPLE_INSTANCE
266269
bool "OpenThread multiple instances"
267270

271+
config OPENTHREAD_MULTIPLE_INSTANCE_NUM
272+
int "OpenThread number of instances"
273+
depends on OPENTHREAD_MULTIPLE_INSTANCE
274+
default 3
275+
268276
config OPENTHREAD_NAT64_BORDER_ROUTING
269277
bool "Border routing NAT64 support"
270278

modules/openthread/platform/openthread-core-zephyr-config.h

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -211,16 +211,30 @@
211211
* in platform.
212212
*
213213
*/
214-
#if defined(CONFIG_OPENTHREAD_CSL_RECEIVER) || defined(CONFIG_OPENTHREAD_WAKEUP_END_DEVICE)
215-
#if defined(CONFIG_OPENTHREAD_CSL_RECEIVER) && \
216-
(OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2)
217-
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1
218-
#elif defined(CONFIG_OPENTHREAD_WAKEUP_END_DEVICE)
219-
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1
214+
#ifdef CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER
215+
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER
220216
#else
221217
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 0
218+
#endif /* CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER */
219+
220+
/**
221+
* @def OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE
222+
*
223+
* Define to 1 if you want to enable mac beacon payload parsing support.
224+
*
225+
*/
226+
#ifdef CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING
227+
#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE \
228+
CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING
222229
#endif
223-
#endif /* CONFIG_OPENTHREAD_CSL_RECEIVER || CONFIG_OPENTHREAD_WAKEUP_END_DEVICE */
230+
231+
/**
232+
* @def OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE
233+
*
234+
* Set the number of OpenThread Instances For Static Buffer Allocation
235+
*
236+
*/
237+
#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM CONFIG_OPENTHREAD_MULTIPLE_INSTANCE_NUM
224238

225239
/* Zephyr does not use OpenThread's heap. mbedTLS will use heap memory allocated
226240
* by Zephyr. Here, we use some dummy values to prevent OpenThread warnings.
@@ -250,7 +264,13 @@
250264
* The number of short source address table entries.
251265
*
252266
*/
267+
#ifndef RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM
268+
#ifdef CONFIG_OPENTHREAD_MAX_CHILDREN
269+
#define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM CONFIG_OPENTHREAD_MAX_CHILDREN
270+
#else
253271
#define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM 0
272+
#endif
273+
#endif
254274

255275
/**
256276
* @def OPENTHREAD_CONFIG_PLATFORM_INFO
@@ -289,7 +309,13 @@
289309
* The number of extended source address table entries.
290310
*
291311
*/
312+
#ifndef RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM
313+
#ifdef CONFIG_OPENTHREAD_MAX_CHILDREN
314+
#define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM CONFIG_OPENTHREAD_MAX_CHILDREN
315+
#else
292316
#define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM 0
317+
#endif
318+
#endif
293319

294320
/**
295321
* @def OPENTHREAD_CONFIG_MAC_CSL_REQUEST_AHEAD_US

0 commit comments

Comments
 (0)