Add a flash driver intended to handle various flash devices connected over MSPI bus as long as they support JEDEC SFDP. This is an initial commit providing only basic operations in Octal I/O mode with some hard-coded values for Macronix MX25Ux series chips. Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
55 lines
1.4 KiB
Plaintext
55 lines
1.4 KiB
Plaintext
# Copyright (c) 2024 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_AP3 if SOC_SERIES_APOLLO3X
|
|
|
|
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
|