xref: /rk3399_rockchip-uboot/drivers/spi/Kconfig (revision 1490eb89f4697b02cfb8f826d2f5eaf37edcbd47)
1*1490eb89SAdam Fordmenuconfig SPI
2*1490eb89SAdam Ford	bool "SPI Support"
3*1490eb89SAdam Ford
4*1490eb89SAdam Fordif SPI
5de823053SJagan Teki
6da333ae7SMasahiro Yamadaconfig DM_SPI
7da333ae7SMasahiro Yamada	bool "Enable Driver Model for SPI drivers"
8da333ae7SMasahiro Yamada	depends on DM
9da333ae7SMasahiro Yamada	help
10f94a1bedSSimon Glass	  Enable driver model for SPI. The SPI slave interface
11f94a1bedSSimon Glass	  (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
12f94a1bedSSimon Glass	  the SPI uclass. Drivers provide methods to access the SPI
13f94a1bedSSimon Glass	  buses that they control. The uclass interface is defined in
14f94a1bedSSimon Glass	  include/spi.h. The existing spi_slave structure is attached
15f94a1bedSSimon Glass	  as 'parent data' to every slave on each bus. Slaves
16f94a1bedSSimon Glass	  typically use driver-private data instead of extending the
17f94a1bedSSimon Glass	  spi_slave structure.
18892cac72SSimon Glass
19967efcaeSBoris Brezillonconfig SPI_MEM
20967efcaeSBoris Brezillon	bool "SPI memory extension"
21967efcaeSBoris Brezillon	help
22967efcaeSBoris Brezillon	  Enable this option if you want to enable the SPI memory extension.
23967efcaeSBoris Brezillon	  This extension is meant to simplify interaction with SPI memories
24967efcaeSBoris Brezillon	  by providing an high-level interface to send memory-like commands.
25967efcaeSBoris Brezillon
2695d92f58SVignesh Rif DM_SPI
2795d92f58SVignesh R
2815a56f9cSThomas Chouconfig ALTERA_SPI
2915a56f9cSThomas Chou	bool "Altera SPI driver"
3015a56f9cSThomas Chou	help
3115a56f9cSThomas Chou	  Enable the Altera SPI driver. This driver can be used to
3215a56f9cSThomas Chou	  access the SPI NOR flash on platforms embedding this Altera
3315a56f9cSThomas Chou	  IP core. Please find details on the "Embedded Peripherals IP
3415a56f9cSThomas Chou	  User Guide" of Altera.
3515a56f9cSThomas Chou
360d17c3dfSJagan Tekiconfig ATCSPI200_SPI
370d17c3dfSJagan Teki	bool "Andestech ATCSPI200 SPI driver"
380d17c3dfSJagan Teki	help
390d17c3dfSJagan Teki	  Enable the Andestech ATCSPI200 SPI driver. This driver can be
400d17c3dfSJagan Teki	  used to access the SPI flash on AE3XX and AE250 platforms embedding
410d17c3dfSJagan Teki	  this Andestech IP core.
420d17c3dfSJagan Teki
43b85dc460SWills Wangconfig ATH79_SPI
44b85dc460SWills Wang	bool "Atheros SPI driver"
45b85dc460SWills Wang	depends on ARCH_ATH79
46b85dc460SWills Wang	help
47b85dc460SWills Wang	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
48b85dc460SWills Wang	  to access SPI NOR flash and other SPI peripherals. This driver
49b85dc460SWills Wang	  uses driver model and requires a device tree binding to operate.
50b85dc460SWills Wang	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
51b85dc460SWills Wang
520eafd4b7SWenyou Yangconfig ATMEL_SPI
530eafd4b7SWenyou Yang	bool "Atmel SPI driver"
54f92621cfSJagan Teki	default y if ARCH_AT91
550eafd4b7SWenyou Yang	help
560eafd4b7SWenyou Yang	  This enables driver for the Atmel SPI Controller, present on
57daab59acSAndy Shevchenko	  many AT91 (ARM) chips. This driver can be used to access
58daab59acSAndy Shevchenko	  the SPI Flash, such as AT25DF321.
590eafd4b7SWenyou Yang
604bb24893SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI
614bb24893SÁlvaro Fernández Rojas	bool "BCM63XX HSSPI driver"
624bb24893SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
634bb24893SÁlvaro Fernández Rojas	help
644bb24893SÁlvaro Fernández Rojas	  Enable the BCM6328 HSSPI driver. This driver can be used to
654bb24893SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding this Broadcom
664bb24893SÁlvaro Fernández Rojas	  SPI core.
674bb24893SÁlvaro Fernández Rojas
68c2d012f9SÁlvaro Fernández Rojasconfig BCM63XX_SPI
69c2d012f9SÁlvaro Fernández Rojas	bool "BCM6348 SPI driver"
70c2d012f9SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
71c2d012f9SÁlvaro Fernández Rojas	help
72c2d012f9SÁlvaro Fernández Rojas	  Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
73c2d012f9SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding these Broadcom
74c2d012f9SÁlvaro Fernández Rojas	  SPI cores.
75c2d012f9SÁlvaro Fernández Rojas
76e4976af8SJagan Tekiconfig CADENCE_QSPI
77e4976af8SJagan Teki	bool "Cadence QSPI driver"
78e4976af8SJagan Teki	help
79e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
80e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
81e4976af8SJagan Teki	  Cadence IP core.
82e4976af8SJagan Teki
83e4976af8SJagan Tekiconfig DESIGNWARE_SPI
84e4976af8SJagan Teki	bool "Designware SPI driver"
85e4976af8SJagan Teki	help
86e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
87e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
88e4976af8SJagan Teki	  IP core.
89e4976af8SJagan Teki
90c354eee8SJagan Tekiconfig EXYNOS_SPI
91c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
92c354eee8SJagan Teki	help
93c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
94c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
95c354eee8SJagan Teki	  Exynos IP core.
96c354eee8SJagan Teki
9794ea308dSJagan Tekiconfig FSL_DSPI
9894ea308dSJagan Teki	bool "Freescale DSPI driver"
9994ea308dSJagan Teki	help
10094ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
10194ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
10294ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
10394ea308dSJagan Teki	  use this driver.
10494ea308dSJagan Teki
10545636010SJagan Tekiconfig ICH_SPI
10645636010SJagan Teki	bool "Intel ICH SPI driver"
10745636010SJagan Teki	help
10845636010SJagan Teki	  Enable the Intel ICH SPI driver. This driver can be used to
10945636010SJagan Teki	  access the SPI NOR flash on platforms embedding this Intel
11045636010SJagan Teki	  ICH IP core.
11145636010SJagan Teki
1123fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI
1133fda4ef3SStefan Roese	bool "Marvell Armada 3700 SPI driver"
1143fda4ef3SStefan Roese	help
1153fda4ef3SStefan Roese	  Enable the Marvell Armada 3700 SPI driver. This driver can be
1163fda4ef3SStefan Roese	  used to access the SPI NOR flash on platforms embedding this
1173fda4ef3SStefan Roese	  Marvell IP core.
1183fda4ef3SStefan Roese
119e19b9004SPurna Chandra Mandalconfig PIC32_SPI
120e19b9004SPurna Chandra Mandal	bool "Microchip PIC32 SPI driver"
121e19b9004SPurna Chandra Mandal	depends on MACH_PIC32
122e19b9004SPurna Chandra Mandal	help
123e19b9004SPurna Chandra Mandal	  Enable the Microchip PIC32 SPI driver. This driver can be used
124e19b9004SPurna Chandra Mandal	  to access the SPI NOR flash, MMC-over-SPI on platforms based on
125e19b9004SPurna Chandra Mandal	  Microchip PIC32 family devices.
126e19b9004SPurna Chandra Mandal
1275d78ea08SMarek Vasutconfig RENESAS_RPC_SPI
1285d78ea08SMarek Vasut	bool "Renesas RPC SPI driver"
1295d78ea08SMarek Vasut	depends on RCAR_GEN3
1305d78ea08SMarek Vasut	help
1315d78ea08SMarek Vasut	  Enable the Renesas RPC SPI driver, used to access SPI NOR flash
1325d78ea08SMarek Vasut	  on Renesas RCar Gen3 SoCs. This uses driver model and requires a
1335d78ea08SMarek Vasut	  device tree binding to operate.
1345d78ea08SMarek Vasut
1351b2fd5bfSSimon Glassconfig ROCKCHIP_SPI
1361b2fd5bfSSimon Glass	bool "Rockchip SPI driver"
1371b2fd5bfSSimon Glass	help
1381b2fd5bfSSimon Glass	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
1391b2fd5bfSSimon Glass	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
1401b2fd5bfSSimon Glass	  This uses driver model and requires a device tree binding to
1411b2fd5bfSSimon Glass	  operate.
1421b2fd5bfSSimon Glass
143c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC
144c1cd6cb6SAndy Yan	bool "Rockchip SFC driver"
145c1cd6cb6SAndy Yan	help
146c1cd6cb6SAndy Yan	  Enable the Rockchip SFC driver, used to access SPI NOR flash
147c1cd6cb6SAndy Yan	  on Rockchip SoCs.
148c1cd6cb6SAndy Yan	  This uses driver model and requires a device tree binding to
149c1cd6cb6SAndy Yan	  operate.
150c1cd6cb6SAndy Yan
151892cac72SSimon Glassconfig SANDBOX_SPI
152892cac72SSimon Glass	bool "Sandbox SPI driver"
153892cac72SSimon Glass	depends on SANDBOX && DM
154892cac72SSimon Glass	help
155892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
156892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
157892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
158892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
159892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
160892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
161892cac72SSimon Glass
162892cac72SSimon Glass	  spi@0 {
163892cac72SSimon Glass		#address-cells = <1>;
164892cac72SSimon Glass		#size-cells = <0>;
165892cac72SSimon Glass		reg = <0>;
166892cac72SSimon Glass		compatible = "sandbox,spi";
167892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
168892cac72SSimon Glass		flash@0 {
169892cac72SSimon Glass			reg = <0>;
170892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
171892cac72SSimon Glass			spi-max-frequency = <40000000>;
172892cac72SSimon Glass			sandbox,filename = "spi.bin";
173892cac72SSimon Glass		};
174892cac72SSimon Glass	  };
17567d7a9d6SMarek Vasut
176d4363baaSMichael Kurzconfig STM32_QSPI
177d4363baaSMichael Kurz	bool "STM32F7 QSPI driver"
178d4363baaSMichael Kurz	depends on STM32F7
179d4363baaSMichael Kurz	help
180d4363baaSMichael Kurz	  Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
181d4363baaSMichael Kurz	  used to access the SPI NOR flash chips on platforms embedding
182d4363baaSMichael Kurz	  this ST IP core.
183d4363baaSMichael Kurz
1845bf9a2d3SJagan Tekiconfig TEGRA114_SPI
1855bf9a2d3SJagan Teki	bool "nVidia Tegra114 SPI driver"
1865bf9a2d3SJagan Teki	help
1875bf9a2d3SJagan Teki	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
1885bf9a2d3SJagan Teki	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
1895bf9a2d3SJagan Teki	  IP core.
1905bf9a2d3SJagan Teki
1915bf9a2d3SJagan Teki	  This controller is different than the older SoCs SPI controller and
1925bf9a2d3SJagan Teki	  also register interface get changed with this controller.
1935bf9a2d3SJagan Teki
1942f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH
1952f3e6f8cSJagan Teki	bool "nVidia Tegra20 Serial Flash controller driver"
1962f3e6f8cSJagan Teki	help
1972f3e6f8cSJagan Teki	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
1982f3e6f8cSJagan Teki	  can be used to access the SPI NOR flash on platforms embedding this
1992f3e6f8cSJagan Teki	  nVidia Tegra20 IP core.
2002f3e6f8cSJagan Teki
2014495830cSJagan Tekiconfig TEGRA20_SLINK
2024495830cSJagan Teki	bool "nVidia Tegra20/Tegra30 SLINK driver"
2034495830cSJagan Teki	help
2044495830cSJagan Teki	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
2054495830cSJagan Teki	  be used to access the SPI NOR flash on platforms embedding this
2064495830cSJagan Teki	  nVidia Tegra20/Tegra30 IP cores.
2074495830cSJagan Teki
2084e675ff2STom Warrenconfig TEGRA210_QSPI
2094e675ff2STom Warren	bool "nVidia Tegra210 QSPI driver"
2104e675ff2STom Warren	help
2114e675ff2STom Warren	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
2124e675ff2STom Warren	  be used to access SPI chips on platforms embedding this
2134e675ff2STom Warren	  NVIDIA Tegra210 IP core.
2144e675ff2STom Warren
215075143d3SJagan Tekiconfig XILINX_SPI
216075143d3SJagan Teki	bool "Xilinx SPI driver"
217075143d3SJagan Teki	help
218075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
219075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
220075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
221075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
222075143d3SJagan Teki
223df30a425SJagan Tekiconfig ZYNQ_SPI
224df30a425SJagan Teki	bool "Zynq SPI driver"
2258e4920e5SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP
226df30a425SJagan Teki	help
227df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
228df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
229df30a425SJagan Teki	  SPI IP core.
230de823053SJagan Teki
23178a025acSJagan Tekiconfig ZYNQ_QSPI
23278a025acSJagan Teki	bool "Zynq QSPI driver"
23378a025acSJagan Teki	depends on ARCH_ZYNQ
23478a025acSJagan Teki	help
23578a025acSJagan Teki	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
23678a025acSJagan Teki	  used to access the SPI NOR flash on platforms embedding this
23778a025acSJagan Teki	  Zynq QSPI IP core. This IP is used to connect the flash in
23878a025acSJagan Teki	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
23978a025acSJagan Teki
240e4976af8SJagan Tekiendif # if DM_SPI
241e4976af8SJagan Teki
24241eb8ff5SPeng Fanconfig SOFT_SPI
24341eb8ff5SPeng Fan	bool "Soft SPI driver"
24441eb8ff5SPeng Fan	help
24541eb8ff5SPeng Fan	 Enable Soft SPI driver. This driver is to use GPIO simulate
24641eb8ff5SPeng Fan	 the SPI protocol.
24741eb8ff5SPeng Fan
248845f53cfSTuomas Tynkkynenconfig CF_SPI
249845f53cfSTuomas Tynkkynen	bool "ColdFire SPI driver"
250845f53cfSTuomas Tynkkynen	help
251845f53cfSTuomas Tynkkynen	  Enable the ColdFire SPI driver. This driver can be used on
252845f53cfSTuomas Tynkkynen	  some m68k SoCs.
253845f53cfSTuomas Tynkkynen
2543debffa7SJagan Tekiconfig FSL_ESPI
2553debffa7SJagan Teki	bool "Freescale eSPI driver"
2563debffa7SJagan Teki	help
2573debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
2583debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
2593debffa7SJagan Teki	  this Freescale eSPI IP core.
2603debffa7SJagan Teki
26121b1dd18SJagan Tekiconfig FSL_QSPI
26221b1dd18SJagan Teki	bool "Freescale QSPI driver"
26321b1dd18SJagan Teki	help
26421b1dd18SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
26521b1dd18SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
26621b1dd18SJagan Teki	  Freescale IP core.
26721b1dd18SJagan Teki
2682b9d6da4SAdam Fordconfig DAVINCI_SPI
2692b9d6da4SAdam Ford	bool "Davinci & Keystone SPI driver"
2702b9d6da4SAdam Ford	depends on ARCH_DAVINCI || ARCH_KEYSTONE
2712b9d6da4SAdam Ford	help
2722b9d6da4SAdam Ford	  Enable the Davinci SPI driver
2732b9d6da4SAdam Ford
27499c18490STuomas Tynkkynenconfig SH_SPI
27599c18490STuomas Tynkkynen	bool "SuperH SPI driver"
27699c18490STuomas Tynkkynen	help
27799c18490STuomas Tynkkynen	  Enable the SuperH SPI controller driver. This driver can be used
27899c18490STuomas Tynkkynen	  on various SuperH SoCs, such as SH7757.
27999c18490STuomas Tynkkynen
2803ad77667STuomas Tynkkynenconfig SH_QSPI
2813ad77667STuomas Tynkkynen	bool "Renesas Quad SPI driver"
2823ad77667STuomas Tynkkynen	help
2833ad77667STuomas Tynkkynen	  Enable the Renesas Quad SPI controller driver. This driver can be
2843ad77667STuomas Tynkkynen	  used on Renesas SoCs.
2853ad77667STuomas Tynkkynen
286e4976af8SJagan Tekiconfig TI_QSPI
287e4976af8SJagan Teki	bool "TI QSPI driver"
288e4976af8SJagan Teki	help
289e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
290e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
291e4976af8SJagan Teki
2925932b8bcSTuomas Tynkkynenconfig KIRKWOOD_SPI
2935932b8bcSTuomas Tynkkynen	bool "Marvell Kirkwood SPI Driver"
2945932b8bcSTuomas Tynkkynen	help
2955932b8bcSTuomas Tynkkynen	  Enable support for SPI on various Marvell SoCs, such as
2965932b8bcSTuomas Tynkkynen	  Kirkwood and Armada 375.
2975932b8bcSTuomas Tynkkynen
298a1f9e12aSTuomas Tynkkynenconfig LPC32XX_SSP
299a1f9e12aSTuomas Tynkkynen	bool "LPC32XX SPI Driver"
300a1f9e12aSTuomas Tynkkynen	help
301a1f9e12aSTuomas Tynkkynen	  Enable support for SPI on LPC32xx
302a1f9e12aSTuomas Tynkkynen
303f88c431bSChristophe Leroyconfig MPC8XX_SPI
304f88c431bSChristophe Leroy	bool "MPC8XX SPI Driver"
30587e4c602SChristophe Leroy	depends on MPC8xx
306f88c431bSChristophe Leroy	help
307f88c431bSChristophe Leroy	  Enable support for SPI on MPC8XX
308f88c431bSChristophe Leroy
309cb909354STuomas Tynkkynenconfig MPC8XXX_SPI
310cb909354STuomas Tynkkynen	bool "MPC8XXX SPI Driver"
311cb909354STuomas Tynkkynen	help
312cb909354STuomas Tynkkynen	  Enable support for SPI on the MPC8XXX PowerPC SoCs.
313cb909354STuomas Tynkkynen
314cb909354STuomas Tynkkynenconfig MXC_SPI
315cb909354STuomas Tynkkynen	bool "MXC SPI Driver"
316cb909354STuomas Tynkkynen	help
317cb909354STuomas Tynkkynen	  Enable the MXC SPI controller driver. This driver can be used
318cb909354STuomas Tynkkynen	  on various i.MX SoCs such as i.MX31/35/51/6/7.
319cb909354STuomas Tynkkynen
320d851477aSTuomas Tynkkynenconfig MXS_SPI
321d851477aSTuomas Tynkkynen	bool "MXS SPI Driver"
322d851477aSTuomas Tynkkynen	help
323d851477aSTuomas Tynkkynen	  Enable the MXS SPI controller driver. This driver can be used
324d851477aSTuomas Tynkkynen	  on the i.MX23 and i.MX28 SoCs.
325d851477aSTuomas Tynkkynen
326a41e3e14SAdam Fordconfig OMAP3_SPI
327a41e3e14SAdam Ford	bool "McSPI driver for OMAP"
328a41e3e14SAdam Ford	help
329a41e3e14SAdam Ford	  SPI master controller for OMAP24XX and later Multichannel SPI
330a41e3e14SAdam Ford	  (McSPI). This driver be used to access SPI chips on platforms
331a41e3e14SAdam Ford	  embedding this OMAP3 McSPI IP core.
332a41e3e14SAdam Ford
333*1490eb89SAdam Fordendif # menu "SPI Support"
334