11490eb89SAdam Fordmenuconfig SPI 21490eb89SAdam Ford bool "SPI Support" 31490eb89SAdam Ford 41490eb89SAdam Fordif SPI 5de823053SJagan Teki 6da333ae7SMasahiro Yamadaconfig DM_SPI 7da333ae7SMasahiro Yamada bool "Enable Driver Model for SPI drivers" 8da333ae7SMasahiro Yamada depends on DM 9da333ae7SMasahiro Yamada help 10f94a1bedSSimon Glass Enable driver model for SPI. The SPI slave interface 11f94a1bedSSimon Glass (spi_setup_slave(), spi_xfer(), etc.) is then implemented by 12f94a1bedSSimon Glass the SPI uclass. Drivers provide methods to access the SPI 13f94a1bedSSimon Glass buses that they control. The uclass interface is defined in 14f94a1bedSSimon Glass include/spi.h. The existing spi_slave structure is attached 15f94a1bedSSimon Glass as 'parent data' to every slave on each bus. Slaves 16f94a1bedSSimon Glass typically use driver-private data instead of extending the 17f94a1bedSSimon Glass spi_slave structure. 18892cac72SSimon Glass 19967efcaeSBoris Brezillonconfig SPI_MEM 20967efcaeSBoris Brezillon bool "SPI memory extension" 21967efcaeSBoris Brezillon help 22967efcaeSBoris Brezillon Enable this option if you want to enable the SPI memory extension. 23967efcaeSBoris Brezillon This extension is meant to simplify interaction with SPI memories 24967efcaeSBoris Brezillon by providing an high-level interface to send memory-like commands. 25967efcaeSBoris Brezillon 2695d92f58SVignesh Rif DM_SPI 2795d92f58SVignesh R 2815a56f9cSThomas Chouconfig ALTERA_SPI 2915a56f9cSThomas Chou bool "Altera SPI driver" 3015a56f9cSThomas Chou help 3115a56f9cSThomas Chou Enable the Altera SPI driver. This driver can be used to 3215a56f9cSThomas Chou access the SPI NOR flash on platforms embedding this Altera 3315a56f9cSThomas Chou IP core. Please find details on the "Embedded Peripherals IP 3415a56f9cSThomas Chou User Guide" of Altera. 3515a56f9cSThomas Chou 360d17c3dfSJagan Tekiconfig ATCSPI200_SPI 370d17c3dfSJagan Teki bool "Andestech ATCSPI200 SPI driver" 380d17c3dfSJagan Teki help 390d17c3dfSJagan Teki Enable the Andestech ATCSPI200 SPI driver. This driver can be 400d17c3dfSJagan Teki used to access the SPI flash on AE3XX and AE250 platforms embedding 410d17c3dfSJagan Teki this Andestech IP core. 420d17c3dfSJagan Teki 43b85dc460SWills Wangconfig ATH79_SPI 44b85dc460SWills Wang bool "Atheros SPI driver" 45b85dc460SWills Wang depends on ARCH_ATH79 46b85dc460SWills Wang help 47b85dc460SWills Wang Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 48b85dc460SWills Wang to access SPI NOR flash and other SPI peripherals. This driver 49b85dc460SWills Wang uses driver model and requires a device tree binding to operate. 50b85dc460SWills Wang please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 51b85dc460SWills Wang 520eafd4b7SWenyou Yangconfig ATMEL_SPI 530eafd4b7SWenyou Yang bool "Atmel SPI driver" 54f92621cfSJagan Teki default y if ARCH_AT91 550eafd4b7SWenyou Yang help 560eafd4b7SWenyou Yang This enables driver for the Atmel SPI Controller, present on 57daab59acSAndy Shevchenko many AT91 (ARM) chips. This driver can be used to access 58daab59acSAndy Shevchenko the SPI Flash, such as AT25DF321. 590eafd4b7SWenyou Yang 604bb24893SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI 614bb24893SÁlvaro Fernández Rojas bool "BCM63XX HSSPI driver" 624bb24893SÁlvaro Fernández Rojas depends on ARCH_BMIPS 634bb24893SÁlvaro Fernández Rojas help 644bb24893SÁlvaro Fernández Rojas Enable the BCM6328 HSSPI driver. This driver can be used to 654bb24893SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding this Broadcom 664bb24893SÁlvaro Fernández Rojas SPI core. 674bb24893SÁlvaro Fernández Rojas 68c2d012f9SÁlvaro Fernández Rojasconfig BCM63XX_SPI 69c2d012f9SÁlvaro Fernández Rojas bool "BCM6348 SPI driver" 70c2d012f9SÁlvaro Fernández Rojas depends on ARCH_BMIPS 71c2d012f9SÁlvaro Fernández Rojas help 72c2d012f9SÁlvaro Fernández Rojas Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 73c2d012f9SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding these Broadcom 74c2d012f9SÁlvaro Fernández Rojas SPI cores. 75c2d012f9SÁlvaro Fernández Rojas 76*f36ea2f6SThomas Fitzsimmonsconfig BCMSTB_SPI 77*f36ea2f6SThomas Fitzsimmons bool "BCMSTB SPI driver" 78*f36ea2f6SThomas Fitzsimmons help 79*f36ea2f6SThomas Fitzsimmons Enable the Broadcom set-top box SPI driver. This driver can 80*f36ea2f6SThomas Fitzsimmons be used to access the SPI flash on platforms embedding this 81*f36ea2f6SThomas Fitzsimmons Broadcom SPI core. 82*f36ea2f6SThomas Fitzsimmons 83e4976af8SJagan Tekiconfig CADENCE_QSPI 84e4976af8SJagan Teki bool "Cadence QSPI driver" 85e4976af8SJagan Teki help 86e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 87e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 88e4976af8SJagan Teki Cadence IP core. 89e4976af8SJagan Teki 90e4976af8SJagan Tekiconfig DESIGNWARE_SPI 91e4976af8SJagan Teki bool "Designware SPI driver" 92e4976af8SJagan Teki help 93e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 94e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 95e4976af8SJagan Teki IP core. 96e4976af8SJagan Teki 97c354eee8SJagan Tekiconfig EXYNOS_SPI 98c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 99c354eee8SJagan Teki help 100c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 101c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 102c354eee8SJagan Teki Exynos IP core. 103c354eee8SJagan Teki 10494ea308dSJagan Tekiconfig FSL_DSPI 10594ea308dSJagan Teki bool "Freescale DSPI driver" 10694ea308dSJagan Teki help 10794ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 10894ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 10994ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 11094ea308dSJagan Teki use this driver. 11194ea308dSJagan Teki 11245636010SJagan Tekiconfig ICH_SPI 11345636010SJagan Teki bool "Intel ICH SPI driver" 11445636010SJagan Teki help 11545636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 11645636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 11745636010SJagan Teki ICH IP core. 11845636010SJagan Teki 1193fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 1203fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 1213fda4ef3SStefan Roese help 1223fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 1233fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 1243fda4ef3SStefan Roese Marvell IP core. 1253fda4ef3SStefan Roese 126e19b9004SPurna Chandra Mandalconfig PIC32_SPI 127e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 128e19b9004SPurna Chandra Mandal depends on MACH_PIC32 129e19b9004SPurna Chandra Mandal help 130e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 131e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 132e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 133e19b9004SPurna Chandra Mandal 1345d78ea08SMarek Vasutconfig RENESAS_RPC_SPI 1355d78ea08SMarek Vasut bool "Renesas RPC SPI driver" 1365d78ea08SMarek Vasut depends on RCAR_GEN3 1375d78ea08SMarek Vasut help 1385d78ea08SMarek Vasut Enable the Renesas RPC SPI driver, used to access SPI NOR flash 1395d78ea08SMarek Vasut on Renesas RCar Gen3 SoCs. This uses driver model and requires a 1405d78ea08SMarek Vasut device tree binding to operate. 1415d78ea08SMarek Vasut 1421b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1431b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1441b2fd5bfSSimon Glass help 1451b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1461b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1471b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1481b2fd5bfSSimon Glass operate. 1491b2fd5bfSSimon Glass 150c1cd6cb6SAndy Yanconfig ROCKCHIP_SFC 151c1cd6cb6SAndy Yan bool "Rockchip SFC driver" 152c1cd6cb6SAndy Yan help 153c1cd6cb6SAndy Yan Enable the Rockchip SFC driver, used to access SPI NOR flash 154c1cd6cb6SAndy Yan on Rockchip SoCs. 155c1cd6cb6SAndy Yan This uses driver model and requires a device tree binding to 156c1cd6cb6SAndy Yan operate. 157c1cd6cb6SAndy Yan 158892cac72SSimon Glassconfig SANDBOX_SPI 159892cac72SSimon Glass bool "Sandbox SPI driver" 160892cac72SSimon Glass depends on SANDBOX && DM 161892cac72SSimon Glass help 162892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 163892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 164892cac72SSimon Glass which specifies the driver to use. As an example, see this device 165892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 166892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 167892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 168892cac72SSimon Glass 169892cac72SSimon Glass spi@0 { 170892cac72SSimon Glass #address-cells = <1>; 171892cac72SSimon Glass #size-cells = <0>; 172892cac72SSimon Glass reg = <0>; 173892cac72SSimon Glass compatible = "sandbox,spi"; 174892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 175892cac72SSimon Glass flash@0 { 176892cac72SSimon Glass reg = <0>; 177892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 178892cac72SSimon Glass spi-max-frequency = <40000000>; 179892cac72SSimon Glass sandbox,filename = "spi.bin"; 180892cac72SSimon Glass }; 181892cac72SSimon Glass }; 18267d7a9d6SMarek Vasut 183d4363baaSMichael Kurzconfig STM32_QSPI 184d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 185d4363baaSMichael Kurz depends on STM32F7 186d4363baaSMichael Kurz help 187d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 188d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 189d4363baaSMichael Kurz this ST IP core. 190d4363baaSMichael Kurz 1915bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1925bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1935bf9a2d3SJagan Teki help 1945bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1955bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1965bf9a2d3SJagan Teki IP core. 1975bf9a2d3SJagan Teki 1985bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1995bf9a2d3SJagan Teki also register interface get changed with this controller. 2005bf9a2d3SJagan Teki 2012f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 2022f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 2032f3e6f8cSJagan Teki help 2042f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 2052f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 2062f3e6f8cSJagan Teki nVidia Tegra20 IP core. 2072f3e6f8cSJagan Teki 2084495830cSJagan Tekiconfig TEGRA20_SLINK 2094495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 2104495830cSJagan Teki help 2114495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 2124495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 2134495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 2144495830cSJagan Teki 2154e675ff2STom Warrenconfig TEGRA210_QSPI 2164e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 2174e675ff2STom Warren help 2184e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 2194e675ff2STom Warren be used to access SPI chips on platforms embedding this 2204e675ff2STom Warren NVIDIA Tegra210 IP core. 2214e675ff2STom Warren 222075143d3SJagan Tekiconfig XILINX_SPI 223075143d3SJagan Teki bool "Xilinx SPI driver" 224075143d3SJagan Teki help 225075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 226075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 227075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 228075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 229075143d3SJagan Teki 230df30a425SJagan Tekiconfig ZYNQ_SPI 231df30a425SJagan Teki bool "Zynq SPI driver" 2328e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 233df30a425SJagan Teki help 234df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 235df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 236df30a425SJagan Teki SPI IP core. 237de823053SJagan Teki 23878a025acSJagan Tekiconfig ZYNQ_QSPI 23978a025acSJagan Teki bool "Zynq QSPI driver" 24078a025acSJagan Teki depends on ARCH_ZYNQ 24178a025acSJagan Teki help 24278a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 24378a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 24478a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 24578a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 24678a025acSJagan Teki 247e4976af8SJagan Tekiendif # if DM_SPI 248e4976af8SJagan Teki 24941eb8ff5SPeng Fanconfig SOFT_SPI 25041eb8ff5SPeng Fan bool "Soft SPI driver" 25141eb8ff5SPeng Fan help 25241eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 25341eb8ff5SPeng Fan the SPI protocol. 25441eb8ff5SPeng Fan 255845f53cfSTuomas Tynkkynenconfig CF_SPI 256845f53cfSTuomas Tynkkynen bool "ColdFire SPI driver" 257845f53cfSTuomas Tynkkynen help 258845f53cfSTuomas Tynkkynen Enable the ColdFire SPI driver. This driver can be used on 259845f53cfSTuomas Tynkkynen some m68k SoCs. 260845f53cfSTuomas Tynkkynen 2613debffa7SJagan Tekiconfig FSL_ESPI 2623debffa7SJagan Teki bool "Freescale eSPI driver" 2633debffa7SJagan Teki help 2643debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2653debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2663debffa7SJagan Teki this Freescale eSPI IP core. 2673debffa7SJagan Teki 26821b1dd18SJagan Tekiconfig FSL_QSPI 26921b1dd18SJagan Teki bool "Freescale QSPI driver" 27021b1dd18SJagan Teki help 27121b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 27221b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 27321b1dd18SJagan Teki Freescale IP core. 27421b1dd18SJagan Teki 2752b9d6da4SAdam Fordconfig DAVINCI_SPI 2762b9d6da4SAdam Ford bool "Davinci & Keystone SPI driver" 2772b9d6da4SAdam Ford depends on ARCH_DAVINCI || ARCH_KEYSTONE 2782b9d6da4SAdam Ford help 2792b9d6da4SAdam Ford Enable the Davinci SPI driver 2802b9d6da4SAdam Ford 28199c18490STuomas Tynkkynenconfig SH_SPI 28299c18490STuomas Tynkkynen bool "SuperH SPI driver" 28399c18490STuomas Tynkkynen help 28499c18490STuomas Tynkkynen Enable the SuperH SPI controller driver. This driver can be used 28599c18490STuomas Tynkkynen on various SuperH SoCs, such as SH7757. 28699c18490STuomas Tynkkynen 2873ad77667STuomas Tynkkynenconfig SH_QSPI 2883ad77667STuomas Tynkkynen bool "Renesas Quad SPI driver" 2893ad77667STuomas Tynkkynen help 2903ad77667STuomas Tynkkynen Enable the Renesas Quad SPI controller driver. This driver can be 2913ad77667STuomas Tynkkynen used on Renesas SoCs. 2923ad77667STuomas Tynkkynen 293e4976af8SJagan Tekiconfig TI_QSPI 294e4976af8SJagan Teki bool "TI QSPI driver" 295e4976af8SJagan Teki help 296e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 297e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 298e4976af8SJagan Teki 2995932b8bcSTuomas Tynkkynenconfig KIRKWOOD_SPI 3005932b8bcSTuomas Tynkkynen bool "Marvell Kirkwood SPI Driver" 3015932b8bcSTuomas Tynkkynen help 3025932b8bcSTuomas Tynkkynen Enable support for SPI on various Marvell SoCs, such as 3035932b8bcSTuomas Tynkkynen Kirkwood and Armada 375. 3045932b8bcSTuomas Tynkkynen 305a1f9e12aSTuomas Tynkkynenconfig LPC32XX_SSP 306a1f9e12aSTuomas Tynkkynen bool "LPC32XX SPI Driver" 307a1f9e12aSTuomas Tynkkynen help 308a1f9e12aSTuomas Tynkkynen Enable support for SPI on LPC32xx 309a1f9e12aSTuomas Tynkkynen 310f88c431bSChristophe Leroyconfig MPC8XX_SPI 311f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 31287e4c602SChristophe Leroy depends on MPC8xx 313f88c431bSChristophe Leroy help 314f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 315f88c431bSChristophe Leroy 316cb909354STuomas Tynkkynenconfig MPC8XXX_SPI 317cb909354STuomas Tynkkynen bool "MPC8XXX SPI Driver" 318cb909354STuomas Tynkkynen help 319cb909354STuomas Tynkkynen Enable support for SPI on the MPC8XXX PowerPC SoCs. 320cb909354STuomas Tynkkynen 321cb909354STuomas Tynkkynenconfig MXC_SPI 322cb909354STuomas Tynkkynen bool "MXC SPI Driver" 323cb909354STuomas Tynkkynen help 324cb909354STuomas Tynkkynen Enable the MXC SPI controller driver. This driver can be used 325cb909354STuomas Tynkkynen on various i.MX SoCs such as i.MX31/35/51/6/7. 326cb909354STuomas Tynkkynen 327d851477aSTuomas Tynkkynenconfig MXS_SPI 328d851477aSTuomas Tynkkynen bool "MXS SPI Driver" 329d851477aSTuomas Tynkkynen help 330d851477aSTuomas Tynkkynen Enable the MXS SPI controller driver. This driver can be used 331d851477aSTuomas Tynkkynen on the i.MX23 and i.MX28 SoCs. 332d851477aSTuomas Tynkkynen 333a41e3e14SAdam Fordconfig OMAP3_SPI 334a41e3e14SAdam Ford bool "McSPI driver for OMAP" 335a41e3e14SAdam Ford help 336a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 337a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 338a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 339a41e3e14SAdam Ford 3401490eb89SAdam Fordendif # menu "SPI Support" 341