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 18*967efcaeSBoris Brezillonconfig SPI_MEM 19*967efcaeSBoris Brezillon bool "SPI memory extension" 20*967efcaeSBoris Brezillon help 21*967efcaeSBoris Brezillon Enable this option if you want to enable the SPI memory extension. 22*967efcaeSBoris Brezillon This extension is meant to simplify interaction with SPI memories 23*967efcaeSBoris Brezillon by providing an high-level interface to send memory-like commands. 24*967efcaeSBoris Brezillon 2515a56f9cSThomas Chouconfig ALTERA_SPI 2615a56f9cSThomas Chou bool "Altera SPI driver" 2715a56f9cSThomas Chou help 2815a56f9cSThomas Chou Enable the Altera SPI driver. This driver can be used to 2915a56f9cSThomas Chou access the SPI NOR flash on platforms embedding this Altera 3015a56f9cSThomas Chou IP core. Please find details on the "Embedded Peripherals IP 3115a56f9cSThomas Chou User Guide" of Altera. 3215a56f9cSThomas Chou 33b85dc460SWills Wangconfig ATH79_SPI 34b85dc460SWills Wang bool "Atheros SPI driver" 35b85dc460SWills Wang depends on ARCH_ATH79 36b85dc460SWills Wang help 37b85dc460SWills Wang Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 38b85dc460SWills Wang to access SPI NOR flash and other SPI peripherals. This driver 39b85dc460SWills Wang uses driver model and requires a device tree binding to operate. 40b85dc460SWills Wang please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 41b85dc460SWills Wang 420eafd4b7SWenyou Yangconfig ATMEL_SPI 430eafd4b7SWenyou Yang bool "Atmel SPI driver" 440eafd4b7SWenyou Yang depends on ARCH_AT91 450eafd4b7SWenyou Yang help 460eafd4b7SWenyou Yang This enables driver for the Atmel SPI Controller, present on 47daab59acSAndy Shevchenko many AT91 (ARM) chips. This driver can be used to access 48daab59acSAndy Shevchenko the SPI Flash, such as AT25DF321. 490eafd4b7SWenyou Yang 50e4976af8SJagan Tekiconfig CADENCE_QSPI 51e4976af8SJagan Teki bool "Cadence QSPI driver" 52e4976af8SJagan Teki help 53e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 54e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 55e4976af8SJagan Teki Cadence IP core. 56e4976af8SJagan Teki 57e4976af8SJagan Tekiconfig DESIGNWARE_SPI 58e4976af8SJagan Teki bool "Designware SPI driver" 59e4976af8SJagan Teki help 60e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 61e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 62e4976af8SJagan Teki IP core. 63e4976af8SJagan Teki 64c354eee8SJagan Tekiconfig EXYNOS_SPI 65c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 66c354eee8SJagan Teki help 67c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 68c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 69c354eee8SJagan Teki Exynos IP core. 70c354eee8SJagan Teki 7194ea308dSJagan Tekiconfig FSL_DSPI 7294ea308dSJagan Teki bool "Freescale DSPI driver" 7394ea308dSJagan Teki help 7494ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 7594ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 7694ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 7794ea308dSJagan Teki use this driver. 7894ea308dSJagan Teki 7945636010SJagan Tekiconfig ICH_SPI 8045636010SJagan Teki bool "Intel ICH SPI driver" 8145636010SJagan Teki help 8245636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 8345636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 8445636010SJagan Teki ICH IP core. 8545636010SJagan Teki 863fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 873fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 883fda4ef3SStefan Roese help 893fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 903fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 913fda4ef3SStefan Roese Marvell IP core. 923fda4ef3SStefan Roese 93e19b9004SPurna Chandra Mandalconfig PIC32_SPI 94e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 95e19b9004SPurna Chandra Mandal depends on MACH_PIC32 96e19b9004SPurna Chandra Mandal help 97e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 98e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 99e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 100e19b9004SPurna Chandra Mandal 1011b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1021b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1031b2fd5bfSSimon Glass help 1041b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1051b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1061b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1071b2fd5bfSSimon Glass operate. 1081b2fd5bfSSimon Glass 109c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC 110c1cd6cb6SAndy Yan bool "Rockchip SFC driver" 111c1cd6cb6SAndy Yan help 112c1cd6cb6SAndy Yan Enable the Rockchip SFC driver, used to access SPI NOR flash 113c1cd6cb6SAndy Yan on Rockchip SoCs. 114c1cd6cb6SAndy Yan This uses driver model and requires a device tree binding to 115c1cd6cb6SAndy Yan operate. 116c1cd6cb6SAndy Yan 117892cac72SSimon Glassconfig SANDBOX_SPI 118892cac72SSimon Glass bool "Sandbox SPI driver" 119892cac72SSimon Glass depends on SANDBOX && DM 120892cac72SSimon Glass help 121892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 122892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 123892cac72SSimon Glass which specifies the driver to use. As an example, see this device 124892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 125892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 126892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 127892cac72SSimon Glass 128892cac72SSimon Glass spi@0 { 129892cac72SSimon Glass #address-cells = <1>; 130892cac72SSimon Glass #size-cells = <0>; 131892cac72SSimon Glass reg = <0>; 132892cac72SSimon Glass compatible = "sandbox,spi"; 133892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 134892cac72SSimon Glass flash@0 { 135892cac72SSimon Glass reg = <0>; 136892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 137892cac72SSimon Glass spi-max-frequency = <40000000>; 138892cac72SSimon Glass sandbox,filename = "spi.bin"; 139892cac72SSimon Glass }; 140892cac72SSimon Glass }; 14167d7a9d6SMarek Vasut 142d4363baaSMichael Kurzconfig STM32_QSPI 143d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 144d4363baaSMichael Kurz depends on STM32F7 145d4363baaSMichael Kurz help 146d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 147d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 148d4363baaSMichael Kurz this ST IP core. 149d4363baaSMichael Kurz 1505bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1515bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1525bf9a2d3SJagan Teki help 1535bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1545bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1555bf9a2d3SJagan Teki IP core. 1565bf9a2d3SJagan Teki 1575bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1585bf9a2d3SJagan Teki also register interface get changed with this controller. 1595bf9a2d3SJagan Teki 1602f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1612f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1622f3e6f8cSJagan Teki help 1632f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1642f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1652f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1662f3e6f8cSJagan Teki 1674495830cSJagan Tekiconfig TEGRA20_SLINK 1684495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1694495830cSJagan Teki help 1704495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1714495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1724495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1734495830cSJagan Teki 1744e675ff2STom Warrenconfig TEGRA210_QSPI 1754e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1764e675ff2STom Warren help 1774e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1784e675ff2STom Warren be used to access SPI chips on platforms embedding this 1794e675ff2STom Warren NVIDIA Tegra210 IP core. 1804e675ff2STom Warren 181075143d3SJagan Tekiconfig XILINX_SPI 182075143d3SJagan Teki bool "Xilinx SPI driver" 183075143d3SJagan Teki help 184075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 185075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 186075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 187075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 188075143d3SJagan Teki 189df30a425SJagan Tekiconfig ZYNQ_SPI 190df30a425SJagan Teki bool "Zynq SPI driver" 1918e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 192df30a425SJagan Teki help 193df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 194df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 195df30a425SJagan Teki SPI IP core. 196de823053SJagan Teki 19778a025acSJagan Tekiconfig ZYNQ_QSPI 19878a025acSJagan Teki bool "Zynq QSPI driver" 19978a025acSJagan Teki depends on ARCH_ZYNQ 20078a025acSJagan Teki help 20178a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 20278a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 20378a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 20478a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 20578a025acSJagan Teki 206e4976af8SJagan Tekiendif # if DM_SPI 207e4976af8SJagan Teki 20841eb8ff5SPeng Fanconfig SOFT_SPI 20941eb8ff5SPeng Fan bool "Soft SPI driver" 21041eb8ff5SPeng Fan help 21141eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 21241eb8ff5SPeng Fan the SPI protocol. 21341eb8ff5SPeng Fan 2143debffa7SJagan Tekiconfig FSL_ESPI 2153debffa7SJagan Teki bool "Freescale eSPI driver" 2163debffa7SJagan Teki help 2173debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2183debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2193debffa7SJagan Teki this Freescale eSPI IP core. 2203debffa7SJagan Teki 22121b1dd18SJagan Tekiconfig FSL_QSPI 22221b1dd18SJagan Teki bool "Freescale QSPI driver" 22321b1dd18SJagan Teki help 22421b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 22521b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 22621b1dd18SJagan Teki Freescale IP core. 22721b1dd18SJagan Teki 228e4976af8SJagan Tekiconfig TI_QSPI 229e4976af8SJagan Teki bool "TI QSPI driver" 230e4976af8SJagan Teki help 231e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 232e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 233e4976af8SJagan Teki 234f88c431bSChristophe Leroyconfig MPC8XX_SPI 235f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 236f88c431bSChristophe Leroy depends on 8xx 237f88c431bSChristophe Leroy help 238f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 239f88c431bSChristophe Leroy 240a41e3e14SAdam Fordconfig OMAP3_SPI 241a41e3e14SAdam Ford bool "McSPI driver for OMAP" 242a41e3e14SAdam Ford help 243a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 244a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 245a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 246a41e3e14SAdam Ford 247de823053SJagan Tekiendmenu # menu "SPI Support" 248