SPI support
configname: CONFIG_SPI
Linux Kernel Configuration
└─>Device Drivers
└─>SPI support
In linux kernel since version 2.6.20 (release Date: 2007-02-04)
The "Serial Peripheral Interface" is a low level synchronous
protocol. Chips that support SPI can have data transfer rates
up to several tens of Mbit/sec. Chips are addressed with a
controller and a chipselect. Most SPI slaves don't support
dynamic device discovery; some are even write-only or read-only.
SPI is widely used by microcontrollers to talk with sensors,
eeprom and flash memory, codecs and various other controller
chips, analog to digital (and d-to-a) converters, and more.
MMC and SD cards can be accessed using SPI protocol; and for
DataFlash cards used in MMC sockets, SPI must always be used.
SPI is one of a family of similar protocols using a four wire
interface (select, clock, data in, data out) including Microwire
(half duplex), SSP, SSI, and PSP. This driver framework should
work with most such devices and controllers.
protocol. Chips that support SPI can have data transfer rates
up to several tens of Mbit/sec. Chips are addressed with a
controller and a chipselect. Most SPI slaves don't support
dynamic device discovery; some are even write-only or read-only.
SPI is widely used by microcontrollers to talk with sensors,
eeprom and flash memory, codecs and various other controller
chips, analog to digital (and d-to-a) converters, and more.
MMC and SD cards can be accessed using SPI protocol; and for
DataFlash cards used in MMC sockets, SPI must always be used.
SPI is one of a family of similar protocols using a four wire
interface (select, clock, data in, data out) including Microwire
(half duplex), SSP, SSI, and PSP. This driver framework should
work with most such devices and controllers.
is selected by
CONFIG_GEHC_ACHCCONFIG_LATTICE_ECP3_CONFIG
CONFIG_EEPROM_AT25
CONFIG_EEPROM_93XX46
CONFIG_NET_DSA_MICROCHIP_KSZ_SPI
CONFIG_NET_DSA_MSCC_OCELOT_EXT
CONFIG_NET_DSA_SJA1105
CONFIG_NET_DSA_VITESSE_VSC73XX_SPI
CONFIG_SPI_AX88796C
CONFIG_DM9051
CONFIG_ADIN1110
CONFIG_KS8851
CONFIG_ENC28J60
CONFIG_CAN_M_CAN_TCAN4X5X
CONFIG_CAN_MCP251XFD
CONFIG_WILC1000_SPI
CONFIG_SLIC_DS26522
CONFIG_IEEE802154_AT86RF230
CONFIG_IEEE802154_MRF24J40
CONFIG_IEEE802154_MCR20A
CONFIG_KEYBOARD_APPLESPI
CONFIG_SERIAL_MAX3100
CONFIG_TCG_TIS_SPI
CONFIG_TCG_TIS_ST33ZP24_SPI
CONFIG_SPI_ALTERA
CONFIG_SPI_ALTERA_CORE
CONFIG_SPI_ALTERA_DFL
CONFIG_SPI_ATH79
CONFIG_SPI_AU1550
CONFIG_SPI_BUTTERFLY
CONFIG_SPI_DAVINCI
CONFIG_SPI_DW_BT1
CONFIG_SPI_GPIO
CONFIG_SPI_INTEL_PCI
CONFIG_SPI_INTEL_PLATFORM
CONFIG_SPI_LM70_LLP
CONFIG_SPI_LOONGSON_PCI
CONFIG_SPI_LOONGSON_PLATFORM
CONFIG_SPI_FSL_SPI
CONFIG_SPI_FSL_DSPI
CONFIG_SPI_MESON_SPIFC
CONFIG_SPI_WPCM_FIU
CONFIG_SPI_OC_TINY
CONFIG_SPI_OMAP_UWIRE
CONFIG_SPI_OMAP24XX
CONFIG_SPI_PPC4xx
CONFIG_SPI_PXA2XX
CONFIG_SPI_SH_SCI
CONFIG_SPI_STM32
CONFIG_SPI_MXS
CONFIG_SPI_XILINX
CONFIG_SPI_XTENSA_XTFPGA
CONFIG_SPI_MUX
CONFIG_MFD_CPCAP
CONFIG_MFD_RK8XX_SPI
CONFIG_MFD_RSMU_SPI
CONFIG_USB_MSI2500
CONFIG_VIDEO_GS1662
CONFIG_DRM_PANEL_ABT_Y030XX067A
CONFIG_DRM_PANEL_AUO_A030JTN01
CONFIG_DRM_PANEL_ILITEK_IL9322
CONFIG_DRM_PANEL_ILITEK_ILI9341
CONFIG_DRM_PANEL_INNOLUX_EJ030NA
CONFIG_DRM_PANEL_SAMSUNG_LD9040
CONFIG_DRM_PANEL_LG_LG4573
CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966
CONFIG_DRM_PANEL_NEWVISION_NV3052C
CONFIG_DRM_PANEL_NOVATEK_NT39016
CONFIG_DRM_PANEL_ORISETECH_OTA5601A
CONFIG_DRM_PANEL_SAMSUNG_DB7430
CONFIG_DRM_PANEL_SAMSUNG_S6D27A1
CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI
CONFIG_DRM_PANEL_WIDECHIPS_WS2401
CONFIG_DRM_PANEL_MIPI_DBI
CONFIG_TINYDRM_HX8357D
CONFIG_TINYDRM_ILI9163
CONFIG_TINYDRM_ILI9225
CONFIG_TINYDRM_ILI9341
CONFIG_TINYDRM_ILI9486
CONFIG_TINYDRM_MI0283QT
CONFIG_TINYDRM_REPAPER
CONFIG_TINYDRM_ST7586
CONFIG_TINYDRM_ST7735R
CONFIG_DRM_SSD130X_SPI
CONFIG_SND_SOC_IMX_ES8328
CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
CONFIG_SND_SOC_RK3399_GRU_SOUND
CONFIG_SND_SOC_ADAU1372_SPI
CONFIG_SND_SOC_ADAU1761_SPI
CONFIG_SND_SOC_PEB2466
CONFIG_SND_SOC_WM8731_SPI
CONFIG_ADIS16203
CONFIG_ADIS16240
CONFIG_FB_TFT
CONFIG_LMK04832
CONFIG_ADIS16201
CONFIG_ADIS16209
CONFIG_ADXL313_SPI
CONFIG_ADXL345_SPI
CONFIG_ADXL355_SPI
CONFIG_ADXL367_SPI
CONFIG_ADXL372_SPI
CONFIG_BMA220
CONFIG_BMI088_ACCEL
CONFIG_FXLS8962AF_SPI
CONFIG_IIO_KX022A_SPI
CONFIG_KXSD9_SPI
CONFIG_SCA3000
CONFIG_SCA3300
CONFIG_AD4130
CONFIG_AD7192
CONFIG_AD7280
CONFIG_AD7298
CONFIG_AD7476
CONFIG_AD7606_IFACE_SPI
CONFIG_AD7768_1
CONFIG_AD7780
CONFIG_AD7791
CONFIG_AD7793
CONFIG_AD7887
CONFIG_AD7923
CONFIG_AD9467
CONFIG_HI8435
CONFIG_MAX1027
CONFIG_MAX1118
CONFIG_MAX11205
CONFIG_MAX11410
CONFIG_MCP3911
CONFIG_TI_ADC0832
CONFIG_TI_ADC084S021
CONFIG_TI_ADC12138
CONFIG_TI_ADC108S102
CONFIG_TI_ADC161S626
CONFIG_TI_ADS7950
CONFIG_TI_ADS8688
CONFIG_TI_ADS124S08
CONFIG_TI_ADS131E08
CONFIG_TI_LMP92064
CONFIG_TI_TLC4541
CONFIG_TI_TSC2046
CONFIG_AD74115
CONFIG_AD74413R
CONFIG_AD8366
CONFIG_ADA4250
CONFIG_BME680
CONFIG_BME680_SPI
CONFIG_IIO_SSP_SENSORHUB
CONFIG_LTC2688
CONFIG_AD5686_SPI
CONFIG_LTC1660
CONFIG_ADMV8818
CONFIG_ADF4371
CONFIG_ADF4377
CONFIG_ADMV4420
CONFIG_ADIS16260
CONFIG_ADXRS290
CONFIG_HTS221
CONFIG_ADIS16400
CONFIG_ADIS16460
CONFIG_ADIS16475
CONFIG_ADIS16480
CONFIG_BMI160_SPI
CONFIG_FXOS8700_SPI
CONFIG_IIO_ST_LSM6DSX
CONFIG_ST_UVIS25
CONFIG_BMC150_MAGN_SPI
CONFIG_AS3935
CONFIG_LTC2983
CONFIG_MAXIM_THERMOCOUPLE
CONFIG_FPGA_MGR_ALTERA_PS_SPI
CONFIG_FPGA_MGR_LATTICE_SYSCONFIG_SPI
CONFIG_NFC_NCI_SPI
CONFIG_NFC_ST_NCI_SPI