Skip to content

Commit 42a4cf3

Browse files
committed
ieee802154: added support for s2lp radio module
Added driver for the s2lp radio modules Signed-off-by: Nikos Oikonomou <nikoikonomou92@gmail.com>
1 parent 0910d50 commit 42a4cf3

File tree

6 files changed

+1158
-0
lines changed

6 files changed

+1158
-0
lines changed

drivers/ieee802154/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ zephyr_sources_ifdef(CONFIG_IEEE802154_CC13XX_CC26XX_SUB_GHZ ieee802154_cc13xx_c
1111
zephyr_sources_ifdef(CONFIG_IEEE802154_RF2XX ieee802154_rf2xx.c)
1212
zephyr_sources_ifdef(CONFIG_IEEE802154_RF2XX ieee802154_rf2xx_iface.c)
1313
zephyr_sources_ifdef(CONFIG_IEEE802154_DW1000 ieee802154_dw1000.c)
14+
zephyr_sources_ifdef(CONFIG_IEEE802154_S2LP ieee802154_s2lp.c)
1415

1516
if(CONFIG_SOC_CC1352R)
1617
target_compile_definitions(zephyr PRIVATE "DeviceFamily_CC13X2")

drivers/ieee802154/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ source "drivers/ieee802154/Kconfig.rf2xx"
7373

7474
source "drivers/ieee802154/Kconfig.dw1000"
7575

76+
source "drivers/ieee802154/Kconfig.s2lp"
77+
7678
menuconfig IEEE802154_UPIPE
7779
bool "UART PIPE fake radio driver support for QEMU"
7880
depends on (BOARD_QEMU_X86 || BOARD_QEMU_CORTEX_M3) && NETWORKING

drivers/ieee802154/Kconfig.s2lp

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# ST Microelectronics s2lp 802.15.4 radio configuration options
2+
3+
# Copyright (c) 2021 Nikos Oikonomou <nikoikonomou92@gmail.com>
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
menuconfig IEEE802154_S2LP
7+
bool "ST S2LP Driver support"
8+
depends on NETWORKING && SPI
9+
select NET_L2_IEEE802154_SUB_GHZ if NET_L2_IEEE802154
10+
11+
if IEEE802154_S2LP
12+
13+
config IEEE802154_S2LP_DRV_NAME
14+
string "S2LP Driver's name"
15+
default "IEEE802154_S2LP"
16+
help
17+
This option sets the driver name
18+
19+
config IEEE802154_S2LP_RX_THREAD_PRIO
20+
int
21+
default 2
22+
help
23+
Hidden option for Rx thread priority.
24+
25+
config IEEE802154_S2LP_RX_STACK_SIZE
26+
int "Driver's internal RX thread stack size"
27+
default 800
28+
help
29+
This option sets the driver's stack size for its internal RX thread.
30+
The default value should be sufficient, but in case it proves to be
31+
a too little one, this option makes it easy to play with the size.
32+
33+
config IEEE802154_S2LP_INIT_PRIO
34+
int "S2LP initialization priority"
35+
default 80
36+
help
37+
Set the initialization priority number. Do not mess with it unless
38+
you know what you are doing.
39+
40+
config IEEE802154_S2LP_SNIFF_MODE
41+
bool "Enables SNIFF Mode feature"
42+
help
43+
If enabled the driver will utilize the radio's SNIFF Mode feature.
44+
45+
config IEEE802154_S2LP_FREQUENCY_BASE
46+
int "S2LP frequency base in Hz"
47+
default 868000000
48+
help
49+
The frequency base that will be used for the computation of the
50+
operational frequency.
51+
52+
config IEEE802154_S2LP_MAX_FREQUENCY
53+
int "S2LP maximum supported frequency in Hz"
54+
default 930000000
55+
56+
config IEEE802154_S2LP_CHANNEL_SPACE
57+
int "S2LP frequency spacing in Hz"
58+
default 100000
59+
help
60+
The frequency spacing that will be used for the computation of the
61+
operational frequency.
62+
63+
endif

0 commit comments

Comments
 (0)