Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - SPI driver configuration options

#
# Copyright (c) 2015-2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

config SPI_LEGACY_API
	bool "Use legacy SPI API (default)"
	default y
	help
	  Driver and user API is the legacy SPI API (spi_legacy.h).
	  If unselected, the new API will be used.

#
# SPI Drivers
#
menuconfig SPI
	bool
	prompt "SPI hardware bus support"
	default n
	help
	  Enable support for the SPI hardware bus.

config SPI_QMSI
	bool "QMSI driver for SPI controller"
	depends on SPI && QMSI
	default n
	help
	  SPI driver implementation using QMSI library. QMSI is the
	  Quark Microcontroller Software Interface, providing a common
	  interface to the Quark family of microcontrollers.

config SPI_QMSI_SS
	bool "QMSI driver for SPI controller on Sensor Subsystem"
	depends on SPI && QMSI
	default n
	help
	  SPI driver implementation using QMSI library. This instance is
	  for the Sensor Subsystem.

config SPI_INTEL
	bool
	prompt "Intel SPI controller driver"
	depends on SPI && CPU_MINUTEIA
	default n
	help
	  Enable support for Intel's SPI controllers. Such controller
	  was formerly found on XScale chips. It can be found nowadays
	  on CEXXXX Intel media controller and Quark CPU (2 of them).

config SPI_STM32
	bool
	prompt "STM32 MCU SPI controller driver"
	depends on SPI && SOC_FAMILY_STM32
	select HAS_DTS_SPI
	select USE_STM32_LL_SPI
	default n
	help
	  Enable SPI support on the STM32 family of processors.

config SPI_STM32_HAS_FIFO
	bool
	depends on SPI_STM32
	depends on SOC_SERIES_STM32L4X || SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X
	default y

config SPI_STM32_INTERRUPT
	bool
	prompt "STM32 MCU SPI Interrupt Support"
	depends on SPI_STM32
	default n
	help
	  Enable Interrupt support for the SPI Driver of STM32 family.

if SPI
config SPI_INIT_PRIORITY
	int "Init priority"
	default 70
	help
	  Device driver initialization priority.

config SYS_LOG_SPI_LEVEL
	int
	prompt "SPI Driver Log level"
	depends on SYS_LOG && SPI
	default 0
	range 0 4
	help
	  Sets log level for SPI drivers.
	  Levels are:
	  0 OFF, do not write
	  1 ERROR, only write SYS_LOG_ERR
	  2 WARNING, write SYS_LOG_WRN in addition to previous level
	  3 INFO, write SYS_LOG_INF in addition to previous levels
	  4 DEBUG, write SYS_LOG_DBG in addition to previous levels

config SPI_CS_GPIO
	bool "SPI port CS pin is controlled via a GPIO port"
	depends on GPIO
	default n

config	SPI_0
	bool
	prompt "SPI port 0"
	default n
	help
	  Enable SPI controller port 0.

config SPI_0_NAME
	string
	prompt "SPI port 0 device name"
	depends on SPI_0
	default "SPI_0"

config SPI_0_IRQ_PRI
	int
	prompt "Port 0 interrupt priority"
	depends on SPI_0

config SPI_0_DEFAULT_CFG
	hex "Port 0 default configuration"
	depends on SPI_0
	default 0x80

config SPI_0_DEFAULT_BAUD_RATE
	int "Port 0 default baud rate"
	depends on SPI_0
	default 500000

config SPI_0_CS_GPIO_PORT
	string
	prompt "The GPIO port which is used to control CS"
	depends on SPI_0 && SPI_CS_GPIO
	default "GPIO_0"

config SPI_0_CS_GPIO_PIN
	int "The GPIO PIN which is used to act as a CS pin"
	depends on SPI_0 && SPI_CS_GPIO
	default 0

config SPI_1
	bool
	prompt "SPI port 1"
	default n
	help
	  Enable SPI controller port 1.

config SPI_1_NAME
	string
	prompt "SPI port 1 device name"
	depends on SPI_1 && !HAS_DTS_SPI
	default "SPI_1"

config SPI_1_IRQ_PRI
	int
	prompt "Port 0 interrupt priority"
	depends on SPI_1 && !HAS_DTS_SPI

config SPI_1_DEFAULT_CFG
	hex "Port 1 default configuration"
	depends on SPI_1
	default 0x80

config SPI_1_DEFAULT_BAUD_RATE
	int "Port 1 default baud rate"
	depends on SPI_1
	default 500000

config SPI_1_CS_GPIO_PORT
	string
	prompt "The GPIO port which is used to control CS"
	depends on SPI_1 && SPI_CS_GPIO
	default "GPIO_0"

