| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | # |
|---|
| 2 | 3 | # SPI driver configuration |
|---|
| 3 | 4 | # |
|---|
| .. | .. |
|---|
| 58 | 59 | |
|---|
| 59 | 60 | config SPI_ALTERA |
|---|
| 60 | 61 | tristate "Altera SPI Controller" |
|---|
| 62 | + select REGMAP_MMIO |
|---|
| 61 | 63 | help |
|---|
| 62 | 64 | This is the driver for the Altera SPI Controller. |
|---|
| 63 | 65 | |
|---|
| 66 | +config SPI_AR934X |
|---|
| 67 | + tristate "Qualcomm Atheros AR934X/QCA95XX SPI controller driver" |
|---|
| 68 | + depends on ATH79 || COMPILE_TEST |
|---|
| 69 | + help |
|---|
| 70 | + This enables support for the SPI controller present on the |
|---|
| 71 | + Qualcomm Atheros AR934X/QCA95XX SoCs. |
|---|
| 72 | + |
|---|
| 64 | 73 | config SPI_ATH79 |
|---|
| 65 | 74 | tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" |
|---|
| 66 | | - depends on ATH79 && GPIOLIB |
|---|
| 75 | + depends on ATH79 || COMPILE_TEST |
|---|
| 67 | 76 | select SPI_BITBANG |
|---|
| 68 | 77 | help |
|---|
| 69 | 78 | This enables support for the SPI controller present on the |
|---|
| .. | .. |
|---|
| 79 | 88 | config SPI_ATMEL |
|---|
| 80 | 89 | tristate "Atmel SPI Controller" |
|---|
| 81 | 90 | depends on ARCH_AT91 || COMPILE_TEST |
|---|
| 91 | + depends on OF |
|---|
| 82 | 92 | help |
|---|
| 83 | 93 | This selects a driver for the Atmel SPI Controller, present on |
|---|
| 84 | 94 | many AT91 ARM chips. |
|---|
| 95 | + |
|---|
| 96 | +config SPI_AT91_USART |
|---|
| 97 | + tristate "Atmel USART Controller SPI driver" |
|---|
| 98 | + depends on (ARCH_AT91 || COMPILE_TEST) |
|---|
| 99 | + depends on MFD_AT91_USART |
|---|
| 100 | + help |
|---|
| 101 | + This selects a driver for the AT91 USART Controller as SPI Master, |
|---|
| 102 | + present on AT91 and SAMA5 SoC series. |
|---|
| 103 | + |
|---|
| 104 | +config SPI_ATMEL_QUADSPI |
|---|
| 105 | + tristate "Atmel Quad SPI Controller" |
|---|
| 106 | + depends on ARCH_AT91 || COMPILE_TEST |
|---|
| 107 | + depends on OF && HAS_IOMEM |
|---|
| 108 | + help |
|---|
| 109 | + This enables support for the Quad SPI controller in master mode. |
|---|
| 110 | + This driver does not support generic SPI. The implementation only |
|---|
| 111 | + supports spi-mem interface. |
|---|
| 85 | 112 | |
|---|
| 86 | 113 | config SPI_AU1550 |
|---|
| 87 | 114 | tristate "Au1550/Au1200/Au1300 SPI Controller" |
|---|
| .. | .. |
|---|
| 102 | 129 | config SPI_BCM2835 |
|---|
| 103 | 130 | tristate "BCM2835 SPI controller" |
|---|
| 104 | 131 | depends on GPIOLIB |
|---|
| 105 | | - depends on ARCH_BCM2835 || COMPILE_TEST |
|---|
| 132 | + depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST |
|---|
| 106 | 133 | help |
|---|
| 107 | 134 | This selects a driver for the Broadcom BCM2835 SPI master. |
|---|
| 108 | 135 | |
|---|
| .. | .. |
|---|
| 113 | 140 | |
|---|
| 114 | 141 | config SPI_BCM2835AUX |
|---|
| 115 | 142 | tristate "BCM2835 SPI auxiliary controller" |
|---|
| 116 | | - depends on (ARCH_BCM2835 && GPIOLIB) || COMPILE_TEST |
|---|
| 143 | + depends on ((ARCH_BCM2835 || ARCH_BRCMSTB) && GPIOLIB) || COMPILE_TEST |
|---|
| 117 | 144 | help |
|---|
| 118 | 145 | This selects a driver for the Broadcom BCM2835 SPI aux master. |
|---|
| 119 | 146 | |
|---|
| .. | .. |
|---|
| 123 | 150 | |
|---|
| 124 | 151 | config SPI_BCM63XX |
|---|
| 125 | 152 | tristate "Broadcom BCM63xx SPI controller" |
|---|
| 126 | | - depends on BCM63XX || COMPILE_TEST |
|---|
| 153 | + depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST |
|---|
| 127 | 154 | help |
|---|
| 128 | | - Enable support for the SPI controller on the Broadcom BCM63xx SoCs. |
|---|
| 155 | + Enable support for the SPI controller on the Broadcom BCM63xx SoCs. |
|---|
| 129 | 156 | |
|---|
| 130 | 157 | config SPI_BCM63XX_HSSPI |
|---|
| 131 | 158 | tristate "Broadcom BCM63XX HS SPI controller driver" |
|---|
| 132 | | - depends on BCM63XX || COMPILE_TEST |
|---|
| 159 | + depends on BCM63XX || BMIPS_GENERIC || ARCH_BCM_63XX || COMPILE_TEST |
|---|
| 133 | 160 | help |
|---|
| 134 | 161 | This enables support for the High Speed SPI controller present on |
|---|
| 135 | 162 | newer Broadcom BCM63XX SoCs. |
|---|
| .. | .. |
|---|
| 142 | 169 | help |
|---|
| 143 | 170 | Enables support for the Broadcom SPI flash and MSPI controller. |
|---|
| 144 | 171 | Select this option for any one of BRCMSTB, iProc NSP and NS2 SoCs |
|---|
| 145 | | - based platforms. This driver works for both SPI master for spi-nor |
|---|
| 172 | + based platforms. This driver works for both SPI master for SPI NOR |
|---|
| 146 | 173 | flash device as well as MSPI device. |
|---|
| 147 | 174 | |
|---|
| 148 | 175 | config SPI_BITBANG |
|---|
| .. | .. |
|---|
| 174 | 201 | This selects the Cadence SPI controller master driver |
|---|
| 175 | 202 | used by Xilinx Zynq and ZynqMP. |
|---|
| 176 | 203 | |
|---|
| 204 | +config SPI_CADENCE_QUADSPI |
|---|
| 205 | + tristate "Cadence Quad SPI controller" |
|---|
| 206 | + depends on OF && (ARM || ARM64 || COMPILE_TEST) |
|---|
| 207 | + help |
|---|
| 208 | + Enable support for the Cadence Quad SPI Flash controller. |
|---|
| 209 | + |
|---|
| 210 | + Cadence QSPI is a specialized controller for connecting an SPI |
|---|
| 211 | + Flash over 1/2/4-bit wide bus. Enable this option if you have a |
|---|
| 212 | + device with a Cadence QSPI controller and want to access the |
|---|
| 213 | + Flash as an MTD device. |
|---|
| 214 | + |
|---|
| 177 | 215 | config SPI_CLPS711X |
|---|
| 178 | 216 | tristate "CLPS711X host SPI controller" |
|---|
| 179 | 217 | depends on ARCH_CLPS711X || COMPILE_TEST |
|---|
| .. | .. |
|---|
| 197 | 235 | |
|---|
| 198 | 236 | config SPI_DESIGNWARE |
|---|
| 199 | 237 | tristate "DesignWare SPI controller core support" |
|---|
| 238 | + imply SPI_MEM |
|---|
| 200 | 239 | help |
|---|
| 201 | 240 | general driver for SPI controller core from DesignWare |
|---|
| 202 | 241 | |
|---|
| 242 | +if SPI_DESIGNWARE |
|---|
| 243 | + |
|---|
| 244 | +config SPI_DW_DMA |
|---|
| 245 | + bool "DMA support for DW SPI controller" |
|---|
| 246 | + |
|---|
| 203 | 247 | config SPI_DW_PCI |
|---|
| 204 | 248 | tristate "PCI interface driver for DW SPI core" |
|---|
| 205 | | - depends on SPI_DESIGNWARE && PCI |
|---|
| 206 | | - |
|---|
| 207 | | -config SPI_DW_MID_DMA |
|---|
| 208 | | - bool "DMA support for DW SPI controller on Intel MID platform" |
|---|
| 209 | | - depends on SPI_DW_PCI && DW_DMAC_PCI |
|---|
| 249 | + depends on PCI |
|---|
| 210 | 250 | |
|---|
| 211 | 251 | config SPI_DW_MMIO |
|---|
| 212 | 252 | tristate "Memory-mapped io interface driver for DW SPI core" |
|---|
| 213 | | - depends on SPI_DESIGNWARE |
|---|
| 253 | + depends on HAS_IOMEM |
|---|
| 254 | + |
|---|
| 255 | +config SPI_DW_BT1 |
|---|
| 256 | + tristate "Baikal-T1 SPI driver for DW SPI core" |
|---|
| 257 | + depends on MIPS_BAIKAL_T1 || COMPILE_TEST |
|---|
| 258 | + select MULTIPLEXER |
|---|
| 259 | + help |
|---|
| 260 | + Baikal-T1 SoC is equipped with three DW APB SSI-based MMIO SPI |
|---|
| 261 | + controllers. Two of them are pretty much normal: with IRQ, DMA, |
|---|
| 262 | + FIFOs of 64 words depth, 4x CSs, but the third one as being a |
|---|
| 263 | + part of the Baikal-T1 System Boot Controller has got a very |
|---|
| 264 | + limited resources: no IRQ, no DMA, only a single native |
|---|
| 265 | + chip-select and Tx/Rx FIFO with just 8 words depth available. |
|---|
| 266 | + The later one is normally connected to an external SPI-nor flash |
|---|
| 267 | + of 128Mb (in general can be of bigger size). |
|---|
| 268 | + |
|---|
| 269 | +config SPI_DW_BT1_DIRMAP |
|---|
| 270 | + bool "Directly mapped Baikal-T1 Boot SPI flash support" |
|---|
| 271 | + depends on SPI_DW_BT1 |
|---|
| 272 | + help |
|---|
| 273 | + Directly mapped SPI flash memory is an interface specific to the |
|---|
| 274 | + Baikal-T1 System Boot Controller. It is a 16MB MMIO region, which |
|---|
| 275 | + can be used to access a peripheral memory device just by |
|---|
| 276 | + reading/writing data from/to it. Note that the system APB bus |
|---|
| 277 | + will stall during each IO from/to the dirmap region until the |
|---|
| 278 | + operation is finished. So try not to use it concurrently with |
|---|
| 279 | + time-critical tasks (like the SPI memory operations implemented |
|---|
| 280 | + in this driver). |
|---|
| 281 | + |
|---|
| 282 | +endif |
|---|
| 214 | 283 | |
|---|
| 215 | 284 | config SPI_DLN2 |
|---|
| 216 | 285 | tristate "Diolan DLN-2 USB SPI adapter" |
|---|
| 217 | 286 | depends on MFD_DLN2 |
|---|
| 218 | 287 | help |
|---|
| 219 | | - If you say yes to this option, support will be included for Diolan |
|---|
| 220 | | - DLN2, a USB to SPI interface. |
|---|
| 288 | + If you say yes to this option, support will be included for Diolan |
|---|
| 289 | + DLN2, a USB to SPI interface. |
|---|
| 221 | 290 | |
|---|
| 222 | | - This driver can also be built as a module. If so, the module |
|---|
| 223 | | - will be called spi-dln2. |
|---|
| 291 | + This driver can also be built as a module. If so, the module |
|---|
| 292 | + will be called spi-dln2. |
|---|
| 224 | 293 | |
|---|
| 225 | 294 | config SPI_EFM32 |
|---|
| 226 | 295 | tristate "EFM32 SPI controller" |
|---|
| .. | .. |
|---|
| 245 | 314 | has only been tested with m25p80 type chips. The hardware has no |
|---|
| 246 | 315 | support for other types of SPI peripherals. |
|---|
| 247 | 316 | |
|---|
| 317 | +config SPI_FSI |
|---|
| 318 | + tristate "FSI SPI driver" |
|---|
| 319 | + depends on FSI |
|---|
| 320 | + help |
|---|
| 321 | + This enables support for the driver for FSI bus attached SPI |
|---|
| 322 | + controllers. |
|---|
| 323 | + |
|---|
| 248 | 324 | config SPI_FSL_LPSPI |
|---|
| 249 | 325 | tristate "Freescale i.MX LPSPI controller" |
|---|
| 250 | 326 | depends on ARCH_MXC || COMPILE_TEST |
|---|
| 251 | 327 | help |
|---|
| 252 | 328 | This enables Freescale i.MX LPSPI controllers in master mode. |
|---|
| 329 | + |
|---|
| 330 | +config SPI_FSL_QUADSPI |
|---|
| 331 | + tristate "Freescale QSPI controller" |
|---|
| 332 | + depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST |
|---|
| 333 | + depends on HAS_IOMEM |
|---|
| 334 | + help |
|---|
| 335 | + This enables support for the Quad SPI controller in master mode. |
|---|
| 336 | + Up to four flash chips can be connected on two buses with two |
|---|
| 337 | + chipselects each. |
|---|
| 338 | + This controller does not support generic SPI messages. It only |
|---|
| 339 | + supports the high-level SPI memory interface. |
|---|
| 340 | + |
|---|
| 341 | +config SPI_HISI_SFC_V3XX |
|---|
| 342 | + tristate "HiSilicon SPI NOR Flash Controller for Hi16XX chipsets" |
|---|
| 343 | + depends on (ARM64 && ACPI) || COMPILE_TEST |
|---|
| 344 | + depends on HAS_IOMEM |
|---|
| 345 | + help |
|---|
| 346 | + This enables support for HiSilicon v3xx SPI NOR flash controller |
|---|
| 347 | + found in hi16xx chipsets. |
|---|
| 348 | + |
|---|
| 349 | +config SPI_NXP_FLEXSPI |
|---|
| 350 | + tristate "NXP Flex SPI controller" |
|---|
| 351 | + depends on ARCH_LAYERSCAPE || HAS_IOMEM |
|---|
| 352 | + help |
|---|
| 353 | + This enables support for the Flex SPI controller in master mode. |
|---|
| 354 | + Up to four slave devices can be connected on two buses with two |
|---|
| 355 | + chipselects each. |
|---|
| 356 | + This controller does not support generic SPI messages and only |
|---|
| 357 | + supports the high-level SPI memory interface. |
|---|
| 253 | 358 | |
|---|
| 254 | 359 | config SPI_GPIO |
|---|
| 255 | 360 | tristate "GPIO-based bitbanging SPI Master" |
|---|
| .. | .. |
|---|
| 279 | 384 | depends on ARCH_MXC || COMPILE_TEST |
|---|
| 280 | 385 | select SPI_BITBANG |
|---|
| 281 | 386 | help |
|---|
| 282 | | - This enables using the Freescale i.MX SPI controllers in master |
|---|
| 283 | | - mode. |
|---|
| 387 | + This enables support for the Freescale i.MX SPI controllers. |
|---|
| 284 | 388 | |
|---|
| 285 | 389 | config SPI_JCORE |
|---|
| 286 | 390 | tristate "J-Core SPI Master" |
|---|
| .. | .. |
|---|
| 355 | 459 | depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || M5441x || COMPILE_TEST |
|---|
| 356 | 460 | help |
|---|
| 357 | 461 | This enables support for the Freescale DSPI controller in master |
|---|
| 358 | | - mode. VF610 platform uses the controller. |
|---|
| 462 | + mode. VF610, LS1021A and ColdFire platforms uses the controller. |
|---|
| 359 | 463 | |
|---|
| 360 | 464 | config SPI_FSL_ESPI |
|---|
| 361 | 465 | tristate "Freescale eSPI controller" |
|---|
| .. | .. |
|---|
| 367 | 471 | |
|---|
| 368 | 472 | config SPI_MESON_SPICC |
|---|
| 369 | 473 | tristate "Amlogic Meson SPICC controller" |
|---|
| 474 | + depends on COMMON_CLK |
|---|
| 370 | 475 | depends on ARCH_MESON || COMPILE_TEST |
|---|
| 371 | 476 | help |
|---|
| 372 | 477 | This enables master mode support for the SPICC (SPI communication |
|---|
| .. | .. |
|---|
| 389 | 494 | say Y or M here.If you are not sure, say N. |
|---|
| 390 | 495 | SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs. |
|---|
| 391 | 496 | |
|---|
| 392 | | -config SPI_NUC900 |
|---|
| 393 | | - tristate "Nuvoton NUC900 series SPI" |
|---|
| 394 | | - depends on ARCH_W90X900 |
|---|
| 395 | | - select SPI_BITBANG |
|---|
| 497 | +config SPI_MT7621 |
|---|
| 498 | + tristate "MediaTek MT7621 SPI Controller" |
|---|
| 499 | + depends on RALINK || COMPILE_TEST |
|---|
| 396 | 500 | help |
|---|
| 397 | | - SPI driver for Nuvoton NUC900 series ARM SoCs |
|---|
| 501 | + This selects a driver for the MediaTek MT7621 SPI Controller. |
|---|
| 502 | + |
|---|
| 503 | +config SPI_MTK_NOR |
|---|
| 504 | + tristate "MediaTek SPI NOR controller" |
|---|
| 505 | + depends on ARCH_MEDIATEK || COMPILE_TEST |
|---|
| 506 | + help |
|---|
| 507 | + This enables support for SPI NOR controller found on MediaTek |
|---|
| 508 | + ARM SoCs. This is a controller specifically for SPI NOR flash. |
|---|
| 509 | + It can perform generic SPI transfers up to 6 bytes via generic |
|---|
| 510 | + SPI interface as well as several SPI NOR specific instructions |
|---|
| 511 | + via SPI MEM interface. |
|---|
| 512 | + |
|---|
| 513 | +config SPI_NPCM_FIU |
|---|
| 514 | + tristate "Nuvoton NPCM FLASH Interface Unit" |
|---|
| 515 | + depends on ARCH_NPCM || COMPILE_TEST |
|---|
| 516 | + depends on OF && HAS_IOMEM |
|---|
| 517 | + help |
|---|
| 518 | + This enables support for the Flash Interface Unit SPI controller |
|---|
| 519 | + in master mode. |
|---|
| 520 | + This driver does not support generic SPI. The implementation only |
|---|
| 521 | + supports spi-mem interface. |
|---|
| 522 | + |
|---|
| 523 | +config SPI_NPCM_PSPI |
|---|
| 524 | + tristate "Nuvoton NPCM PSPI Controller" |
|---|
| 525 | + depends on ARCH_NPCM || COMPILE_TEST |
|---|
| 526 | + help |
|---|
| 527 | + This driver provides support for Nuvoton NPCM BMC |
|---|
| 528 | + Peripheral SPI controller in master mode. |
|---|
| 398 | 529 | |
|---|
| 399 | 530 | config SPI_LANTIQ_SSC |
|---|
| 400 | 531 | tristate "Lantiq SSC SPI controller" |
|---|
| 401 | | - depends on LANTIQ || COMPILE_TEST |
|---|
| 532 | + depends on LANTIQ || X86 || COMPILE_TEST |
|---|
| 402 | 533 | help |
|---|
| 403 | 534 | This driver supports the Lantiq SSC SPI controller in master |
|---|
| 404 | 535 | mode. This controller is found on Intel (former Lantiq) SoCs like |
|---|
| 405 | | - the Danube, Falcon, xRX200, xRX300. |
|---|
| 536 | + the Danube, Falcon, xRX200, xRX300, Lightning Mountain. |
|---|
| 406 | 537 | |
|---|
| 407 | 538 | config SPI_OC_TINY |
|---|
| 408 | 539 | tristate "OpenCores tiny SPI" |
|---|
| .. | .. |
|---|
| 427 | 558 | |
|---|
| 428 | 559 | config SPI_OMAP24XX |
|---|
| 429 | 560 | tristate "McSPI driver for OMAP" |
|---|
| 430 | | - depends on ARCH_OMAP2PLUS || COMPILE_TEST |
|---|
| 561 | + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST |
|---|
| 431 | 562 | select SG_SPLIT |
|---|
| 432 | 563 | help |
|---|
| 433 | 564 | SPI master controller for OMAP24XX and later Multichannel SPI |
|---|
| .. | .. |
|---|
| 487 | 618 | |
|---|
| 488 | 619 | config SPI_PXA2XX |
|---|
| 489 | 620 | tristate "PXA2xx SSP SPI master" |
|---|
| 490 | | - depends on (ARCH_PXA || ARCH_MMP || PCI || ACPI) |
|---|
| 621 | + depends on ARCH_PXA || ARCH_MMP || PCI || ACPI || COMPILE_TEST |
|---|
| 491 | 622 | select PXA_SSP if ARCH_PXA || ARCH_MMP |
|---|
| 492 | 623 | help |
|---|
| 493 | 624 | This enables using a PXA2xx or Sodaville SSP port as a SPI master |
|---|
| 494 | 625 | controller. The driver can be configured to use any SSP port and |
|---|
| 495 | | - additional documentation can be found a Documentation/spi/pxa2xx. |
|---|
| 626 | + additional documentation can be found a Documentation/spi/pxa2xx.rst. |
|---|
| 496 | 627 | |
|---|
| 497 | 628 | config SPI_PXA2XX_PCI |
|---|
| 498 | 629 | def_tristate SPI_PXA2XX && PCI && COMMON_CLK |
|---|
| .. | .. |
|---|
| 518 | 649 | for each spi controller and support to get the controller register |
|---|
| 519 | 650 | resource by calling mmap. |
|---|
| 520 | 651 | |
|---|
| 652 | +config SPI_ROCKCHIP_SFC |
|---|
| 653 | + tristate "Rockchip Serial Flash Controller (SFC)" |
|---|
| 654 | + imply ROCKCHIP_MTD_VENDOR_STORAGE |
|---|
| 655 | + depends on ARCH_ROCKCHIP || COMPILE_TEST |
|---|
| 656 | + depends on HAS_IOMEM && HAS_DMA |
|---|
| 657 | + help |
|---|
| 658 | + This enables support for Rockchip serial flash controller. This |
|---|
| 659 | + is a specialized controller used to access SPI flash on some |
|---|
| 660 | + Rockchip SOCs. |
|---|
| 661 | + |
|---|
| 662 | + ROCKCHIP SFC supports DMA and PIO modes. When DMA is not available, |
|---|
| 663 | + the driver automatically falls back to PIO mode. |
|---|
| 664 | + |
|---|
| 665 | +config SPI_ROCKCHIP_SLAVE |
|---|
| 666 | + tristate "Rockchip SPI Slave controller driver" |
|---|
| 667 | + depends on ARCH_ROCKCHIP || COMPILE_TEST |
|---|
| 668 | + default SPI_ROCKCHIP if !ROCKCHIP_MINI_KERNEL |
|---|
| 669 | + help |
|---|
| 670 | + This selects a driver for Rockchip SPI Slave controller. |
|---|
| 671 | + |
|---|
| 672 | + If you say yes to this option, support will be included for Rockchip |
|---|
| 673 | + SPI Slave controller. |
|---|
| 674 | + Rockchip SPI Slave controller support DMA transport and IRQ mode. |
|---|
| 675 | + |
|---|
| 521 | 676 | config SPI_RB4XX |
|---|
| 522 | 677 | tristate "Mikrotik RB4XX SPI master" |
|---|
| 523 | 678 | depends on SPI_MASTER && ATH79 |
|---|
| 524 | 679 | help |
|---|
| 525 | 680 | SPI controller driver for the Mikrotik RB4xx series boards. |
|---|
| 681 | + |
|---|
| 682 | +config SPI_RPCIF |
|---|
| 683 | + tristate "Renesas RPC-IF SPI driver" |
|---|
| 684 | + depends on RENESAS_RPCIF |
|---|
| 685 | + help |
|---|
| 686 | + SPI driver for Renesas R-Car Gen3 RPC-IF. |
|---|
| 526 | 687 | |
|---|
| 527 | 688 | config SPI_RSPI |
|---|
| 528 | 689 | tristate "Renesas RSPI/QSPI controller" |
|---|
| .. | .. |
|---|
| 530 | 691 | help |
|---|
| 531 | 692 | SPI driver for Renesas RSPI and QSPI blocks. |
|---|
| 532 | 693 | |
|---|
| 694 | +config SPI_QCOM_QSPI |
|---|
| 695 | + tristate "QTI QSPI controller" |
|---|
| 696 | + depends on ARCH_QCOM |
|---|
| 697 | + help |
|---|
| 698 | + QSPI(Quad SPI) driver for Qualcomm QSPI controller. |
|---|
| 699 | + |
|---|
| 533 | 700 | config SPI_QUP |
|---|
| 534 | 701 | tristate "Qualcomm SPI controller with QUP interface" |
|---|
| 535 | | - depends on ARCH_QCOM || (ARM && COMPILE_TEST) |
|---|
| 702 | + depends on ARCH_QCOM || COMPILE_TEST |
|---|
| 536 | 703 | help |
|---|
| 537 | 704 | Qualcomm Universal Peripheral (QUP) core is an AHB slave that |
|---|
| 538 | 705 | provides a common data path (an output FIFO and an input FIFO) |
|---|
| .. | .. |
|---|
| 542 | 709 | |
|---|
| 543 | 710 | This driver can also be built as a module. If so, the module |
|---|
| 544 | 711 | will be called spi_qup. |
|---|
| 712 | + |
|---|
| 713 | +config SPI_QCOM_GENI |
|---|
| 714 | + tristate "Qualcomm GENI based SPI controller" |
|---|
| 715 | + depends on QCOM_GENI_SE |
|---|
| 716 | + help |
|---|
| 717 | + This driver supports GENI serial engine based SPI controller in |
|---|
| 718 | + master mode on the Qualcomm Technologies Inc.'s SoCs. If you say |
|---|
| 719 | + yes to this option, support will be included for the built-in SPI |
|---|
| 720 | + interface on the Qualcomm Technologies Inc.'s SoCs. |
|---|
| 721 | + |
|---|
| 722 | + This driver can also be built as a module. If so, the module |
|---|
| 723 | + will be called spi-geni-qcom. |
|---|
| 545 | 724 | |
|---|
| 546 | 725 | config SPI_S3C24XX |
|---|
| 547 | 726 | tristate "Samsung S3C24XX series SPI" |
|---|
| .. | .. |
|---|
| 563 | 742 | |
|---|
| 564 | 743 | config SPI_S3C64XX |
|---|
| 565 | 744 | tristate "Samsung S3C64XX series type SPI" |
|---|
| 566 | | - depends on (PLAT_SAMSUNG || ARCH_EXYNOS || COMPILE_TEST) |
|---|
| 745 | + depends on (PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST) |
|---|
| 567 | 746 | help |
|---|
| 568 | 747 | SPI driver for Samsung S3C64XX and newer SoCs. |
|---|
| 569 | 748 | |
|---|
| .. | .. |
|---|
| 599 | 778 | help |
|---|
| 600 | 779 | SPI driver for SuperH HSPI blocks. |
|---|
| 601 | 780 | |
|---|
| 781 | +config SPI_SIFIVE |
|---|
| 782 | + tristate "SiFive SPI controller" |
|---|
| 783 | + depends on HAS_IOMEM |
|---|
| 784 | + help |
|---|
| 785 | + This exposes the SPI controller IP from SiFive. |
|---|
| 786 | + |
|---|
| 602 | 787 | config SPI_SIRF |
|---|
| 603 | 788 | tristate "CSR SiRFprimaII SPI controller" |
|---|
| 604 | 789 | depends on SIRF_DMA |
|---|
| 605 | 790 | select SPI_BITBANG |
|---|
| 606 | 791 | help |
|---|
| 607 | 792 | SPI driver for CSR SiRFprimaII SoCs |
|---|
| 793 | + |
|---|
| 794 | +config SPI_SLAVE_MT27XX |
|---|
| 795 | + tristate "MediaTek SPI slave device" |
|---|
| 796 | + depends on ARCH_MEDIATEK || COMPILE_TEST |
|---|
| 797 | + depends on SPI_SLAVE |
|---|
| 798 | + help |
|---|
| 799 | + This selects the MediaTek(R) SPI slave device driver. |
|---|
| 800 | + If you want to use MediaTek(R) SPI slave interface, |
|---|
| 801 | + say Y or M here.If you are not sure, say N. |
|---|
| 802 | + SPI slave drivers for Mediatek MT27XX series ARM SoCs. |
|---|
| 803 | + |
|---|
| 804 | +config SPI_SPRD |
|---|
| 805 | + tristate "Spreadtrum SPI controller" |
|---|
| 806 | + depends on ARCH_SPRD || COMPILE_TEST |
|---|
| 807 | + help |
|---|
| 808 | + SPI driver for Spreadtrum SoCs. |
|---|
| 608 | 809 | |
|---|
| 609 | 810 | config SPI_SPRD_ADI |
|---|
| 610 | 811 | tristate "Spreadtrum ADI controller" |
|---|
| .. | .. |
|---|
| 617 | 818 | tristate "STMicroelectronics STM32 SPI controller" |
|---|
| 618 | 819 | depends on ARCH_STM32 || COMPILE_TEST |
|---|
| 619 | 820 | help |
|---|
| 620 | | - SPI driver for STMicroelectonics STM32 SoCs. |
|---|
| 821 | + SPI driver for STMicroelectronics STM32 SoCs. |
|---|
| 621 | 822 | |
|---|
| 622 | 823 | STM32 SPI controller supports DMA and PIO modes. When DMA |
|---|
| 623 | 824 | is not available, the driver automatically falls back to |
|---|
| 624 | 825 | PIO mode. |
|---|
| 826 | + |
|---|
| 827 | +config SPI_STM32_QSPI |
|---|
| 828 | + tristate "STMicroelectronics STM32 QUAD SPI controller" |
|---|
| 829 | + depends on ARCH_STM32 || COMPILE_TEST |
|---|
| 830 | + depends on OF |
|---|
| 831 | + help |
|---|
| 832 | + This enables support for the Quad SPI controller in master mode. |
|---|
| 833 | + This driver does not support generic SPI. The implementation only |
|---|
| 834 | + supports spi-mem interface. |
|---|
| 625 | 835 | |
|---|
| 626 | 836 | config SPI_ST_SSC4 |
|---|
| 627 | 837 | tristate "STMicroelectronics SPI SSC-based driver" |
|---|
| .. | .. |
|---|
| 642 | 852 | depends on RESET_CONTROLLER |
|---|
| 643 | 853 | help |
|---|
| 644 | 854 | This enables using the SPI controller on the Allwinner A31 SoCs. |
|---|
| 855 | + |
|---|
| 856 | +config SPI_SYNQUACER |
|---|
| 857 | + tristate "Socionext's SynQuacer HighSpeed SPI controller" |
|---|
| 858 | + depends on ARCH_SYNQUACER || COMPILE_TEST |
|---|
| 859 | + help |
|---|
| 860 | + SPI driver for Socionext's High speed SPI controller which provides |
|---|
| 861 | + various operating modes for interfacing to serial peripheral devices |
|---|
| 862 | + that use the de-facto standard SPI protocol. |
|---|
| 863 | + |
|---|
| 864 | + It also supports the new dual-bit and quad-bit SPI protocol. |
|---|
| 865 | + |
|---|
| 866 | +config SPI_MXIC |
|---|
| 867 | + tristate "Macronix MX25F0A SPI controller" |
|---|
| 868 | + depends on SPI_MASTER |
|---|
| 869 | + help |
|---|
| 870 | + This selects the Macronix MX25F0A SPI controller driver. |
|---|
| 645 | 871 | |
|---|
| 646 | 872 | config SPI_MXS |
|---|
| 647 | 873 | tristate "Freescale MXS SPI controller" |
|---|
| .. | .. |
|---|
| 701 | 927 | config SPI_UNIPHIER |
|---|
| 702 | 928 | tristate "Socionext UniPhier SPI Controller" |
|---|
| 703 | 929 | depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF |
|---|
| 930 | + depends on HAS_IOMEM |
|---|
| 704 | 931 | help |
|---|
| 705 | 932 | This enables a driver for the Socionext UniPhier SoC SCSSI SPI controller. |
|---|
| 706 | 933 | |
|---|
| .. | .. |
|---|
| 753 | 980 | 16 bit words in SPI mode 0, automatically asserting CS on transfer |
|---|
| 754 | 981 | start and deasserting on end. |
|---|
| 755 | 982 | |
|---|
| 983 | +config SPI_ZYNQ_QSPI |
|---|
| 984 | + tristate "Xilinx Zynq QSPI controller" |
|---|
| 985 | + depends on ARCH_ZYNQ || COMPILE_TEST |
|---|
| 986 | + help |
|---|
| 987 | + This enables support for the Zynq Quad SPI controller |
|---|
| 988 | + in master mode. |
|---|
| 989 | + This controller only supports SPI memory interface. |
|---|
| 990 | + |
|---|
| 756 | 991 | config SPI_ZYNQMP_GQSPI |
|---|
| 757 | 992 | tristate "Xilinx ZynqMP GQSPI controller" |
|---|
| 758 | | - depends on SPI_MASTER && HAS_DMA |
|---|
| 993 | + depends on (SPI_MASTER && HAS_DMA) || COMPILE_TEST |
|---|
| 759 | 994 | help |
|---|
| 760 | 995 | Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC. |
|---|
| 996 | + |
|---|
| 997 | +config SPI_AMD |
|---|
| 998 | + tristate "AMD SPI controller" |
|---|
| 999 | + depends on SPI_MASTER || COMPILE_TEST |
|---|
| 1000 | + help |
|---|
| 1001 | + Enables SPI controller driver for AMD SoC. |
|---|
| 761 | 1002 | |
|---|
| 762 | 1003 | # |
|---|
| 763 | 1004 | # Add new SPI master controllers in alphabetical order above this line |
|---|
| 764 | 1005 | # |
|---|
| 1006 | + |
|---|
| 1007 | +comment "SPI Multiplexer support" |
|---|
| 1008 | + |
|---|
| 1009 | +config SPI_MUX |
|---|
| 1010 | + tristate "SPI multiplexer support" |
|---|
| 1011 | + select MULTIPLEXER |
|---|
| 1012 | + help |
|---|
| 1013 | + This adds support for SPI multiplexers. Each SPI mux will be |
|---|
| 1014 | + accessible as a SPI controller, the devices behind the mux will appear |
|---|
| 1015 | + to be chip selects on this controller. It is still necessary to |
|---|
| 1016 | + select one or more specific mux-controller drivers. |
|---|
| 765 | 1017 | |
|---|
| 766 | 1018 | # |
|---|
| 767 | 1019 | # There are lots of SPI device types, with sensors and memory |
|---|
| .. | .. |
|---|
| 825 | 1077 | SPI slave handler to allow remote control of system reboot, power |
|---|
| 826 | 1078 | off, halt, and suspend. |
|---|
| 827 | 1079 | |
|---|
| 1080 | +config SPI_SLAVE_ROCKCHIP_OBJ |
|---|
| 1081 | + tristate "Rockchip SPI slave inter transmission protocol demo" |
|---|
| 1082 | + help |
|---|
| 1083 | + SPI slave with a rockchip protocol specification for SPI slave |
|---|
| 1084 | + transmission, work with the corresponding master driver spidev_rkmst. |
|---|
| 1085 | + |
|---|
| 828 | 1086 | endif # SPI_SLAVE |
|---|
| 829 | 1087 | |
|---|
| 830 | 1088 | config SPI_DYNAMIC |
|---|