boards: shields: Add X-NUCLEO-WB05KN1 BLE expansion board
Add support for X-NUCLEO-WB05KN1 which is a BLE expansion board based on the BLUENRG-LPS. Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
This commit is contained in:
parent
9afc79d16a
commit
4067b0d311
8 changed files with 240 additions and 0 deletions
33
boards/shields/x_nucleo_wb05kn1/Kconfig.defconfig
Normal file
33
boards/shields/x_nucleo_wb05kn1/Kconfig.defconfig
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Copyright (c) 2024 STMicroelectronics
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if SHIELD_X_NUCLEO_WB05KN1_UART || SHIELD_X_NUCLEO_WB05KN1_SPI
|
||||
|
||||
if BT
|
||||
|
||||
config SPI
|
||||
default y
|
||||
depends on SHIELD_X_NUCLEO_WB05KN1_SPI
|
||||
|
||||
config SPI_STM32_INTERRUPT
|
||||
default y
|
||||
depends on SPI
|
||||
|
||||
config BT_SPI
|
||||
default y
|
||||
depends on DT_HAS_ST_HCI_SPI_V2_ENABLED
|
||||
|
||||
config BT_H4
|
||||
default y
|
||||
depends on DT_HAS_ZEPHYR_BT_HCI_UART_ENABLED
|
||||
|
||||
config BT_BLUENRG_ACI
|
||||
default y
|
||||
|
||||
# Disable Flow control
|
||||
config BT_HCI_ACL_FLOW_CONTROL
|
||||
default n
|
||||
|
||||
endif # BT
|
||||
|
||||
endif # SHIELD_X_NUCLEO_WB05KN1_UART || SHIELD_X_NUCLEO_WB05KN1_SPI
|
8
boards/shields/x_nucleo_wb05kn1/Kconfig.shield
Normal file
8
boards/shields/x_nucleo_wb05kn1/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2024 STMicroelectronics
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config SHIELD_X_NUCLEO_WB05KN1_UART
|
||||
def_bool $(shields_list_contains,x_nucleo_wb05kn1_uart)
|
||||
|
||||
config SHIELD_X_NUCLEO_WB05KN1_SPI
|
||||
def_bool $(shields_list_contains,x_nucleo_wb05kn1_spi)
|
24
boards/shields/x_nucleo_wb05kn1/boards/nucleo_h563zi.overlay
Normal file
24
boards/shields/x_nucleo_wb05kn1/boards/nucleo_h563zi.overlay
Normal file
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright (c) 2024 STMicroelectronics
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&spi1_sck_pa5 {
|
||||
/delete-property/ bias-pull-down;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&spi1_miso_pg9 {
|
||||
slew-rate = "high-speed";
|
||||
};
|
||||
|
||||
&spi1_mosi_pb5 {
|
||||
slew-rate = "high-speed";
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,bt-c2h-uart = &usart3;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Copyright (c) 2024 STMicroelectronics
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&spi1_sck_pa5 {
|
||||
/delete-property/ bias-pull-down;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&spi1_miso_pa6 {
|
||||
slew-rate = "high-speed";
|
||||
};
|
||||
|
||||
&spi1_mosi_pa7 {
|
||||
slew-rate = "high-speed";
|
||||
};
|
||||
|
||||
&arduino_spi {
|
||||
pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pa7>;
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,bt-c2h-uart = &usart1;
|
||||
};
|
||||
};
|
BIN
boards/shields/x_nucleo_wb05kn1/doc/img/x-nucleo-wb05kn1.webp
Normal file
BIN
boards/shields/x_nucleo_wb05kn1/doc/img/x-nucleo-wb05kn1.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
99
boards/shields/x_nucleo_wb05kn1/doc/index.rst
Normal file
99
boards/shields/x_nucleo_wb05kn1/doc/index.rst
Normal file
|
@ -0,0 +1,99 @@
|
|||
.. _x-nucleo-wb05kn1:
|
||||
|
||||
X-NUCLEO-WB05KN1: BLE expansion board
|
||||
#####################################
|
||||
|
||||
Overview
|
||||
********
|
||||
The X-NUCLEO-WB05KN1 is a Bluetooth Low Energy evaluation board which allows the
|
||||
expansion of the STM32 Nucleo boards.
|
||||
The RF module is FCC (FCC ID: YCP-MB203202) and IC certified (IC: 8976A-MB203202).
|
||||
|
||||
The X-NUCLEO-WB05KN1 is compatible out of the box with the Arduino UNO R3 connector.
|
||||
The board interfaces with the host microcontroller via UART (default) or SPI peripheral.
|
||||
|
||||
.. image:: img/x-nucleo-wb05kn1.webp
|
||||
:align: center
|
||||
:alt: X-NUCLEO-WB05KN1
|
||||
|
||||
More information about the board can be found at the
|
||||
`X-NUCLEO-WB05KN1 website`_.
|
||||
|
||||
Configurations
|
||||
**************
|
||||
|
||||
X-NUCLEO-WB05KN1 can be utilized as a Bluetooth Low-Energy controller shield
|
||||
with a UART or SPI host controller interface (HCI-UART/HCI-SPI).
|
||||
|
||||
The UART default settings are:
|
||||
|
||||
* Baudrate: 921600 bps
|
||||
* 8 bits, no parity, 1 stop bit
|
||||
|
||||
+----------+-----------------------+
|
||||
| UART Pin | Arduino Connector Pin |
|
||||
+==========+=======================+
|
||||
| RX | D0 |
|
||||
+----------+-----------------------+
|
||||
| TX | D1 |
|
||||
+----------+-----------------------+
|
||||
|
||||
.. note::
|
||||
Please, bear in mind in order to use SPI interface you need to change the shield firmware
|
||||
to ``DTM_SPI_WITH_UPDATER_CONTROLLER`` according to the SDK provided by ST at `X-CUBE-WB05N`_.
|
||||
|
||||
IRQ and reset pins are also necessary in addition to SPI pins.
|
||||
|
||||
+----------------+-----------------------+
|
||||
| SPI Config Pin | Arduino Connector Pin |
|
||||
+================+=======================+
|
||||
| SCK | D13 |
|
||||
+----------------+-----------------------+
|
||||
| MISO | D12 |
|
||||
+----------------+-----------------------+
|
||||
| MOSI | D11 |
|
||||
+----------------+-----------------------+
|
||||
| CS | D10 |
|
||||
+----------------+-----------------------+
|
||||
| IRQ | A0 |
|
||||
+----------------+-----------------------+
|
||||
| RESET | D7 |
|
||||
+----------------+-----------------------+
|
||||
|
||||
More information about X-NUCLEO-WB05KN1 can be found here:
|
||||
- `X-NUCLEO-WB05KN1 datasheet`_
|
||||
|
||||
Programming
|
||||
***********
|
||||
|
||||
Activate the presence of the shield for the project build by adding the
|
||||
``--shield x_nucleo_wb05kn1_uart`` or ``--shield x_nucleo_wb05kn1_spi`` when you invoke
|
||||
``west build`` based on UART or SPI interface:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: your_app
|
||||
:board: your_board_name
|
||||
:shield: x_nucleo_wb05kn1_uart
|
||||
:goals: build
|
||||
|
||||
or
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: your_app
|
||||
:board: your_board_name
|
||||
:shield: x_nucleo_wb05kn1_spi
|
||||
:goals: build
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _X-NUCLEO-WB05KN1 website:
|
||||
https://www.st.com/en/evaluation-tools/x-nucleo-wb05kn1.html
|
||||
|
||||
.. _X-CUBE-WB05N:
|
||||
https://www.st.com/en/embedded-software/x-cube-wb05n.html
|
||||
|
||||
.. _X-NUCLEO-WB05KN1 datasheet:
|
||||
https://www.st.com/resource/en/datasheet/stm32wb05kn.pdf
|
28
boards/shields/x_nucleo_wb05kn1/x_nucleo_wb05kn1_spi.overlay
Normal file
28
boards/shields/x_nucleo_wb05kn1/x_nucleo_wb05kn1_spi.overlay
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Copyright (c) 2024 STMicroelectronics
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,bt-hci = &hci_spi;
|
||||
};
|
||||
};
|
||||
|
||||
&arduino_spi {
|
||||
cs-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */
|
||||
|
||||
hci_spi: wb05n@0 {
|
||||
compatible = "st,hci-spi-v2";
|
||||
reg = <0>;
|
||||
reset-gpios = <&arduino_header 13 GPIO_ACTIVE_LOW>; /* D7 */
|
||||
irq-gpios = <&arduino_header 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* A0 */
|
||||
spi-cpol; /* CPOL=1 */
|
||||
spi-cpha; /* CPHA=1 */
|
||||
spi-hold-cs;
|
||||
spi-max-frequency = <DT_FREQ_M(8)>; /* the maximum supported SPI speed */
|
||||
reset-assert-duration-ms = <6>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright (c) 2024 STMicroelectronics
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,bt-hci = &bt_hci_uart;
|
||||
};
|
||||
};
|
||||
|
||||
&arduino_serial {
|
||||
current-speed = <921600>;
|
||||
|
||||
bt_hci_uart: bt_hci_uart {
|
||||
compatible = "zephyr,bt-hci-uart";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue