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 16967efcaeSBoris Brezillonconfig SPI_MEM 17967efcaeSBoris Brezillon bool "SPI memory extension" 18967efcaeSBoris Brezillon help 19967efcaeSBoris Brezillon Enable this option if you want to enable the SPI memory extension. 20967efcaeSBoris Brezillon This extension is meant to simplify interaction with SPI memories 21967efcaeSBoris Brezillon by providing an high-level interface to send memory-like commands. 22967efcaeSBoris Brezillon 2395d92f58SVignesh Rif DM_SPI 2495d92f58SVignesh R 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 330d17c3dfSJagan Tekiconfig ATCSPI200_SPI 340d17c3dfSJagan Teki bool "Andestech ATCSPI200 SPI driver" 350d17c3dfSJagan Teki help 360d17c3dfSJagan Teki Enable the Andestech ATCSPI200 SPI driver. This driver can be 370d17c3dfSJagan Teki used to access the SPI flash on AE3XX and AE250 platforms embedding 380d17c3dfSJagan Teki this Andestech IP core. 390d17c3dfSJagan Teki 40b85dc460SWills Wangconfig ATH79_SPI 41b85dc460SWills Wang bool "Atheros SPI driver" 42b85dc460SWills Wang depends on ARCH_ATH79 43b85dc460SWills Wang help 44b85dc460SWills Wang Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 45b85dc460SWills Wang to access SPI NOR flash and other SPI peripherals. This driver 46b85dc460SWills Wang uses driver model and requires a device tree binding to operate. 47b85dc460SWills Wang please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 48b85dc460SWills Wang 490eafd4b7SWenyou Yangconfig ATMEL_SPI 500eafd4b7SWenyou Yang bool "Atmel SPI driver" 51f92621cfSJagan Teki default y if ARCH_AT91 520eafd4b7SWenyou Yang help 530eafd4b7SWenyou Yang This enables driver for the Atmel SPI Controller, present on 54daab59acSAndy Shevchenko many AT91 (ARM) chips. This driver can be used to access 55daab59acSAndy Shevchenko the SPI Flash, such as AT25DF321. 560eafd4b7SWenyou Yang 574bb24893SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI 584bb24893SÁlvaro Fernández Rojas bool "BCM63XX HSSPI driver" 594bb24893SÁlvaro Fernández Rojas depends on ARCH_BMIPS 604bb24893SÁlvaro Fernández Rojas help 614bb24893SÁlvaro Fernández Rojas Enable the BCM6328 HSSPI driver. This driver can be used to 624bb24893SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding this Broadcom 634bb24893SÁlvaro Fernández Rojas SPI core. 644bb24893SÁlvaro Fernández Rojas 65c2d012f9SÁlvaro Fernández Rojasconfig BCM63XX_SPI 66c2d012f9SÁlvaro Fernández Rojas bool "BCM6348 SPI driver" 67c2d012f9SÁlvaro Fernández Rojas depends on ARCH_BMIPS 68c2d012f9SÁlvaro Fernández Rojas help 69c2d012f9SÁlvaro Fernández Rojas Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 70c2d012f9SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding these Broadcom 71c2d012f9SÁlvaro Fernández Rojas SPI cores. 72c2d012f9SÁlvaro Fernández Rojas 73e4976af8SJagan Tekiconfig CADENCE_QSPI 74e4976af8SJagan Teki bool "Cadence QSPI driver" 75e4976af8SJagan Teki help 76e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 77e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 78e4976af8SJagan Teki Cadence IP core. 79e4976af8SJagan Teki 80e4976af8SJagan Tekiconfig DESIGNWARE_SPI 81e4976af8SJagan Teki bool "Designware SPI driver" 82e4976af8SJagan Teki help 83e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 84e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 85e4976af8SJagan Teki IP core. 86e4976af8SJagan Teki 87c354eee8SJagan Tekiconfig EXYNOS_SPI 88c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 89c354eee8SJagan Teki help 90c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 91c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 92c354eee8SJagan Teki Exynos IP core. 93c354eee8SJagan Teki 9494ea308dSJagan Tekiconfig FSL_DSPI 9594ea308dSJagan Teki bool "Freescale DSPI driver" 9694ea308dSJagan Teki help 9794ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 9894ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 9994ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 10094ea308dSJagan Teki use this driver. 10194ea308dSJagan Teki 10245636010SJagan Tekiconfig ICH_SPI 10345636010SJagan Teki bool "Intel ICH SPI driver" 10445636010SJagan Teki help 10545636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 10645636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 10745636010SJagan Teki ICH IP core. 10845636010SJagan Teki 1093fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 1103fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 1113fda4ef3SStefan Roese help 1123fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 1133fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 1143fda4ef3SStefan Roese Marvell IP core. 1153fda4ef3SStefan Roese 116e19b9004SPurna Chandra Mandalconfig PIC32_SPI 117e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 118e19b9004SPurna Chandra Mandal depends on MACH_PIC32 119e19b9004SPurna Chandra Mandal help 120e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 121e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 122e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 123e19b9004SPurna Chandra Mandal 1241b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1251b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1261b2fd5bfSSimon Glass help 1271b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1281b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1291b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1301b2fd5bfSSimon Glass operate. 1311b2fd5bfSSimon Glass 132c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC 133c1cd6cb6SAndy Yan bool "Rockchip SFC driver" 134c1cd6cb6SAndy Yan help 135c1cd6cb6SAndy Yan Enable the Rockchip SFC driver, used to access SPI NOR flash 136c1cd6cb6SAndy Yan on Rockchip SoCs. 137c1cd6cb6SAndy Yan This uses driver model and requires a device tree binding to 138c1cd6cb6SAndy Yan operate. 139c1cd6cb6SAndy Yan 140892cac72SSimon Glassconfig SANDBOX_SPI 141892cac72SSimon Glass bool "Sandbox SPI driver" 142892cac72SSimon Glass depends on SANDBOX && DM 143892cac72SSimon Glass help 144892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 145892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 146892cac72SSimon Glass which specifies the driver to use. As an example, see this device 147892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 148892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 149892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 150892cac72SSimon Glass 151892cac72SSimon Glass spi@0 { 152892cac72SSimon Glass #address-cells = <1>; 153892cac72SSimon Glass #size-cells = <0>; 154892cac72SSimon Glass reg = <0>; 155892cac72SSimon Glass compatible = "sandbox,spi"; 156892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 157892cac72SSimon Glass flash@0 { 158892cac72SSimon Glass reg = <0>; 159892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 160892cac72SSimon Glass spi-max-frequency = <40000000>; 161892cac72SSimon Glass sandbox,filename = "spi.bin"; 162892cac72SSimon Glass }; 163892cac72SSimon Glass }; 16467d7a9d6SMarek Vasut 165d4363baaSMichael Kurzconfig STM32_QSPI 166d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 167d4363baaSMichael Kurz depends on STM32F7 168d4363baaSMichael Kurz help 169d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 170d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 171d4363baaSMichael Kurz this ST IP core. 172d4363baaSMichael Kurz 1735bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1745bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1755bf9a2d3SJagan Teki help 1765bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1775bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1785bf9a2d3SJagan Teki IP core. 1795bf9a2d3SJagan Teki 1805bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1815bf9a2d3SJagan Teki also register interface get changed with this controller. 1825bf9a2d3SJagan Teki 1832f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1842f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1852f3e6f8cSJagan Teki help 1862f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1872f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1882f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1892f3e6f8cSJagan Teki 1904495830cSJagan Tekiconfig TEGRA20_SLINK 1914495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1924495830cSJagan Teki help 1934495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1944495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1954495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1964495830cSJagan Teki 1974e675ff2STom Warrenconfig TEGRA210_QSPI 1984e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1994e675ff2STom Warren help 2004e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 2014e675ff2STom Warren be used to access SPI chips on platforms embedding this 2024e675ff2STom Warren NVIDIA Tegra210 IP core. 2034e675ff2STom Warren 204075143d3SJagan Tekiconfig XILINX_SPI 205075143d3SJagan Teki bool "Xilinx SPI driver" 206075143d3SJagan Teki help 207075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 208075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 209075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 210075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 211075143d3SJagan Teki 212df30a425SJagan Tekiconfig ZYNQ_SPI 213df30a425SJagan Teki bool "Zynq SPI driver" 2148e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 215df30a425SJagan Teki help 216df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 217df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 218df30a425SJagan Teki SPI IP core. 219de823053SJagan Teki 22078a025acSJagan Tekiconfig ZYNQ_QSPI 22178a025acSJagan Teki bool "Zynq QSPI driver" 22278a025acSJagan Teki depends on ARCH_ZYNQ 22378a025acSJagan Teki help 22478a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 22578a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 22678a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 22778a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 22878a025acSJagan Teki 229e4976af8SJagan Tekiendif # if DM_SPI 230e4976af8SJagan Teki 23141eb8ff5SPeng Fanconfig SOFT_SPI 23241eb8ff5SPeng Fan bool "Soft SPI driver" 23341eb8ff5SPeng Fan help 23441eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 23541eb8ff5SPeng Fan the SPI protocol. 23641eb8ff5SPeng Fan 237845f53cfSTuomas Tynkkynenconfig CF_SPI 238845f53cfSTuomas Tynkkynen bool "ColdFire SPI driver" 239845f53cfSTuomas Tynkkynen help 240845f53cfSTuomas Tynkkynen Enable the ColdFire SPI driver. This driver can be used on 241845f53cfSTuomas Tynkkynen some m68k SoCs. 242845f53cfSTuomas Tynkkynen 2433debffa7SJagan Tekiconfig FSL_ESPI 2443debffa7SJagan Teki bool "Freescale eSPI driver" 2453debffa7SJagan Teki help 2463debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2473debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2483debffa7SJagan Teki this Freescale eSPI IP core. 2493debffa7SJagan Teki 25021b1dd18SJagan Tekiconfig FSL_QSPI 25121b1dd18SJagan Teki bool "Freescale QSPI driver" 25221b1dd18SJagan Teki help 25321b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 25421b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 25521b1dd18SJagan Teki Freescale IP core. 25621b1dd18SJagan Teki 2572b9d6da4SAdam Fordconfig DAVINCI_SPI 2582b9d6da4SAdam Ford bool "Davinci & Keystone SPI driver" 2592b9d6da4SAdam Ford depends on ARCH_DAVINCI || ARCH_KEYSTONE 2602b9d6da4SAdam Ford help 2612b9d6da4SAdam Ford Enable the Davinci SPI driver 2622b9d6da4SAdam Ford 26399c18490STuomas Tynkkynenconfig SH_SPI 26499c18490STuomas Tynkkynen bool "SuperH SPI driver" 26599c18490STuomas Tynkkynen help 26699c18490STuomas Tynkkynen Enable the SuperH SPI controller driver. This driver can be used 26799c18490STuomas Tynkkynen on various SuperH SoCs, such as SH7757. 26899c18490STuomas Tynkkynen 2693ad77667STuomas Tynkkynenconfig SH_QSPI 2703ad77667STuomas Tynkkynen bool "Renesas Quad SPI driver" 2713ad77667STuomas Tynkkynen help 2723ad77667STuomas Tynkkynen Enable the Renesas Quad SPI controller driver. This driver can be 2733ad77667STuomas Tynkkynen used on Renesas SoCs. 2743ad77667STuomas Tynkkynen 275e4976af8SJagan Tekiconfig TI_QSPI 276e4976af8SJagan Teki bool "TI QSPI driver" 277e4976af8SJagan Teki help 278e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 279e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 280e4976af8SJagan Teki 2815932b8bcSTuomas Tynkkynenconfig KIRKWOOD_SPI 2825932b8bcSTuomas Tynkkynen bool "Marvell Kirkwood SPI Driver" 2835932b8bcSTuomas Tynkkynen help 2845932b8bcSTuomas Tynkkynen Enable support for SPI on various Marvell SoCs, such as 2855932b8bcSTuomas Tynkkynen Kirkwood and Armada 375. 2865932b8bcSTuomas Tynkkynen 287a1f9e12aSTuomas Tynkkynenconfig LPC32XX_SSP 288a1f9e12aSTuomas Tynkkynen bool "LPC32XX SPI Driver" 289a1f9e12aSTuomas Tynkkynen help 290a1f9e12aSTuomas Tynkkynen Enable support for SPI on LPC32xx 291a1f9e12aSTuomas Tynkkynen 292f88c431bSChristophe Leroyconfig MPC8XX_SPI 293f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 294*87e4c602SChristophe Leroy depends on MPC8xx 295f88c431bSChristophe Leroy help 296f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 297f88c431bSChristophe Leroy 298cb909354STuomas Tynkkynenconfig MPC8XXX_SPI 299cb909354STuomas Tynkkynen bool "MPC8XXX SPI Driver" 300cb909354STuomas Tynkkynen help 301cb909354STuomas Tynkkynen Enable support for SPI on the MPC8XXX PowerPC SoCs. 302cb909354STuomas Tynkkynen 303cb909354STuomas Tynkkynenconfig MXC_SPI 304cb909354STuomas Tynkkynen bool "MXC SPI Driver" 305cb909354STuomas Tynkkynen help 306cb909354STuomas Tynkkynen Enable the MXC SPI controller driver. This driver can be used 307cb909354STuomas Tynkkynen on various i.MX SoCs such as i.MX31/35/51/6/7. 308cb909354STuomas Tynkkynen 309d851477aSTuomas Tynkkynenconfig MXS_SPI 310d851477aSTuomas Tynkkynen bool "MXS SPI Driver" 311d851477aSTuomas Tynkkynen help 312d851477aSTuomas Tynkkynen Enable the MXS SPI controller driver. This driver can be used 313d851477aSTuomas Tynkkynen on the i.MX23 and i.MX28 SoCs. 314d851477aSTuomas Tynkkynen 315a41e3e14SAdam Fordconfig OMAP3_SPI 316a41e3e14SAdam Ford bool "McSPI driver for OMAP" 317a41e3e14SAdam Ford help 318a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 319a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 320a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 321a41e3e14SAdam Ford 322de823053SJagan Tekiendmenu # menu "SPI Support" 323