blob: ebc71c2e42b964b46d3c3a652a1efe71deb596de [file] [log] [blame]
Jagan Tekide823052015-06-27 22:35:14 +05301menu "SPI Support"
2
Masahiro Yamadada333ae2014-10-23 22:26:09 +09003config DM_SPI
4 bool "Enable Driver Model for SPI drivers"
5 depends on DM
6 help
Simon Glassf94a1be2015-02-05 21:41:35 -07007 Enable driver model for SPI. The SPI slave interface
8 (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
9 the SPI uclass. Drivers provide methods to access the SPI
10 buses that they control. The uclass interface is defined in
11 include/spi.h. The existing spi_slave structure is attached
12 as 'parent data' to every slave on each bus. Slaves
13 typically use driver-private data instead of extending the
14 spi_slave structure.
Simon Glass892cac72015-03-06 13:19:05 -070015
Jagan Tekie4976af2015-06-27 22:37:00 +053016if DM_SPI
17
Thomas Chou15a56f92015-10-14 08:33:34 +080018config ALTERA_SPI
19 bool "Altera SPI driver"
20 help
21 Enable the Altera SPI driver. This driver can be used to
22 access the SPI NOR flash on platforms embedding this Altera
23 IP core. Please find details on the "Embedded Peripherals IP
24 User Guide" of Altera.
25
Wills Wangb85dc462016-03-16 16:59:58 +080026config ATH79_SPI
27 bool "Atheros SPI driver"
28 depends on ARCH_ATH79
29 help
30 Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
31 to access SPI NOR flash and other SPI peripherals. This driver
32 uses driver model and requires a device tree binding to operate.
33 please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
34
Wenyou Yang0eafd4b2016-10-28 14:17:49 +080035config ATMEL_SPI
36 bool "Atmel SPI driver"
37 depends on ARCH_AT91
38 help
39 This enables driver for the Atmel SPI Controller, present on
Andy Shevchenkodaab59a2017-07-05 16:25:22 +030040 many AT91 (ARM) chips. This driver can be used to access
41 the SPI Flash, such as AT25DF321.
Wenyou Yang0eafd4b2016-10-28 14:17:49 +080042
Álvaro Fernández Rojas5ac07d22018-01-23 17:14:58 +010043config BCM63XX_SPI
44 bool "BCM6348 SPI driver"
45 depends on ARCH_BMIPS
46 help
47 Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
48 access the SPI NOR flash on platforms embedding these Broadcom
49 SPI cores.
50
Jagan Tekie4976af2015-06-27 22:37:00 +053051config CADENCE_QSPI
52 bool "Cadence QSPI driver"
53 help
54 Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
55 used to access the SPI NOR flash on platforms embedding this
56 Cadence IP core.
57
58config DESIGNWARE_SPI
59 bool "Designware SPI driver"
60 help
61 Enable the Designware SPI driver. This driver can be used to
62 access the SPI NOR flash on platforms embedding this Designware
63 IP core.
64
Jagan Tekic354eee2015-06-27 15:32:19 +053065config EXYNOS_SPI
66 bool "Samsung Exynos SPI driver"
67 help
68 Enable the Samsung Exynos SPI driver. This driver can be used to
69 access the SPI NOR flash on platforms embedding this Samsung
70 Exynos IP core.
71
Jagan Teki94ea3082015-06-27 14:17:06 +053072config FSL_DSPI
73 bool "Freescale DSPI driver"
74 help
75 Enable the Freescale DSPI driver. This driver can be used to
76 access the SPI NOR flash and SPI Data flash on platforms embedding
77 this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
78 use this driver.
79
Jagan Teki45636012015-06-27 15:43:27 +053080config ICH_SPI
81 bool "Intel ICH SPI driver"
82 help
83 Enable the Intel ICH SPI driver. This driver can be used to
84 access the SPI NOR flash on platforms embedding this Intel
85 ICH IP core.
86
Stefan Roese3fda4ef2016-05-19 15:56:44 +020087config MVEBU_A3700_SPI
88 bool "Marvell Armada 3700 SPI driver"
89 help
90 Enable the Marvell Armada 3700 SPI driver. This driver can be
91 used to access the SPI NOR flash on platforms embedding this
92 Marvell IP core.
93
Purna Chandra Mandale19b9002016-06-02 14:26:08 +053094config PIC32_SPI
95 bool "Microchip PIC32 SPI driver"
96 depends on MACH_PIC32
97 help
98 Enable the Microchip PIC32 SPI driver. This driver can be used
99 to access the SPI NOR flash, MMC-over-SPI on platforms based on
100 Microchip PIC32 family devices.
101
Simon Glass1b2fd5b2015-09-01 19:19:37 -0600102config ROCKCHIP_SPI
103 bool "Rockchip SPI driver"
104 help
105 Enable the Rockchip SPI driver, used to access SPI NOR flash and
106 other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
107 This uses driver model and requires a device tree binding to
108 operate.
109
Simon Glass892cac72015-03-06 13:19:05 -0700110config SANDBOX_SPI
111 bool "Sandbox SPI driver"
112 depends on SANDBOX && DM
113 help
114 Enable SPI support for sandbox. This is an emulation of a real SPI
115 bus. Devices can be attached to the bus using the device tree
116 which specifies the driver to use. As an example, see this device
117 tree fragment from sandbox.dts. It shows that the SPI bus has a
118 single flash device on chip select 0 which is emulated by the driver
119 for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
120
121 spi@0 {
122 #address-cells = <1>;
123 #size-cells = <0>;
124 reg = <0>;
125 compatible = "sandbox,spi";
126 cs-gpios = <0>, <&gpio_a 0>;
127 flash@0 {
128 reg = <0>;
129 compatible = "spansion,m25p16", "sandbox,spi-flash";
130 spi-max-frequency = <40000000>;
131 sandbox,filename = "spi.bin";
132 };
Jagan Tekie4976af2015-06-27 22:37:00 +0530133 };
Jagan Tekif924a202015-06-27 04:41:11 +0530134
Michael Kurzd4363ba2017-01-22 16:04:30 +0100135config STM32_QSPI
136 bool "STM32F7 QSPI driver"
137 depends on STM32F7
138 help
139 Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
140 used to access the SPI NOR flash chips on platforms embedding
141 this ST IP core.
142
Jagan Teki5bf9a2d2015-06-27 15:57:53 +0530143config TEGRA114_SPI
144 bool "nVidia Tegra114 SPI driver"
145 help
146 Enable the nVidia Tegra114 SPI driver. This driver can be used to
147 access the SPI NOR flash on platforms embedding this nVidia Tegra114
148 IP core.
149
150 This controller is different than the older SoCs SPI controller and
151 also register interface get changed with this controller.
152
Jagan Teki2f3e6f82015-06-27 16:04:05 +0530153config TEGRA20_SFLASH
154 bool "nVidia Tegra20 Serial Flash controller driver"
155 help
156 Enable the nVidia Tegra20 Serial Flash controller driver. This driver
157 can be used to access the SPI NOR flash on platforms embedding this
158 nVidia Tegra20 IP core.
159
Jagan Teki44958302015-06-27 16:07:54 +0530160config TEGRA20_SLINK
161 bool "nVidia Tegra20/Tegra30 SLINK driver"
162 help
163 Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
164 be used to access the SPI NOR flash on platforms embedding this
165 nVidia Tegra20/Tegra30 IP cores.
166
Tom Warren4e675ff2015-10-12 14:50:54 -0700167config TEGRA210_QSPI
168 bool "nVidia Tegra210 QSPI driver"
169 help
170 Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
171 be used to access SPI chips on platforms embedding this
172 NVIDIA Tegra210 IP core.
173
Jagan Teki075143d2015-06-27 04:32:43 +0530174config XILINX_SPI
175 bool "Xilinx SPI driver"
Jagan Teki075143d2015-06-27 04:32:43 +0530176 help
177 Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
178 controller support 8 bit SPI transfers only, with or w/o FIFO.
179 For more info on Xilinx SPI Register Definitions and Overview
180 see driver file - drivers/spi/xilinx_spi.c
181
Jagan Tekidf30a422015-06-27 00:51:38 +0530182config ZYNQ_SPI
183 bool "Zynq SPI driver"
Michal Simek8e4920e2015-12-07 11:33:58 +0100184 depends on ARCH_ZYNQ || ARCH_ZYNQMP
Jagan Tekidf30a422015-06-27 00:51:38 +0530185 help
186 Enable the Zynq SPI driver. This driver can be used to
187 access the SPI NOR flash on platforms embedding this Zynq
188 SPI IP core.
Jagan Tekide823052015-06-27 22:35:14 +0530189
Jagan Teki78a025a2015-08-16 00:19:38 +0530190config ZYNQ_QSPI
191 bool "Zynq QSPI driver"
192 depends on ARCH_ZYNQ
193 help
194 Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
195 used to access the SPI NOR flash on platforms embedding this
196 Zynq QSPI IP core. This IP is used to connect the flash in
197 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
198
Jagan Tekie4976af2015-06-27 22:37:00 +0530199endif # if DM_SPI
200
Peng Fan41eb8ff2017-04-13 14:09:55 +0800201config SOFT_SPI
202 bool "Soft SPI driver"
203 help
204 Enable Soft SPI driver. This driver is to use GPIO simulate
205 the SPI protocol.
206
Jagan Teki3debffa2015-06-27 15:21:36 +0530207config FSL_ESPI
208 bool "Freescale eSPI driver"
209 help
210 Enable the Freescale eSPI driver. This driver can be used to
211 access the SPI interface and SPI NOR flash on platforms embedding
212 this Freescale eSPI IP core.
213
Jagan Teki21b1dd12016-09-03 12:58:33 +0530214config FSL_QSPI
215 bool "Freescale QSPI driver"
216 help
217 Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
218 used to access the SPI NOR flash on platforms embedding this
219 Freescale IP core.
220
Rick Chen41bbb8b2017-11-23 14:19:36 +0800221config ATCSPI200_SPI
222 bool "Andestech ATCSPI200 SPI driver"
rick7155cd22017-08-28 15:08:01 +0800223 help
Rick Chen41bbb8b2017-11-23 14:19:36 +0800224 Enable the Andestech ATCSPI200 SPI driver. This driver can be
225 used to access the SPI flash on AE3XX and AE250 platforms embedding
226 this Andestech IP core.
rick7155cd22017-08-28 15:08:01 +0800227
Jagan Tekie4976af2015-06-27 22:37:00 +0530228config TI_QSPI
229 bool "TI QSPI driver"
230 help
231 Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
232 This driver support spi flash single, quad and memory reads.
233
Christophe Leroyf88c4312017-07-06 10:33:25 +0200234config MPC8XX_SPI
235 bool "MPC8XX SPI Driver"
236 depends on 8xx
237 help
238 Enable support for SPI on MPC8XX
239
Adam Forda41e3e12017-07-26 22:25:29 -0500240config OMAP3_SPI
241 bool "McSPI driver for OMAP"
242 help
243 SPI master controller for OMAP24XX and later Multichannel SPI
244 (McSPI). This driver be used to access SPI chips on platforms
245 embedding this OMAP3 McSPI IP core.
246
Jagan Tekide823052015-06-27 22:35:14 +0530247endmenu # menu "SPI Support"