Skip to content

Commit 721e340

Browse files
saurabh-nxpgalak
authored andcommitted
drivers: flash: Enable FlexSPI XIP on mimxrt685_evk.
Move LUT to driver. Update CMake to include SoC specific driver. Fix mimxrt685_evk LUT header spacing. Signed-off-by: Saurabh Jagdhane <[email protected]>
1 parent eb205eb commit 721e340

File tree

3 files changed

+571
-3
lines changed

3 files changed

+571
-3
lines changed

drivers/flash/CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_NIOS2_QSPI soc_flash_nios2_qspi.c)
1818
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_GECKO flash_gecko.c)
1919
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_RV32M1 soc_flash_rv32m1.c)
2020
zephyr_library_sources_ifdef(CONFIG_FLASH_STM32_QSPI flash_stm32_qspi.c)
21+
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G flash_mcux_flexspi_mx25um51345g.c)
2122
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_NOR flash_mcux_flexspi_nor.c)
2223
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_ESP32 flash_esp32.c)
2324

2425
if(CONFIG_FLASH_MCUX_FLEXSPI_XIP)
25-
zephyr_code_relocate(flash_mcux_flexspi_nor.c ${CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM}_TEXT)
26+
if(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G)
27+
zephyr_code_relocate(flash_mcux_flexspi_mx25um51345g.c ${CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM}_TEXT)
28+
else()
29+
zephyr_code_relocate(flash_mcux_flexspi_nor.c ${CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM}_TEXT)
30+
endif()
2631
endif()
2732

2833
if(CONFIG_SOC_FLASH_STM32)
@@ -46,6 +51,11 @@ zephyr_include_directories_ifdef(
4651
${ZEPHYR_BASE}/drivers/memc
4752
)
4853

54+
zephyr_include_directories_ifdef(
55+
CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G
56+
${ZEPHYR_BASE}/drivers/memc
57+
)
58+
4959
zephyr_include_directories_ifdef(
5060
CONFIG_SOC_FLASH_NRF_RADIO_SYNC_TICKER
5161
${ZEPHYR_BASE}/subsys/bluetooth

drivers/flash/Kconfig.mcux

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,17 @@ config FLASH_MCUX_FLEXSPI_NOR
3434
select MEMC
3535
select MEMC_MCUX_FLEXSPI
3636

37+
config FLASH_MCUX_FLEXSPI_MX25UM51345G
38+
bool "MCUX FlexSPI MX25UM51345G driver"
39+
select FLASH_HAS_PAGE_LAYOUT
40+
select FLASH_HAS_DRIVER_ENABLED
41+
select MEMC
42+
select MEMC_MCUX_FLEXSPI
43+
3744
config FLASH_MCUX_FLEXSPI_NOR_WRITE_BUFFER
3845
bool "MCUX FlexSPI NOR write RAM buffer"
3946
default y
40-
depends on FLASH_MCUX_FLEXSPI_NOR
47+
depends on (FLASH_MCUX_FLEXSPI_NOR || FLASH_MCUX_FLEXSPI_MX25UM51345G)
4148
help
4249
Copy the data to a RAM buffer before writing it to the flash.
4350
This prevents faults when the data to write would be located on the
@@ -46,7 +53,7 @@ config FLASH_MCUX_FLEXSPI_NOR_WRITE_BUFFER
4653
config FLASH_MCUX_FLEXSPI_XIP
4754
bool "MCUX FlexSPI flash access with xip"
4855
depends on MEMC_MCUX_FLEXSPI
49-
depends on (CODE_FLEXSPI || CODE_FLEXSPI2)
56+
depends on (CODE_FLEXSPI || CODE_FLEXSPI2 || SOC_SERIES_IMX_RT6XX)
5057
select XIP
5158
help
5259
Allows using the flash API while running in XIP.

0 commit comments

Comments
 (0)