# SPDX-License-Identifier: Apache-2.0 config SOC_FLASH_MCUX bool "MCUX flash shim driver" default y depends on DT_HAS_NXP_KINETIS_FTFA_ENABLED || \ DT_HAS_NXP_KINETIS_FTFE_ENABLED || \ DT_HAS_NXP_KINETIS_FTFL_ENABLED || \ DT_HAS_NXP_IAP_FMC55_ENABLED || \ DT_HAS_NXP_IAP_FMC553_ENABLED || \ DT_HAS_NXP_MSF1_ENABLED select FLASH_HAS_PAGE_LAYOUT select FLASH_HAS_DRIVER_ENABLED select FLASH_HAS_EXPLICIT_ERASE select MPU_ALLOW_FLASH_WRITE if ARM_MPU help Enables the MCUX flash shim driver. WARNING: This driver will disable the system interrupts for the duration of the flash erase/write operations. This will have an impact on the overall system performance - whether this is acceptable or not will depend on the use case. if SOC_FLASH_MCUX config CHECK_BEFORE_READING bool "Verify area before reading it" default y if SOC_SERIES_LPC55XXX help Do a margin check flash command before reading an area. This feature prevents erroneous/forbidden reading. Some ECC enabled devices will crash when reading an erased or wrongly programmed area. config MCUX_FLASH_K4_API bool help Set from SOC level configuration if the platform is meant to use the flash_k4 SDK IAP API. endif # SOC_FLASH_MCUX if DT_HAS_NXP_IMX_FLEXSPI_ENABLED menu "Flexspi flash driver" config FLASH_MCUX_FLEXSPI_NOR bool "MCUX FlexSPI NOR driver" default y depends on DT_HAS_NXP_IMX_FLEXSPI_NOR_ENABLED select FLASH_HAS_PAGE_LAYOUT select FLASH_HAS_DRIVER_ENABLED select FLASH_HAS_EXPLICIT_ERASE select FLASH_JESD216 select MEMC select MEMC_MCUX_FLEXSPI config FLASH_MCUX_FLEXSPI_MX25UM51345G bool "MCUX FlexSPI MX25UM51345G driver" default y depends on DT_HAS_NXP_IMX_FLEXSPI_MX25UM51345G_ENABLED select FLASH_HAS_PAGE_LAYOUT select FLASH_HAS_DRIVER_ENABLED select FLASH_HAS_EXPLICIT_ERASE select MEMC select MEMC_MCUX_FLEXSPI config FLASH_MCUX_FLEXSPI_HYPERFLASH bool "MCUX FlexSPI HYPERFLASH driver" default y depends on DT_HAS_NXP_IMX_FLEXSPI_HYPERFLASH_ENABLED select FLASH_HAS_PAGE_LAYOUT select FLASH_HAS_DRIVER_ENABLED select FLASH_HAS_EXPLICIT_ERASE select MEMC select MEMC_MCUX_FLEXSPI endmenu if FLASH_MCUX_FLEXSPI_MX25UM51345G choice FLASH_MCUX_FLEXSPI_MX25UM51345G_OPI_MODE prompt "FlexSPI MX25UM51345G OPI mode" default FLASH_MCUX_FLEXSPI_MX25UM51345G_OPI_DTR help Select the MX25UM51345G octal flash operation mode(Octal I/O STR or Octal I/O DTR). config FLASH_MCUX_FLEXSPI_MX25UM51345G_OPI_STR bool "STR" config FLASH_MCUX_FLEXSPI_MX25UM51345G_OPI_DTR bool "DTR" endchoice endif # FLASH_MCUX_FLEXSPI_MX25UM51345G config FLASH_MCUX_FLEXSPI_NOR_WRITE_BUFFER bool "MCUX FlexSPI NOR write RAM buffer" default y depends on (FLASH_MCUX_FLEXSPI_NOR || FLASH_MCUX_FLEXSPI_MX25UM51345G) help Copy the data to a RAM buffer before writing it to the flash. This prevents faults when the data to write would be located on the flash itself. config FLASH_MCUX_FLEXSPI_HYPERFLASH_WRITE_BUFFER bool "MCUX FlexSPI HYPERFLASH write RAM buffer" default y depends on FLASH_MCUX_FLEXSPI_HYPERFLASH help Copy the data to a RAM buffer before writing it to the flash. This prevents faults when the data to write would be located on the flash itself. # Avoid RWW hazards by defaulting logging to disabled choice FLASH_LOG_LEVEL_CHOICE default FLASH_LOG_LEVEL_OFF if FLASH_MCUX_FLEXSPI_XIP endchoice endif # HAS_MCUX_FLEXSPI