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 40daab59acSAndy Shevchenko many AT91 (ARM) chips. This driver can be used to access 41daab59acSAndy Shevchenko the SPI Flash, such as AT25DF321. 420eafd4b7SWenyou Yang 4329cc4368SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI 4429cc4368SÁlvaro Fernández Rojas bool "BCM63XX HSSPI driver" 4529cc4368SÁlvaro Fernández Rojas depends on ARCH_BMIPS 4629cc4368SÁlvaro Fernández Rojas help 4729cc4368SÁlvaro Fernández Rojas Enable the BCM6328 HSSPI driver. This driver can be used to 4829cc4368SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding this Broadcom 4929cc4368SÁlvaro Fernández Rojas SPI core. 5029cc4368SÁlvaro Fernández Rojas 515ac07d29SÁlvaro Fernández Rojasconfig BCM63XX_SPI 525ac07d29SÁlvaro Fernández Rojas bool "BCM6348 SPI driver" 535ac07d29SÁlvaro Fernández Rojas depends on ARCH_BMIPS 545ac07d29SÁlvaro Fernández Rojas help 555ac07d29SÁlvaro Fernández Rojas Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 565ac07d29SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding these Broadcom 575ac07d29SÁlvaro Fernández Rojas SPI cores. 585ac07d29SÁlvaro Fernández Rojas 59e4976af8SJagan Tekiconfig CADENCE_QSPI 60e4976af8SJagan Teki bool "Cadence QSPI driver" 61e4976af8SJagan Teki help 62e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 63e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 64e4976af8SJagan Teki Cadence IP core. 65e4976af8SJagan Teki 66e4976af8SJagan Tekiconfig DESIGNWARE_SPI 67e4976af8SJagan Teki bool "Designware SPI driver" 68e4976af8SJagan Teki help 69e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 70e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 71e4976af8SJagan Teki IP core. 72e4976af8SJagan Teki 73c354eee8SJagan Tekiconfig EXYNOS_SPI 74c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 75c354eee8SJagan Teki help 76c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 77c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 78c354eee8SJagan Teki Exynos IP core. 79c354eee8SJagan Teki 8094ea308dSJagan Tekiconfig FSL_DSPI 8194ea308dSJagan Teki bool "Freescale DSPI driver" 8294ea308dSJagan Teki help 8394ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 8494ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 8594ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 8694ea308dSJagan Teki use this driver. 8794ea308dSJagan Teki 8845636010SJagan Tekiconfig ICH_SPI 8945636010SJagan Teki bool "Intel ICH SPI driver" 9045636010SJagan Teki help 9145636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 9245636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 9345636010SJagan Teki ICH IP core. 9445636010SJagan Teki 953fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 963fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 973fda4ef3SStefan Roese help 983fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 993fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 1003fda4ef3SStefan Roese Marvell IP core. 1013fda4ef3SStefan Roese 102e19b9004SPurna Chandra Mandalconfig PIC32_SPI 103e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 104e19b9004SPurna Chandra Mandal depends on MACH_PIC32 105e19b9004SPurna Chandra Mandal help 106e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 107e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 108e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 109e19b9004SPurna Chandra Mandal 1101b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1111b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1121b2fd5bfSSimon Glass help 1131b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1141b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1151b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1161b2fd5bfSSimon Glass operate. 1171b2fd5bfSSimon Glass 118892cac72SSimon Glassconfig SANDBOX_SPI 119892cac72SSimon Glass bool "Sandbox SPI driver" 120892cac72SSimon Glass depends on SANDBOX && DM 121892cac72SSimon Glass help 122892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 123892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 124892cac72SSimon Glass which specifies the driver to use. As an example, see this device 125892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 126892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 127892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 128892cac72SSimon Glass 129892cac72SSimon Glass spi@0 { 130892cac72SSimon Glass #address-cells = <1>; 131892cac72SSimon Glass #size-cells = <0>; 132892cac72SSimon Glass reg = <0>; 133892cac72SSimon Glass compatible = "sandbox,spi"; 134892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 135892cac72SSimon Glass flash@0 { 136892cac72SSimon Glass reg = <0>; 137892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 138892cac72SSimon Glass spi-max-frequency = <40000000>; 139892cac72SSimon Glass sandbox,filename = "spi.bin"; 140892cac72SSimon Glass }; 141892cac72SSimon Glass }; 14267d7a9d6SMarek Vasut 143d4363baaSMichael Kurzconfig STM32_QSPI 144d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 145d4363baaSMichael Kurz depends on STM32F7 146d4363baaSMichael Kurz help 147d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 148d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 149d4363baaSMichael Kurz this ST IP core. 150d4363baaSMichael Kurz 1515bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1525bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1535bf9a2d3SJagan Teki help 1545bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1555bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1565bf9a2d3SJagan Teki IP core. 1575bf9a2d3SJagan Teki 1585bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1595bf9a2d3SJagan Teki also register interface get changed with this controller. 1605bf9a2d3SJagan Teki 1612f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1622f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1632f3e6f8cSJagan Teki help 1642f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1652f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1662f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1672f3e6f8cSJagan Teki 1684495830cSJagan Tekiconfig TEGRA20_SLINK 1694495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1704495830cSJagan Teki help 1714495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1724495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1734495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1744495830cSJagan Teki 1754e675ff2STom Warrenconfig TEGRA210_QSPI 1764e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1774e675ff2STom Warren help 1784e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1794e675ff2STom Warren be used to access SPI chips on platforms embedding this 1804e675ff2STom Warren NVIDIA Tegra210 IP core. 1814e675ff2STom Warren 182075143d3SJagan Tekiconfig XILINX_SPI 183075143d3SJagan Teki bool "Xilinx SPI driver" 184075143d3SJagan Teki help 185075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 186075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 187075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 188075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 189075143d3SJagan Teki 190df30a425SJagan Tekiconfig ZYNQ_SPI 191df30a425SJagan Teki bool "Zynq SPI driver" 1928e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 193df30a425SJagan Teki help 194df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 195df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 196df30a425SJagan Teki SPI IP core. 197de823053SJagan Teki 19878a025acSJagan Tekiconfig ZYNQ_QSPI 19978a025acSJagan Teki bool "Zynq QSPI driver" 20078a025acSJagan Teki depends on ARCH_ZYNQ 20178a025acSJagan Teki help 20278a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 20378a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 20478a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 20578a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 20678a025acSJagan Teki 207e4976af8SJagan Tekiendif # if DM_SPI 208e4976af8SJagan Teki 20941eb8ff5SPeng Fanconfig SOFT_SPI 21041eb8ff5SPeng Fan bool "Soft SPI driver" 21141eb8ff5SPeng Fan help 21241eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 21341eb8ff5SPeng Fan the SPI protocol. 21441eb8ff5SPeng Fan 2153debffa7SJagan Tekiconfig FSL_ESPI 2163debffa7SJagan Teki bool "Freescale eSPI driver" 2173debffa7SJagan Teki help 2183debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2193debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2203debffa7SJagan Teki this Freescale eSPI IP core. 2213debffa7SJagan Teki 22221b1dd18SJagan Tekiconfig FSL_QSPI 22321b1dd18SJagan Teki bool "Freescale QSPI driver" 22421b1dd18SJagan Teki help 22521b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 22621b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 22721b1dd18SJagan Teki Freescale IP core. 22821b1dd18SJagan Teki 22941bbb8b3SRick Chenconfig ATCSPI200_SPI 23041bbb8b3SRick Chen bool "Andestech ATCSPI200 SPI driver" 2317155cd2eSrick help 23241bbb8b3SRick Chen Enable the Andestech ATCSPI200 SPI driver. This driver can be 23341bbb8b3SRick Chen used to access the SPI flash on AE3XX and AE250 platforms embedding 23441bbb8b3SRick Chen this Andestech IP core. 2357155cd2eSrick 23626410c15SAdam Fordconfig DAVINCI_SPI 23726410c15SAdam Ford bool "Davinci & Keystone SPI driver" 23826410c15SAdam Ford depends on ARCH_DAVINCI || ARCH_KEYSTONE 23926410c15SAdam Ford help 24026410c15SAdam Ford Enable the Davinci SPI driver 24126410c15SAdam Ford 24295d3877aSTuomas Tynkkynenconfig SH_SPI 24395d3877aSTuomas Tynkkynen bool "SuperH SPI driver" 24495d3877aSTuomas Tynkkynen help 24595d3877aSTuomas Tynkkynen Enable the SuperH SPI controller driver. This driver can be used 24695d3877aSTuomas Tynkkynen on various SuperH SoCs, such as SH7757. 24795d3877aSTuomas Tynkkynen 248a5dfabeaSTuomas Tynkkynenconfig SH_QSPI 249a5dfabeaSTuomas Tynkkynen bool "Renesas Quad SPI driver" 250a5dfabeaSTuomas Tynkkynen help 251a5dfabeaSTuomas Tynkkynen Enable the Renesas Quad SPI controller driver. This driver can be 252a5dfabeaSTuomas Tynkkynen used on Renesas SoCs. 253a5dfabeaSTuomas Tynkkynen 254e4976af8SJagan Tekiconfig TI_QSPI 255e4976af8SJagan Teki bool "TI QSPI driver" 256e4976af8SJagan Teki help 257e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 258e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 259e4976af8SJagan Teki 260*4a942f49STuomas Tynkkynenconfig KIRKWOOD_SPI 261*4a942f49STuomas Tynkkynen bool "Marvell Kirkwood SPI Driver" 262*4a942f49STuomas Tynkkynen help 263*4a942f49STuomas Tynkkynen Enable support for SPI on various Marvell SoCs, such as 264*4a942f49STuomas Tynkkynen Kirkwood and Armada 375. 265*4a942f49STuomas Tynkkynen 2662c4b096bSTuomas Tynkkynenconfig LPC32XX_SSP 2672c4b096bSTuomas Tynkkynen bool "LPC32XX SPI Driver" 2682c4b096bSTuomas Tynkkynen help 2692c4b096bSTuomas Tynkkynen Enable support for SPI on LPC32xx 2702c4b096bSTuomas Tynkkynen 271f88c431bSChristophe Leroyconfig MPC8XX_SPI 272f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 273f88c431bSChristophe Leroy depends on 8xx 274f88c431bSChristophe Leroy help 275f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 276f88c431bSChristophe Leroy 277bbdf3869STuomas Tynkkynenconfig MPC8XXX_SPI 278bbdf3869STuomas Tynkkynen bool "MPC8XXX SPI Driver" 279bbdf3869STuomas Tynkkynen help 280bbdf3869STuomas Tynkkynen Enable support for SPI on the MPC8XXX PowerPC SoCs. 281bbdf3869STuomas Tynkkynen 28260e54562STuomas Tynkkynenconfig MXC_SPI 28360e54562STuomas Tynkkynen bool "MXC SPI Driver" 28460e54562STuomas Tynkkynen help 28560e54562STuomas Tynkkynen Enable the MXC SPI controller driver. This driver can be used 28660e54562STuomas Tynkkynen on various i.MX SoCs such as i.MX31/35/51/6/7. 28760e54562STuomas Tynkkynen 2887b819b56STuomas Tynkkynenconfig MXS_SPI 2897b819b56STuomas Tynkkynen bool "MXS SPI Driver" 2907b819b56STuomas Tynkkynen help 2917b819b56STuomas Tynkkynen Enable the MXS SPI controller driver. This driver can be used 2927b819b56STuomas Tynkkynen on the i.MX23 and i.MX28 SoCs. 2937b819b56STuomas Tynkkynen 294a41e3e14SAdam Fordconfig OMAP3_SPI 295a41e3e14SAdam Ford bool "McSPI driver for OMAP" 296a41e3e14SAdam Ford help 297a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 298a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 299a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 300a41e3e14SAdam Ford 301de823053SJagan Tekiendmenu # menu "SPI Support" 302