zephyr/drivers/flash/Kconfig.mspi
Swift Tian cc5c142535 drivers: mspi: add mspi is25xx0xx device driver
This device driver supports ISSI is25w/lx032/64 series flash.
Only extended SPI mode(1s-1s-1s, 1s-8s-8s, 1s-1s-8s) is implemented.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-06-18 07:36:26 +02:00

91 lines
2.4 KiB
Plaintext

# Copyright (c) 2025 Ambiq Micro Inc. <www.ambiq.com>
# SPDX-License-Identifier: Apache-2.0
menu "MSPI flash device driver"
config FLASH_MSPI
bool
select FLASH_HAS_DRIVER_ENABLED
select MSPI
help
MSPI flash drivers are enabled.
config FLASH_MSPI_EMUL_DEVICE
bool "MSPI flash device emulator"
default y
depends on DT_HAS_ZEPHYR_MSPI_EMUL_FLASH_ENABLED
select FLASH_MSPI
select FLASH_HAS_PAGE_LAYOUT
select FLASH_HAS_EXPLICIT_ERASE
config FLASH_MSPI_ATXP032
bool "MSPI ATXP032 driver"
default y
depends on DT_HAS_MSPI_ATXP032_ENABLED
select FLASH_MSPI
select FLASH_HAS_PAGE_LAYOUT
select FLASH_HAS_EXPLICIT_ERASE
select FLASH_JESD216
select MSPI_AMBIQ_CONTROLLER if SOC_FAMILY_AMBIQ
config FLASH_MSPI_IS25XX0XX
bool "MSPI IS25L/WX064/032 driver"
default y
depends on DT_HAS_MSPI_IS25XX0XX_ENABLED
select FLASH_MSPI
select FLASH_HAS_PAGE_LAYOUT
select FLASH_HAS_EXPLICIT_ERASE
select FLASH_JESD216
select MSPI_AMBIQ_CONTROLLER if SOC_FAMILY_AMBIQ
menuconfig FLASH_MSPI_NOR
bool "Generic MSPI NOR Flash"
default y
depends on DT_HAS_JEDEC_MSPI_NOR_ENABLED
select FLASH_MSPI
select FLASH_HAS_EXPLICIT_ERASE
select FLASH_JESD216
select GPIO if $(dt_compat_any_has_prop,$(DT_COMPAT_JEDEC_MSPI_NOR),reset-gpios)
if FLASH_MSPI_NOR
config FLASH_MSPI_NOR_LAYOUT_PAGE_SIZE
int "Page size to use for FLASH_LAYOUT feature"
depends on FLASH_PAGE_LAYOUT
default 65536
help
When CONFIG_FLASH_PAGE_LAYOUT is used, this driver will support that
API. By default the page size corresponds to the block size (65536).
Other options include the 32K-byte erase size (32768), the sector
size (4096), or any non-zero multiple of the sector size.
endif # FLASH_MSPI_NOR
endmenu
if FLASH_MSPI
config FLASH_MSPI_HANDLE_CACHE
bool "Turn on cache handling in flash peripheral drivers"
default y
depends on CACHE_MANAGEMENT && DCACHE
help
Disable this if cache has been handled in upper layers.
config FLASH_MSPI_RANGE_HANDLE_CACHE_SIZE
int "Threshold to do cache handling by range or in full, size in bytes"
default SOC_AMBIQ_DCACHE_SIZE if SOC_SERIES_APOLLO5X
default 0
help
If size is larger than this number, it is uneconomical to handle cache in range.
However, this is a number by experience and could be platform specific.
config FLASH_MSPI_XIP_READ
bool "Turn on XIP read in flash_read"
depends on MSPI_XIP
help
Enable this for those controllers that supports XIP and wishes to
flash_read using XIP.
endif # FLASH_MSPI