xref: /openbmc/u-boot/drivers/spi/Kconfig (revision 8e4920e53e1a45658743d79d6fa29a1b44448622)
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
1815a56f9cSThomas Chouconfig ALTERA_SPI
1915a56f9cSThomas Chou	bool "Altera SPI driver"
2015a56f9cSThomas Chou	help
2115a56f9cSThomas Chou	  Enable the Altera SPI driver. This driver can be used to
2215a56f9cSThomas Chou	  access the SPI NOR flash on platforms embedding this Altera
2315a56f9cSThomas Chou	  IP core. Please find details on the "Embedded Peripherals IP
2415a56f9cSThomas Chou	  User Guide" of Altera.
2515a56f9cSThomas Chou
26e4976af8SJagan Tekiconfig CADENCE_QSPI
27e4976af8SJagan Teki	bool "Cadence QSPI driver"
28e4976af8SJagan Teki	help
29e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
30e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
31e4976af8SJagan Teki	  Cadence IP core.
32e4976af8SJagan Teki
33e4976af8SJagan Tekiconfig DESIGNWARE_SPI
34e4976af8SJagan Teki	bool "Designware SPI driver"
35e4976af8SJagan Teki	help
36e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
37e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
38e4976af8SJagan Teki	  IP core.
39e4976af8SJagan Teki
40c354eee8SJagan Tekiconfig EXYNOS_SPI
41c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
42c354eee8SJagan Teki	help
43c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
44c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
45c354eee8SJagan Teki	  Exynos IP core.
46c354eee8SJagan Teki
4794ea308dSJagan Tekiconfig FSL_DSPI
4894ea308dSJagan Teki	bool "Freescale DSPI driver"
4994ea308dSJagan Teki	help
5094ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
5194ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
5294ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
5394ea308dSJagan Teki	  use this driver.
5494ea308dSJagan Teki
5591c22d04SJagan Tekiconfig FSL_QSPI
5691c22d04SJagan Teki	bool "Freescale QSPI driver"
5791c22d04SJagan Teki	help
5891c22d04SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
5991c22d04SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
6091c22d04SJagan Teki	  Freescale IP core.
6191c22d04SJagan Teki
6245636010SJagan Tekiconfig ICH_SPI
6345636010SJagan Teki	bool "Intel ICH SPI driver"
6445636010SJagan Teki	help
6545636010SJagan Teki	  Enable the Intel ICH SPI driver. This driver can be used to
6645636010SJagan Teki	  access the SPI NOR flash on platforms embedding this Intel
6745636010SJagan Teki	  ICH IP core.
6845636010SJagan Teki
691b2fd5bfSSimon Glassconfig ROCKCHIP_SPI
701b2fd5bfSSimon Glass	bool "Rockchip SPI driver"
711b2fd5bfSSimon Glass	help
721b2fd5bfSSimon Glass	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
731b2fd5bfSSimon Glass	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
741b2fd5bfSSimon Glass	  This uses driver model and requires a device tree binding to
751b2fd5bfSSimon Glass	  operate.
761b2fd5bfSSimon Glass
77892cac72SSimon Glassconfig SANDBOX_SPI
78892cac72SSimon Glass	bool "Sandbox SPI driver"
79892cac72SSimon Glass	depends on SANDBOX && DM
80892cac72SSimon Glass	help
81892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
82892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
83892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
84892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
85892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
86892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
87892cac72SSimon Glass
88892cac72SSimon Glass	  spi@0 {
89892cac72SSimon Glass		#address-cells = <1>;
90892cac72SSimon Glass		#size-cells = <0>;
91892cac72SSimon Glass		reg = <0>;
92892cac72SSimon Glass		compatible = "sandbox,spi";
93892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
94892cac72SSimon Glass		flash@0 {
95892cac72SSimon Glass			reg = <0>;
96892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
97892cac72SSimon Glass			spi-max-frequency = <40000000>;
98892cac72SSimon Glass			sandbox,filename = "spi.bin";
99892cac72SSimon Glass		};
100892cac72SSimon Glass	  };
10167d7a9d6SMarek Vasut
1025bf9a2d3SJagan Tekiconfig TEGRA114_SPI
1035bf9a2d3SJagan Teki	bool "nVidia Tegra114 SPI driver"
1045bf9a2d3SJagan Teki	help
1055bf9a2d3SJagan Teki	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
1065bf9a2d3SJagan Teki	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
1075bf9a2d3SJagan Teki	  IP core.
1085bf9a2d3SJagan Teki
1095bf9a2d3SJagan Teki	  This controller is different than the older SoCs SPI controller and
1105bf9a2d3SJagan Teki	  also register interface get changed with this controller.
1115bf9a2d3SJagan Teki
1122f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH
1132f3e6f8cSJagan Teki	bool "nVidia Tegra20 Serial Flash controller driver"
1142f3e6f8cSJagan Teki	help
1152f3e6f8cSJagan Teki	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
1162f3e6f8cSJagan Teki	  can be used to access the SPI NOR flash on platforms embedding this
1172f3e6f8cSJagan Teki	  nVidia Tegra20 IP core.
1182f3e6f8cSJagan Teki
1194495830cSJagan Tekiconfig TEGRA20_SLINK
1204495830cSJagan Teki	bool "nVidia Tegra20/Tegra30 SLINK driver"
1214495830cSJagan Teki	help
1224495830cSJagan Teki	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
1234495830cSJagan Teki	  be used to access the SPI NOR flash on platforms embedding this
1244495830cSJagan Teki	  nVidia Tegra20/Tegra30 IP cores.
1254495830cSJagan Teki
1264e675ff2STom Warrenconfig TEGRA210_QSPI
1274e675ff2STom Warren	bool "nVidia Tegra210 QSPI driver"
1284e675ff2STom Warren	help
1294e675ff2STom Warren	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
1304e675ff2STom Warren	  be used to access SPI chips on platforms embedding this
1314e675ff2STom Warren	  NVIDIA Tegra210 IP core.
1324e675ff2STom Warren
133075143d3SJagan Tekiconfig XILINX_SPI
134075143d3SJagan Teki	bool "Xilinx SPI driver"
135075143d3SJagan Teki	help
136075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
137075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
138075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
139075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
140075143d3SJagan Teki
141df30a425SJagan Tekiconfig ZYNQ_SPI
142df30a425SJagan Teki	bool "Zynq SPI driver"
143*8e4920e5SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP
144df30a425SJagan Teki	help
145df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
146df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
147df30a425SJagan Teki	  SPI IP core.
148de823053SJagan Teki
14978a025acSJagan Tekiconfig ZYNQ_QSPI
15078a025acSJagan Teki	bool "Zynq QSPI driver"
15178a025acSJagan Teki	depends on ARCH_ZYNQ
15278a025acSJagan Teki	help
15378a025acSJagan Teki	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
15478a025acSJagan Teki	  used to access the SPI NOR flash on platforms embedding this
15578a025acSJagan Teki	  Zynq QSPI IP core. This IP is used to connect the flash in
15678a025acSJagan Teki	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
15778a025acSJagan Teki
158e4976af8SJagan Tekiendif # if DM_SPI
159e4976af8SJagan Teki
1603debffa7SJagan Tekiconfig FSL_ESPI
1613debffa7SJagan Teki	bool "Freescale eSPI driver"
1623debffa7SJagan Teki	help
1633debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
1643debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
1653debffa7SJagan Teki	  this Freescale eSPI IP core.
1663debffa7SJagan Teki
167e4976af8SJagan Tekiconfig TI_QSPI
168e4976af8SJagan Teki	bool "TI QSPI driver"
169e4976af8SJagan Teki	help
170e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
171e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
172e4976af8SJagan Teki
173de823053SJagan Tekiendmenu # menu "SPI Support"
174