Skip to content

Commit

Permalink
drivers: Flash: Add SPI NAND Flash driver support
Browse files Browse the repository at this point in the history
Add SPI NAND Flash driver support

Signed-off-by: Daniel Zhang <[email protected]>
  • Loading branch information
daniel-723 committed Jan 28, 2025
1 parent 9211abc commit 9d94e4c
Show file tree
Hide file tree
Showing 15 changed files with 1,954 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/flash/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_SMARTBOND flash_smartbond.c)
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_TELINK_B91 soc_flash_b91.c)
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_XMC4XXX soc_flash_xmc4xxx.c)
zephyr_library_sources_ifdef(CONFIG_SPI_FLASH_AT45 spi_flash_at45.c)
zephyr_library_sources_ifdef(CONFIG_SPI_NAND bch.c)
zephyr_library_sources_ifdef(CONFIG_SPI_NAND spi_nand.c)
zephyr_library_sources_ifdef(CONFIG_SPI_NOR spi_nor.c)
# zephyr-keep-sorted-stop

Expand Down
1 change: 1 addition & 0 deletions drivers/flash/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ source "drivers/flash/Kconfig.lpc"
source "drivers/flash/Kconfig.max32"
source "drivers/flash/Kconfig.mcux"
source "drivers/flash/Kconfig.mspi"
source "drivers/flash/Kconfig.nand"
source "drivers/flash/Kconfig.nios2_qspi"
source "drivers/flash/Kconfig.nor"
source "drivers/flash/Kconfig.nordic_qspi_nor"
Expand Down
38 changes: 38 additions & 0 deletions drivers/flash/Kconfig.nand
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright (c) 2022 Macronix International Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

menuconfig SPI_NAND
bool "SPI NAND Flash"
select FLASH_HAS_DRIVER_ENABLED
select FLASH_HAS_PAGE_LAYOUT
depends on SPI

if SPI_NAND

config SPI_NAND_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_NAND_CS_WAIT_DELAY
int "Delay time in us"
default 0
help
This is the wait delay (in us) to allow for CS switching to take effect

config SPI_NAND_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.

endif # SPI_NAND
Loading

0 comments on commit 9d94e4c

Please sign in to comment.