xref: /rk3399_rockchip-uboot/drivers/spi/Kconfig (revision 967efcae9060af5a7cda3376c9f203b7e7bfc16e)
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
18*967efcaeSBoris Brezillonconfig SPI_MEM
19*967efcaeSBoris Brezillon	bool "SPI memory extension"
20*967efcaeSBoris Brezillon	help
21*967efcaeSBoris Brezillon	  Enable this option if you want to enable the SPI memory extension.
22*967efcaeSBoris Brezillon	  This extension is meant to simplify interaction with SPI memories
23*967efcaeSBoris Brezillon	  by providing an high-level interface to send memory-like commands.
24*967efcaeSBoris Brezillon
2515a56f9cSThomas Chouconfig ALTERA_SPI
2615a56f9cSThomas Chou	bool "Altera SPI driver"
2715a56f9cSThomas Chou	help
2815a56f9cSThomas Chou	  Enable the Altera SPI driver. This driver can be used to
2915a56f9cSThomas Chou	  access the SPI NOR flash on platforms embedding this Altera
3015a56f9cSThomas Chou	  IP core. Please find details on the "Embedded Peripherals IP
3115a56f9cSThomas Chou	  User Guide" of Altera.
3215a56f9cSThomas Chou
33b85dc460SWills Wangconfig ATH79_SPI
34b85dc460SWills Wang	bool "Atheros SPI driver"
35b85dc460SWills Wang	depends on ARCH_ATH79
36b85dc460SWills Wang	help
37b85dc460SWills Wang	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
38b85dc460SWills Wang	  to access SPI NOR flash and other SPI peripherals. This driver
39b85dc460SWills Wang	  uses driver model and requires a device tree binding to operate.
40b85dc460SWills Wang	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
41b85dc460SWills Wang
420eafd4b7SWenyou Yangconfig ATMEL_SPI
430eafd4b7SWenyou Yang	bool "Atmel SPI driver"
440eafd4b7SWenyou Yang	depends on ARCH_AT91
450eafd4b7SWenyou Yang	help
460eafd4b7SWenyou Yang	  This enables driver for the Atmel SPI Controller, present on
47daab59acSAndy Shevchenko	  many AT91 (ARM) chips. This driver can be used to access
48daab59acSAndy Shevchenko	  the SPI Flash, such as AT25DF321.
490eafd4b7SWenyou Yang
50e4976af8SJagan Tekiconfig CADENCE_QSPI
51e4976af8SJagan Teki	bool "Cadence QSPI driver"
52e4976af8SJagan Teki	help
53e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
54e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
55e4976af8SJagan Teki	  Cadence IP core.
56e4976af8SJagan Teki
57e4976af8SJagan Tekiconfig DESIGNWARE_SPI
58e4976af8SJagan Teki	bool "Designware SPI driver"
59e4976af8SJagan Teki	help
60e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
61e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
62e4976af8SJagan Teki	  IP core.
63e4976af8SJagan Teki
64c354eee8SJagan Tekiconfig EXYNOS_SPI
65c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
66c354eee8SJagan Teki	help
67c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
68c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
69c354eee8SJagan Teki	  Exynos IP core.
70c354eee8SJagan Teki
7194ea308dSJagan Tekiconfig FSL_DSPI
7294ea308dSJagan Teki	bool "Freescale DSPI driver"
7394ea308dSJagan Teki	help
7494ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
7594ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
7694ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
7794ea308dSJagan Teki	  use this driver.
7894ea308dSJagan Teki
7945636010SJagan Tekiconfig ICH_SPI
8045636010SJagan Teki	bool "Intel ICH SPI driver"
8145636010SJagan Teki	help
8245636010SJagan Teki	  Enable the Intel ICH SPI driver. This driver can be used to
8345636010SJagan Teki	  access the SPI NOR flash on platforms embedding this Intel
8445636010SJagan Teki	  ICH IP core.
8545636010SJagan Teki
863fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI
873fda4ef3SStefan Roese	bool "Marvell Armada 3700 SPI driver"
883fda4ef3SStefan Roese	help
893fda4ef3SStefan Roese	  Enable the Marvell Armada 3700 SPI driver. This driver can be
903fda4ef3SStefan Roese	  used to access the SPI NOR flash on platforms embedding this
913fda4ef3SStefan Roese	  Marvell IP core.
923fda4ef3SStefan Roese
93e19b9004SPurna Chandra Mandalconfig PIC32_SPI
94e19b9004SPurna Chandra Mandal	bool "Microchip PIC32 SPI driver"
95e19b9004SPurna Chandra Mandal	depends on MACH_PIC32
96e19b9004SPurna Chandra Mandal	help
97e19b9004SPurna Chandra Mandal	  Enable the Microchip PIC32 SPI driver. This driver can be used
98e19b9004SPurna Chandra Mandal	  to access the SPI NOR flash, MMC-over-SPI on platforms based on
99e19b9004SPurna Chandra Mandal	  Microchip PIC32 family devices.
100e19b9004SPurna Chandra Mandal
1011b2fd5bfSSimon Glassconfig ROCKCHIP_SPI
1021b2fd5bfSSimon Glass	bool "Rockchip SPI driver"
1031b2fd5bfSSimon Glass	help
1041b2fd5bfSSimon Glass	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
1051b2fd5bfSSimon Glass	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
1061b2fd5bfSSimon Glass	  This uses driver model and requires a device tree binding to
1071b2fd5bfSSimon Glass	  operate.
1081b2fd5bfSSimon Glass
109c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC
110c1cd6cb6SAndy Yan	bool "Rockchip SFC driver"
111c1cd6cb6SAndy Yan	help
112c1cd6cb6SAndy Yan	  Enable the Rockchip SFC driver, used to access SPI NOR flash
113c1cd6cb6SAndy Yan	  on Rockchip SoCs.
114c1cd6cb6SAndy Yan	  This uses driver model and requires a device tree binding to
115c1cd6cb6SAndy Yan	  operate.
116c1cd6cb6SAndy Yan
117892cac72SSimon Glassconfig SANDBOX_SPI
118892cac72SSimon Glass	bool "Sandbox SPI driver"
119892cac72SSimon Glass	depends on SANDBOX && DM
120892cac72SSimon Glass	help
121892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
122892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
123892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
124892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
125892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
126892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
127892cac72SSimon Glass
128892cac72SSimon Glass	  spi@0 {
129892cac72SSimon Glass		#address-cells = <1>;
130892cac72SSimon Glass		#size-cells = <0>;
131892cac72SSimon Glass		reg = <0>;
132892cac72SSimon Glass		compatible = "sandbox,spi";
133892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
134892cac72SSimon Glass		flash@0 {
135892cac72SSimon Glass			reg = <0>;
136892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
137892cac72SSimon Glass			spi-max-frequency = <40000000>;
138892cac72SSimon Glass			sandbox,filename = "spi.bin";
139892cac72SSimon Glass		};
140892cac72SSimon Glass	  };
14167d7a9d6SMarek Vasut
142d4363baaSMichael Kurzconfig STM32_QSPI
143d4363baaSMichael Kurz	bool "STM32F7 QSPI driver"
144d4363baaSMichael Kurz	depends on STM32F7
145d4363baaSMichael Kurz	help
146d4363baaSMichael Kurz	  Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
147d4363baaSMichael Kurz	  used to access the SPI NOR flash chips on platforms embedding
148d4363baaSMichael Kurz	  this ST IP core.
149d4363baaSMichael Kurz
1505bf9a2d3SJagan Tekiconfig TEGRA114_SPI
1515bf9a2d3SJagan Teki	bool "nVidia Tegra114 SPI driver"
1525bf9a2d3SJagan Teki	help
1535bf9a2d3SJagan Teki	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
1545bf9a2d3SJagan Teki	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
1555bf9a2d3SJagan Teki	  IP core.
1565bf9a2d3SJagan Teki
1575bf9a2d3SJagan Teki	  This controller is different than the older SoCs SPI controller and
1585bf9a2d3SJagan Teki	  also register interface get changed with this controller.
1595bf9a2d3SJagan Teki
1602f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH
1612f3e6f8cSJagan Teki	bool "nVidia Tegra20 Serial Flash controller driver"
1622f3e6f8cSJagan Teki	help
1632f3e6f8cSJagan Teki	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
1642f3e6f8cSJagan Teki	  can be used to access the SPI NOR flash on platforms embedding this
1652f3e6f8cSJagan Teki	  nVidia Tegra20 IP core.
1662f3e6f8cSJagan Teki
1674495830cSJagan Tekiconfig TEGRA20_SLINK
1684495830cSJagan Teki	bool "nVidia Tegra20/Tegra30 SLINK driver"
1694495830cSJagan Teki	help
1704495830cSJagan Teki	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
1714495830cSJagan Teki	  be used to access the SPI NOR flash on platforms embedding this
1724495830cSJagan Teki	  nVidia Tegra20/Tegra30 IP cores.
1734495830cSJagan Teki
1744e675ff2STom Warrenconfig TEGRA210_QSPI
1754e675ff2STom Warren	bool "nVidia Tegra210 QSPI driver"
1764e675ff2STom Warren	help
1774e675ff2STom Warren	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
1784e675ff2STom Warren	  be used to access SPI chips on platforms embedding this
1794e675ff2STom Warren	  NVIDIA Tegra210 IP core.
1804e675ff2STom Warren
181075143d3SJagan Tekiconfig XILINX_SPI
182075143d3SJagan Teki	bool "Xilinx SPI driver"
183075143d3SJagan Teki	help
184075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
185075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
186075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
187075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
188075143d3SJagan Teki
189df30a425SJagan Tekiconfig ZYNQ_SPI
190df30a425SJagan Teki	bool "Zynq SPI driver"
1918e4920e5SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP
192df30a425SJagan Teki	help
193df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
194df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
195df30a425SJagan Teki	  SPI IP core.
196de823053SJagan Teki
19778a025acSJagan Tekiconfig ZYNQ_QSPI
19878a025acSJagan Teki	bool "Zynq QSPI driver"
19978a025acSJagan Teki	depends on ARCH_ZYNQ
20078a025acSJagan Teki	help
20178a025acSJagan Teki	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
20278a025acSJagan Teki	  used to access the SPI NOR flash on platforms embedding this
20378a025acSJagan Teki	  Zynq QSPI IP core. This IP is used to connect the flash in
20478a025acSJagan Teki	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
20578a025acSJagan Teki
206e4976af8SJagan Tekiendif # if DM_SPI
207e4976af8SJagan Teki
20841eb8ff5SPeng Fanconfig SOFT_SPI
20941eb8ff5SPeng Fan	bool "Soft SPI driver"
21041eb8ff5SPeng Fan	help
21141eb8ff5SPeng Fan	 Enable Soft SPI driver. This driver is to use GPIO simulate
21241eb8ff5SPeng Fan	 the SPI protocol.
21341eb8ff5SPeng Fan
2143debffa7SJagan Tekiconfig FSL_ESPI
2153debffa7SJagan Teki	bool "Freescale eSPI driver"
2163debffa7SJagan Teki	help
2173debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
2183debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
2193debffa7SJagan Teki	  this Freescale eSPI IP core.
2203debffa7SJagan Teki
22121b1dd18SJagan Tekiconfig FSL_QSPI
22221b1dd18SJagan Teki	bool "Freescale QSPI driver"
22321b1dd18SJagan Teki	help
22421b1dd18SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
22521b1dd18SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
22621b1dd18SJagan Teki	  Freescale IP core.
22721b1dd18SJagan Teki
228e4976af8SJagan Tekiconfig TI_QSPI
229e4976af8SJagan Teki	bool "TI QSPI driver"
230e4976af8SJagan Teki	help
231e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
232e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
233e4976af8SJagan Teki
234f88c431bSChristophe Leroyconfig MPC8XX_SPI
235f88c431bSChristophe Leroy	bool "MPC8XX SPI Driver"
236f88c431bSChristophe Leroy	depends on 8xx
237f88c431bSChristophe Leroy	help
238f88c431bSChristophe Leroy	  Enable support for SPI on MPC8XX
239f88c431bSChristophe Leroy
240a41e3e14SAdam Fordconfig OMAP3_SPI
241a41e3e14SAdam Ford	bool "McSPI driver for OMAP"
242a41e3e14SAdam Ford	help
243a41e3e14SAdam Ford	  SPI master controller for OMAP24XX and later Multichannel SPI
244a41e3e14SAdam Ford	  (McSPI). This driver be used to access SPI chips on platforms
245a41e3e14SAdam Ford	  embedding this OMAP3 McSPI IP core.
246a41e3e14SAdam Ford
247de823053SJagan Tekiendmenu # menu "SPI Support"
248