Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions MAINTAINERS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4359,6 +4359,7 @@ STM32 Platforms:
files-exclude:
- boards/st/*wb*/
- drivers/bluetooth/hci/*stm32*.c
- drivers/ieee802154/*stm32*.c
- soc/st/stm32/stm32wb*/
labels:
- "platform: STM32"
Expand All @@ -4372,7 +4373,6 @@ STM32 Wireless Platforms:
collaborators:
- asm5878
- HoZHel
- benothmn-st
- mathieuchopstm
files:
- boards/shields/x_nucleo_bnrg2a1/
Expand All @@ -4381,12 +4381,13 @@ STM32 Wireless Platforms:
- boards/st/*wb*/
- drivers/bluetooth/hci/*stm32*.c
- drivers/bluetooth/hci/hci_spi_st.c
- drivers/ieee802154/*stm32*.c
- soc/st/stm32/stm32wb*/
labels:
- "platform: STM32"
description: >-
STM32WB SOCs, dts files and related drivers. STM32WB development boards
and ST bluetooth shields.
STM32WB and STM32WBA SOCs, dts files and related drivers.
STM32WB and STM32WBA development boards and ST bluetooth shields.

Samples:
status: maintained
Expand Down
13 changes: 13 additions & 0 deletions boards/st/nucleo_wba65ri/doc/nucleo_wba65ri.rst
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,19 @@ Supported Features

.. zephyr:board-supported-hw::

Bluetooth and IEEE 802.15.4 support
-----------------------------------

BLE and IEEE 802.15.4 support are enabled on nucleo_wba65ri. To build a zephyr sample using this board
you first need to install Bluetooth and/or IEEE 802.15.4 Controller libraries available in Zephyr as
binary blobs.

To fetch Binary Blobs:

.. code-block:: console

west blobs fetch hal_stm32

Connections and IOs
===================

Expand Down
4 changes: 4 additions & 0 deletions boards/st/nucleo_wba65ri/nucleo_wba65ri.dts
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,10 @@ stm32_lp_tick_source: &lptim1 {
status = "okay";
};

&ieee802154 {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're a priori missing a zephyr,ieee802154 = &ieee802154;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is present in dts/arm/st/wba/stm32wba.dtsi

status = "okay";
};

&flash0 {
partitions {
compatible = "fixed-partitions";
Expand Down
1 change: 1 addition & 0 deletions drivers/ieee802154/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ zephyr_library_sources_ifdef(CONFIG_IEEE802154_MCXW ieee802154_mcxw.c ieee8021
zephyr_library_sources_ifdef(CONFIG_IEEE802154_NRF5 ieee802154_nrf5.c)
zephyr_library_sources_ifdef(CONFIG_IEEE802154_RF2XX ieee802154_rf2xx.c)
zephyr_library_sources_ifdef(CONFIG_IEEE802154_RF2XX ieee802154_rf2xx_iface.c)
zephyr_library_sources_ifdef(CONFIG_IEEE802154_STM32WBA ieee802154_stm32wba.c)
zephyr_library_sources_ifdef(CONFIG_IEEE802154_TELINK_B91 ieee802154_b91.c)
2 changes: 2 additions & 0 deletions drivers/ieee802154/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ source "drivers/ieee802154/Kconfig.dw1000"

source "drivers/ieee802154/Kconfig.esp32"

source "drivers/ieee802154/Kconfig.stm32wba"

source "drivers/ieee802154/Kconfig.uart_pipe"

config IEEE802154_CSL_ENDPOINT
Expand Down
69 changes: 69 additions & 0 deletions drivers/ieee802154/Kconfig.stm32wba
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# STMicroelectronics STM32WBAxx 802.15.4 configuration options

# Copyright (c) 2025 STMicroelectronics

menuconfig IEEE802154_STM32WBA
bool "STM32WBA series IEEE 802.15.4 Driver"
default y
depends on DT_HAS_ST_STM32WBA_IEEE802154_ENABLED

if IEEE802154_STM32WBA

config IEEE802154_STM32WBA_RX_BUFFERS
int "STM32WBA 802.15.4 receive buffers"
default 16
range 16 128
help
Number of buffers in 802.15.4 driver serialization host's receive queue.
Increase this number if you are expected to be in a noisy environment, handling many
end-devices and you have sufficient RAM to allocate memory to buffers.
If this value is increased, IEEE802154_STM32WBA_RX_STACK_SIZE value might require
to be updated as well.

config IEEE802154_STM32WBA_RX_STACK_SIZE
int "Driver RX thread stack size"
default 800
help
This option sets the driver's stack size for its internal RX thread.
The default value should be sufficient, but in case it proves to be
too low, adjust as needed.

config IEEE802154_STM32WBA_CSMA_CA_ENABLED
bool "CSMA-CA configuration"
default y
help
This option enables the CSMA-CA feature.

config IEEE802154_STM32WBA_INIT_PRIO
int "STM32WBA IEEE 802.15.4 initialization priority"
default 80
help
Set the initialization priority number. Do not mess with it unless
you know what you are doing.

config IEEE802154_STM32WBA_DELAY_TRX_ACC
int "Clock accuracy for delayed operations"
default 20
range 0 255
help
Accuracy of the clock used for scheduling radio delayed operations (delayed transmission
or delayed reception), in ppm.
Comment on lines +44 to +50
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this should come from DTS

Copy link
Member

@cfriedt cfriedt Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A possible better alternative is to use rate-limited logging and to log a count of how many rx errors there are, cumulatively


config IEEE802154_STM32WBA_LOG_RX_FAILURES
bool "Frame reception failures logging"
help
There are few cases where the frame reception failure can happen because of
internal causes. These cases are reported forward by general code error.

This option enables logging the reason of frame reception failure.
It can be helpful for the network traffic analysis but it generates also
a lot of log records in a stressed environment.

config NET_L2_CUSTOM_IEEE802154_STM32WBA
bool "Use ST MAC as L2"
default y
depends on NET_L2_CUSTOM_IEEE802154
help
Custom STM32WBA series IEEE 802.15.4 L2 Implementation.

endif # IEEE802154_STM32WBA
Loading
Loading