Skip to content

Commit e4085ee

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 e4085ee

File tree

3 files changed

+47
-8
lines changed

3 files changed

+47
-8
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: 7 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,10 @@ 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+
default 3
274+
268275
config OPENTHREAD_NAT64_BORDER_ROUTING
269276
bool "Border routing NAT64 support"
270277

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

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,16 +212,30 @@
212212
*
213213
*/
214214
#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
220-
#else
221-
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 0
222-
#endif
215+
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE \
216+
CONFIG_OPENTHREAD_PLATFORM_USEC_TIMER
223217
#endif /* CONFIG_OPENTHREAD_CSL_RECEIVER || CONFIG_OPENTHREAD_WAKEUP_END_DEVICE */
224218

219+
/**
220+
* @def OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE
221+
*
222+
* Define to 1 if you want to enable mac beacon payload parsing support.
223+
*
224+
*/
225+
#ifdef CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING
226+
#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE \
227+
CONFIG_OPENTHREAD_MAC_BEACON_PAYLOAD_PARSING
228+
#endif
229+
230+
/**
231+
* @def OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE
232+
*
233+
* Set the number of OpenThread Instances For Static Buffer Allocation
234+
*
235+
*/
236+
#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM \
237+
CONFIG_OPENTHREAD_MULTIPLE_INSTANCE_NUM
238+
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.
227241
*/
@@ -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)