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
#

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

if SPI

config SPI_ASYNC
	bool "Enable Asynchronous call support"
	default n
	select POLL
	help
	  This option enables the asynchronous API calls.

config SPI_SLAVE
	bool "Enable Slave support [EXPERIMENTAL]"
	default n
	help
	  Enables Driver SPI slave operations. Slave support depends
	  on the driver and the hardware it runs on.

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

config SYS_LOG_SPI_LEVEL
	int "SPI Driver Log level"
	depends on SYS_LOG
	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_0
	bool "SPI port 0"
	default n
	help
	  Enable SPI controller port 0.

if SPI_0

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

config SPI_0_OP_MODES
	int "Port 0 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 0, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

config SPI_0_IRQ_PRI
	int "Port 0 interrupt priority"
	depends on !HAS_DTS_SPI

config SPI_0_CS_GPIO_PORT
	string "The GPIO port which is used to control CS"
	depends on 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_CS_GPIO
	default 0

endif # SPI_0

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

if SPI_1

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

config SPI_1_OP_MODES
	int "Port 1 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 1, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

config SPI_1_IRQ_PRI
	int "Port 1 interrupt priority"
	depends on !HAS_DTS_SPI

config SPI_1_CS_GPIO_PORT
	string "The GPIO port which is used to control CS"
	depends on 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_CS_GPIO
	default 0

endif # SPI_1

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

if SPI_2

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

config SPI_2_OP_MODES
	int "Port 2 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 2, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

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

config SPI_2_CS_GPIO_PORT
	string "The GPIO port which is used to control CS"
	depends on 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_CS_GPIO
	default 0

endif # SPI_2

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

if SPI_3

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

config SPI_3_OP_MODES
	int "Port 3 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 3, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

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

endif # SPI_3

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

if SPI_4

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

config SPI_4_OP_MODES
	int "Port 4 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 4, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

endif # SPI_4

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

if SPI_5

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

config SPI_5_OP_MODES
	int "Port 5 supported operation modes (master/slave/both)"
	default 1
	range 1 3
	help
	  This sets the supported operation modes at runtime, by the SPI
	  port 5, where:
	  1 is MASTER mode only (default)
	  2 is SLAVE mode only
	  3 is both modes are available.

endif # SPI_5

config SPI_INTEL
	bool "Intel SPI controller driver"
	depends on 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).

source "drivers/spi/Kconfig.stm32"

source "drivers/spi/Kconfig.dw"

source "drivers/spi/Kconfig.mcux_dspi"

source "drivers/spi/Kconfig.sam0"

source "drivers/spi/Kconfig.nrfx"

endif # SPI