Skip to content

Commit 332bb36

Browse files
gangli02mmahadevan108
authored andcommitted
zephyr: src: rt: add support for firmware blobs for IW610 SoC
Add support for firmware blobs for IW610 SoC Signed-off-by: Gang Li <gang.li_1@nxp.com>
1 parent 8f72ba5 commit 332bb36

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed

zephyr/module.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,29 @@ blobs:
111111
url: https://github.com/NXP/wifi_nb_fw/raw/refs/tags/nxp-v4.1.0/IW416/sduartIW416_wlan_bt.bin
112112
description: "Combo firmware for IW416 boards"
113113
doc-url: https://github.com/NXP/wifi_nb_fw/blob/nxp-v4.1.0/readme.txt
114+
115+
#For IW610
116+
- path: IW610/sd_iw610.bin.se
117+
sha256: 96775de49896df7fcc161b6e4211324d20a9160ef55a1ff9b9b33f41d7da4fa6
118+
type: img
119+
version: '1.0'
120+
license-path: zephyr/blobs/license/LA_OPT_NXP_Software_License.txt
121+
url: https://github.com/NXP/wifi_nb_fw/raw/nxp-v4.1.2/IW610/sd_iw610.bin.se
122+
description: "Wi-Fi firmware for IW610 boards"
123+
doc-url: https://github.com/NXP/wifi_nb_fw/blob/nxp-v4.1.2/readme.txt
124+
- path: IW610/uart_iw610_bt.bin.se
125+
sha256: 3b5063ad0e96c7d827690ae4e274a213426df621b9f5f84ba392d54e3ff30b9e
126+
type: img
127+
version: '1.0'
128+
license-path: zephyr/blobs/license/LA_OPT_NXP_Software_License.txt
129+
url: https://github.com/NXP/wifi_nb_fw/raw/nxp-v4.1.2/IW610/uart_iw610_bt.bin.se
130+
description: "BT firmware for IW610 boards"
131+
doc-url: https://github.com/NXP/wifi_nb_fw/blob/nxp-v4.1.2/readme.txt
132+
- path: IW610/sduart_iw610.bin.se
133+
sha256: 897f4467187456ffdc549db651fc6dea7c1644e2e1989822a4d66b623959cd14
134+
type: img
135+
version: '1.0'
136+
license-path: zephyr/blobs/license/LA_OPT_NXP_Software_License.txt
137+
url: https://github.com/NXP/wifi_nb_fw/raw/nxp-v4.1.2/IW610/sduart_iw610.bin.se
138+
description: "Combo firmware for IW610 boards"
139+
doc-url: https://github.com/NXP/wifi_nb_fw/blob/nxp-v4.1.2/readme.txt

zephyr/src/rt/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ if(CONFIG_NXP_MONOLITHIC_WIFI OR CONFIG_BT_H4_NXP_CTLR)
2525
set(wifi_binary_blob_name sd8801_wlan.bin)
2626
zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/8801/8801_cpu1.c)
2727
list(APPEND wifi_bt_binary_blobs_list ${hal_blobs_dir}/8801/${wifi_binary_blob_name})
28+
elseif(CONFIG_NXP_IW610)
29+
list(APPEND output_includes_list ${ZEPHYR_BINARY_DIR}/include/generated/iw610_wifi_fw.bin.se.inc)
30+
set(wifi_binary_blob_name sd_iw610.bin.se)
31+
zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/IW610/IW610_cpu1.c)
32+
list(APPEND wifi_bt_binary_blobs_list ${hal_blobs_dir}/IW610/${wifi_binary_blob_name})
2833
else()
2934
message(FATAL_ERROR "Couldn't determine soc revision")
3035
endif()
@@ -41,6 +46,11 @@ if(CONFIG_NXP_MONOLITHIC_WIFI OR CONFIG_BT_H4_NXP_CTLR)
4146
set(bt_binary_blob_name uartIW416_bt.bin)
4247
zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/IW416/IW416_cpu2.c)
4348
list(APPEND wifi_bt_binary_blobs_list ${hal_blobs_dir}/IW416/${bt_binary_blob_name})
49+
elseif(CONFIG_BT_NXP_IW610)
50+
list(APPEND output_includes_list ${ZEPHYR_BINARY_DIR}/include/generated/iw610_bt_fw.bin.inc)
51+
set(bt_binary_blob_name uart_iw610_bt.bin.se)
52+
zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/IW610/IW610_cpu2.c)
53+
list(APPEND wifi_bt_binary_blobs_list ${hal_blobs_dir}/IW610/${bt_binary_blob_name})
4454
else()
4555
message(FATAL_ERROR "Unsupported controller. Please select a BT conntroller, refer to ./driver/bluetooth/hci/Kconfig.nxp")
4656
endif()

zephyr/src/rt/IW610/IW610_cpu1.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright 2025 NXP
3+
* All rights reserved.
4+
*
5+
* SPDX-License-Identifier: BSD-3-Clause
6+
*
7+
*/
8+
9+
10+
#include <stdint.h>
11+
12+
const uint8_t fw_cpu1[] = {
13+
#ifndef CONFIG_BUILD_ONLY_NO_BLOBS
14+
#include <iw610_wifi_fw.bin.se.inc>
15+
#endif
16+
};
17+
18+
const unsigned char *wlan_fw_bin = (const unsigned char *)(void *)&fw_cpu1[0];
19+
const unsigned int wlan_fw_bin_len = sizeof(fw_cpu1);

zephyr/src/rt/IW610/IW610_cpu2.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright 2025 NXP
3+
* All rights reserved.
4+
*
5+
* SPDX-License-Identifier: BSD-3-Clause
6+
*
7+
*/
8+
9+
10+
#include <stdint.h>
11+
12+
const uint8_t fw_cpu2_bt[] = {
13+
#ifndef CONFIG_BUILD_ONLY_NO_BLOBS
14+
#include <iw610_bt_fw.bin.inc>
15+
#endif
16+
};
17+
18+
const unsigned char *bt_fw_bin = (const unsigned char *)(void *)&fw_cpu2_bt[0];
19+
const unsigned int bt_fw_bin_len = sizeof(fw_cpu2_bt);

0 commit comments

Comments
 (0)