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 2615927aefSJagan Tekiconfig ATCSPI200_SPI 2715927aefSJagan Teki bool "Andestech ATCSPI200 SPI driver" 2815927aefSJagan Teki help 2915927aefSJagan Teki Enable the Andestech ATCSPI200 SPI driver. This driver can be 3015927aefSJagan Teki used to access the SPI flash on AE3XX and AE250 platforms embedding 3115927aefSJagan Teki this Andestech IP core. 3215927aefSJagan Teki 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" 4489d4fc15SJagan Teki default y if 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 5029cc4368SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI 5129cc4368SÁlvaro Fernández Rojas bool "BCM63XX HSSPI driver" 5229cc4368SÁlvaro Fernández Rojas depends on ARCH_BMIPS 5329cc4368SÁlvaro Fernández Rojas help 5429cc4368SÁlvaro Fernández Rojas Enable the BCM6328 HSSPI driver. This driver can be used to 5529cc4368SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding this Broadcom 5629cc4368SÁlvaro Fernández Rojas SPI core. 5729cc4368SÁlvaro Fernández Rojas 585ac07d29SÁlvaro Fernández Rojasconfig BCM63XX_SPI 595ac07d29SÁlvaro Fernández Rojas bool "BCM6348 SPI driver" 605ac07d29SÁlvaro Fernández Rojas depends on ARCH_BMIPS 615ac07d29SÁlvaro Fernández Rojas help 625ac07d29SÁlvaro Fernández Rojas Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 635ac07d29SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding these Broadcom 645ac07d29SÁlvaro Fernández Rojas SPI cores. 655ac07d29SÁlvaro Fernández Rojas 66e4976af8SJagan Tekiconfig CADENCE_QSPI 67e4976af8SJagan Teki bool "Cadence QSPI driver" 68e4976af8SJagan Teki help 69e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 70e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 71e4976af8SJagan Teki Cadence IP core. 72e4976af8SJagan Teki 73e4976af8SJagan Tekiconfig DESIGNWARE_SPI 74e4976af8SJagan Teki bool "Designware SPI driver" 75e4976af8SJagan Teki help 76e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 77e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 78e4976af8SJagan Teki IP core. 79e4976af8SJagan Teki 80c354eee8SJagan Tekiconfig EXYNOS_SPI 81c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 82c354eee8SJagan Teki help 83c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 84c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 85c354eee8SJagan Teki Exynos IP core. 86c354eee8SJagan Teki 8794ea308dSJagan Tekiconfig FSL_DSPI 8894ea308dSJagan Teki bool "Freescale DSPI driver" 8994ea308dSJagan Teki help 9094ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 9194ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 9294ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 9394ea308dSJagan Teki use this driver. 9494ea308dSJagan Teki 9545636010SJagan Tekiconfig ICH_SPI 9645636010SJagan Teki bool "Intel ICH SPI driver" 9745636010SJagan Teki help 9845636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 9945636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 10045636010SJagan Teki ICH IP core. 10145636010SJagan Teki 1023fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 1033fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 1043fda4ef3SStefan Roese help 1053fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 1063fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 1073fda4ef3SStefan Roese Marvell IP core. 1083fda4ef3SStefan Roese 109e19b9004SPurna Chandra Mandalconfig PIC32_SPI 110e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 111e19b9004SPurna Chandra Mandal depends on MACH_PIC32 112e19b9004SPurna Chandra Mandal help 113e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 114e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 115e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 116e19b9004SPurna Chandra Mandal 117*fbebea27SMarek Vasutconfig RENESAS_RPC_SPI 118*fbebea27SMarek Vasut bool "Renesas RPC SPI driver" 119*fbebea27SMarek Vasut depends on RCAR_GEN3 120*fbebea27SMarek Vasut help 121*fbebea27SMarek Vasut Enable the Renesas RPC SPI driver, used to access SPI NOR flash 122*fbebea27SMarek Vasut on Renesas RCar Gen3 SoCs. This uses driver model and requires a 123*fbebea27SMarek Vasut device tree binding to operate. 124*fbebea27SMarek Vasut 1251b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1261b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1271b2fd5bfSSimon Glass help 1281b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1291b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1301b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1311b2fd5bfSSimon Glass operate. 1321b2fd5bfSSimon Glass 133892cac72SSimon Glassconfig SANDBOX_SPI 134892cac72SSimon Glass bool "Sandbox SPI driver" 135892cac72SSimon Glass depends on SANDBOX && DM 136892cac72SSimon Glass help 137892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 138892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 139892cac72SSimon Glass which specifies the driver to use. As an example, see this device 140892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 141892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 142892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 143892cac72SSimon Glass 144892cac72SSimon Glass spi@0 { 145892cac72SSimon Glass #address-cells = <1>; 146892cac72SSimon Glass #size-cells = <0>; 147892cac72SSimon Glass reg = <0>; 148892cac72SSimon Glass compatible = "sandbox,spi"; 149892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 150892cac72SSimon Glass flash@0 { 151892cac72SSimon Glass reg = <0>; 152892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 153892cac72SSimon Glass spi-max-frequency = <40000000>; 154892cac72SSimon Glass sandbox,filename = "spi.bin"; 155892cac72SSimon Glass }; 156892cac72SSimon Glass }; 15767d7a9d6SMarek Vasut 158d4363baaSMichael Kurzconfig STM32_QSPI 159d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 160d4363baaSMichael Kurz depends on STM32F7 161d4363baaSMichael Kurz help 162d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 163d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 164d4363baaSMichael Kurz this ST IP core. 165d4363baaSMichael Kurz 1665bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1675bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1685bf9a2d3SJagan Teki help 1695bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1705bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1715bf9a2d3SJagan Teki IP core. 1725bf9a2d3SJagan Teki 1735bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1745bf9a2d3SJagan Teki also register interface get changed with this controller. 1755bf9a2d3SJagan Teki 1762f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1772f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1782f3e6f8cSJagan Teki help 1792f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1802f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1812f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1822f3e6f8cSJagan Teki 1834495830cSJagan Tekiconfig TEGRA20_SLINK 1844495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1854495830cSJagan Teki help 1864495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1874495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1884495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1894495830cSJagan Teki 1904e675ff2STom Warrenconfig TEGRA210_QSPI 1914e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1924e675ff2STom Warren help 1934e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1944e675ff2STom Warren be used to access SPI chips on platforms embedding this 1954e675ff2STom Warren NVIDIA Tegra210 IP core. 1964e675ff2STom Warren 197075143d3SJagan Tekiconfig XILINX_SPI 198075143d3SJagan Teki bool "Xilinx SPI driver" 199075143d3SJagan Teki help 200075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 201075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 202075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 203075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 204075143d3SJagan Teki 205df30a425SJagan Tekiconfig ZYNQ_SPI 206df30a425SJagan Teki bool "Zynq SPI driver" 2078e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 208df30a425SJagan Teki help 209df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 210df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 211df30a425SJagan Teki SPI IP core. 212de823053SJagan Teki 21378a025acSJagan Tekiconfig ZYNQ_QSPI 21478a025acSJagan Teki bool "Zynq QSPI driver" 21578a025acSJagan Teki depends on ARCH_ZYNQ 21678a025acSJagan Teki help 21778a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 21878a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 21978a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 22078a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 22178a025acSJagan Teki 222e4976af8SJagan Tekiendif # if DM_SPI 223e4976af8SJagan Teki 22441eb8ff5SPeng Fanconfig SOFT_SPI 22541eb8ff5SPeng Fan bool "Soft SPI driver" 22641eb8ff5SPeng Fan help 22741eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 22841eb8ff5SPeng Fan the SPI protocol. 22941eb8ff5SPeng Fan 230fbca0e66STuomas Tynkkynenconfig CF_SPI 231fbca0e66STuomas Tynkkynen bool "ColdFire SPI driver" 232fbca0e66STuomas Tynkkynen help 233fbca0e66STuomas Tynkkynen Enable the ColdFire SPI driver. This driver can be used on 234fbca0e66STuomas Tynkkynen some m68k SoCs. 235fbca0e66STuomas Tynkkynen 2363debffa7SJagan Tekiconfig FSL_ESPI 2373debffa7SJagan Teki bool "Freescale eSPI driver" 2383debffa7SJagan Teki help 2393debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2403debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2413debffa7SJagan Teki this Freescale eSPI IP core. 2423debffa7SJagan Teki 24321b1dd18SJagan Tekiconfig FSL_QSPI 24421b1dd18SJagan Teki bool "Freescale QSPI driver" 24521b1dd18SJagan Teki help 24621b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 24721b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 24821b1dd18SJagan Teki Freescale IP core. 24921b1dd18SJagan Teki 25026410c15SAdam Fordconfig DAVINCI_SPI 25126410c15SAdam Ford bool "Davinci & Keystone SPI driver" 25226410c15SAdam Ford depends on ARCH_DAVINCI || ARCH_KEYSTONE 25326410c15SAdam Ford help 25426410c15SAdam Ford Enable the Davinci SPI driver 25526410c15SAdam Ford 25695d3877aSTuomas Tynkkynenconfig SH_SPI 25795d3877aSTuomas Tynkkynen bool "SuperH SPI driver" 25895d3877aSTuomas Tynkkynen help 25995d3877aSTuomas Tynkkynen Enable the SuperH SPI controller driver. This driver can be used 26095d3877aSTuomas Tynkkynen on various SuperH SoCs, such as SH7757. 26195d3877aSTuomas Tynkkynen 262a5dfabeaSTuomas Tynkkynenconfig SH_QSPI 263a5dfabeaSTuomas Tynkkynen bool "Renesas Quad SPI driver" 264a5dfabeaSTuomas Tynkkynen help 265a5dfabeaSTuomas Tynkkynen Enable the Renesas Quad SPI controller driver. This driver can be 266a5dfabeaSTuomas Tynkkynen used on Renesas SoCs. 267a5dfabeaSTuomas Tynkkynen 268e4976af8SJagan Tekiconfig TI_QSPI 269e4976af8SJagan Teki bool "TI QSPI driver" 270e4976af8SJagan Teki help 271e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 272e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 273e4976af8SJagan Teki 2744a942f49STuomas Tynkkynenconfig KIRKWOOD_SPI 2754a942f49STuomas Tynkkynen bool "Marvell Kirkwood SPI Driver" 2764a942f49STuomas Tynkkynen help 2774a942f49STuomas Tynkkynen Enable support for SPI on various Marvell SoCs, such as 2784a942f49STuomas Tynkkynen Kirkwood and Armada 375. 2794a942f49STuomas Tynkkynen 2802c4b096bSTuomas Tynkkynenconfig LPC32XX_SSP 2812c4b096bSTuomas Tynkkynen bool "LPC32XX SPI Driver" 2822c4b096bSTuomas Tynkkynen help 2832c4b096bSTuomas Tynkkynen Enable support for SPI on LPC32xx 2842c4b096bSTuomas Tynkkynen 285f88c431bSChristophe Leroyconfig MPC8XX_SPI 286f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 287ee1e600cSChristophe Leroy depends on MPC8xx 288f88c431bSChristophe Leroy help 289f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 290f88c431bSChristophe Leroy 291bbdf3869STuomas Tynkkynenconfig MPC8XXX_SPI 292bbdf3869STuomas Tynkkynen bool "MPC8XXX SPI Driver" 293bbdf3869STuomas Tynkkynen help 294bbdf3869STuomas Tynkkynen Enable support for SPI on the MPC8XXX PowerPC SoCs. 295bbdf3869STuomas Tynkkynen 29660e54562STuomas Tynkkynenconfig MXC_SPI 29760e54562STuomas Tynkkynen bool "MXC SPI Driver" 29860e54562STuomas Tynkkynen help 29960e54562STuomas Tynkkynen Enable the MXC SPI controller driver. This driver can be used 30060e54562STuomas Tynkkynen on various i.MX SoCs such as i.MX31/35/51/6/7. 30160e54562STuomas Tynkkynen 3027b819b56STuomas Tynkkynenconfig MXS_SPI 3037b819b56STuomas Tynkkynen bool "MXS SPI Driver" 3047b819b56STuomas Tynkkynen help 3057b819b56STuomas Tynkkynen Enable the MXS SPI controller driver. This driver can be used 3067b819b56STuomas Tynkkynen on the i.MX23 and i.MX28 SoCs. 3077b819b56STuomas Tynkkynen 308a41e3e14SAdam Fordconfig OMAP3_SPI 309a41e3e14SAdam Ford bool "McSPI driver for OMAP" 310a41e3e14SAdam Ford help 311a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 312a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 313a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 314a41e3e14SAdam Ford 315de823053SJagan Tekiendmenu # menu "SPI Support" 316