blob: 5e31ee42226ab8b932f1d2be0365c12897dc3880 [file] [log] [blame]
Jagan Tekibfd3f8b2015-06-27 22:35:14 +05301menu "SPI Support"
2
Masahiro Yamada57ad8ee2014-10-23 22:26:09 +09003config DM_SPI
4 bool "Enable Driver Model for SPI drivers"
5 depends on DM
6 help
Simon Glassd8b771d2015-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 Glass4b322d32015-03-06 13:19:05 -070015
Jagan Teki15a932c2015-06-27 22:37:00 +053016if DM_SPI
17
Thomas Chouc5899542015-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 Wangf5021482016-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 Yangda8ee982016-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 Shevchenko8cb5cdd2017-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 Yangda8ee982016-10-28 14:17:49 +080042
Jagan Teki15a932c2015-06-27 22:37:00 +053043config CADENCE_QSPI
44 bool "Cadence QSPI driver"
45 help
46 Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
47 used to access the SPI NOR flash on platforms embedding this
48 Cadence IP core.
49
50config DESIGNWARE_SPI
51 bool "Designware SPI driver"
52 help
53 Enable the Designware SPI driver. This driver can be used to
54 access the SPI NOR flash on platforms embedding this Designware
55 IP core.
56
Jagan Teki6274bf92015-06-27 15:32:19 +053057config EXYNOS_SPI
58 bool "Samsung Exynos SPI driver"
59 help
60 Enable the Samsung Exynos SPI driver. This driver can be used to
61 access the SPI NOR flash on platforms embedding this Samsung
62 Exynos IP core.
63
Jagan Tekiae30c022015-06-27 14:17:06 +053064config FSL_DSPI
65 bool "Freescale DSPI driver"
66 help
67 Enable the Freescale DSPI driver. This driver can be used to
68 access the SPI NOR flash and SPI Data flash on platforms embedding
69 this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
70 use this driver.
71
Jagan Teki3872b7c2015-06-27 15:43:27 +053072config ICH_SPI
73 bool "Intel ICH SPI driver"
74 help
75 Enable the Intel ICH SPI driver. This driver can be used to
76 access the SPI NOR flash on platforms embedding this Intel
77 ICH IP core.
78
Stefan Roese9ec1c782016-05-19 15:56:44 +020079config MVEBU_A3700_SPI
80 bool "Marvell Armada 3700 SPI driver"
81 help
82 Enable the Marvell Armada 3700 SPI driver. This driver can be
83 used to access the SPI NOR flash on platforms embedding this
84 Marvell IP core.
85
Purna Chandra Mandalffa54422016-06-02 14:26:08 +053086config PIC32_SPI
87 bool "Microchip PIC32 SPI driver"
88 depends on MACH_PIC32
89 help
90 Enable the Microchip PIC32 SPI driver. This driver can be used
91 to access the SPI NOR flash, MMC-over-SPI on platforms based on
92 Microchip PIC32 family devices.
93
Simon Glassd1c13772015-09-01 19:19:37 -060094config ROCKCHIP_SPI
95 bool "Rockchip SPI driver"
96 help
97 Enable the Rockchip SPI driver, used to access SPI NOR flash and
98 other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
99 This uses driver model and requires a device tree binding to
100 operate.
101
Simon Glass4b322d32015-03-06 13:19:05 -0700102config SANDBOX_SPI
103 bool "Sandbox SPI driver"
104 depends on SANDBOX && DM
105 help
106 Enable SPI support for sandbox. This is an emulation of a real SPI
107 bus. Devices can be attached to the bus using the device tree
108 which specifies the driver to use. As an example, see this device
109 tree fragment from sandbox.dts. It shows that the SPI bus has a
110 single flash device on chip select 0 which is emulated by the driver
111 for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
112
113 spi@0 {
114 #address-cells = <1>;
115 #size-cells = <0>;
116 reg = <0>;
117 compatible = "sandbox,spi";
118 cs-gpios = <0>, <&gpio_a 0>;
119 flash@0 {
120 reg = <0>;
121 compatible = "spansion,m25p16", "sandbox,spi-flash";
122 spi-max-frequency = <40000000>;
123 sandbox,filename = "spi.bin";
124 };
Jagan Teki15a932c2015-06-27 22:37:00 +0530125 };
Jagan Tekidd32f512015-06-27 04:41:11 +0530126
Michael Kurz337ff2a2017-01-22 16:04:30 +0100127config STM32_QSPI
128 bool "STM32F7 QSPI driver"
129 depends on STM32F7
130 help
131 Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
132 used to access the SPI NOR flash chips on platforms embedding
133 this ST IP core.
134
Jagan Teki7977d662015-06-27 15:57:53 +0530135config TEGRA114_SPI
136 bool "nVidia Tegra114 SPI driver"
137 help
138 Enable the nVidia Tegra114 SPI driver. This driver can be used to
139 access the SPI NOR flash on platforms embedding this nVidia Tegra114
140 IP core.
141
142 This controller is different than the older SoCs SPI controller and
143 also register interface get changed with this controller.
144
Jagan Tekia900d402015-06-27 16:04:05 +0530145config TEGRA20_SFLASH
146 bool "nVidia Tegra20 Serial Flash controller driver"
147 help
148 Enable the nVidia Tegra20 Serial Flash controller driver. This driver
149 can be used to access the SPI NOR flash on platforms embedding this
150 nVidia Tegra20 IP core.
151
Jagan Teki271aa562015-06-27 16:07:54 +0530152config TEGRA20_SLINK
153 bool "nVidia Tegra20/Tegra30 SLINK driver"
154 help
155 Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
156 be used to access the SPI NOR flash on platforms embedding this
157 nVidia Tegra20/Tegra30 IP cores.
158
Tom Warren5fb0c842015-10-12 14:50:54 -0700159config TEGRA210_QSPI
160 bool "nVidia Tegra210 QSPI driver"
161 help
162 Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
163 be used to access SPI chips on platforms embedding this
164 NVIDIA Tegra210 IP core.
165
Jagan Tekicd70d7d2015-06-27 04:32:43 +0530166config XILINX_SPI
167 bool "Xilinx SPI driver"
Jagan Tekicd70d7d2015-06-27 04:32:43 +0530168 help
169 Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
170 controller support 8 bit SPI transfers only, with or w/o FIFO.
171 For more info on Xilinx SPI Register Definitions and Overview
172 see driver file - drivers/spi/xilinx_spi.c
173
Jagan Tekicad526f2015-06-27 00:51:38 +0530174config ZYNQ_SPI
175 bool "Zynq SPI driver"
Michal Simekf5a03712015-12-07 11:33:58 +0100176 depends on ARCH_ZYNQ || ARCH_ZYNQMP
Jagan Tekicad526f2015-06-27 00:51:38 +0530177 help
178 Enable the Zynq SPI driver. This driver can be used to
179 access the SPI NOR flash on platforms embedding this Zynq
180 SPI IP core.
Jagan Tekibfd3f8b2015-06-27 22:35:14 +0530181
Jagan Tekif2e1c412015-08-16 00:19:38 +0530182config ZYNQ_QSPI
183 bool "Zynq QSPI driver"
184 depends on ARCH_ZYNQ
185 help
186 Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
187 used to access the SPI NOR flash on platforms embedding this
188 Zynq QSPI IP core. This IP is used to connect the flash in
189 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
190
Jagan Teki15a932c2015-06-27 22:37:00 +0530191endif # if DM_SPI
192
Peng Fan176ee212017-04-13 14:09:55 +0800193config SOFT_SPI
194 bool "Soft SPI driver"
195 help
196 Enable Soft SPI driver. This driver is to use GPIO simulate
197 the SPI protocol.
198
Jagan Tekia0497a32015-06-27 15:21:36 +0530199config FSL_ESPI
200 bool "Freescale eSPI driver"
201 help
202 Enable the Freescale eSPI driver. This driver can be used to
203 access the SPI interface and SPI NOR flash on platforms embedding
204 this Freescale eSPI IP core.
205
Jagan Teki467c6292016-09-03 12:58:33 +0530206config FSL_QSPI
207 bool "Freescale QSPI driver"
208 help
209 Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
210 used to access the SPI NOR flash on platforms embedding this
211 Freescale IP core.
212
Rick Chen6ae5ac42017-11-23 14:19:36 +0800213config ATCSPI200_SPI
214 bool "Andestech ATCSPI200 SPI driver"
rick67dd2332017-08-28 15:08:01 +0800215 help
Rick Chen6ae5ac42017-11-23 14:19:36 +0800216 Enable the Andestech ATCSPI200 SPI driver. This driver can be
217 used to access the SPI flash on AE3XX and AE250 platforms embedding
218 this Andestech IP core.
rick67dd2332017-08-28 15:08:01 +0800219
Adam Ford19b336e2017-12-30 07:33:42 -0600220config DAVINCI_SPI
221 bool "Davinci & Keystone SPI driver"
222 depends on ARCH_DAVINCI || ARCH_KEYSTONE
223 help
224 Enable the Davinci SPI driver
225
Jagan Teki15a932c2015-06-27 22:37:00 +0530226config TI_QSPI
227 bool "TI QSPI driver"
228 help
229 Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
230 This driver support spi flash single, quad and memory reads.
231
Christophe Leroy8c3f1222017-07-06 10:33:25 +0200232config MPC8XX_SPI
233 bool "MPC8XX SPI Driver"
234 depends on 8xx
235 help
236 Enable support for SPI on MPC8XX
237
Adam Ford03a333a2017-07-26 22:25:29 -0500238config OMAP3_SPI
239 bool "McSPI driver for OMAP"
240 help
241 SPI master controller for OMAP24XX and later Multichannel SPI
242 (McSPI). This driver be used to access SPI chips on platforms
243 embedding this OMAP3 McSPI IP core.
244
Jagan Tekibfd3f8b2015-06-27 22:35:14 +0530245endmenu # menu "SPI Support"