1# STM32 SPI driver configuration options
2
3# Copyright (c) 2015-2016 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig SPI_STM32
7	bool "STM32 MCU SPI controller driver"
8	default y
9	depends on DT_HAS_ST_STM32_SPI_ENABLED
10	select PINCTRL
11	select USE_STM32_LL_SPI
12	help
13	  Enable SPI support on the STM32 family of processors.
14
15if SPI_STM32
16
17config SPI_STM32_INTERRUPT
18	bool "STM32 MCU SPI Interrupt Support"
19	help
20	  Enable Interrupt support for the SPI Driver of STM32 family.
21
22config SPI_STM32_DMA
23	bool "STM32 MCU SPI DMA Support"
24	select DMA
25	select CACHE_MANAGEMENT if CPU_HAS_DCACHE
26	help
27	  Enable the SPI DMA mode for SPI instances
28	  that enable dma channels in their device tree node.
29
30config SPI_STM32_USE_HW_SS
31	bool "STM32 Hardware Slave Select support"
32	default y
33	help
34	  Use Slave Select pin instead of software Slave Select.
35
36config SPI_STM32_ERRATA_BUSY
37	bool
38	default y
39	depends on SOC_SERIES_STM32F7X || SOC_SERIES_STM32L4X
40	help
41	  Handles erratum "BSY bit may stay high at the end of a data
42	  transfer in slave mode".
43	  Seen for instance in Errata Sheet 0290 §2.11.2
44
45if SPI_STM32_ERRATA_BUSY
46
47config SPI_STM32_BUSY_FLAG_TIMEOUT
48	int "timeout in us for the STM32 busy flag workaround"
49	default 10000
50
51endif # SPI_STM32_ERRATA_BUSY
52
53endif # SPI_STM32
54