zephyr/drivers/flash/Kconfig.nor
Savinay Dharmappa 87e5493167 drivers: flash: add a generic spi nor flash driver
This driver is inspired from the w25qxxdv SPI NOR flash driver which was
already implementing the CFI (Common Flash Interface) for its purpose.
To handle other NOR flash a flash id table (as Linux do) which contains
the geometry for a few SPI NOR flash based on their JEDEC ID has been
introduced.
We currently support the following flash:
 - W25Q80
 - W25Q16
 - W25Q32
 - S25FL216K
 - MX25UM512

The read and write functions are able to handle more then one page at a
time and return the number of bytes read or write.
Also because every NOR flash expect to disable the write protection
before writing or erasing, the write enable command is now part of the
write and erase functions.

Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2018-11-13 18:49:03 -05:00

77 lines
1.4 KiB
Plaintext

#
# Copyright (c) 2018 Savoir-Faire Linux.
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig SPI_NOR
bool
prompt "SPI NOR Flash"
select FLASH_HAS_DRIVER_ENABLED
depends on SPI && FLASH
if SPI_NOR
config SPI_NOR_INIT_PRIORITY
int
default 80
help
Device driver initialization priority.
Device is connected to SPI bus, it has to
be initialized after SPI driver.
config SPI_NOR_JEDEC_ID
hex "Unique Id to identify SPI flash"
default 0
help
This is a unique id to identify SPI flash
config SPI_NOR_PAGE_SIZE
int "Page size of SPI flash"
default 0
help
This option specifies page size of SPI flash
config SPI_NOR_SECTOR_SIZE
int "Sector size of SPI flash"
default 0
help
This option specifies sector size of SPI flash
config SPI_NOR_SECTORS
int "Number of sectors in SPI flash"
default 0
help
This option specifies number of sector present
in SPI flash
config SPI_NOR_BLOCK_SIZE
int "Block size of SPI flash"
default 0
help
This option specifies block size of SPI flash
choice SPI_NOR_BLOCK_ERASE_SIZE
prompt "Select Block size for erasing"
config SPI_NOR_BLOCK_ERASE_32K
bool "Select 32K block erase"
help
This Enables 32K Block erase
config SPI_NOR_BLOCK_ERASE_64K
bool "Select 64K block erase"
help
This Enables 64K Block erase
endchoice
config SPI_NOR_BLOCK_ERASE_SIZE
int
default 2 if SPI_NOR_BLOCK_ERASE_32K
default 4 if SPI_NOR_BLOCK_ERASE_64K
help
This option specifies block size of SPI flash
endif # SPI_NOR