2018-11-12 23:36:24 +08:00
|
|
|
# Copyright (c) 2018 Savoir-Faire Linux.
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
menuconfig SPI_NOR
|
2019-02-27 04:12:10 +08:00
|
|
|
bool "SPI NOR Flash"
|
2022-07-22 14:53:16 +08:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_JEDEC_SPI_NOR_ENABLED
|
2018-11-12 23:36:24 +08:00
|
|
|
select FLASH_HAS_DRIVER_ENABLED
|
2020-09-06 22:28:31 +08:00
|
|
|
select FLASH_HAS_PAGE_LAYOUT
|
2020-05-31 06:44:08 +08:00
|
|
|
select FLASH_JESD216
|
2019-03-07 12:45:23 +08:00
|
|
|
depends on SPI
|
2018-11-12 23:36:24 +08:00
|
|
|
|
|
|
|
if SPI_NOR
|
|
|
|
|
2020-06-27 22:24:46 +08:00
|
|
|
choice SPI_NOR_SFDP
|
|
|
|
prompt "Source for Serial Flash Discoverable Parameters"
|
|
|
|
default SPI_NOR_SFDP_MINIMAL
|
|
|
|
|
|
|
|
config SPI_NOR_SFDP_MINIMAL
|
|
|
|
bool "Fixed flash configuration"
|
|
|
|
help
|
|
|
|
Synthesize a minimal configuration assuming 256 By page size and
|
|
|
|
standard 4 KiBy and 64 KiBy erase instructions. Requires the size and
|
|
|
|
jedec-id properties in the devicetree jedec,spi-nor node.
|
|
|
|
|
|
|
|
config SPI_NOR_SFDP_DEVICETREE
|
|
|
|
bool "Basic Flash Parameters from devicetree node"
|
|
|
|
help
|
|
|
|
The JESD216 Basic Flash Parameters table must be provided in the
|
|
|
|
sfdp-bfp property in devicetree. The size and jedec-id properties are
|
|
|
|
also required.
|
|
|
|
|
|
|
|
config SPI_NOR_SFDP_RUNTIME
|
|
|
|
bool "Read flash parameters at runtime"
|
|
|
|
help
|
|
|
|
Read all flash device characteristics from the device at runtime.
|
|
|
|
This option is the most flexible as it should provide functionality
|
|
|
|
for all supported JESD216-compatible devices.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2018-11-12 23:36:24 +08:00
|
|
|
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.
|
|
|
|
|
2019-01-29 02:32:26 +08:00
|
|
|
config SPI_NOR_CS_WAIT_DELAY
|
|
|
|
int "Delay time in us"
|
2018-11-12 23:36:24 +08:00
|
|
|
default 0
|
|
|
|
help
|
2019-11-01 17:24:07 +08:00
|
|
|
This is the wait delay (in us) to allow for CS switching to take effect
|
2018-11-12 23:36:24 +08:00
|
|
|
|
2019-07-21 07:47:11 +08:00
|
|
|
config SPI_NOR_FLASH_LAYOUT_PAGE_SIZE
|
|
|
|
int "Page size to use for FLASH_LAYOUT feature"
|
|
|
|
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
|
2019-10-29 18:18:46 +08:00
|
|
|
(32768), the sector size (4096), or any non-zero multiple of the
|
|
|
|
sector size.
|
2019-07-21 07:47:11 +08:00
|
|
|
|
2019-10-28 01:57:09 +08:00
|
|
|
config SPI_NOR_IDLE_IN_DPD
|
|
|
|
bool "Use Deep Power-Down mode when flash is not being accessed."
|
|
|
|
help
|
|
|
|
Where supported deep power-down mode can reduce current draw
|
|
|
|
to as little as 0.1% of standby current. However it takes
|
|
|
|
some milliseconds to enter and exit from this mode.
|
|
|
|
|
|
|
|
Select this option for applications where device power
|
|
|
|
management is not enabled, the flash remains inactive for
|
|
|
|
long periods, and when used the impact of waiting for mode
|
|
|
|
enter and exit delays is acceptable.
|
|
|
|
|
2018-11-12 23:36:24 +08:00
|
|
|
endif # SPI_NOR
|