# 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 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.


endif # SPI_STM32
