1menuconfig SPI 2 bool "SPI Support" 3 4if SPI 5 6config DM_SPI 7 bool "Enable Driver Model for SPI drivers" 8 depends on DM 9 help 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. 18 19if DM_SPI 20 21config ALTERA_SPI 22 bool "Altera SPI driver" 23 help 24 Enable the Altera SPI driver. This driver can be used to 25 access the SPI NOR flash on platforms embedding this Altera 26 IP core. Please find details on the "Embedded Peripherals IP 27 User Guide" of Altera. 28 29config ATCSPI200_SPI 30 bool "Andestech ATCSPI200 SPI driver" 31 help 32 Enable the Andestech ATCSPI200 SPI driver. This driver can be 33 used to access the SPI flash on AE3XX and AE250 platforms embedding 34 this Andestech IP core. 35 36config ATH79_SPI 37 bool "Atheros SPI driver" 38 depends on ARCH_ATH79 39 help 40 Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 41 to access SPI NOR flash and other SPI peripherals. This driver 42 uses driver model and requires a device tree binding to operate. 43 please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 44 45config ATMEL_SPI 46 bool "Atmel SPI driver" 47 default y if ARCH_AT91 48 help 49 This enables driver for the Atmel SPI Controller, present on 50 many AT91 (ARM) chips. This driver can be used to access 51 the SPI Flash, such as AT25DF321. 52 53config BCM63XX_HSSPI 54 bool "BCM63XX HSSPI driver" 55 depends on ARCH_BMIPS 56 help 57 Enable the BCM6328 HSSPI driver. This driver can be used to 58 access the SPI NOR flash on platforms embedding this Broadcom 59 SPI core. 60 61config BCM63XX_SPI 62 bool "BCM6348 SPI driver" 63 depends on ARCH_BMIPS 64 help 65 Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 66 access the SPI NOR flash on platforms embedding these Broadcom 67 SPI cores. 68 69config CADENCE_QSPI 70 bool "Cadence QSPI driver" 71 help 72 Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 73 used to access the SPI NOR flash on platforms embedding this 74 Cadence IP core. 75 76config DESIGNWARE_SPI 77 bool "Designware SPI driver" 78 help 79 Enable the Designware SPI driver. This driver can be used to 80 access the SPI NOR flash on platforms embedding this Designware 81 IP core. 82 83config EXYNOS_SPI 84 bool "Samsung Exynos SPI driver" 85 help 86 Enable the Samsung Exynos SPI driver. This driver can be used to 87 access the SPI NOR flash on platforms embedding this Samsung 88 Exynos IP core. 89 90config FSL_DSPI 91 bool "Freescale DSPI driver" 92 help 93 Enable the Freescale DSPI driver. This driver can be used to 94 access the SPI NOR flash and SPI Data flash on platforms embedding 95 this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 96 use this driver. 97 98config ICH_SPI 99 bool "Intel ICH SPI driver" 100 help 101 Enable the Intel ICH SPI driver. This driver can be used to 102 access the SPI NOR flash on platforms embedding this Intel 103 ICH IP core. 104 105config MVEBU_A3700_SPI 106 bool "Marvell Armada 3700 SPI driver" 107 help 108 Enable the Marvell Armada 3700 SPI driver. This driver can be 109 used to access the SPI NOR flash on platforms embedding this 110 Marvell IP core. 111 112config PIC32_SPI 113 bool "Microchip PIC32 SPI driver" 114 depends on MACH_PIC32 115 help 116 Enable the Microchip PIC32 SPI driver. This driver can be used 117 to access the SPI NOR flash, MMC-over-SPI on platforms based on 118 Microchip PIC32 family devices. 119 120config RENESAS_RPC_SPI 121 bool "Renesas RPC SPI driver" 122 depends on RCAR_GEN3 123 help 124 Enable the Renesas RPC SPI driver, used to access SPI NOR flash 125 on Renesas RCar Gen3 SoCs. This uses driver model and requires a 126 device tree binding to operate. 127 128config ROCKCHIP_SPI 129 bool "Rockchip SPI driver" 130 help 131 Enable the Rockchip SPI driver, used to access SPI NOR flash and 132 other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 133 This uses driver model and requires a device tree binding to 134 operate. 135 136config SANDBOX_SPI 137 bool "Sandbox SPI driver" 138 depends on SANDBOX && DM 139 help 140 Enable SPI support for sandbox. This is an emulation of a real SPI 141 bus. Devices can be attached to the bus using the device tree 142 which specifies the driver to use. As an example, see this device 143 tree fragment from sandbox.dts. It shows that the SPI bus has a 144 single flash device on chip select 0 which is emulated by the driver 145 for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 146 147 spi@0 { 148 #address-cells = <1>; 149 #size-cells = <0>; 150 reg = <0>; 151 compatible = "sandbox,spi"; 152 cs-gpios = <0>, <&gpio_a 0>; 153 flash@0 { 154 reg = <0>; 155 compatible = "spansion,m25p16", "sandbox,spi-flash"; 156 spi-max-frequency = <40000000>; 157 sandbox,filename = "spi.bin"; 158 }; 159 }; 160 161config STM32_QSPI 162 bool "STM32F7 QSPI driver" 163 depends on STM32F7 164 help 165 Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 166 used to access the SPI NOR flash chips on platforms embedding 167 this ST IP core. 168 169config TEGRA114_SPI 170 bool "nVidia Tegra114 SPI driver" 171 help 172 Enable the nVidia Tegra114 SPI driver. This driver can be used to 173 access the SPI NOR flash on platforms embedding this nVidia Tegra114 174 IP core. 175 176 This controller is different than the older SoCs SPI controller and 177 also register interface get changed with this controller. 178 179config TEGRA20_SFLASH 180 bool "nVidia Tegra20 Serial Flash controller driver" 181 help 182 Enable the nVidia Tegra20 Serial Flash controller driver. This driver 183 can be used to access the SPI NOR flash on platforms embedding this 184 nVidia Tegra20 IP core. 185 186config TEGRA20_SLINK 187 bool "nVidia Tegra20/Tegra30 SLINK driver" 188 help 189 Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 190 be used to access the SPI NOR flash on platforms embedding this 191 nVidia Tegra20/Tegra30 IP cores. 192 193config TEGRA210_QSPI 194 bool "nVidia Tegra210 QSPI driver" 195 help 196 Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 197 be used to access SPI chips on platforms embedding this 198 NVIDIA Tegra210 IP core. 199 200config XILINX_SPI 201 bool "Xilinx SPI driver" 202 help 203 Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 204 controller support 8 bit SPI transfers only, with or w/o FIFO. 205 For more info on Xilinx SPI Register Definitions and Overview 206 see driver file - drivers/spi/xilinx_spi.c 207 208config ZYNQ_SPI 209 bool "Zynq SPI driver" 210 depends on ARCH_ZYNQ || ARCH_ZYNQMP 211 help 212 Enable the Zynq SPI driver. This driver can be used to 213 access the SPI NOR flash on platforms embedding this Zynq 214 SPI IP core. 215 216config ZYNQ_QSPI 217 bool "Zynq QSPI driver" 218 depends on ARCH_ZYNQ 219 help 220 Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 221 used to access the SPI NOR flash on platforms embedding this 222 Zynq QSPI IP core. This IP is used to connect the flash in 223 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 224 225endif # if DM_SPI 226 227config SOFT_SPI 228 bool "Soft SPI driver" 229 help 230 Enable Soft SPI driver. This driver is to use GPIO simulate 231 the SPI protocol. 232 233config CF_SPI 234 bool "ColdFire SPI driver" 235 help 236 Enable the ColdFire SPI driver. This driver can be used on 237 some m68k SoCs. 238 239config FSL_ESPI 240 bool "Freescale eSPI driver" 241 help 242 Enable the Freescale eSPI driver. This driver can be used to 243 access the SPI interface and SPI NOR flash on platforms embedding 244 this Freescale eSPI IP core. 245 246config FSL_QSPI 247 bool "Freescale QSPI driver" 248 help 249 Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 250 used to access the SPI NOR flash on platforms embedding this 251 Freescale IP core. 252 253config DAVINCI_SPI 254 bool "Davinci & Keystone SPI driver" 255 depends on ARCH_DAVINCI || ARCH_KEYSTONE 256 help 257 Enable the Davinci SPI driver 258 259config SH_SPI 260 bool "SuperH SPI driver" 261 help 262 Enable the SuperH SPI controller driver. This driver can be used 263 on various SuperH SoCs, such as SH7757. 264 265config SH_QSPI 266 bool "Renesas Quad SPI driver" 267 help 268 Enable the Renesas Quad SPI controller driver. This driver can be 269 used on Renesas SoCs. 270 271config TI_QSPI 272 bool "TI QSPI driver" 273 help 274 Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 275 This driver support spi flash single, quad and memory reads. 276 277config KIRKWOOD_SPI 278 bool "Marvell Kirkwood SPI Driver" 279 help 280 Enable support for SPI on various Marvell SoCs, such as 281 Kirkwood and Armada 375. 282 283config LPC32XX_SSP 284 bool "LPC32XX SPI Driver" 285 help 286 Enable support for SPI on LPC32xx 287 288config MPC8XX_SPI 289 bool "MPC8XX SPI Driver" 290 depends on MPC8xx 291 help 292 Enable support for SPI on MPC8XX 293 294config MPC8XXX_SPI 295 bool "MPC8XXX SPI Driver" 296 help 297 Enable support for SPI on the MPC8XXX PowerPC SoCs. 298 299config MXC_SPI 300 bool "MXC SPI Driver" 301 help 302 Enable the MXC SPI controller driver. This driver can be used 303 on various i.MX SoCs such as i.MX31/35/51/6/7. 304 305config MXS_SPI 306 bool "MXS SPI Driver" 307 help 308 Enable the MXS SPI controller driver. This driver can be used 309 on the i.MX23 and i.MX28 SoCs. 310 311config OMAP3_SPI 312 bool "McSPI driver for OMAP" 313 help 314 SPI master controller for OMAP24XX and later Multichannel SPI 315 (McSPI). This driver be used to access SPI chips on platforms 316 embedding this OMAP3 McSPI IP core. 317 318endif # menu "SPI Support" 319