xref: /rk3399_rockchip-uboot/drivers/spi/Kconfig (revision 87e4c6020eff05133e40ab8b7b0e37e6a2be37e4)
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
16967efcaeSBoris Brezillonconfig SPI_MEM
17967efcaeSBoris Brezillon	bool "SPI memory extension"
18967efcaeSBoris Brezillon	help
19967efcaeSBoris Brezillon	  Enable this option if you want to enable the SPI memory extension.
20967efcaeSBoris Brezillon	  This extension is meant to simplify interaction with SPI memories
21967efcaeSBoris Brezillon	  by providing an high-level interface to send memory-like commands.
22967efcaeSBoris Brezillon
2395d92f58SVignesh Rif DM_SPI
2495d92f58SVignesh R
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
330d17c3dfSJagan Tekiconfig ATCSPI200_SPI
340d17c3dfSJagan Teki	bool "Andestech ATCSPI200 SPI driver"
350d17c3dfSJagan Teki	help
360d17c3dfSJagan Teki	  Enable the Andestech ATCSPI200 SPI driver. This driver can be
370d17c3dfSJagan Teki	  used to access the SPI flash on AE3XX and AE250 platforms embedding
380d17c3dfSJagan Teki	  this Andestech IP core.
390d17c3dfSJagan Teki
40b85dc460SWills Wangconfig ATH79_SPI
41b85dc460SWills Wang	bool "Atheros SPI driver"
42b85dc460SWills Wang	depends on ARCH_ATH79
43b85dc460SWills Wang	help
44b85dc460SWills Wang	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
45b85dc460SWills Wang	  to access SPI NOR flash and other SPI peripherals. This driver
46b85dc460SWills Wang	  uses driver model and requires a device tree binding to operate.
47b85dc460SWills Wang	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
48b85dc460SWills Wang
490eafd4b7SWenyou Yangconfig ATMEL_SPI
500eafd4b7SWenyou Yang	bool "Atmel SPI driver"
51f92621cfSJagan Teki	default y if ARCH_AT91
520eafd4b7SWenyou Yang	help
530eafd4b7SWenyou Yang	  This enables driver for the Atmel SPI Controller, present on
54daab59acSAndy Shevchenko	  many AT91 (ARM) chips. This driver can be used to access
55daab59acSAndy Shevchenko	  the SPI Flash, such as AT25DF321.
560eafd4b7SWenyou Yang
574bb24893SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI
584bb24893SÁlvaro Fernández Rojas	bool "BCM63XX HSSPI driver"
594bb24893SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
604bb24893SÁlvaro Fernández Rojas	help
614bb24893SÁlvaro Fernández Rojas	  Enable the BCM6328 HSSPI driver. This driver can be used to
624bb24893SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding this Broadcom
634bb24893SÁlvaro Fernández Rojas	  SPI core.
644bb24893SÁlvaro Fernández Rojas
65c2d012f9SÁlvaro Fernández Rojasconfig BCM63XX_SPI
66c2d012f9SÁlvaro Fernández Rojas	bool "BCM6348 SPI driver"
67c2d012f9SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
68c2d012f9SÁlvaro Fernández Rojas	help
69c2d012f9SÁlvaro Fernández Rojas	  Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
70c2d012f9SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding these Broadcom
71c2d012f9SÁlvaro Fernández Rojas	  SPI cores.
72c2d012f9SÁlvaro Fernández Rojas
73e4976af8SJagan Tekiconfig CADENCE_QSPI
74e4976af8SJagan Teki	bool "Cadence QSPI driver"
75e4976af8SJagan Teki	help
76e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
77e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
78e4976af8SJagan Teki	  Cadence IP core.
79e4976af8SJagan Teki
80e4976af8SJagan Tekiconfig DESIGNWARE_SPI
81e4976af8SJagan Teki	bool "Designware SPI driver"
82e4976af8SJagan Teki	help
83e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
84e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
85e4976af8SJagan Teki	  IP core.
86e4976af8SJagan Teki
87c354eee8SJagan Tekiconfig EXYNOS_SPI
88c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
89c354eee8SJagan Teki	help
90c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
91c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
92c354eee8SJagan Teki	  Exynos IP core.
93c354eee8SJagan Teki
9494ea308dSJagan Tekiconfig FSL_DSPI
9594ea308dSJagan Teki	bool "Freescale DSPI driver"
9694ea308dSJagan Teki	help
9794ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
9894ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
9994ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
10094ea308dSJagan Teki	  use this driver.
10194ea308dSJagan Teki
10245636010SJagan Tekiconfig ICH_SPI
10345636010SJagan Teki	bool "Intel ICH SPI driver"
10445636010SJagan Teki	help
10545636010SJagan Teki	  Enable the Intel ICH SPI driver. This driver can be used to
10645636010SJagan Teki	  access the SPI NOR flash on platforms embedding this Intel
10745636010SJagan Teki	  ICH IP core.
10845636010SJagan Teki
1093fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI
1103fda4ef3SStefan Roese	bool "Marvell Armada 3700 SPI driver"
1113fda4ef3SStefan Roese	help
1123fda4ef3SStefan Roese	  Enable the Marvell Armada 3700 SPI driver. This driver can be
1133fda4ef3SStefan Roese	  used to access the SPI NOR flash on platforms embedding this
1143fda4ef3SStefan Roese	  Marvell IP core.
1153fda4ef3SStefan Roese
116e19b9004SPurna Chandra Mandalconfig PIC32_SPI
117e19b9004SPurna Chandra Mandal	bool "Microchip PIC32 SPI driver"
118e19b9004SPurna Chandra Mandal	depends on MACH_PIC32
119e19b9004SPurna Chandra Mandal	help
120e19b9004SPurna Chandra Mandal	  Enable the Microchip PIC32 SPI driver. This driver can be used
121e19b9004SPurna Chandra Mandal	  to access the SPI NOR flash, MMC-over-SPI on platforms based on
122e19b9004SPurna Chandra Mandal	  Microchip PIC32 family devices.
123e19b9004SPurna Chandra Mandal
1241b2fd5bfSSimon Glassconfig ROCKCHIP_SPI
1251b2fd5bfSSimon Glass	bool "Rockchip SPI driver"
1261b2fd5bfSSimon Glass	help
1271b2fd5bfSSimon Glass	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
1281b2fd5bfSSimon Glass	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
1291b2fd5bfSSimon Glass	  This uses driver model and requires a device tree binding to
1301b2fd5bfSSimon Glass	  operate.
1311b2fd5bfSSimon Glass
132c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC
133c1cd6cb6SAndy Yan	bool "Rockchip SFC driver"
134c1cd6cb6SAndy Yan	help
135c1cd6cb6SAndy Yan	  Enable the Rockchip SFC driver, used to access SPI NOR flash
136c1cd6cb6SAndy Yan	  on Rockchip SoCs.
137c1cd6cb6SAndy Yan	  This uses driver model and requires a device tree binding to
138c1cd6cb6SAndy Yan	  operate.
139c1cd6cb6SAndy Yan
140892cac72SSimon Glassconfig SANDBOX_SPI
141892cac72SSimon Glass	bool "Sandbox SPI driver"
142892cac72SSimon Glass	depends on SANDBOX && DM
143892cac72SSimon Glass	help
144892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
145892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
146892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
147892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
148892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
149892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
150892cac72SSimon Glass
151892cac72SSimon Glass	  spi@0 {
152892cac72SSimon Glass		#address-cells = <1>;
153892cac72SSimon Glass		#size-cells = <0>;
154892cac72SSimon Glass		reg = <0>;
155892cac72SSimon Glass		compatible = "sandbox,spi";
156892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
157892cac72SSimon Glass		flash@0 {
158892cac72SSimon Glass			reg = <0>;
159892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
160892cac72SSimon Glass			spi-max-frequency = <40000000>;
161892cac72SSimon Glass			sandbox,filename = "spi.bin";
162892cac72SSimon Glass		};
163892cac72SSimon Glass	  };
16467d7a9d6SMarek Vasut
165d4363baaSMichael Kurzconfig STM32_QSPI
166d4363baaSMichael Kurz	bool "STM32F7 QSPI driver"
167d4363baaSMichael Kurz	depends on STM32F7
168d4363baaSMichael Kurz	help
169d4363baaSMichael Kurz	  Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
170d4363baaSMichael Kurz	  used to access the SPI NOR flash chips on platforms embedding
171d4363baaSMichael Kurz	  this ST IP core.
172d4363baaSMichael Kurz
1735bf9a2d3SJagan Tekiconfig TEGRA114_SPI
1745bf9a2d3SJagan Teki	bool "nVidia Tegra114 SPI driver"
1755bf9a2d3SJagan Teki	help
1765bf9a2d3SJagan Teki	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
1775bf9a2d3SJagan Teki	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
1785bf9a2d3SJagan Teki	  IP core.
1795bf9a2d3SJagan Teki
1805bf9a2d3SJagan Teki	  This controller is different than the older SoCs SPI controller and
1815bf9a2d3SJagan Teki	  also register interface get changed with this controller.
1825bf9a2d3SJagan Teki
1832f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH
1842f3e6f8cSJagan Teki	bool "nVidia Tegra20 Serial Flash controller driver"
1852f3e6f8cSJagan Teki	help
1862f3e6f8cSJagan Teki	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
1872f3e6f8cSJagan Teki	  can be used to access the SPI NOR flash on platforms embedding this
1882f3e6f8cSJagan Teki	  nVidia Tegra20 IP core.
1892f3e6f8cSJagan Teki
1904495830cSJagan Tekiconfig TEGRA20_SLINK
1914495830cSJagan Teki	bool "nVidia Tegra20/Tegra30 SLINK driver"
1924495830cSJagan Teki	help
1934495830cSJagan Teki	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
1944495830cSJagan Teki	  be used to access the SPI NOR flash on platforms embedding this
1954495830cSJagan Teki	  nVidia Tegra20/Tegra30 IP cores.
1964495830cSJagan Teki
1974e675ff2STom Warrenconfig TEGRA210_QSPI
1984e675ff2STom Warren	bool "nVidia Tegra210 QSPI driver"
1994e675ff2STom Warren	help
2004e675ff2STom Warren	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
2014e675ff2STom Warren	  be used to access SPI chips on platforms embedding this
2024e675ff2STom Warren	  NVIDIA Tegra210 IP core.
2034e675ff2STom Warren
204075143d3SJagan Tekiconfig XILINX_SPI
205075143d3SJagan Teki	bool "Xilinx SPI driver"
206075143d3SJagan Teki	help
207075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
208075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
209075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
210075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
211075143d3SJagan Teki
212df30a425SJagan Tekiconfig ZYNQ_SPI
213df30a425SJagan Teki	bool "Zynq SPI driver"
2148e4920e5SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP
215df30a425SJagan Teki	help
216df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
217df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
218df30a425SJagan Teki	  SPI IP core.
219de823053SJagan Teki
22078a025acSJagan Tekiconfig ZYNQ_QSPI
22178a025acSJagan Teki	bool "Zynq QSPI driver"
22278a025acSJagan Teki	depends on ARCH_ZYNQ
22378a025acSJagan Teki	help
22478a025acSJagan Teki	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
22578a025acSJagan Teki	  used to access the SPI NOR flash on platforms embedding this
22678a025acSJagan Teki	  Zynq QSPI IP core. This IP is used to connect the flash in
22778a025acSJagan Teki	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
22878a025acSJagan Teki
229e4976af8SJagan Tekiendif # if DM_SPI
230e4976af8SJagan Teki
23141eb8ff5SPeng Fanconfig SOFT_SPI
23241eb8ff5SPeng Fan	bool "Soft SPI driver"
23341eb8ff5SPeng Fan	help
23441eb8ff5SPeng Fan	 Enable Soft SPI driver. This driver is to use GPIO simulate
23541eb8ff5SPeng Fan	 the SPI protocol.
23641eb8ff5SPeng Fan
237845f53cfSTuomas Tynkkynenconfig CF_SPI
238845f53cfSTuomas Tynkkynen	bool "ColdFire SPI driver"
239845f53cfSTuomas Tynkkynen	help
240845f53cfSTuomas Tynkkynen	  Enable the ColdFire SPI driver. This driver can be used on
241845f53cfSTuomas Tynkkynen	  some m68k SoCs.
242845f53cfSTuomas Tynkkynen
2433debffa7SJagan Tekiconfig FSL_ESPI
2443debffa7SJagan Teki	bool "Freescale eSPI driver"
2453debffa7SJagan Teki	help
2463debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
2473debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
2483debffa7SJagan Teki	  this Freescale eSPI IP core.
2493debffa7SJagan Teki
25021b1dd18SJagan Tekiconfig FSL_QSPI
25121b1dd18SJagan Teki	bool "Freescale QSPI driver"
25221b1dd18SJagan Teki	help
25321b1dd18SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
25421b1dd18SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
25521b1dd18SJagan Teki	  Freescale IP core.
25621b1dd18SJagan Teki
2572b9d6da4SAdam Fordconfig DAVINCI_SPI
2582b9d6da4SAdam Ford	bool "Davinci & Keystone SPI driver"
2592b9d6da4SAdam Ford	depends on ARCH_DAVINCI || ARCH_KEYSTONE
2602b9d6da4SAdam Ford	help
2612b9d6da4SAdam Ford	  Enable the Davinci SPI driver
2622b9d6da4SAdam Ford
26399c18490STuomas Tynkkynenconfig SH_SPI
26499c18490STuomas Tynkkynen	bool "SuperH SPI driver"
26599c18490STuomas Tynkkynen	help
26699c18490STuomas Tynkkynen	  Enable the SuperH SPI controller driver. This driver can be used
26799c18490STuomas Tynkkynen	  on various SuperH SoCs, such as SH7757.
26899c18490STuomas Tynkkynen
2693ad77667STuomas Tynkkynenconfig SH_QSPI
2703ad77667STuomas Tynkkynen	bool "Renesas Quad SPI driver"
2713ad77667STuomas Tynkkynen	help
2723ad77667STuomas Tynkkynen	  Enable the Renesas Quad SPI controller driver. This driver can be
2733ad77667STuomas Tynkkynen	  used on Renesas SoCs.
2743ad77667STuomas Tynkkynen
275e4976af8SJagan Tekiconfig TI_QSPI
276e4976af8SJagan Teki	bool "TI QSPI driver"
277e4976af8SJagan Teki	help
278e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
279e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
280e4976af8SJagan Teki
2815932b8bcSTuomas Tynkkynenconfig KIRKWOOD_SPI
2825932b8bcSTuomas Tynkkynen	bool "Marvell Kirkwood SPI Driver"
2835932b8bcSTuomas Tynkkynen	help
2845932b8bcSTuomas Tynkkynen	  Enable support for SPI on various Marvell SoCs, such as
2855932b8bcSTuomas Tynkkynen	  Kirkwood and Armada 375.
2865932b8bcSTuomas Tynkkynen
287a1f9e12aSTuomas Tynkkynenconfig LPC32XX_SSP
288a1f9e12aSTuomas Tynkkynen	bool "LPC32XX SPI Driver"
289a1f9e12aSTuomas Tynkkynen	help
290a1f9e12aSTuomas Tynkkynen	  Enable support for SPI on LPC32xx
291a1f9e12aSTuomas Tynkkynen
292f88c431bSChristophe Leroyconfig MPC8XX_SPI
293f88c431bSChristophe Leroy	bool "MPC8XX SPI Driver"
294*87e4c602SChristophe Leroy	depends on MPC8xx
295f88c431bSChristophe Leroy	help
296f88c431bSChristophe Leroy	  Enable support for SPI on MPC8XX
297f88c431bSChristophe Leroy
298cb909354STuomas Tynkkynenconfig MPC8XXX_SPI
299cb909354STuomas Tynkkynen	bool "MPC8XXX SPI Driver"
300cb909354STuomas Tynkkynen	help
301cb909354STuomas Tynkkynen	  Enable support for SPI on the MPC8XXX PowerPC SoCs.
302cb909354STuomas Tynkkynen
303cb909354STuomas Tynkkynenconfig MXC_SPI
304cb909354STuomas Tynkkynen	bool "MXC SPI Driver"
305cb909354STuomas Tynkkynen	help
306cb909354STuomas Tynkkynen	  Enable the MXC SPI controller driver. This driver can be used
307cb909354STuomas Tynkkynen	  on various i.MX SoCs such as i.MX31/35/51/6/7.
308cb909354STuomas Tynkkynen
309d851477aSTuomas Tynkkynenconfig MXS_SPI
310d851477aSTuomas Tynkkynen	bool "MXS SPI Driver"
311d851477aSTuomas Tynkkynen	help
312d851477aSTuomas Tynkkynen	  Enable the MXS SPI controller driver. This driver can be used
313d851477aSTuomas Tynkkynen	  on the i.MX23 and i.MX28 SoCs.
314d851477aSTuomas Tynkkynen
315a41e3e14SAdam Fordconfig OMAP3_SPI
316a41e3e14SAdam Ford	bool "McSPI driver for OMAP"
317a41e3e14SAdam Ford	help
318a41e3e14SAdam Ford	  SPI master controller for OMAP24XX and later Multichannel SPI
319a41e3e14SAdam Ford	  (McSPI). This driver be used to access SPI chips on platforms
320a41e3e14SAdam Ford	  embedding this OMAP3 McSPI IP core.
321a41e3e14SAdam Ford
322de823053SJagan Tekiendmenu # menu "SPI Support"
323