Jagan Teki | bfd3f8b | 2015-06-27 22:35:14 +0530 | [diff] [blame] | 1 | menu "SPI Support" |
| 2 | |
Masahiro Yamada | 57ad8ee | 2014-10-23 22:26:09 +0900 | [diff] [blame] | 3 | config DM_SPI |
| 4 | bool "Enable Driver Model for SPI drivers" |
| 5 | depends on DM |
| 6 | help |
Simon Glass | d8b771d | 2015-02-05 21:41:35 -0700 | [diff] [blame] | 7 | 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 Glass | 4b322d3 | 2015-03-06 13:19:05 -0700 | [diff] [blame] | 15 | |
Jagan Teki | 15a932c | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 16 | if DM_SPI |
| 17 | |
Thomas Chou | c589954 | 2015-10-14 08:33:34 +0800 | [diff] [blame] | 18 | config 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 Wang | f502148 | 2016-03-16 16:59:58 +0800 | [diff] [blame] | 26 | config 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 Yang | da8ee98 | 2016-10-28 14:17:49 +0800 | [diff] [blame] | 35 | config 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 Shevchenko | 8cb5cdd | 2017-07-05 16:25:22 +0300 | [diff] [blame] | 40 | many AT91 (ARM) chips. This driver can be used to access |
| 41 | the SPI Flash, such as AT25DF321. |
Wenyou Yang | da8ee98 | 2016-10-28 14:17:49 +0800 | [diff] [blame] | 42 | |
Jagan Teki | 15a932c | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 43 | config 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 | |
| 50 | config 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 Teki | 6274bf9 | 2015-06-27 15:32:19 +0530 | [diff] [blame] | 57 | config 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 Teki | ae30c02 | 2015-06-27 14:17:06 +0530 | [diff] [blame] | 64 | config 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 Teki | 3872b7c | 2015-06-27 15:43:27 +0530 | [diff] [blame] | 72 | config 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 Roese | 9ec1c78 | 2016-05-19 15:56:44 +0200 | [diff] [blame] | 79 | config 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 Mandal | ffa5442 | 2016-06-02 14:26:08 +0530 | [diff] [blame] | 86 | config 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 Glass | d1c1377 | 2015-09-01 19:19:37 -0600 | [diff] [blame] | 94 | config 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 Glass | 4b322d3 | 2015-03-06 13:19:05 -0700 | [diff] [blame] | 102 | config 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 Teki | 15a932c | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 125 | }; |
Jagan Teki | dd32f51 | 2015-06-27 04:41:11 +0530 | [diff] [blame] | 126 | |
Michael Kurz | 337ff2a | 2017-01-22 16:04:30 +0100 | [diff] [blame] | 127 | config 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 Teki | 7977d66 | 2015-06-27 15:57:53 +0530 | [diff] [blame] | 135 | config 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 Teki | a900d40 | 2015-06-27 16:04:05 +0530 | [diff] [blame] | 145 | config 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 Teki | 271aa56 | 2015-06-27 16:07:54 +0530 | [diff] [blame] | 152 | config 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 Warren | 5fb0c84 | 2015-10-12 14:50:54 -0700 | [diff] [blame] | 159 | config 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 Teki | cd70d7d | 2015-06-27 04:32:43 +0530 | [diff] [blame] | 166 | config XILINX_SPI |
| 167 | bool "Xilinx SPI driver" |
Jagan Teki | cd70d7d | 2015-06-27 04:32:43 +0530 | [diff] [blame] | 168 | 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 Teki | cad526f | 2015-06-27 00:51:38 +0530 | [diff] [blame] | 174 | config ZYNQ_SPI |
| 175 | bool "Zynq SPI driver" |
Michal Simek | f5a0371 | 2015-12-07 11:33:58 +0100 | [diff] [blame] | 176 | depends on ARCH_ZYNQ || ARCH_ZYNQMP |
Jagan Teki | cad526f | 2015-06-27 00:51:38 +0530 | [diff] [blame] | 177 | 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 Teki | bfd3f8b | 2015-06-27 22:35:14 +0530 | [diff] [blame] | 181 | |
Jagan Teki | f2e1c41 | 2015-08-16 00:19:38 +0530 | [diff] [blame] | 182 | config 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 Teki | 15a932c | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 191 | endif # if DM_SPI |
| 192 | |
Peng Fan | 176ee21 | 2017-04-13 14:09:55 +0800 | [diff] [blame] | 193 | config 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 Teki | a0497a3 | 2015-06-27 15:21:36 +0530 | [diff] [blame] | 199 | config 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 Teki | 467c629 | 2016-09-03 12:58:33 +0530 | [diff] [blame] | 206 | config 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 | 67dd233 | 2017-08-28 15:08:01 +0800 | [diff] [blame] | 213 | config NDS_AE3XX_SPI |
| 214 | bool "Andestech AE3XX SPI driver" |
| 215 | help |
| 216 | Enable the Andestech AE3XX SPI driver. This driver can be |
| 217 | used to access the SPI flash on platforms embedding this |
| 218 | Andestech IP core. |
| 219 | |
Jagan Teki | 15a932c | 2015-06-27 22:37:00 +0530 | [diff] [blame] | 220 | config TI_QSPI |
| 221 | bool "TI QSPI driver" |
| 222 | help |
| 223 | Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. |
| 224 | This driver support spi flash single, quad and memory reads. |
| 225 | |
Christophe Leroy | 8c3f122 | 2017-07-06 10:33:25 +0200 | [diff] [blame] | 226 | config MPC8XX_SPI |
| 227 | bool "MPC8XX SPI Driver" |
| 228 | depends on 8xx |
| 229 | help |
| 230 | Enable support for SPI on MPC8XX |
| 231 | |
Adam Ford | 03a333a | 2017-07-26 22:25:29 -0500 | [diff] [blame] | 232 | config OMAP3_SPI |
| 233 | bool "McSPI driver for OMAP" |
| 234 | help |
| 235 | SPI master controller for OMAP24XX and later Multichannel SPI |
| 236 | (McSPI). This driver be used to access SPI chips on platforms |
| 237 | embedding this OMAP3 McSPI IP core. |
| 238 | |
Jagan Teki | bfd3f8b | 2015-06-27 22:35:14 +0530 | [diff] [blame] | 239 | endmenu # menu "SPI Support" |