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	select RTIO_WORKQ
36	help
37	  This option enables the RTIO API calls. RTIO support is
38	  experimental as the API itself is unstable.
39
40config SPI_SLAVE
41	bool "Slave support [EXPERIMENTAL]"
42	select EXPERIMENTAL
43	help
44	  Enables Driver SPI slave operations. Slave support depends
45	  on the driver and the hardware it runs on.
46
47config SPI_EXTENDED_MODES
48	bool "Extended modes [EXPERIMENTAL]"
49	select EXPERIMENTAL
50	help
51	  Enables extended operations in the SPI API. Currently, this
52	  enables the possibility to select the line mode (single/dual/
53	  quad/octal), though none of these mode are really supported as
54	  it would require more features exposed into the SPI buffer.
55
56config SPI_INIT_PRIORITY
57	int "Init priority"
58	default KERNEL_INIT_PRIORITY_DEVICE
59	help
60	  Device driver initialization priority.
61
62config SPI_COMPLETION_TIMEOUT_TOLERANCE
63	int "Completion timeout tolerance (ms)"
64	default 200
65	help
66	  The tolerance value in ms for the SPI completion timeout logic.
67
68config SPI_STATS
69	bool "SPI device statistics"
70	depends on STATS
71	help
72	  Enable SPI device statistics.
73
74module = SPI
75module-str = spi
76source "subsys/logging/Kconfig.template.log_config"
77
78# zephyr-keep-sorted-start
79source "drivers/spi/Kconfig.ambiq"
80source "drivers/spi/Kconfig.andes_atcspi200"
81source "drivers/spi/Kconfig.b91"
82source "drivers/spi/Kconfig.bitbang"
83source "drivers/spi/Kconfig.cc13xx_cc26xx"
84source "drivers/spi/Kconfig.dw"
85source "drivers/spi/Kconfig.esp32"
86source "drivers/spi/Kconfig.gd32"
87source "drivers/spi/Kconfig.gecko_eusart"
88source "drivers/spi/Kconfig.gecko_usart"
89source "drivers/spi/Kconfig.grlib_spimctrl"
90source "drivers/spi/Kconfig.ifx_cat1"
91source "drivers/spi/Kconfig.it8xxx2"
92source "drivers/spi/Kconfig.litex"
93source "drivers/spi/Kconfig.max32"
94source "drivers/spi/Kconfig.mchp_mss"
95source "drivers/spi/Kconfig.mchp_mss_qspi"
96source "drivers/spi/Kconfig.mcux_dspi"
97source "drivers/spi/Kconfig.mcux_ecspi"
98source "drivers/spi/Kconfig.mcux_flexcomm"
99source "drivers/spi/Kconfig.mcux_flexio"
100source "drivers/spi/Kconfig.mcux_lpspi"
101source "drivers/spi/Kconfig.npcx"
102source "drivers/spi/Kconfig.nrfx"
103source "drivers/spi/Kconfig.numaker"
104source "drivers/spi/Kconfig.nxp_s32"
105source "drivers/spi/Kconfig.oc_simple"
106source "drivers/spi/Kconfig.opentitan"
107source "drivers/spi/Kconfig.pl022"
108source "drivers/spi/Kconfig.psoc6"
109source "drivers/spi/Kconfig.pw"
110source "drivers/spi/Kconfig.renesas_ra"
111source "drivers/spi/Kconfig.renesas_ra8"
112source "drivers/spi/Kconfig.rpi_pico"
113source "drivers/spi/Kconfig.rv32m1_lpspi"
114source "drivers/spi/Kconfig.sam"
115source "drivers/spi/Kconfig.sam0"
116source "drivers/spi/Kconfig.sedi"
117source "drivers/spi/Kconfig.sifive"
118source "drivers/spi/Kconfig.smartbond"
119source "drivers/spi/Kconfig.spi_emul"
120source "drivers/spi/Kconfig.stm32"
121source "drivers/spi/Kconfig.test"
122source "drivers/spi/Kconfig.xec_qmspi"
123source "drivers/spi/Kconfig.xlnx"
124source "drivers/spi/Kconfig.xmc4xxx"
125# zephyr-keep-sorted-stop
126
127endif # SPI
128