Skip to content

Commit e8bb85e

Browse files
SuperHeroAbnerdkalowsk
authored andcommitted
drivers: xspi: add NXP xspi driver
Add mcux xspi driver suppport. Add the flash and psram driver support based on xspi driver. Signed-off-by: Ruijia Wang <[email protected]>
1 parent d5aad38 commit e8bb85e

File tree

9 files changed

+1330
-1
lines changed

9 files changed

+1330
-1
lines changed

drivers/flash/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ zephyr_library_sources_ifdef(CONFIG_FLASH_MCHP_NVMCTRL_G1 flash_mchp_nvmctrl_g1.
3535
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_HYPERFLASH flash_mcux_flexspi_hyperflash.c)
3636
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G flash_mcux_flexspi_mx25um51345g.c)
3737
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_NOR flash_mcux_flexspi_nor.c)
38+
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_XSPI flash_mcux_xspi.c)
3839
zephyr_library_sources_ifdef(CONFIG_FLASH_MSPI_ATXP032 flash_mspi_atxp032.c)
3940
zephyr_library_sources_ifdef(CONFIG_FLASH_MSPI_EMUL_DEVICE flash_mspi_emul_device.c)
4041
zephyr_library_sources_ifdef(CONFIG_FLASH_MSPI_IS25XX0XX flash_mspi_is25xX0xx.c)
@@ -106,6 +107,11 @@ if(CONFIG_FLASH_MCUX_FLEXSPI_XIP)
106107
endif()
107108
endif()
108109

110+
if(CONFIG_FLASH_MCUX_XSPI_XIP)
111+
zephyr_code_relocate(FILES flash_mcux_xspi.c LOCATION ${CONFIG_FLASH_MCUX_XSPI_XIP_MEM}_TEXT)
112+
zephyr_code_relocate(FILES flash_mcux_xspi.c LOCATION ${CONFIG_FLASH_MCUX_XSPI_XIP_MEM}_RODATA)
113+
endif()
114+
109115
if(CONFIG_SOC_FLASH_STM32)
110116
zephyr_library_sources_ifdef(CONFIG_FLASH_EX_OP_ENABLED flash_stm32_ex_op.c)
111117
if(CONFIG_SOC_SERIES_STM32H7X)
@@ -166,6 +172,11 @@ zephyr_library_include_directories_ifdef(
166172
${ZEPHYR_BASE}/drivers/memc
167173
)
168174

175+
zephyr_library_include_directories_ifdef(
176+
CONFIG_FLASH_MCUX_XSPI
177+
${ZEPHYR_BASE}/drivers/memc
178+
)
179+
169180
zephyr_library_sources_ifdef(CONFIG_FLASH_NXP_S32_QSPI_NOR flash_nxp_s32_qspi_nor.c)
170181
zephyr_library_sources_ifdef(CONFIG_FLASH_NXP_S32_QSPI_HYPERFLASH flash_nxp_s32_qspi_hyperflash.c)
171182
if(CONFIG_FLASH_NXP_S32_QSPI_NOR OR CONFIG_FLASH_NXP_S32_QSPI_HYPERFLASH)

drivers/flash/Kconfig.mcux

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,15 @@ choice FLASH_LOG_LEVEL_CHOICE
118118
endchoice
119119

120120
endif # DT_HAS_NXP_IMX_FLEXSPI_ENABLED
121+
122+
config FLASH_MCUX_XSPI
123+
bool "MCUX XSPI flash driver"
124+
default y
125+
depends on DT_HAS_NXP_XSPI_NOR_ENABLED
126+
select MEMC
127+
select MEMC_MCUX_XSPI
128+
select FLASH_HAS_DRIVER_ENABLED
129+
select FLASH_HAS_PAGE_LAYOUT
130+
select FLASH_HAS_EXPLICIT_ERASE
131+
help
132+
Enable the mcux xspi flash driver.

0 commit comments

Comments
 (0)