xref: /openbmc/u-boot/drivers/spi/Kconfig (revision 94ea308d758fd0621450c542c2ba46db28ddf2ef)
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*94ea308dSJagan Tekiconfig FSL_DSPI
33*94ea308dSJagan Teki	bool "Freescale DSPI driver"
34*94ea308dSJagan Teki	help
35*94ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
36*94ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
37*94ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
38*94ea308dSJagan Teki	  use this driver.
39*94ea308dSJagan Teki
40892cac72SSimon Glassconfig SANDBOX_SPI
41892cac72SSimon Glass	bool "Sandbox SPI driver"
42892cac72SSimon Glass	depends on SANDBOX && DM
43892cac72SSimon Glass	help
44892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
45892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
46892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
47892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
48892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
49892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
50892cac72SSimon Glass
51892cac72SSimon Glass	  spi@0 {
52892cac72SSimon Glass		#address-cells = <1>;
53892cac72SSimon Glass		#size-cells = <0>;
54892cac72SSimon Glass		reg = <0>;
55892cac72SSimon Glass		compatible = "sandbox,spi";
56892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
57892cac72SSimon Glass		flash@0 {
58892cac72SSimon Glass			reg = <0>;
59892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
60892cac72SSimon Glass			spi-max-frequency = <40000000>;
61892cac72SSimon Glass			sandbox,filename = "spi.bin";
62892cac72SSimon Glass		};
63892cac72SSimon Glass	  };
6467d7a9d6SMarek Vasut
65075143d3SJagan Tekiconfig XILINX_SPI
66075143d3SJagan Teki	bool "Xilinx SPI driver"
67075143d3SJagan Teki	help
68075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
69075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
70075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
71075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
72075143d3SJagan Teki
73df30a425SJagan Tekiconfig ZYNQ_SPI
74df30a425SJagan Teki	bool "Zynq SPI driver"
75e4976af8SJagan Teki	depends on ARCH_ZYNQ || TARGET_XILINX_ZYNQMP
76df30a425SJagan Teki	help
77df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
78df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
79df30a425SJagan Teki	  SPI IP core.
80de823053SJagan Teki
81e4976af8SJagan Tekiendif # if DM_SPI
82e4976af8SJagan Teki
83e4976af8SJagan Tekiconfig TI_QSPI
84e4976af8SJagan Teki	bool "TI QSPI driver"
85e4976af8SJagan Teki	help
86e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
87e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
88e4976af8SJagan Teki
89de823053SJagan Tekiendmenu # menu "SPI Support"
90