Adam Ford | f1b1f77 | 2018-04-15 13:51:26 -0400 | [diff] [blame] | 1 | menuconfig SPI |
| 2 | bool "SPI Support" |
| 3 | |
| 4 | if SPI |
Jagan Teki | de82305 | 2015-06-27 22:35:14 +0530 | [diff] [blame] | 5 | |
Masahiro Yamada | da333ae | 2014-10-23 22:26:09 +0900 | [diff] [blame] | 6 | config DM_SPI |
| 7 | bool "Enable Driver Model for SPI drivers" |
| 8 | depends on DM |
| 9 | help |
Simon Glass | f94a1be | 2015-02-05 21:41:35 -0700 | [diff] [blame] | 10 | Enable driver model for SPI. The SPI slave interface |
| 11 | (spi_setup_slave(), spi_xfer(), etc.) is then implemented by |
| 12 | the SPI uclass. Drivers provide methods to access the SPI |
| 13 | buses that they control. The uclass interface is defined in |
| 14 | include/spi.h. The existing spi_slave structure is attached |
| 15 | as 'parent data' to every slave on each bus. Slaves |
| 16 | typically use driver-private data instead of extending the |
| 17 | spi_slave structure. |
Simon Glass | 892cac7 | 2015-03-06 13:19:05 -0700 | [diff] [blame] | 18 | |
Jagan Teki | e4976af | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 19 | if DM_SPI |
| 20 | |
Boris Brezillon | d13f5b2 | 2018-08-16 17:30:11 +0200 | [diff] [blame] | 21 | config SPI_MEM |
| 22 | bool "SPI memory extension" |
| 23 | help |
| 24 | Enable this option if you want to enable the SPI memory extension. |
| 25 | This extension is meant to simplify interaction with SPI memories |
| 26 | by providing an high-level interface to send memory-like commands. |
| 27 | |
Thomas Chou | 15a56f9 | 2015-10-14 08:33:34 +0800 | [diff] [blame] | 28 | config ALTERA_SPI |
| 29 | bool "Altera SPI driver" |
| 30 | help |
| 31 | Enable the Altera SPI driver. This driver can be used to |
| 32 | access the SPI NOR flash on platforms embedding this Altera |
| 33 | IP core. Please find details on the "Embedded Peripherals IP |
| 34 | User Guide" of Altera. |
| 35 | |
Jagan Teki | 15927ae | 2018-03-07 10:33:33 +0530 | [diff] [blame] | 36 | config ATCSPI200_SPI |
| 37 | bool "Andestech ATCSPI200 SPI driver" |
| 38 | help |
| 39 | Enable the Andestech ATCSPI200 SPI driver. This driver can be |
| 40 | used to access the SPI flash on AE3XX and AE250 platforms embedding |
| 41 | this Andestech IP core. |
| 42 | |
Wills Wang | b85dc46 | 2016-03-16 16:59:58 +0800 | [diff] [blame] | 43 | config ATH79_SPI |
| 44 | bool "Atheros SPI driver" |
| 45 | depends on ARCH_ATH79 |
| 46 | help |
| 47 | Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used |
| 48 | to access SPI NOR flash and other SPI peripherals. This driver |
| 49 | uses driver model and requires a device tree binding to operate. |
| 50 | please refer to doc/device-tree-bindings/spi/spi-ath79.txt. |
| 51 | |
Wenyou Yang | 0eafd4b | 2016-10-28 14:17:49 +0800 | [diff] [blame] | 52 | config ATMEL_SPI |
| 53 | bool "Atmel SPI driver" |
Jagan Teki | 89d4fc1 | 2018-03-14 18:46:44 +0530 | [diff] [blame] | 54 | default y if ARCH_AT91 |
Wenyou Yang | 0eafd4b | 2016-10-28 14:17:49 +0800 | [diff] [blame] | 55 | help |
| 56 | This enables driver for the Atmel SPI Controller, present on |
Andy Shevchenko | daab59a | 2017-07-05 16:25:22 +0300 | [diff] [blame] | 57 | many AT91 (ARM) chips. This driver can be used to access |
| 58 | the SPI Flash, such as AT25DF321. |
Wenyou Yang | 0eafd4b | 2016-10-28 14:17:49 +0800 | [diff] [blame] | 59 | |
Álvaro Fernández Rojas | 29cc436 | 2018-01-20 02:13:38 +0100 | [diff] [blame] | 60 | config BCM63XX_HSSPI |
| 61 | bool "BCM63XX HSSPI driver" |
| 62 | depends on ARCH_BMIPS |
| 63 | help |
| 64 | Enable the BCM6328 HSSPI driver. This driver can be used to |
| 65 | access the SPI NOR flash on platforms embedding this Broadcom |
| 66 | SPI core. |
| 67 | |
Álvaro Fernández Rojas | 5ac07d2 | 2018-01-23 17:14:58 +0100 | [diff] [blame] | 68 | config BCM63XX_SPI |
| 69 | bool "BCM6348 SPI driver" |
| 70 | depends on ARCH_BMIPS |
| 71 | help |
| 72 | Enable the BCM6348/BCM6358 SPI driver. This driver can be used to |
| 73 | access the SPI NOR flash on platforms embedding these Broadcom |
| 74 | SPI cores. |
| 75 | |
Thomas Fitzsimmons | 894c3ad | 2018-06-08 17:59:45 -0400 | [diff] [blame] | 76 | config BCMSTB_SPI |
| 77 | bool "BCMSTB SPI driver" |
| 78 | help |
| 79 | Enable the Broadcom set-top box SPI driver. This driver can |
| 80 | be used to access the SPI flash on platforms embedding this |
| 81 | Broadcom SPI core. |
| 82 | |
Jagan Teki | e4976af | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 83 | config CADENCE_QSPI |
| 84 | bool "Cadence QSPI driver" |
| 85 | help |
| 86 | Enable the Cadence Quad-SPI (QSPI) driver. This driver can be |
| 87 | used to access the SPI NOR flash on platforms embedding this |
| 88 | Cadence IP core. |
| 89 | |
| 90 | config DESIGNWARE_SPI |
| 91 | bool "Designware SPI driver" |
| 92 | help |
| 93 | Enable the Designware SPI driver. This driver can be used to |
| 94 | access the SPI NOR flash on platforms embedding this Designware |
| 95 | IP core. |
| 96 | |
Jagan Teki | c354eee | 2015-06-27 15:32:19 +0530 | [diff] [blame] | 97 | config EXYNOS_SPI |
| 98 | bool "Samsung Exynos SPI driver" |
| 99 | help |
| 100 | Enable the Samsung Exynos SPI driver. This driver can be used to |
| 101 | access the SPI NOR flash on platforms embedding this Samsung |
| 102 | Exynos IP core. |
| 103 | |
Jagan Teki | 94ea308 | 2015-06-27 14:17:06 +0530 | [diff] [blame] | 104 | config FSL_DSPI |
| 105 | bool "Freescale DSPI driver" |
| 106 | help |
| 107 | Enable the Freescale DSPI driver. This driver can be used to |
| 108 | access the SPI NOR flash and SPI Data flash on platforms embedding |
| 109 | this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms |
| 110 | use this driver. |
| 111 | |
Jagan Teki | 4563601 | 2015-06-27 15:43:27 +0530 | [diff] [blame] | 112 | config ICH_SPI |
| 113 | bool "Intel ICH SPI driver" |
| 114 | help |
| 115 | Enable the Intel ICH SPI driver. This driver can be used to |
| 116 | access the SPI NOR flash on platforms embedding this Intel |
| 117 | ICH IP core. |
| 118 | |
Neil Armstrong | 9d26506 | 2018-11-22 11:01:05 +0100 | [diff] [blame] | 119 | config MESON_SPIFC |
| 120 | bool "Amlogic Meson SPI Flash Controller driver" |
| 121 | depends on ARCH_MESON |
| 122 | help |
| 123 | Enable the Amlogic Meson SPI Flash Controller SPIFC) driver. |
| 124 | This driver can be used to access the SPI NOR flash chips on |
| 125 | Amlogic Meson SoCs. |
| 126 | |
Christophe Leroy | f34d031 | 2018-11-21 08:51:57 +0000 | [diff] [blame] | 127 | config MPC8XX_SPI |
| 128 | bool "MPC8XX SPI Driver" |
| 129 | depends on MPC8xx |
| 130 | help |
| 131 | Enable support for SPI on MPC8XX |
| 132 | |
Stefan Roese | 5eee9de | 2018-08-16 10:48:48 +0200 | [diff] [blame] | 133 | config MT7621_SPI |
| 134 | bool "MediaTek MT7621 SPI driver" |
| 135 | depends on ARCH_MT7620 |
| 136 | help |
| 137 | Enable the MT7621 SPI driver. This driver can be used to access |
| 138 | the SPI NOR flash on platforms embedding this Ralink / MediaTek |
| 139 | SPI core, like MT7621/7628/7688. |
| 140 | |
Guochun Mao | 052cafd | 2018-10-12 15:01:06 +0800 | [diff] [blame] | 141 | config MTK_QSPI |
| 142 | bool "Mediatek QSPI driver" |
| 143 | help |
| 144 | Enable the Mediatek QSPI driver. This driver can be |
| 145 | used to access the SPI NOR flash on platforms embedding this |
| 146 | Mediatek QSPI IP core. |
| 147 | |
Stefan Roese | 3fda4ef | 2016-05-19 15:56:44 +0200 | [diff] [blame] | 148 | config MVEBU_A3700_SPI |
| 149 | bool "Marvell Armada 3700 SPI driver" |
Marek Behún | dbbd5bd | 2018-04-24 17:21:26 +0200 | [diff] [blame] | 150 | select CLK_ARMADA_3720 |
Stefan Roese | 3fda4ef | 2016-05-19 15:56:44 +0200 | [diff] [blame] | 151 | help |
| 152 | Enable the Marvell Armada 3700 SPI driver. This driver can be |
| 153 | used to access the SPI NOR flash on platforms embedding this |
| 154 | Marvell IP core. |
| 155 | |
Purna Chandra Mandal | e19b900 | 2016-06-02 14:26:08 +0530 | [diff] [blame] | 156 | config PIC32_SPI |
| 157 | bool "Microchip PIC32 SPI driver" |
| 158 | depends on MACH_PIC32 |
| 159 | help |
| 160 | Enable the Microchip PIC32 SPI driver. This driver can be used |
| 161 | to access the SPI NOR flash, MMC-over-SPI on platforms based on |
| 162 | Microchip PIC32 family devices. |
| 163 | |
Quentin Schulz | 8a4791f | 2018-08-31 16:28:29 +0200 | [diff] [blame] | 164 | config PL022_SPI |
| 165 | bool "ARM AMBA PL022 SSP controller driver" |
| 166 | depends on ARM |
| 167 | help |
| 168 | This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP |
| 169 | controller. If you have an embedded system with an AMBA(R) |
| 170 | bus and a PL022 controller, say Y or M here. |
| 171 | |
Marek Vasut | fbebea2 | 2017-11-29 06:29:46 +0100 | [diff] [blame] | 172 | config RENESAS_RPC_SPI |
| 173 | bool "Renesas RPC SPI driver" |
| 174 | depends on RCAR_GEN3 |
| 175 | help |
| 176 | Enable the Renesas RPC SPI driver, used to access SPI NOR flash |
| 177 | on Renesas RCar Gen3 SoCs. This uses driver model and requires a |
| 178 | device tree binding to operate. |
| 179 | |
Simon Glass | 1b2fd5b | 2015-09-01 19:19:37 -0600 | [diff] [blame] | 180 | config ROCKCHIP_SPI |
| 181 | bool "Rockchip SPI driver" |
| 182 | help |
| 183 | Enable the Rockchip SPI driver, used to access SPI NOR flash and |
| 184 | other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. |
| 185 | This uses driver model and requires a device tree binding to |
| 186 | operate. |
| 187 | |
Simon Glass | 892cac7 | 2015-03-06 13:19:05 -0700 | [diff] [blame] | 188 | config SANDBOX_SPI |
| 189 | bool "Sandbox SPI driver" |
| 190 | depends on SANDBOX && DM |
| 191 | help |
| 192 | Enable SPI support for sandbox. This is an emulation of a real SPI |
| 193 | bus. Devices can be attached to the bus using the device tree |
| 194 | which specifies the driver to use. As an example, see this device |
| 195 | tree fragment from sandbox.dts. It shows that the SPI bus has a |
| 196 | single flash device on chip select 0 which is emulated by the driver |
| 197 | for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. |
| 198 | |
| 199 | spi@0 { |
| 200 | #address-cells = <1>; |
| 201 | #size-cells = <0>; |
| 202 | reg = <0>; |
| 203 | compatible = "sandbox,spi"; |
| 204 | cs-gpios = <0>, <&gpio_a 0>; |
| 205 | flash@0 { |
| 206 | reg = <0>; |
| 207 | compatible = "spansion,m25p16", "sandbox,spi-flash"; |
| 208 | spi-max-frequency = <40000000>; |
| 209 | sandbox,filename = "spi.bin"; |
| 210 | }; |
Jagan Teki | e4976af | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 211 | }; |
Jagan Teki | f924a20 | 2015-06-27 04:41:11 +0530 | [diff] [blame] | 212 | |
Michael Kurz | d4363ba | 2017-01-22 16:04:30 +0100 | [diff] [blame] | 213 | config STM32_QSPI |
| 214 | bool "STM32F7 QSPI driver" |
| 215 | depends on STM32F7 |
| 216 | help |
| 217 | Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be |
| 218 | used to access the SPI NOR flash chips on platforms embedding |
| 219 | this ST IP core. |
| 220 | |
Stefan Mavrodiev | 7f25d81 | 2018-02-06 15:14:33 +0200 | [diff] [blame] | 221 | config SUN4I_SPI |
| 222 | bool "Allwinner A10 SoCs SPI controller" |
| 223 | help |
| 224 | SPI driver for Allwinner sun4i, sun5i and sun7i SoCs |
| 225 | |
Jagan Teki | 5bf9a2d | 2015-06-27 15:57:53 +0530 | [diff] [blame] | 226 | config TEGRA114_SPI |
| 227 | bool "nVidia Tegra114 SPI driver" |
| 228 | help |
| 229 | Enable the nVidia Tegra114 SPI driver. This driver can be used to |
| 230 | access the SPI NOR flash on platforms embedding this nVidia Tegra114 |
| 231 | IP core. |
| 232 | |
| 233 | This controller is different than the older SoCs SPI controller and |
| 234 | also register interface get changed with this controller. |
| 235 | |
Jagan Teki | 2f3e6f8 | 2015-06-27 16:04:05 +0530 | [diff] [blame] | 236 | config TEGRA20_SFLASH |
| 237 | bool "nVidia Tegra20 Serial Flash controller driver" |
| 238 | help |
| 239 | Enable the nVidia Tegra20 Serial Flash controller driver. This driver |
| 240 | can be used to access the SPI NOR flash on platforms embedding this |
| 241 | nVidia Tegra20 IP core. |
| 242 | |
Jagan Teki | 4495830 | 2015-06-27 16:07:54 +0530 | [diff] [blame] | 243 | config TEGRA20_SLINK |
| 244 | bool "nVidia Tegra20/Tegra30 SLINK driver" |
| 245 | help |
| 246 | Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can |
| 247 | be used to access the SPI NOR flash on platforms embedding this |
| 248 | nVidia Tegra20/Tegra30 IP cores. |
| 249 | |
Tom Warren | 4e675ff | 2015-10-12 14:50:54 -0700 | [diff] [blame] | 250 | config TEGRA210_QSPI |
| 251 | bool "nVidia Tegra210 QSPI driver" |
| 252 | help |
| 253 | Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver |
| 254 | be used to access SPI chips on platforms embedding this |
| 255 | NVIDIA Tegra210 IP core. |
| 256 | |
Jagan Teki | 075143d | 2015-06-27 04:32:43 +0530 | [diff] [blame] | 257 | config XILINX_SPI |
| 258 | bool "Xilinx SPI driver" |
Jagan Teki | 075143d | 2015-06-27 04:32:43 +0530 | [diff] [blame] | 259 | help |
| 260 | Enable the Xilinx SPI driver from the Xilinx EDK. This SPI |
| 261 | controller support 8 bit SPI transfers only, with or w/o FIFO. |
| 262 | For more info on Xilinx SPI Register Definitions and Overview |
| 263 | see driver file - drivers/spi/xilinx_spi.c |
| 264 | |
Jagan Teki | df30a42 | 2015-06-27 00:51:38 +0530 | [diff] [blame] | 265 | config ZYNQ_SPI |
| 266 | bool "Zynq SPI driver" |
Michal Simek | ec48b6c | 2018-08-22 14:55:27 +0200 | [diff] [blame] | 267 | depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL |
Jagan Teki | df30a42 | 2015-06-27 00:51:38 +0530 | [diff] [blame] | 268 | help |
| 269 | Enable the Zynq SPI driver. This driver can be used to |
| 270 | access the SPI NOR flash on platforms embedding this Zynq |
| 271 | SPI IP core. |
Jagan Teki | de82305 | 2015-06-27 22:35:14 +0530 | [diff] [blame] | 272 | |
Jagan Teki | 78a025a | 2015-08-16 00:19:38 +0530 | [diff] [blame] | 273 | config ZYNQ_QSPI |
| 274 | bool "Zynq QSPI driver" |
| 275 | depends on ARCH_ZYNQ |
| 276 | help |
| 277 | Enable the Zynq Quad-SPI (QSPI) driver. This driver can be |
| 278 | used to access the SPI NOR flash on platforms embedding this |
| 279 | Zynq QSPI IP core. This IP is used to connect the flash in |
| 280 | 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. |
| 281 | |
Siva Durga Prasad Paladugu | 22cca17 | 2018-07-04 17:31:23 +0530 | [diff] [blame] | 282 | config ZYNQMP_GQSPI |
| 283 | bool "Configure ZynqMP Generic QSPI" |
Michal Simek | ec48b6c | 2018-08-22 14:55:27 +0200 | [diff] [blame] | 284 | depends on ARCH_ZYNQMP || ARCH_VERSAL |
Siva Durga Prasad Paladugu | 22cca17 | 2018-07-04 17:31:23 +0530 | [diff] [blame] | 285 | help |
| 286 | This option is used to enable ZynqMP QSPI controller driver which |
| 287 | is used to communicate with qspi flash devices. |
| 288 | |
Jagan Teki | e4976af | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 289 | endif # if DM_SPI |
| 290 | |
Peng Fan | 41eb8ff | 2017-04-13 14:09:55 +0800 | [diff] [blame] | 291 | config SOFT_SPI |
| 292 | bool "Soft SPI driver" |
| 293 | help |
| 294 | Enable Soft SPI driver. This driver is to use GPIO simulate |
| 295 | the SPI protocol. |
| 296 | |
Tuomas Tynkkynen | fbca0e6 | 2018-02-07 02:42:23 +0200 | [diff] [blame] | 297 | config CF_SPI |
| 298 | bool "ColdFire SPI driver" |
| 299 | help |
| 300 | Enable the ColdFire SPI driver. This driver can be used on |
| 301 | some m68k SoCs. |
| 302 | |
Jagan Teki | 3debffa | 2015-06-27 15:21:36 +0530 | [diff] [blame] | 303 | config FSL_ESPI |
| 304 | bool "Freescale eSPI driver" |
| 305 | help |
| 306 | Enable the Freescale eSPI driver. This driver can be used to |
| 307 | access the SPI interface and SPI NOR flash on platforms embedding |
| 308 | this Freescale eSPI IP core. |
| 309 | |
Jagan Teki | 21b1dd1 | 2016-09-03 12:58:33 +0530 | [diff] [blame] | 310 | config FSL_QSPI |
| 311 | bool "Freescale QSPI driver" |
| 312 | help |
| 313 | Enable the Freescale Quad-SPI (QSPI) driver. This driver can be |
| 314 | used to access the SPI NOR flash on platforms embedding this |
| 315 | Freescale IP core. |
| 316 | |
Adam Ford | 26410c1 | 2017-12-30 07:33:42 -0600 | [diff] [blame] | 317 | config DAVINCI_SPI |
| 318 | bool "Davinci & Keystone SPI driver" |
| 319 | depends on ARCH_DAVINCI || ARCH_KEYSTONE |
| 320 | help |
| 321 | Enable the Davinci SPI driver |
| 322 | |
Tuomas Tynkkynen | 95d3877 | 2018-02-07 02:42:16 +0200 | [diff] [blame] | 323 | config SH_SPI |
| 324 | bool "SuperH SPI driver" |
| 325 | help |
| 326 | Enable the SuperH SPI controller driver. This driver can be used |
| 327 | on various SuperH SoCs, such as SH7757. |
| 328 | |
Tuomas Tynkkynen | a5dfabe | 2018-02-07 02:42:17 +0200 | [diff] [blame] | 329 | config SH_QSPI |
| 330 | bool "Renesas Quad SPI driver" |
| 331 | help |
| 332 | Enable the Renesas Quad SPI controller driver. This driver can be |
| 333 | used on Renesas SoCs. |
| 334 | |
Jagan Teki | e4976af | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 335 | config TI_QSPI |
| 336 | bool "TI QSPI driver" |
| 337 | help |
| 338 | Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. |
| 339 | This driver support spi flash single, quad and memory reads. |
| 340 | |
Tuomas Tynkkynen | 4a942f4 | 2018-02-07 02:42:22 +0200 | [diff] [blame] | 341 | config KIRKWOOD_SPI |
| 342 | bool "Marvell Kirkwood SPI Driver" |
| 343 | help |
| 344 | Enable support for SPI on various Marvell SoCs, such as |
| 345 | Kirkwood and Armada 375. |
| 346 | |
Tuomas Tynkkynen | 2c4b096 | 2018-02-07 02:42:21 +0200 | [diff] [blame] | 347 | config LPC32XX_SSP |
| 348 | bool "LPC32XX SPI Driver" |
| 349 | help |
| 350 | Enable support for SPI on LPC32xx |
| 351 | |
Tuomas Tynkkynen | bbdf386 | 2018-02-07 02:42:20 +0200 | [diff] [blame] | 352 | config MPC8XXX_SPI |
| 353 | bool "MPC8XXX SPI Driver" |
| 354 | help |
| 355 | Enable support for SPI on the MPC8XXX PowerPC SoCs. |
| 356 | |
Tuomas Tynkkynen | 60e5456 | 2018-02-07 02:42:19 +0200 | [diff] [blame] | 357 | config MXC_SPI |
| 358 | bool "MXC SPI Driver" |
| 359 | help |
| 360 | Enable the MXC SPI controller driver. This driver can be used |
| 361 | on various i.MX SoCs such as i.MX31/35/51/6/7. |
| 362 | |
Tuomas Tynkkynen | 7b819b5 | 2018-02-07 02:42:18 +0200 | [diff] [blame] | 363 | config MXS_SPI |
| 364 | bool "MXS SPI Driver" |
| 365 | help |
| 366 | Enable the MXS SPI controller driver. This driver can be used |
| 367 | on the i.MX23 and i.MX28 SoCs. |
| 368 | |
Adam Ford | a41e3e1 | 2017-07-26 22:25:29 -0500 | [diff] [blame] | 369 | config OMAP3_SPI |
| 370 | bool "McSPI driver for OMAP" |
| 371 | help |
| 372 | SPI master controller for OMAP24XX and later Multichannel SPI |
| 373 | (McSPI). This driver be used to access SPI chips on platforms |
| 374 | embedding this OMAP3 McSPI IP core. |
| 375 | |
Adam Ford | f1b1f77 | 2018-04-15 13:51:26 -0400 | [diff] [blame] | 376 | endif # menu "SPI Support" |