xref: /openbmc/u-boot/drivers/spi/Kconfig (revision c354eee8d02eba1e24ff863023ba842f9c91e226)
1de823053SJagan Tekimenu "SPI Support"
2de823053SJagan Teki
3da333ae7SMasahiro Yamadaconfig DM_SPI
4da333ae7SMasahiro Yamada	bool "Enable Driver Model for SPI drivers"
5da333ae7SMasahiro Yamada	depends on DM
6da333ae7SMasahiro Yamada	help
7f94a1bedSSimon Glass	  Enable driver model for SPI. The SPI slave interface
8f94a1bedSSimon Glass	  (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
9f94a1bedSSimon Glass	  the SPI uclass. Drivers provide methods to access the SPI
10f94a1bedSSimon Glass	  buses that they control. The uclass interface is defined in
11f94a1bedSSimon Glass	  include/spi.h. The existing spi_slave structure is attached
12f94a1bedSSimon Glass	  as 'parent data' to every slave on each bus. Slaves
13f94a1bedSSimon Glass	  typically use driver-private data instead of extending the
14f94a1bedSSimon Glass	  spi_slave structure.
15892cac72SSimon Glass
16e4976af8SJagan Tekiif DM_SPI
17e4976af8SJagan Teki
18e4976af8SJagan Tekiconfig CADENCE_QSPI
19e4976af8SJagan Teki	bool "Cadence QSPI driver"
20e4976af8SJagan Teki	help
21e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
22e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
23e4976af8SJagan Teki	  Cadence IP core.
24e4976af8SJagan Teki
25e4976af8SJagan Tekiconfig DESIGNWARE_SPI
26e4976af8SJagan Teki	bool "Designware SPI driver"
27e4976af8SJagan Teki	help
28e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
29e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
30e4976af8SJagan Teki	  IP core.
31e4976af8SJagan Teki
32*c354eee8SJagan Tekiconfig EXYNOS_SPI
33*c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
34*c354eee8SJagan Teki	help
35*c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
36*c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
37*c354eee8SJagan Teki	  Exynos IP core.
38*c354eee8SJagan Teki
3994ea308dSJagan Tekiconfig FSL_DSPI
4094ea308dSJagan Teki	bool "Freescale DSPI driver"
4194ea308dSJagan Teki	help
4294ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
4394ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
4494ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
4594ea308dSJagan Teki	  use this driver.
4694ea308dSJagan Teki
4791c22d04SJagan Tekiconfig FSL_QSPI
4891c22d04SJagan Teki	bool "Freescale QSPI driver"
4991c22d04SJagan Teki	help
5091c22d04SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
5191c22d04SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
5291c22d04SJagan Teki	  Freescale IP core.
5391c22d04SJagan Teki
54892cac72SSimon Glassconfig SANDBOX_SPI
55892cac72SSimon Glass	bool "Sandbox SPI driver"
56892cac72SSimon Glass	depends on SANDBOX && DM
57892cac72SSimon Glass	help
58892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
59892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
60892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
61892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
62892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
63892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
64892cac72SSimon Glass
65892cac72SSimon Glass	  spi@0 {
66892cac72SSimon Glass		#address-cells = <1>;
67892cac72SSimon Glass		#size-cells = <0>;
68892cac72SSimon Glass		reg = <0>;
69892cac72SSimon Glass		compatible = "sandbox,spi";
70892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
71892cac72SSimon Glass		flash@0 {
72892cac72SSimon Glass			reg = <0>;
73892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
74892cac72SSimon Glass			spi-max-frequency = <40000000>;
75892cac72SSimon Glass			sandbox,filename = "spi.bin";
76892cac72SSimon Glass		};
77892cac72SSimon Glass	  };
7867d7a9d6SMarek Vasut
79075143d3SJagan Tekiconfig XILINX_SPI
80075143d3SJagan Teki	bool "Xilinx SPI driver"
81075143d3SJagan Teki	help
82075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
83075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
84075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
85075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
86075143d3SJagan Teki
87df30a425SJagan Tekiconfig ZYNQ_SPI
88df30a425SJagan Teki	bool "Zynq SPI driver"
89e4976af8SJagan Teki	depends on ARCH_ZYNQ || TARGET_XILINX_ZYNQMP
90df30a425SJagan Teki	help
91df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
92df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
93df30a425SJagan Teki	  SPI IP core.
94de823053SJagan Teki
95e4976af8SJagan Tekiendif # if DM_SPI
96e4976af8SJagan Teki
973debffa7SJagan Tekiconfig FSL_ESPI
983debffa7SJagan Teki	bool "Freescale eSPI driver"
993debffa7SJagan Teki	help
1003debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
1013debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
1023debffa7SJagan Teki	  this Freescale eSPI IP core.
1033debffa7SJagan Teki
104e4976af8SJagan Tekiconfig TI_QSPI
105e4976af8SJagan Teki	bool "TI QSPI driver"
106e4976af8SJagan Teki	help
107e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
108e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
109e4976af8SJagan Teki
110de823053SJagan Tekiendmenu # menu "SPI Support"
111