1de823053SJagan Tekimenu "SPI Support" 2de823053SJagan Teki 3da333ae7SMasahiro Yamadaconfig DM_SPI 4da333ae7SMasahiro Yamada bool "Enable Driver Model for SPI drivers" 5da333ae7SMasahiro Yamada depends on DM 6da333ae7SMasahiro Yamada help 7f94a1bedSSimon Glass Enable driver model for SPI. The SPI slave interface 8f94a1bedSSimon Glass (spi_setup_slave(), spi_xfer(), etc.) is then implemented by 9f94a1bedSSimon Glass the SPI uclass. Drivers provide methods to access the SPI 10f94a1bedSSimon Glass buses that they control. The uclass interface is defined in 11f94a1bedSSimon Glass include/spi.h. The existing spi_slave structure is attached 12f94a1bedSSimon Glass as 'parent data' to every slave on each bus. Slaves 13f94a1bedSSimon Glass typically use driver-private data instead of extending the 14f94a1bedSSimon Glass spi_slave structure. 15892cac72SSimon Glass 16e4976af8SJagan Tekiif DM_SPI 17e4976af8SJagan Teki 1815a56f9cSThomas Chouconfig ALTERA_SPI 1915a56f9cSThomas Chou bool "Altera SPI driver" 2015a56f9cSThomas Chou help 2115a56f9cSThomas Chou Enable the Altera SPI driver. This driver can be used to 2215a56f9cSThomas Chou access the SPI NOR flash on platforms embedding this Altera 2315a56f9cSThomas Chou IP core. Please find details on the "Embedded Peripherals IP 2415a56f9cSThomas Chou User Guide" of Altera. 2515a56f9cSThomas Chou 26b85dc460SWills Wangconfig ATH79_SPI 27b85dc460SWills Wang bool "Atheros SPI driver" 28b85dc460SWills Wang depends on ARCH_ATH79 29b85dc460SWills Wang help 30b85dc460SWills Wang Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 31b85dc460SWills Wang to access SPI NOR flash and other SPI peripherals. This driver 32b85dc460SWills Wang uses driver model and requires a device tree binding to operate. 33b85dc460SWills Wang please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 34b85dc460SWills Wang 350eafd4b7SWenyou Yangconfig ATMEL_SPI 360eafd4b7SWenyou Yang bool "Atmel SPI driver" 370eafd4b7SWenyou Yang depends on ARCH_AT91 380eafd4b7SWenyou Yang help 390eafd4b7SWenyou Yang This enables driver for the Atmel SPI Controller, present on 400eafd4b7SWenyou Yang many AT32 (AVR32) and AT91 (ARM) chips. This driver can be 410eafd4b7SWenyou Yang used to access the SPI Flash, such as AT25DF321. 420eafd4b7SWenyou Yang 43e4976af8SJagan Tekiconfig CADENCE_QSPI 44e4976af8SJagan Teki bool "Cadence QSPI driver" 45e4976af8SJagan Teki help 46e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 47e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 48e4976af8SJagan Teki Cadence IP core. 49e4976af8SJagan Teki 50e4976af8SJagan Tekiconfig DESIGNWARE_SPI 51e4976af8SJagan Teki bool "Designware SPI driver" 52e4976af8SJagan Teki help 53e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 54e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 55e4976af8SJagan Teki IP core. 56e4976af8SJagan Teki 57c354eee8SJagan Tekiconfig EXYNOS_SPI 58c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 59c354eee8SJagan Teki help 60c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 61c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 62c354eee8SJagan Teki Exynos IP core. 63c354eee8SJagan Teki 6494ea308dSJagan Tekiconfig FSL_DSPI 6594ea308dSJagan Teki bool "Freescale DSPI driver" 6694ea308dSJagan Teki help 6794ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 6894ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 6994ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 7094ea308dSJagan Teki use this driver. 7194ea308dSJagan Teki 7245636010SJagan Tekiconfig ICH_SPI 7345636010SJagan Teki bool "Intel ICH SPI driver" 7445636010SJagan Teki help 7545636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 7645636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 7745636010SJagan Teki ICH IP core. 7845636010SJagan Teki 793fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 803fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 813fda4ef3SStefan Roese help 823fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 833fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 843fda4ef3SStefan Roese Marvell IP core. 853fda4ef3SStefan Roese 86e19b9004SPurna Chandra Mandalconfig PIC32_SPI 87e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 88e19b9004SPurna Chandra Mandal depends on MACH_PIC32 89e19b9004SPurna Chandra Mandal help 90e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 91e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 92e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 93e19b9004SPurna Chandra Mandal 941b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 951b2fd5bfSSimon Glass bool "Rockchip SPI driver" 961b2fd5bfSSimon Glass help 971b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 981b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 991b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1001b2fd5bfSSimon Glass operate. 1011b2fd5bfSSimon Glass 102892cac72SSimon Glassconfig SANDBOX_SPI 103892cac72SSimon Glass bool "Sandbox SPI driver" 104892cac72SSimon Glass depends on SANDBOX && DM 105892cac72SSimon Glass help 106892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 107892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 108892cac72SSimon Glass which specifies the driver to use. As an example, see this device 109892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 110892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 111892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 112892cac72SSimon Glass 113892cac72SSimon Glass spi@0 { 114892cac72SSimon Glass #address-cells = <1>; 115892cac72SSimon Glass #size-cells = <0>; 116892cac72SSimon Glass reg = <0>; 117892cac72SSimon Glass compatible = "sandbox,spi"; 118892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 119892cac72SSimon Glass flash@0 { 120892cac72SSimon Glass reg = <0>; 121892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 122892cac72SSimon Glass spi-max-frequency = <40000000>; 123892cac72SSimon Glass sandbox,filename = "spi.bin"; 124892cac72SSimon Glass }; 125892cac72SSimon Glass }; 12667d7a9d6SMarek Vasut 127d4363baaSMichael Kurzconfig STM32_QSPI 128d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 129d4363baaSMichael Kurz depends on STM32F7 130d4363baaSMichael Kurz help 131d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 132d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 133d4363baaSMichael Kurz this ST IP core. 134d4363baaSMichael Kurz 1355bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1365bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1375bf9a2d3SJagan Teki help 1385bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1395bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1405bf9a2d3SJagan Teki IP core. 1415bf9a2d3SJagan Teki 1425bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1435bf9a2d3SJagan Teki also register interface get changed with this controller. 1445bf9a2d3SJagan Teki 1452f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1462f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1472f3e6f8cSJagan Teki help 1482f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1492f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1502f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1512f3e6f8cSJagan Teki 1524495830cSJagan Tekiconfig TEGRA20_SLINK 1534495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1544495830cSJagan Teki help 1554495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1564495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1574495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1584495830cSJagan Teki 1594e675ff2STom Warrenconfig TEGRA210_QSPI 1604e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1614e675ff2STom Warren help 1624e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1634e675ff2STom Warren be used to access SPI chips on platforms embedding this 1644e675ff2STom Warren NVIDIA Tegra210 IP core. 1654e675ff2STom Warren 166075143d3SJagan Tekiconfig XILINX_SPI 167075143d3SJagan Teki bool "Xilinx SPI driver" 168075143d3SJagan Teki help 169075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 170075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 171075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 172075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 173075143d3SJagan Teki 174df30a425SJagan Tekiconfig ZYNQ_SPI 175df30a425SJagan Teki bool "Zynq SPI driver" 1768e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 177df30a425SJagan Teki help 178df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 179df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 180df30a425SJagan Teki SPI IP core. 181de823053SJagan Teki 18278a025acSJagan Tekiconfig ZYNQ_QSPI 18378a025acSJagan Teki bool "Zynq QSPI driver" 18478a025acSJagan Teki depends on ARCH_ZYNQ 18578a025acSJagan Teki help 18678a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 18778a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 18878a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 18978a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 19078a025acSJagan Teki 19177b8d048SJagan Tekiconfig OMAP3_SPI 19277b8d048SJagan Teki bool "McSPI driver for OMAP" 19377b8d048SJagan Teki help 19477b8d048SJagan Teki SPI master controller for OMAP24XX and later Multichannel SPI 19577b8d048SJagan Teki (McSPI). This driver be used to access SPI chips on platforms 19677b8d048SJagan Teki embedding this OMAP3 McSPI IP core. 19777b8d048SJagan Teki 198e4976af8SJagan Tekiendif # if DM_SPI 199e4976af8SJagan Teki 200*41eb8ff5SPeng Fanconfig SOFT_SPI 201*41eb8ff5SPeng Fan bool "Soft SPI driver" 202*41eb8ff5SPeng Fan help 203*41eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 204*41eb8ff5SPeng Fan the SPI protocol. 205*41eb8ff5SPeng Fan 2063debffa7SJagan Tekiconfig FSL_ESPI 2073debffa7SJagan Teki bool "Freescale eSPI driver" 2083debffa7SJagan Teki help 2093debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2103debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2113debffa7SJagan Teki this Freescale eSPI IP core. 2123debffa7SJagan Teki 21321b1dd18SJagan Tekiconfig FSL_QSPI 21421b1dd18SJagan Teki bool "Freescale QSPI driver" 21521b1dd18SJagan Teki help 21621b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 21721b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 21821b1dd18SJagan Teki Freescale IP core. 21921b1dd18SJagan Teki 220e4976af8SJagan Tekiconfig TI_QSPI 221e4976af8SJagan Teki bool "TI QSPI driver" 222e4976af8SJagan Teki help 223e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 224e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 225e4976af8SJagan Teki 226de823053SJagan Tekiendmenu # menu "SPI Support" 227