This feature prevents issues when trying to write data to the flash device that is located on or addressed at the same flash device. An example is the mcuboot logic that writes a magic number to the secondary partition header. Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
81 lines
2.2 KiB
Plaintext
81 lines
2.2 KiB
Plaintext
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SOC_FLASH_MCUX
|
|
bool "MCUX flash shim driver"
|
|
depends on (HAS_MCUX_FTFX || HAS_MCUX_IAP)
|
|
select FLASH_HAS_PAGE_LAYOUT
|
|
select FLASH_HAS_DRIVER_ENABLED
|
|
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.
|
|
|
|
endif # SOC_FLASH_MCUX
|
|
|
|
if HAS_MCUX_FLEXSPI
|
|
|
|
config FLASH_MCUX_FLEXSPI_NOR
|
|
bool "MCUX FlexSPI NOR driver"
|
|
select FLASH_HAS_PAGE_LAYOUT
|
|
select FLASH_HAS_DRIVER_ENABLED
|
|
select MEMC
|
|
select MEMC_MCUX_FLEXSPI
|
|
|
|
config FLASH_MCUX_FLEXSPI_NOR_WRITE_BUFFER
|
|
bool "MCUX FlexSPI NOR write RAM buffer"
|
|
default y
|
|
depends on FLASH_MCUX_FLEXSPI_NOR
|
|
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_XIP
|
|
bool "MCUX FlexSPI flash access with xip"
|
|
depends on MEMC_MCUX_FLEXSPI
|
|
depends on (CODE_FLEXSPI || CODE_FLEXSPI2)
|
|
select XIP
|
|
select CODE_DATA_RELOCATION
|
|
help
|
|
Allows using the flash API while running in XIP.
|
|
WARNING: It is possible to overwrite the running application itself.
|
|
|
|
if FLASH_MCUX_FLEXSPI_XIP
|
|
|
|
choice FLASH_MCUX_FLEXSPI_XIP_MEM_TARGET
|
|
prompt "FlexSPI drivers relocation target"
|
|
default FLASH_MCUX_FLEXSPI_XIP_MEM_ITCM
|
|
help
|
|
Select the location to run the FlexSPI drivers when using
|
|
the flash API.
|
|
|
|
config FLASH_MCUX_FLEXSPI_XIP_MEM_ITCM
|
|
bool "ITCM"
|
|
|
|
config FLASH_MCUX_FLEXSPI_XIP_MEM_SRAM
|
|
bool "SRAM"
|
|
|
|
endchoice
|
|
|
|
config FLASH_MCUX_FLEXSPI_XIP_MEM
|
|
string
|
|
default "ITCM" if FLASH_MCUX_FLEXSPI_XIP_MEM_ITCM
|
|
default "SRAM" if FLASH_MCUX_FLEXSPI_XIP_MEM_SRAM
|
|
|
|
endif # FLASH_MCUX_FLEXSPI_XIP
|
|
|
|
endif # HAS_MCUX_FLEXSPI
|