drivers: flash : introduce a new driver for the OCTOSPI

This is the stm32 octospi driver based on the exisitng quadspi
 for stm32 devices and source code from the STM32Cube.
This drivers initialized the peripheral and the NOR memory
in SPI or OctoSPI mode with STR or DTR data Transfer rates.
The NOR-flash can provide the SDFP table directly (if supported)
or through the DeviceTree.
 Limitation: no DMA transfer.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit is contained in:
Francois Ramu 2021-10-27 13:20:55 +02:00 committed by Maureen Helm
commit 16754378fb
4 changed files with 1621 additions and 0 deletions

View file

@ -20,6 +20,7 @@ zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_NIOS2_QSPI soc_flash_nios2_qspi.c)
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_GECKO flash_gecko.c)
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_RV32M1 soc_flash_rv32m1.c)
zephyr_library_sources_ifdef(CONFIG_FLASH_STM32_QSPI flash_stm32_qspi.c)
zephyr_library_sources_ifdef(CONFIG_FLASH_STM32_OSPI flash_stm32_ospi.c)
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G flash_mcux_flexspi_mx25um51345g.c)
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_NOR flash_mcux_flexspi_nor.c)
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_HYPERFLASH flash_mcux_flexspi_hyperflash.c)

View file

@ -90,6 +90,8 @@ source "drivers/flash/Kconfig.stm32"
source "drivers/flash/Kconfig.stm32_qspi"
source "drivers/flash/Kconfig.stm32_ospi"
source "drivers/flash/Kconfig.sam0"
source "drivers/flash/Kconfig.sam"

View file

@ -0,0 +1,19 @@
# STM32 Octo SPI flash driver configuration options
# Copyright (c) 2022 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ST_STM32_OSPI_NOR := st,stm32-ospi-nor
config FLASH_STM32_OSPI
bool "STM32 Octo SPI Flash driver"
depends on SOC_FAMILY_STM32
default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_OSPI_NOR))
select USE_STM32_HAL_OSPI
select USE_STM32_LL_DLYB if SOC_SERIES_STM32U5X
select FLASH_HAS_DRIVER_ENABLED
select FLASH_JESD216
select FLASH_PAGE_LAYOUT
select FLASH_HAS_PAGE_LAYOUT
help
Enable OSPI-NOR support on the STM32 family of processors.

File diff suppressed because it is too large Load diff