# STM32 SPI driver configuration options

# Copyright (c) 2015-2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig SPI_STM32
	bool "STM32 MCU SPI controller driver"
	default y
	depends on DT_HAS_ST_STM32_SPI_ENABLED
	select PINCTRL
	select USE_STM32_LL_SPI
	help
	  Enable SPI support on the STM32 family of processors.

if SPI_STM32

config SPI_STM32_INTERRUPT
	bool "STM32 MCU SPI Interrupt Support"
	help
	  Enable Interrupt support for the SPI Driver of STM32 family.

config SPI_STM32_DMA
	bool "STM32 MCU SPI DMA Support"
	select DMA
	select CACHE_MANAGEMENT if CPU_HAS_DCACHE
	help
	  Enable the SPI DMA mode for SPI instances
	  that enable dma channels in their device tree node.

config SPI_STM32_USE_HW_SS
	bool "STM32 Hardware Slave Select support"
	default y
	help
	  Use Slave Select pin instead of software Slave Select.

config SPI_STM32_ERRATA_BUSY
	bool
	default y
	depends on SOC_SERIES_STM32F7X || SOC_SERIES_STM32L4X
	help
	  Handles erratum "BSY bit may stay high at the end of a data
	  transfer in slave mode".
	  Seen for instance in Errata Sheet 0290 §2.11.2

if SPI_STM32_ERRATA_BUSY

config SPI_STM32_BUSY_FLAG_TIMEOUT
	int "timeout in us for the STM32 busy flag workaround"
	default 10000

endif # SPI_STM32_ERRATA_BUSY

endif # SPI_STM32