config SPI_1_CS_GPIO_PIN
	int "The GPIO PIN which is used to act as a CS pin"
	depends on SPI_1 && SPI_CS_GPIO
	default 0

config SPI_2
	bool
	prompt "SPI port 2"
	default n
	help
	  Enable SPI controller port 2.

config SPI_2_NAME
	string
	prompt "SPI port 2 device name"
	depends on SPI_2 && !HAS_DTS_SPI
	default "SPI_2"

config SPI_2_IRQ_PRI
	int
	prompt "Port 2 interrupt priority"
	depends on SPI_2 && !HAS_DTS_SPI

config SPI_2_DEFAULT_CFG
	hex "Port 2 default configuration"
	depends on SPI_2
	default 0x80

config SPI_2_DEFAULT_BAUD_RATE
	int "Port 2 default baud rate"
	depends on SPI_2
	default 500000

config SPI_2_CS_GPIO_PORT
	string
	prompt "The GPIO port which is used to control CS"
	depends on SPI_2 && SPI_CS_GPIO
	default "GPIO_0"

config SPI_2_CS_GPIO_PIN
	int "The GPIO PIN which is used to act as a CS pin"
	depends on SPI_2 && SPI_CS_GPIO
	default 0

config SPI_3
	bool
	prompt "SPI port 3"
	default n
	help
	  Enable SPI controller port 3.

config SPI_3_NAME
	string
	prompt "SPI port 3 device name"
	depends on SPI_3 && !HAS_DTS_SPI
	default "SPI_3"

config SPI_3_IRQ_PRI
	int
	prompt "Port 3 interrupt priority"
	depends on SPI_3 && !HAS_DTS_SPI

config SPI_4
	bool
	prompt "SPI port 4"
	default n
	help
	  Enable SPI controller port 4.

config SPI_4_NAME
	string
	prompt "SPI port 4 device name"
	depends on SPI_4
	default "SPI_4"

config SPI_5
	bool
	prompt "SPI port 5"
	default n
	help
	  Enable SPI controller port 5.

config SPI_5_NAME
	string
	prompt "SPI port 5 device name"
	depends on SPI_5
	default "SPI_5"

config SPI_SS_INIT_PRIORITY
	int "Init priority"
	depends on SPI_QMSI_SS
	default 70
	help
	  Device driver initialization priority.

config SPI_SS_CS_GPIO
	bool "SPI port CS pin is controlled via a GPIO port"
	select GPIO
	depends on SPI_QMSI_SS
	default n

config	SPI_SS_0
	bool
	prompt "SPI SS port 0"
	depends on SPI_QMSI_SS
	default n
	help
	  Enable SPI controller port 0.

config SPI_SS_0_NAME
	string
	prompt "SPI SS port 0 device name"
	depends on SPI_SS_0
	default "SPI_SS_0"

config SPI_SS_0_IRQ_PRI
	int
	prompt "Port 0 interrupt priority"
	depends on SPI_SS_0

config SPI_SS_0_CS_GPIO_PORT
	string
	prompt "The GPIO port which is used to control CS"
	depends on SPI_SS_0 && SPI_SS_CS_GPIO
	default "GPIO_0"

config SPI_SS_0_CS_GPIO_PIN
	int "The GPIO PIN which is used to act as a CS pin"
	depends on SPI_SS_0 && SPI_SS_CS_GPIO
	default 0

config SPI_SS_1
	bool
	prompt "SPI SS port 1"
	depends on SPI_QMSI_SS
	default n
	help
	  Enable SPI controller port 1.

config SPI_SS_1_NAME
	string
	prompt "SPI port 1 device name"
	depends on SPI_SS_1
	default "SPI_SS_1"

config SPI_SS_1_IRQ_PRI
	int
	prompt "Port 0 interrupt priority"
	depends on SPI_SS_1

config SPI_SS_1_CS_GPIO_PORT
	string
	prompt "The GPIO port which is used to control CS"
	depends on SPI_SS_1 && SPI_SS_CS_GPIO
	default "GPIO_0"

config SPI_SS_1_CS_GPIO_PIN
	int "The GPIO PIN which is used to act as a CS pin"
	depends on SPI_SS_1 && SPI_SS_CS_GPIO
	default 0

source "drivers/spi/Kconfig.dw"

source "drivers/spi/Kconfig.mcux_dspi"

if SPI_LEGACY_API
source "drivers/spi/Kconfig.nrf5_legacy"
endif

source "drivers/spi/Kconfig.sam0"

endif # SPI