drivers/spi/Kconfig

Source file repositories/reference/linux-study-clean/drivers/spi/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/spi/Kconfig
Extension
[no extension]
Size
45548 bytes
Lines
1434
Domain
Driver Families
Bucket
drivers/spi
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
#
# SPI driver configuration
#
menuconfig SPI
	bool "SPI support"
	depends on HAS_IOMEM
	help
	  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.

if SPI

config SPI_DEBUG
	bool "Debug support for SPI drivers"
	depends on DEBUG_KERNEL
	help
	  Say "yes" to enable debug messaging (like dev_dbg and pr_debug),
	  sysfs, and debugfs support in SPI controller and protocol drivers.

#
# MASTER side ... talking to discrete SPI slave chips including microcontrollers
#

config SPI_MASTER
#	bool "SPI Master Support"
	bool
	default SPI
	help
	  If your system has an master-capable SPI controller (which
	  provides the clock and chipselect), you can enable that
	  controller and the protocol drivers for the SPI slave chips
	  that are connected.

if SPI_MASTER

config SPI_MEM
	bool "SPI memory extension"
	help
	  Enable this option if you want to enable the SPI memory extension.
	  This extension is meant to simplify interaction with SPI memories
	  by providing a high-level interface to send memory-like commands.

config SPI_OFFLOAD
	bool

comment "SPI Master Controller Drivers"

config SPI_AIROHA_SNFI
	tristate "Airoha SPI NAND Flash Interface"
	depends on ARCH_AIROHA || COMPILE_TEST
	depends on SPI_MASTER
	select REGMAP_MMIO
	help
	  This enables support for SPI-NAND mode on the Airoha NAND
	  Flash Interface found on Airoha ARM SoCs. This controller

Annotation

Implementation Notes