driver: bluetooth: hci: Support NXP BT CTLR FW blobs

Add Kconfig.nxp to support NXP Bluetooth Chipset.
Current only NXP IW612 Chipset (BT_NXP_NW612) has
been supported.

Add modules/hal_nxp/bt_controller/CMakeLists.txt to
determine whether any firmware is selected, and
check whether the firmware exists.

If the firmware exists, copy the firmware to the
temporary folder ${ZEPHYR_BINARY_DIR}/include/
generated/bt_nxp_ctlr_fw.h. OR, raise a fatal error.

In file hci_nxp_setup.c, includes the temporary file
bt_nxp_ctlr_fw.h.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
This commit is contained in:
Lyle Zhu 2024-06-05 16:11:02 +08:00 committed by Anas Nashif
commit d74698a36b
5 changed files with 44 additions and 18 deletions

View file

@ -250,29 +250,14 @@ config BT_SILABS_HCI_BUFFER_MEMORY
Bluetooth Library.
config BT_H4_NXP_CTLR
bool "NXP Bluetooth Controller [EXPERIMENTAL]"
bool "NXP Bluetooth Controller"
select GPIO
# select UART_USE_RUNTIME_CONFIGURE
select EXPERIMENTAL
depends on BT_H4
select CRC
default y
depends on DT_HAS_NXP_BT_HCI_UART_ENABLED
help
Enables support for NXP Bluetooth Controller.
Murata 2EL M.2 Moudle base on NXP IW612 Chipset which supports
Wi-Fi® 802.11a/b/g/n/ac/ax + Bluetooth® 5.3 BR/EDR/LE + IEEE802.1.5.4
up to 601 Mbps data rate on Wi-Fi® and 2Mbps data rate on Bluetooth®.
4-wire UART@3M baud is supported. PCM for audio is also supported.
Details of the module could be fond on
https://www.embeddedartists.com/products/2el-m-2-module/
The configuration depends on the firmware (named uart_nw61x_se.h)
of Murata 2EL M.2 Moudle. It could be downloaded here
https://github.com/NXP/wifi_nxp/blob/MCUX_2.15.000/wifi_bt_firmware/nw61x/uart_nw61x_se.h
And it needs to be placed into the folder <zephyrproject>/zephyr/
drivers/bluetooth/hci.
More inforamtion about NXP Bluetooth profuct could be found on
https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4:WIFI-BLUETOOTH