Skip to content

Commit dc837c3

Browse files
committed
giga_r1: enable wifi
1 parent cbf7e44 commit dc837c3

File tree

4 files changed

+89
-2
lines changed

4 files changed

+89
-2
lines changed

loader/blobs/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,15 @@ if (CONFIG_BOARD_ARDUINO_PORTENTA_C33)
99
${CMAKE_CURRENT_SOURCE_DIR}/c33_bl.bin
1010
${gen_dir}/c33_bl.bin.inc
1111
)
12-
endif()
12+
endif()
13+
14+
if(CONFIG_BOARD_ARDUINO_GIGA_R1)
15+
set(hal_dir ${ZEPHYR_HAL_INFINEON_MODULE_DIR})
16+
set(hal_blobs_dir ${hal_dir}/zephyr/blobs/img/whd/resources)
17+
set(hal_wifi_dir_resources ${hal_dir}/wifi-host-driver/WHD/COMPONENT_WIFI5/resources)
18+
# zephyr_library_sources(${hal_blobs_dir}/firmware/COMPONENT_4343W/4343WA1_bin.c)
19+
zephyr_library_sources(${hal_blobs_dir}/clm/COMPONENT_4343W/4343WA1_clm_blob.c)
20+
zephyr_include_directories(${hal_wifi_dir_resources}/nvram/COMPONENT_4343W/COMPONENT_MURATA-1DX)
21+
zephyr_include_directories(${hal_wifi_dir_resources}/resource_imp)
22+
zephyr_library_sources(murata_wifi_fw.c)
23+
endif()

loader/blobs/murata_wifi_fw.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include <zephyr/devicetree.h>
2+
#include "wiced_resource.h"
3+
4+
#define QUADSPI_MMAP_BASE DT_REG_ADDR_BY_IDX(DT_NODELABEL(quadspi), 1)
5+
#define FLASH_CHIP_OFFSET DT_REG_ADDR(DT_NODELABEL(qspi_flash))
6+
#define AIROC_PART_OFS DT_REG_ADDR(DT_NODELABEL(airoc_firmware))
7+
8+
#define FW_ADDR (QUADSPI_MMAP_BASE + FLASH_CHIP_OFFSET + AIROC_PART_OFS)
9+
#define FW_SIZE 421421 /* providing this at runtime needs HAL update */
10+
11+
const resource_hnd_t wifi_firmware_image = {
12+
RESOURCE_IN_MEMORY,
13+
FW_SIZE,
14+
{ .mem = { (const char *) FW_ADDR } }
15+
};

variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.conf

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ CONFIG_CDC_ACM_DTE_RATE_CALLBACK_SUPPORT=y
1111

1212
CONFIG_LLEXT_STORAGE_WRITABLE=n
1313
CONFIG_SHARED_MULTI_HEAP=y
14-
CONFIG_HEAP_MEM_POOL_SIZE=2048
14+
CONFIG_HEAP_MEM_POOL_SIZE=24576
1515
CONFIG_SHELL_STACK_SIZE=32768
1616
CONFIG_MAIN_STACK_SIZE=32768
1717
CONFIG_LLEXT_HEAP_SIZE=128
@@ -64,3 +64,25 @@ CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
6464
CONFIG_BT_RX_STACK_SIZE=4096
6565

6666
CONFIG_STM32H7_BOOT_M4_AT_INIT=n
67+
68+
CONFIG_SDHC=y
69+
CONFIG_NETWORKING=y
70+
CONFIG_SDIO_STACK=y
71+
CONFIG_WIFI=y
72+
CONFIG_SDHC_INIT_PRIORITY=75
73+
CONFIG_AIROC_WIFI_CUSTOM=y
74+
CONFIG_CYW4343W=y
75+
CONFIG_CYW4343W_MURATA_1DX=y
76+
77+
CONFIG_NET_MGMT=y
78+
CONFIG_NET_MGMT_EVENT=y
79+
CONFIG_NET_MGMT_EVENT_STACK_SIZE=8192
80+
CONFIG_NET_MAX_CONTEXTS=10
81+
CONFIG_NET_MGMT_EVENT_QUEUE_TIMEOUT=5000
82+
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=16
83+
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=20
84+
CONFIG_NET_MAX_CONN=10
85+
CONFIG_NET_MGMT_THREAD_PRIO_CUSTOM=y
86+
CONFIG_NET_MGMT_THREAD_PRIORITY=3
87+
CONFIG_NET_MGMT_EVENT_STACK_SIZE=4608
88+
CONFIG_NET_L2_ETHERNET_MGMT=y

variants/arduino_giga_r1_stm32h747xx_m7/arduino_giga_r1_stm32h747xx_m7.overlay

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,45 @@
342342
};
343343
};
344344

345+
qspi_flash: &n25q128a1 {
346+
/delete-node/ partitions;
347+
partitions {
348+
compatible = "fixed-partitions";
349+
#address-cells = <1>;
350+
#size-cells = <1>;
351+
352+
/* Partition 1: WiFi firmware and certificates 1MB - 4kB */
353+
wlan_partition: partition@1000 {
354+
label = "wlan";
355+
reg = <0x001000 DT_SIZE_K(1020)>;
356+
};
357+
358+
/* Partition 2: OTA 5MB */
359+
ota_partition: partition@100000 {
360+
label = "ota";
361+
reg = <0x100000 DT_SIZE_M(5)>;
362+
};
363+
364+
/* Partition 3: Provisioning KVStore 1MB */
365+
kvs_partition: partition@600000 {
366+
label = "kvs";
367+
reg = <0x600000 DT_SIZE_M(1)>;
368+
};
369+
370+
/* Partition 4: User data 7MB */
371+
storage_partition: partition@700000 {
372+
label = "storage";
373+
reg = <0x700000 DT_SIZE_M(7)>;
374+
};
375+
376+
/* Partition 5: Binary FW image for the Airoc WLAN */
377+
airoc_firmware: partition@e80000 {
378+
label = "4343WA1.bin";
379+
reg = <0xe80000 DT_SIZE_K(512)>;
380+
};
381+
};
382+
};
383+
345384
/ {
346385
zephyr,user {
347386
digital-pin-gpios = <&arduino_header 6 0>,

0 commit comments

Comments
 (0)