xref: /openbmc/u-boot/drivers/spi/Kconfig (revision f1b1f77060beadbfe9f42a3be00019bd025afbd6)
1*f1b1f770SAdam Fordmenuconfig SPI
2*f1b1f770SAdam Ford	bool "SPI Support"
3*f1b1f770SAdam Ford
4*f1b1f770SAdam 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
19e4976af8SJagan Tekiif DM_SPI
20e4976af8SJagan Teki
2115a56f9cSThomas Chouconfig ALTERA_SPI
2215a56f9cSThomas Chou	bool "Altera SPI driver"
2315a56f9cSThomas Chou	help
2415a56f9cSThomas Chou	  Enable the Altera SPI driver. This driver can be used to
2515a56f9cSThomas Chou	  access the SPI NOR flash on platforms embedding this Altera
2615a56f9cSThomas Chou	  IP core. Please find details on the "Embedded Peripherals IP
2715a56f9cSThomas Chou	  User Guide" of Altera.
2815a56f9cSThomas Chou
2915927aefSJagan Tekiconfig ATCSPI200_SPI
3015927aefSJagan Teki	bool "Andestech ATCSPI200 SPI driver"
3115927aefSJagan Teki	help
3215927aefSJagan Teki	  Enable the Andestech ATCSPI200 SPI driver. This driver can be
3315927aefSJagan Teki	  used to access the SPI flash on AE3XX and AE250 platforms embedding
3415927aefSJagan Teki	  this Andestech IP core.
3515927aefSJagan Teki
36b85dc460SWills Wangconfig ATH79_SPI
37b85dc460SWills Wang	bool "Atheros SPI driver"
38b85dc460SWills Wang	depends on ARCH_ATH79
39b85dc460SWills Wang	help
40b85dc460SWills Wang	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
41b85dc460SWills Wang	  to access SPI NOR flash and other SPI peripherals. This driver
42b85dc460SWills Wang	  uses driver model and requires a device tree binding to operate.
43b85dc460SWills Wang	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
44b85dc460SWills Wang
450eafd4b7SWenyou Yangconfig ATMEL_SPI
460eafd4b7SWenyou Yang	bool "Atmel SPI driver"
4789d4fc15SJagan Teki	default y if ARCH_AT91
480eafd4b7SWenyou Yang	help
490eafd4b7SWenyou Yang	  This enables driver for the Atmel SPI Controller, present on
50daab59acSAndy Shevchenko	  many AT91 (ARM) chips. This driver can be used to access
51daab59acSAndy Shevchenko	  the SPI Flash, such as AT25DF321.
520eafd4b7SWenyou Yang
5329cc4368SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI
5429cc4368SÁlvaro Fernández Rojas	bool "BCM63XX HSSPI driver"
5529cc4368SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
5629cc4368SÁlvaro Fernández Rojas	help
5729cc4368SÁlvaro Fernández Rojas	  Enable the BCM6328 HSSPI driver. This driver can be used to
5829cc4368SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding this Broadcom
5929cc4368SÁlvaro Fernández Rojas	  SPI core.
6029cc4368SÁlvaro Fernández Rojas
615ac07d29SÁlvaro Fernández Rojasconfig BCM63XX_SPI
625ac07d29SÁlvaro Fernández Rojas	bool "BCM6348 SPI driver"
635ac07d29SÁlvaro Fernández Rojas	depends on ARCH_BMIPS
645ac07d29SÁlvaro Fernández Rojas	help
655ac07d29SÁlvaro Fernández Rojas	  Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
665ac07d29SÁlvaro Fernández Rojas	  access the SPI NOR flash on platforms embedding these Broadcom
675ac07d29SÁlvaro Fernández Rojas	  SPI cores.
685ac07d29SÁlvaro Fernández Rojas
69e4976af8SJagan Tekiconfig CADENCE_QSPI
70e4976af8SJagan Teki	bool "Cadence QSPI driver"
71e4976af8SJagan Teki	help
72e4976af8SJagan Teki	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
73e4976af8SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
74e4976af8SJagan Teki	  Cadence IP core.
75e4976af8SJagan Teki
76e4976af8SJagan Tekiconfig DESIGNWARE_SPI
77e4976af8SJagan Teki	bool "Designware SPI driver"
78e4976af8SJagan Teki	help
79e4976af8SJagan Teki	  Enable the Designware SPI driver. This driver can be used to
80e4976af8SJagan Teki	  access the SPI NOR flash on platforms embedding this Designware
81e4976af8SJagan Teki	  IP core.
82e4976af8SJagan Teki
83c354eee8SJagan Tekiconfig EXYNOS_SPI
84c354eee8SJagan Teki	bool "Samsung Exynos SPI driver"
85c354eee8SJagan Teki	help
86c354eee8SJagan Teki	  Enable the Samsung Exynos SPI driver. This driver can be used to
87c354eee8SJagan Teki	  access the SPI NOR flash on platforms embedding this Samsung
88c354eee8SJagan Teki	  Exynos IP core.
89c354eee8SJagan Teki
9094ea308dSJagan Tekiconfig FSL_DSPI
9194ea308dSJagan Teki	bool "Freescale DSPI driver"
9294ea308dSJagan Teki	help
9394ea308dSJagan Teki	  Enable the Freescale DSPI driver. This driver can be used to
9494ea308dSJagan Teki	  access the SPI NOR flash and SPI Data flash on platforms embedding
9594ea308dSJagan Teki	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
9694ea308dSJagan Teki	  use this driver.
9794ea308dSJagan Teki
9845636010SJagan Tekiconfig ICH_SPI
9945636010SJagan Teki	bool "Intel ICH SPI driver"
10045636010SJagan Teki	help
10145636010SJagan Teki	  Enable the Intel ICH SPI driver. This driver can be used to
10245636010SJagan Teki	  access the SPI NOR flash on platforms embedding this Intel
10345636010SJagan Teki	  ICH IP core.
10445636010SJagan Teki
1053fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI
1063fda4ef3SStefan Roese	bool "Marvell Armada 3700 SPI driver"
1073fda4ef3SStefan Roese	help
1083fda4ef3SStefan Roese	  Enable the Marvell Armada 3700 SPI driver. This driver can be
1093fda4ef3SStefan Roese	  used to access the SPI NOR flash on platforms embedding this
1103fda4ef3SStefan Roese	  Marvell IP core.
1113fda4ef3SStefan Roese
112e19b9004SPurna Chandra Mandalconfig PIC32_SPI
113e19b9004SPurna Chandra Mandal	bool "Microchip PIC32 SPI driver"
114e19b9004SPurna Chandra Mandal	depends on MACH_PIC32
115e19b9004SPurna Chandra Mandal	help
116e19b9004SPurna Chandra Mandal	  Enable the Microchip PIC32 SPI driver. This driver can be used
117e19b9004SPurna Chandra Mandal	  to access the SPI NOR flash, MMC-over-SPI on platforms based on
118e19b9004SPurna Chandra Mandal	  Microchip PIC32 family devices.
119e19b9004SPurna Chandra Mandal
120fbebea27SMarek Vasutconfig RENESAS_RPC_SPI
121fbebea27SMarek Vasut	bool "Renesas RPC SPI driver"
122fbebea27SMarek Vasut	depends on RCAR_GEN3
123fbebea27SMarek Vasut	help
124fbebea27SMarek Vasut	  Enable the Renesas RPC SPI driver, used to access SPI NOR flash
125fbebea27SMarek Vasut	  on Renesas RCar Gen3 SoCs. This uses driver model and requires a
126fbebea27SMarek Vasut	  device tree binding to operate.
127fbebea27SMarek Vasut
1281b2fd5bfSSimon Glassconfig ROCKCHIP_SPI
1291b2fd5bfSSimon Glass	bool "Rockchip SPI driver"
1301b2fd5bfSSimon Glass	help
1311b2fd5bfSSimon Glass	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
1321b2fd5bfSSimon Glass	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
1331b2fd5bfSSimon Glass	  This uses driver model and requires a device tree binding to
1341b2fd5bfSSimon Glass	  operate.
1351b2fd5bfSSimon Glass
136892cac72SSimon Glassconfig SANDBOX_SPI
137892cac72SSimon Glass	bool "Sandbox SPI driver"
138892cac72SSimon Glass	depends on SANDBOX && DM
139892cac72SSimon Glass	help
140892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
141892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
142892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
143892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
144892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
145892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
146892cac72SSimon Glass
147892cac72SSimon Glass	  spi@0 {
148892cac72SSimon Glass		#address-cells = <1>;
149892cac72SSimon Glass		#size-cells = <0>;
150892cac72SSimon Glass		reg = <0>;
151892cac72SSimon Glass		compatible = "sandbox,spi";
152892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
153892cac72SSimon Glass		flash@0 {
154892cac72SSimon Glass			reg = <0>;
155892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
156892cac72SSimon Glass			spi-max-frequency = <40000000>;
157892cac72SSimon Glass			sandbox,filename = "spi.bin";
158892cac72SSimon Glass		};
159892cac72SSimon Glass	  };
16067d7a9d6SMarek Vasut
161d4363baaSMichael Kurzconfig STM32_QSPI
162d4363baaSMichael Kurz	bool "STM32F7 QSPI driver"
163d4363baaSMichael Kurz	depends on STM32F7
164d4363baaSMichael Kurz	help
165d4363baaSMichael Kurz	  Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
166d4363baaSMichael Kurz	  used to access the SPI NOR flash chips on platforms embedding
167d4363baaSMichael Kurz	  this ST IP core.
168d4363baaSMichael Kurz
1695bf9a2d3SJagan Tekiconfig TEGRA114_SPI
1705bf9a2d3SJagan Teki	bool "nVidia Tegra114 SPI driver"
1715bf9a2d3SJagan Teki	help
1725bf9a2d3SJagan Teki	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
1735bf9a2d3SJagan Teki	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
1745bf9a2d3SJagan Teki	  IP core.
1755bf9a2d3SJagan Teki
1765bf9a2d3SJagan Teki	  This controller is different than the older SoCs SPI controller and
1775bf9a2d3SJagan Teki	  also register interface get changed with this controller.
1785bf9a2d3SJagan Teki
1792f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH
1802f3e6f8cSJagan Teki	bool "nVidia Tegra20 Serial Flash controller driver"
1812f3e6f8cSJagan Teki	help
1822f3e6f8cSJagan Teki	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
1832f3e6f8cSJagan Teki	  can be used to access the SPI NOR flash on platforms embedding this
1842f3e6f8cSJagan Teki	  nVidia Tegra20 IP core.
1852f3e6f8cSJagan Teki
1864495830cSJagan Tekiconfig TEGRA20_SLINK
1874495830cSJagan Teki	bool "nVidia Tegra20/Tegra30 SLINK driver"
1884495830cSJagan Teki	help
1894495830cSJagan Teki	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
1904495830cSJagan Teki	  be used to access the SPI NOR flash on platforms embedding this
1914495830cSJagan Teki	  nVidia Tegra20/Tegra30 IP cores.
1924495830cSJagan Teki
1934e675ff2STom Warrenconfig TEGRA210_QSPI
1944e675ff2STom Warren	bool "nVidia Tegra210 QSPI driver"
1954e675ff2STom Warren	help
1964e675ff2STom Warren	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
1974e675ff2STom Warren	  be used to access SPI chips on platforms embedding this
1984e675ff2STom Warren	  NVIDIA Tegra210 IP core.
1994e675ff2STom Warren
200075143d3SJagan Tekiconfig XILINX_SPI
201075143d3SJagan Teki	bool "Xilinx SPI driver"
202075143d3SJagan Teki	help
203075143d3SJagan Teki	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
204075143d3SJagan Teki	  controller support 8 bit SPI transfers only, with or w/o FIFO.
205075143d3SJagan Teki	  For more info on Xilinx SPI Register Definitions and Overview
206075143d3SJagan Teki	  see driver file - drivers/spi/xilinx_spi.c
207075143d3SJagan Teki
208df30a425SJagan Tekiconfig ZYNQ_SPI
209df30a425SJagan Teki	bool "Zynq SPI driver"
2108e4920e5SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP
211df30a425SJagan Teki	help
212df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
213df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
214df30a425SJagan Teki	  SPI IP core.
215de823053SJagan Teki
21678a025acSJagan Tekiconfig ZYNQ_QSPI
21778a025acSJagan Teki	bool "Zynq QSPI driver"
21878a025acSJagan Teki	depends on ARCH_ZYNQ
21978a025acSJagan Teki	help
22078a025acSJagan Teki	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
22178a025acSJagan Teki	  used to access the SPI NOR flash on platforms embedding this
22278a025acSJagan Teki	  Zynq QSPI IP core. This IP is used to connect the flash in
22378a025acSJagan Teki	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
22478a025acSJagan Teki
225e4976af8SJagan Tekiendif # if DM_SPI
226e4976af8SJagan Teki
22741eb8ff5SPeng Fanconfig SOFT_SPI
22841eb8ff5SPeng Fan	bool "Soft SPI driver"
22941eb8ff5SPeng Fan	help
23041eb8ff5SPeng Fan	 Enable Soft SPI driver. This driver is to use GPIO simulate
23141eb8ff5SPeng Fan	 the SPI protocol.
23241eb8ff5SPeng Fan
233fbca0e66STuomas Tynkkynenconfig CF_SPI
234fbca0e66STuomas Tynkkynen	bool "ColdFire SPI driver"
235fbca0e66STuomas Tynkkynen	help
236fbca0e66STuomas Tynkkynen	  Enable the ColdFire SPI driver. This driver can be used on
237fbca0e66STuomas Tynkkynen	  some m68k SoCs.
238fbca0e66STuomas Tynkkynen
2393debffa7SJagan Tekiconfig FSL_ESPI
2403debffa7SJagan Teki	bool "Freescale eSPI driver"
2413debffa7SJagan Teki	help
2423debffa7SJagan Teki	  Enable the Freescale eSPI driver. This driver can be used to
2433debffa7SJagan Teki	  access the SPI interface and SPI NOR flash on platforms embedding
2443debffa7SJagan Teki	  this Freescale eSPI IP core.
2453debffa7SJagan Teki
24621b1dd18SJagan Tekiconfig FSL_QSPI
24721b1dd18SJagan Teki	bool "Freescale QSPI driver"
24821b1dd18SJagan Teki	help
24921b1dd18SJagan Teki	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
25021b1dd18SJagan Teki	  used to access the SPI NOR flash on platforms embedding this
25121b1dd18SJagan Teki	  Freescale IP core.
25221b1dd18SJagan Teki
25326410c15SAdam Fordconfig DAVINCI_SPI
25426410c15SAdam Ford	bool "Davinci & Keystone SPI driver"
25526410c15SAdam Ford	depends on ARCH_DAVINCI || ARCH_KEYSTONE
25626410c15SAdam Ford	help
25726410c15SAdam Ford	  Enable the Davinci SPI driver
25826410c15SAdam Ford
25995d3877aSTuomas Tynkkynenconfig SH_SPI
26095d3877aSTuomas Tynkkynen	bool "SuperH SPI driver"
26195d3877aSTuomas Tynkkynen	help
26295d3877aSTuomas Tynkkynen	  Enable the SuperH SPI controller driver. This driver can be used
26395d3877aSTuomas Tynkkynen	  on various SuperH SoCs, such as SH7757.
26495d3877aSTuomas Tynkkynen
265a5dfabeaSTuomas Tynkkynenconfig SH_QSPI
266a5dfabeaSTuomas Tynkkynen	bool "Renesas Quad SPI driver"
267a5dfabeaSTuomas Tynkkynen	help
268a5dfabeaSTuomas Tynkkynen	  Enable the Renesas Quad SPI controller driver. This driver can be
269a5dfabeaSTuomas Tynkkynen	  used on Renesas SoCs.
270a5dfabeaSTuomas Tynkkynen
271e4976af8SJagan Tekiconfig TI_QSPI
272e4976af8SJagan Teki	bool "TI QSPI driver"
273e4976af8SJagan Teki	help
274e4976af8SJagan Teki	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
275e4976af8SJagan Teki	  This driver support spi flash single, quad and memory reads.
276e4976af8SJagan Teki
2774a942f49STuomas Tynkkynenconfig KIRKWOOD_SPI
2784a942f49STuomas Tynkkynen	bool "Marvell Kirkwood SPI Driver"
2794a942f49STuomas Tynkkynen	help
2804a942f49STuomas Tynkkynen	  Enable support for SPI on various Marvell SoCs, such as
2814a942f49STuomas Tynkkynen	  Kirkwood and Armada 375.
2824a942f49STuomas Tynkkynen
2832c4b096bSTuomas Tynkkynenconfig LPC32XX_SSP
2842c4b096bSTuomas Tynkkynen	bool "LPC32XX SPI Driver"
2852c4b096bSTuomas Tynkkynen	help
2862c4b096bSTuomas Tynkkynen	  Enable support for SPI on LPC32xx
2872c4b096bSTuomas Tynkkynen
288f88c431bSChristophe Leroyconfig MPC8XX_SPI
289f88c431bSChristophe Leroy	bool "MPC8XX SPI Driver"
290ee1e600cSChristophe Leroy	depends on MPC8xx
291f88c431bSChristophe Leroy	help
292f88c431bSChristophe Leroy	  Enable support for SPI on MPC8XX
293f88c431bSChristophe Leroy
294bbdf3869STuomas Tynkkynenconfig MPC8XXX_SPI
295bbdf3869STuomas Tynkkynen	bool "MPC8XXX SPI Driver"
296bbdf3869STuomas Tynkkynen	help
297bbdf3869STuomas Tynkkynen	  Enable support for SPI on the MPC8XXX PowerPC SoCs.
298bbdf3869STuomas Tynkkynen
29960e54562STuomas Tynkkynenconfig MXC_SPI
30060e54562STuomas Tynkkynen	bool "MXC SPI Driver"
30160e54562STuomas Tynkkynen	help
30260e54562STuomas Tynkkynen	  Enable the MXC SPI controller driver. This driver can be used
30360e54562STuomas Tynkkynen	  on various i.MX SoCs such as i.MX31/35/51/6/7.
30460e54562STuomas Tynkkynen
3057b819b56STuomas Tynkkynenconfig MXS_SPI
3067b819b56STuomas Tynkkynen	bool "MXS SPI Driver"
3077b819b56STuomas Tynkkynen	help
3087b819b56STuomas Tynkkynen	  Enable the MXS SPI controller driver. This driver can be used
3097b819b56STuomas Tynkkynen	  on the i.MX23 and i.MX28 SoCs.
3107b819b56STuomas Tynkkynen
311a41e3e14SAdam Fordconfig OMAP3_SPI
312a41e3e14SAdam Ford	bool "McSPI driver for OMAP"
313a41e3e14SAdam Ford	help
314a41e3e14SAdam Ford	  SPI master controller for OMAP24XX and later Multichannel SPI
315a41e3e14SAdam Ford	  (McSPI). This driver be used to access SPI chips on platforms
316a41e3e14SAdam Ford	  embedding this OMAP3 McSPI IP core.
317a41e3e14SAdam Ford
318*f1b1f770SAdam Fordendif # menu "SPI Support"
319