Skip to content

Commit de75369

Browse files
committed
boot: zephyr: defines FLASH device for external NOR
With CONFIG_STM32_MEMMAP flag get NOR flash 32 bytes header Read the NOR flash to get header of the image. The FLASH_DEVICE is now the external NOR defined by the board device tree to be the first qspi/ospi/xspi instance (not necessarily zephyr, flash-controller) Signed-off-by: Francois Ramu <[email protected]>
1 parent f5454f1 commit de75369

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

boot/zephyr/flash_map_extended.c

+17-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,23 @@
1818

1919
BOOT_LOG_MODULE_DECLARE(mcuboot);
2020

21-
#if (!defined(CONFIG_XTENSA) && DT_HAS_CHOSEN(zephyr_flash_controller))
21+
#if defined(CONFIG_STM32_MEMMAP)
22+
/* MEMORY MAPPED for XiP on external NOR flash takes the sspi-nor or ospi-nor or qspi-nor device */
23+
#define FLASH_DEVICE_ID SPI_FLASH_0_ID
24+
#if DT_NODE_HAS_STATUS(DT_INST(0, st_stm32_xspi_nor), okay)
25+
#define FLASH_DEVICE_NODE DT_INST(0, st_stm32_xspi_nor)
26+
#define FLASH_DEVICE_BASE DT_REG_ADDR(DT_INST(0, st_stm32_xspi_nor))
27+
#elif DT_NODE_HAS_STATUS(DT_INST(0, st_stm32_ospi_nor), okay)
28+
#define FLASH_DEVICE_NODE DT_INST(0, st_stm32_ospi_nor)
29+
#define FLASH_DEVICE_BASE DT_REG_ADDR(DT_INST(0, st_stm32_ospi_nor))
30+
#elif DT_NODE_HAS_STATUS(DT_INST(0, st_stm32_qspi_nor), okay)
31+
#define FLASH_DEVICE_NODE DT_INST(0, st_stm32_qspi_nor)
32+
#define FLASH_DEVICE_BASE DT_REG_ADDR(DT_INST(0, st_stm32_qspi_nor))
33+
#else
34+
#error "FLASH_DEVICE_NODE could not be determined"
35+
#endif
36+
37+
#elif (!defined(CONFIG_XTENSA) && DT_HAS_CHOSEN(zephyr_flash_controller))
2238
#define FLASH_DEVICE_ID SOC_FLASH_0_ID
2339
#define FLASH_DEVICE_BASE CONFIG_FLASH_BASE_ADDRESS
2440
#define FLASH_DEVICE_NODE DT_CHOSEN(zephyr_flash_controller)

0 commit comments

Comments
 (0)