# STM32 Quad SPI flash driver configuration options

# Copyright (c) 2020 Piotr Mienkowski
# Copyright (c) 2020 Linaro Limited
# SPDX-License-Identifier: Apache-2.0

DT_STM32_QUADSPI_HAS_DMA := $(dt_nodelabel_has_prop,quadspi,dmas)

config FLASH_STM32_QSPI
	bool "STM32 Quad SPI Flash driver"
	default y
	depends on DT_HAS_ST_STM32_QSPI_NOR_ENABLED
	select USE_STM32_HAL_QSPI
	select USE_STM32_HAL_MDMA if SOC_SERIES_STM32H7X
	select FLASH_HAS_DRIVER_ENABLED
	select FLASH_JESD216
	select FLASH_HAS_PAGE_LAYOUT
	select FLASH_HAS_EXPLICIT_ERASE
	select DMA if $(DT_STM32_QUADSPI_HAS_DMA)
	select USE_STM32_HAL_DMA if $(DT_STM32_QUADSPI_HAS_DMA)
	help
	  Enable QSPI-NOR support on the STM32 family of processors.
