xref: /openbmc/u-boot/drivers/spi/Kconfig (revision 3debffa7043ca44c0aa314bea19b60c08bdf5e51)
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
3294ea308dSJagan Tekiconfig FSL_DSPI
3394ea308dSJagan Teki	bool "Freescale DSPI driver"
3494ea308dSJagan Teki	help
3594ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
3694ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
3794ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
3894ea308dSJagan Teki	  use this driver.
3994ea308dSJagan 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
83*3debffa7SJagan Tekiconfig FSL_ESPI
84*3debffa7SJagan Teki	bool "Freescale eSPI driver"
85*3debffa7SJagan Teki	help
86*3debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
87*3debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
88*3debffa7SJagan Teki	  this Freescale eSPI IP core.
89*3debffa7SJagan Teki
90e4976af8SJagan Tekiconfig TI_QSPI
91e4976af8SJagan Teki	bool "TI QSPI driver"
92e4976af8SJagan Teki	help
93e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
94e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
95e4976af8SJagan Teki
96de823053SJagan Tekiendmenu # menu "SPI Support"
97