File tree Expand file tree Collapse file tree 4 files changed +61
-1
lines changed
variants/arduino_giga_r1_stm32h747xx_m7 Expand file tree Collapse file tree 4 files changed +61
-1
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright 2025 Arduino SA
3+ * SPDX-License-Identifier: Apache-2.0
4+ */
5+
6+ #include <zephyr/devicetree.h>
7+ #include "wiced_resource.h"
8+
9+ #define QUADSPI_MMAP_BASE DT_REG_ADDR_BY_IDX(DT_NODELABEL(quadspi), 1)
10+ #define FLASH_CHIP_OFFSET DT_REG_ADDR(DT_NODELABEL(qspi_flash))
11+ #define AIROC_PART_OFS DT_REG_ADDR(DT_NODELABEL(airoc_firmware))
12+
13+ #define FW_ADDR (QUADSPI_MMAP_BASE + FLASH_CHIP_OFFSET + AIROC_PART_OFS)
14+ #define FW_SIZE 421098 /* same as the _bin.c file */
15+
16+ const resource_hnd_t wifi_firmware_image = {
17+ RESOURCE_IN_MEMORY ,
18+ FW_SIZE ,
19+ { .mem = { (const char * ) FW_ADDR } }
20+ };
Original file line number Diff line number Diff line change @@ -14,5 +14,5 @@ endif()
1414if (CONFIG_AIROC_WIFI_CUSTOM)
1515 zephyr_include_directories(${CMAKE_CURRENT_LIST_DIR} ) # for wifi_nvram_image.h
1616 zephyr_library_sources(4343WA1_clm_blob.c)
17- zephyr_library_sources(4343WA1_bin .c)
17+ zephyr_library_sources(4343WA1_bin_qspi .c) # use _bin.c for a static build
1818endif ()
Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ CONFIG_SDIO_STACK=y
7070CONFIG_SDHC_INIT_PRIORITY=75
7171
7272CONFIG_AIROC_WIFI_CUSTOM=y
73+ CONFIG_STM32_MEMMAP=y
7374
7475CONFIG_NETWORKING=y
7576CONFIG_WIFI=y
Original file line number Diff line number Diff line change 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@f80000 {
378+ label = "4343WA1.bin";
379+ reg = <0xf80000 DT_SIZE_K(512)>;
380+ };
381+ };
382+ };
383+
345384/ {
346385 zephyr,user {
347386 digital-pin-gpios = <&arduino_header 6 0>,
You can’t perform that action at this time.
0 commit comments