1# SPI driver configuration options
2
3# Copyright (c) 2015-2016 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6#
7# SPI Drivers
8#
9menuconfig SPI
10	bool "Serial Peripheral Interface (SPI) bus drivers"
11	help
12	  Enable support for the SPI hardware bus.
13
14if SPI
15
16config SPI_SHELL
17	bool "SPI Shell"
18	depends on SHELL
19	help
20	  Enable SPI Shell.
21
22	  The currently SPI shell supports simple SPI write/read (transceive)
23	  operation.
24
25config SPI_ASYNC
26	bool "Asynchronous call support"
27	select POLL
28	help
29	  This option enables the asynchronous API calls.
30
31config SPI_RTIO
32	bool "RTIO support [EXPERIMENTAL]"
33	select EXPERIMENTAL
34	select RTIO
35	help
36	  This option enables the RTIO API calls. RTIO support is
37	  experimental as the API itself is unstable.
38
39config SPI_SLAVE
40	bool "Slave support [EXPERIMENTAL]"
41	select EXPERIMENTAL
42	help
43	  Enables Driver SPI slave operations. Slave support depends
44	  on the driver and the hardware it runs on.
45
46config SPI_EXTENDED_MODES
47	bool "Extended modes [EXPERIMENTAL]"
48	select EXPERIMENTAL
49	help
50	  Enables extended operations in the SPI API. Currently, this
51	  enables the possibility to select the line mode (single/dual/
52	  quad/octal), though none of these mode are really supported as
53	  it would require more features exposed into the SPI buffer.
54
55config SPI_INIT_PRIORITY
56	int "Init priority"
57	default KERNEL_INIT_PRIORITY_DEVICE
58	help
59	  Device driver initialization priority.
60
61config SPI_COMPLETION_TIMEOUT_TOLERANCE
62	int "Completion timeout tolerance (ms)"
63	default 200
64	help
65	  The tolerance value in ms for the SPI completion timeout logic.
66
67config SPI_STATS
68	bool "SPI device statistics"
69	depends on STATS
70	help
71	  Enable SPI device statistics.
72
73module = SPI
74module-str = spi
75source "subsys/logging/Kconfig.template.log_config"
76
77source "drivers/spi/Kconfig.b91"
78
79source "drivers/spi/Kconfig.stm32"
80
81source "drivers/spi/Kconfig.dw"
82
83source "drivers/spi/Kconfig.mcux_dspi"
84
85source "drivers/spi/Kconfig.mcux_ecspi"
86
87source "drivers/spi/Kconfig.mcux_flexcomm"
88
89source "drivers/spi/Kconfig.mcux_flexio"
90
91source "drivers/spi/Kconfig.mcux_lpspi"
92
93source "drivers/spi/Kconfig.rv32m1_lpspi"
94
95source "drivers/spi/Kconfig.sam"
96
97source "drivers/spi/Kconfig.sam0"
98
99source "drivers/spi/Kconfig.sifive"
100
101source "drivers/spi/Kconfig.spi_emul"
102
103source "drivers/spi/Kconfig.nrfx"
104
105source "drivers/spi/Kconfig.cc13xx_cc26xx"
106
107source "drivers/spi/Kconfig.litex"
108
109source "drivers/spi/Kconfig.oc_simple"
110
111source "drivers/spi/Kconfig.xec_qmspi"
112
113source "drivers/spi/Kconfig.gecko"
114
115source "drivers/spi/Kconfig.xlnx"
116
117source "drivers/spi/Kconfig.esp32"
118
119source "drivers/spi/Kconfig.test"
120
121source "drivers/spi/Kconfig.psoc6"
122
123source "drivers/spi/Kconfig.bitbang"
124
125source "drivers/spi/Kconfig.gd32"
126
127source "drivers/spi/Kconfig.mchp_mss_qspi"
128
129source "drivers/spi/Kconfig.pl022"
130
131source "drivers/spi/Kconfig.andes_atcspi200"
132
133source "drivers/spi/Kconfig.nxp_s32"
134
135source "drivers/spi/Kconfig.xmc4xxx"
136
137source "drivers/spi/Kconfig.pw"
138
139source "drivers/spi/Kconfig.smartbond"
140
141source "drivers/spi/Kconfig.opentitan"
142
143source "drivers/spi/Kconfig.numaker"
144
145source "drivers/spi/Kconfig.ambiq"
146
147source "drivers/spi/Kconfig.rpi_pico"
148
149source "drivers/spi/Kconfig.ifx_cat1"
150
151source "drivers/spi/Kconfig.sedi"
152
153source "drivers/spi/Kconfig.npcx"
154
155source "drivers/spi/Kconfig.mchp_mss"
156
157source "drivers/spi/Kconfig.grlib_spimctrl"
158
159source "drivers/spi/Kconfig.max32"
160
161endif # SPI
162