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 depends on MULTITHREADING 28 select POLL 29 help 30 This option enables the asynchronous API calls. 31 32config SPI_RTIO 33 bool "RTIO support [EXPERIMENTAL]" 34 select EXPERIMENTAL 35 select RTIO 36 select RTIO_WORKQ 37 help 38 This option enables the RTIO API calls. RTIO support is 39 experimental as the API itself is unstable. 40 41if SPI_RTIO 42 43config SPI_RTIO_FALLBACK_MSGS 44 int "Number of available spi_buf structs for the default handler to use" 45 default 4 46 help 47 When RTIO is used with a driver that does not yet implement the submit API 48 natively the submissions are converted back to struct spi_buf values that 49 are given to spi_transfer. This requires some number of msgs be available to convert 50 the submissions into on the stack. MISRA rules dictate we must know this in 51 advance. 52 53 In all likelihood 4 is going to work for everyone, but in case you do end up with 54 an issue where you are using RTIO, your driver does not implement submit natively, 55 and get an error relating to not enough spi msgs this is the Kconfig to manipulate. 56 57endif # SPI_RTIO 58 59config SPI_SLAVE 60 bool "Slave support [EXPERIMENTAL]" 61 select EXPERIMENTAL 62 help 63 Enables Driver SPI slave operations. Slave support depends 64 on the driver and the hardware it runs on. 65 66config SPI_EXTENDED_MODES 67 bool "Extended modes [EXPERIMENTAL]" 68 select EXPERIMENTAL 69 help 70 Enables extended operations in the SPI API. Currently, this 71 enables the possibility to select the line mode (single/dual/ 72 quad/octal), though none of these mode are really supported as 73 it would require more features exposed into the SPI buffer. 74 75config SPI_INIT_PRIORITY 76 int "Init priority" 77 default KERNEL_INIT_PRIORITY_DEVICE 78 help 79 Device driver initialization priority. 80 81config SPI_COMPLETION_TIMEOUT_TOLERANCE 82 int "Completion timeout tolerance (ms)" 83 default 200 84 help 85 The tolerance value in ms for the SPI completion timeout logic. 86 87config SPI_STATS 88 bool "SPI device statistics" 89 depends on STATS 90 help 91 Enable SPI device statistics. 92 93module = SPI 94module-str = spi 95source "subsys/logging/Kconfig.template.log_config" 96 97# zephyr-keep-sorted-start 98source "drivers/spi/Kconfig.ambiq" 99source "drivers/spi/Kconfig.andes_atcspi200" 100source "drivers/spi/Kconfig.b91" 101source "drivers/spi/Kconfig.bitbang" 102source "drivers/spi/Kconfig.cc13xx_cc26xx" 103source "drivers/spi/Kconfig.cc23x0" 104source "drivers/spi/Kconfig.cdns" 105source "drivers/spi/Kconfig.dw" 106source "drivers/spi/Kconfig.egis_et171" 107source "drivers/spi/Kconfig.esp32" 108source "drivers/spi/Kconfig.gd32" 109source "drivers/spi/Kconfig.grlib_spimctrl" 110source "drivers/spi/Kconfig.ifx_cat1" 111source "drivers/spi/Kconfig.it51xxx" 112source "drivers/spi/Kconfig.it8xxx2" 113source "drivers/spi/Kconfig.litex" 114source "drivers/spi/Kconfig.max32" 115source "drivers/spi/Kconfig.mchp_mss" 116source "drivers/spi/Kconfig.mchp_mss_qspi" 117source "drivers/spi/Kconfig.mcux_dspi" 118source "drivers/spi/Kconfig.mcux_ecspi" 119source "drivers/spi/Kconfig.mcux_flexcomm" 120source "drivers/spi/Kconfig.mcux_flexio" 121source "drivers/spi/Kconfig.mec5" 122source "drivers/spi/Kconfig.npcx" 123source "drivers/spi/Kconfig.nrfx" 124source "drivers/spi/Kconfig.numaker" 125source "drivers/spi/Kconfig.nxp_s32" 126source "drivers/spi/Kconfig.oc_simple" 127source "drivers/spi/Kconfig.omap" 128source "drivers/spi/Kconfig.opentitan" 129source "drivers/spi/Kconfig.pl022" 130source "drivers/spi/Kconfig.psoc6" 131source "drivers/spi/Kconfig.pw" 132source "drivers/spi/Kconfig.renesas_ra" 133source "drivers/spi/Kconfig.renesas_ra8" 134source "drivers/spi/Kconfig.renesas_rx" 135source "drivers/spi/Kconfig.renesas_rz" 136source "drivers/spi/Kconfig.rpi_pico" 137source "drivers/spi/Kconfig.rv32m1_lpspi" 138source "drivers/spi/Kconfig.sam" 139source "drivers/spi/Kconfig.sam0" 140source "drivers/spi/Kconfig.sedi" 141source "drivers/spi/Kconfig.sifive" 142source "drivers/spi/Kconfig.silabs_eusart" 143source "drivers/spi/Kconfig.silabs_siwx91x_gspi" 144source "drivers/spi/Kconfig.silabs_usart" 145source "drivers/spi/Kconfig.smartbond" 146source "drivers/spi/Kconfig.spi_emul" 147source "drivers/spi/Kconfig.stm32" 148source "drivers/spi/Kconfig.test" 149source "drivers/spi/Kconfig.wch" 150source "drivers/spi/Kconfig.xec_qmspi" 151source "drivers/spi/Kconfig.xlnx" 152source "drivers/spi/Kconfig.xmc4xxx" 153source "drivers/spi/spi_nxp_lpspi/Kconfig" 154# zephyr-keep-sorted-stop 155 156endif # SPI 157