1f1b1f770SAdam Fordmenuconfig SPI 2f1b1f770SAdam Ford bool "SPI Support" 3f1b1f770SAdam Ford 4f1b1f770SAdam 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 19e4976af8SJagan Tekiif DM_SPI 20e4976af8SJagan Teki 2115a56f9cSThomas Chouconfig ALTERA_SPI 2215a56f9cSThomas Chou bool "Altera SPI driver" 2315a56f9cSThomas Chou help 2415a56f9cSThomas Chou Enable the Altera SPI driver. This driver can be used to 2515a56f9cSThomas Chou access the SPI NOR flash on platforms embedding this Altera 2615a56f9cSThomas Chou IP core. Please find details on the "Embedded Peripherals IP 2715a56f9cSThomas Chou User Guide" of Altera. 2815a56f9cSThomas Chou 2915927aefSJagan Tekiconfig ATCSPI200_SPI 3015927aefSJagan Teki bool "Andestech ATCSPI200 SPI driver" 3115927aefSJagan Teki help 3215927aefSJagan Teki Enable the Andestech ATCSPI200 SPI driver. This driver can be 3315927aefSJagan Teki used to access the SPI flash on AE3XX and AE250 platforms embedding 3415927aefSJagan Teki this Andestech IP core. 3515927aefSJagan Teki 36b85dc460SWills Wangconfig ATH79_SPI 37b85dc460SWills Wang bool "Atheros SPI driver" 38b85dc460SWills Wang depends on ARCH_ATH79 39b85dc460SWills Wang help 40b85dc460SWills Wang Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used 41b85dc460SWills Wang to access SPI NOR flash and other SPI peripherals. This driver 42b85dc460SWills Wang uses driver model and requires a device tree binding to operate. 43b85dc460SWills Wang please refer to doc/device-tree-bindings/spi/spi-ath79.txt. 44b85dc460SWills Wang 450eafd4b7SWenyou Yangconfig ATMEL_SPI 460eafd4b7SWenyou Yang bool "Atmel SPI driver" 4789d4fc15SJagan Teki default y if ARCH_AT91 480eafd4b7SWenyou Yang help 490eafd4b7SWenyou Yang This enables driver for the Atmel SPI Controller, present on 50daab59acSAndy Shevchenko many AT91 (ARM) chips. This driver can be used to access 51daab59acSAndy Shevchenko the SPI Flash, such as AT25DF321. 520eafd4b7SWenyou Yang 5329cc4368SÁlvaro Fernández Rojasconfig BCM63XX_HSSPI 5429cc4368SÁlvaro Fernández Rojas bool "BCM63XX HSSPI driver" 5529cc4368SÁlvaro Fernández Rojas depends on ARCH_BMIPS 5629cc4368SÁlvaro Fernández Rojas help 5729cc4368SÁlvaro Fernández Rojas Enable the BCM6328 HSSPI driver. This driver can be used to 5829cc4368SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding this Broadcom 5929cc4368SÁlvaro Fernández Rojas SPI core. 6029cc4368SÁlvaro Fernández Rojas 615ac07d29SÁlvaro Fernández Rojasconfig BCM63XX_SPI 625ac07d29SÁlvaro Fernández Rojas bool "BCM6348 SPI driver" 635ac07d29SÁlvaro Fernández Rojas depends on ARCH_BMIPS 645ac07d29SÁlvaro Fernández Rojas help 655ac07d29SÁlvaro Fernández Rojas Enable the BCM6348/BCM6358 SPI driver. This driver can be used to 665ac07d29SÁlvaro Fernández Rojas access the SPI NOR flash on platforms embedding these Broadcom 675ac07d29SÁlvaro Fernández Rojas SPI cores. 685ac07d29SÁlvaro Fernández Rojas 69894c3ad2SThomas Fitzsimmonsconfig BCMSTB_SPI 70894c3ad2SThomas Fitzsimmons bool "BCMSTB SPI driver" 71894c3ad2SThomas Fitzsimmons help 72894c3ad2SThomas Fitzsimmons Enable the Broadcom set-top box SPI driver. This driver can 73894c3ad2SThomas Fitzsimmons be used to access the SPI flash on platforms embedding this 74894c3ad2SThomas Fitzsimmons Broadcom SPI core. 75894c3ad2SThomas Fitzsimmons 76e4976af8SJagan Tekiconfig CADENCE_QSPI 77e4976af8SJagan Teki bool "Cadence QSPI driver" 78e4976af8SJagan Teki help 79e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 80e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 81e4976af8SJagan Teki Cadence IP core. 82e4976af8SJagan Teki 83e4976af8SJagan Tekiconfig DESIGNWARE_SPI 84e4976af8SJagan Teki bool "Designware SPI driver" 85e4976af8SJagan Teki help 86e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 87e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 88e4976af8SJagan Teki IP core. 89e4976af8SJagan Teki 90c354eee8SJagan Tekiconfig EXYNOS_SPI 91c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 92c354eee8SJagan Teki help 93c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 94c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 95c354eee8SJagan Teki Exynos IP core. 96c354eee8SJagan Teki 9794ea308dSJagan Tekiconfig FSL_DSPI 9894ea308dSJagan Teki bool "Freescale DSPI driver" 9994ea308dSJagan Teki help 10094ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 10194ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 10294ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 10394ea308dSJagan Teki use this driver. 10494ea308dSJagan Teki 10545636010SJagan Tekiconfig ICH_SPI 10645636010SJagan Teki bool "Intel ICH SPI driver" 10745636010SJagan Teki help 10845636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 10945636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 11045636010SJagan Teki ICH IP core. 11145636010SJagan Teki 1123fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 1133fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 114dbbd5bddSMarek Behún select CLK_ARMADA_3720 1153fda4ef3SStefan Roese help 1163fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 1173fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 1183fda4ef3SStefan Roese Marvell IP core. 1193fda4ef3SStefan Roese 120e19b9004SPurna Chandra Mandalconfig PIC32_SPI 121e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 122e19b9004SPurna Chandra Mandal depends on MACH_PIC32 123e19b9004SPurna Chandra Mandal help 124e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 125e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 126e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 127e19b9004SPurna Chandra Mandal 128*8a4791faSQuentin Schulzconfig PL022_SPI 129*8a4791faSQuentin Schulz bool "ARM AMBA PL022 SSP controller driver" 130*8a4791faSQuentin Schulz depends on ARM 131*8a4791faSQuentin Schulz help 132*8a4791faSQuentin Schulz This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP 133*8a4791faSQuentin Schulz controller. If you have an embedded system with an AMBA(R) 134*8a4791faSQuentin Schulz bus and a PL022 controller, say Y or M here. 135*8a4791faSQuentin Schulz 136fbebea27SMarek Vasutconfig RENESAS_RPC_SPI 137fbebea27SMarek Vasut bool "Renesas RPC SPI driver" 138fbebea27SMarek Vasut depends on RCAR_GEN3 139fbebea27SMarek Vasut help 140fbebea27SMarek Vasut Enable the Renesas RPC SPI driver, used to access SPI NOR flash 141fbebea27SMarek Vasut on Renesas RCar Gen3 SoCs. This uses driver model and requires a 142fbebea27SMarek Vasut device tree binding to operate. 143fbebea27SMarek Vasut 1441b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 1451b2fd5bfSSimon Glass bool "Rockchip SPI driver" 1461b2fd5bfSSimon Glass help 1471b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 1481b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 1491b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 1501b2fd5bfSSimon Glass operate. 1511b2fd5bfSSimon Glass 152892cac72SSimon Glassconfig SANDBOX_SPI 153892cac72SSimon Glass bool "Sandbox SPI driver" 154892cac72SSimon Glass depends on SANDBOX && DM 155892cac72SSimon Glass help 156892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 157892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 158892cac72SSimon Glass which specifies the driver to use. As an example, see this device 159892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 160892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 161892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 162892cac72SSimon Glass 163892cac72SSimon Glass spi@0 { 164892cac72SSimon Glass #address-cells = <1>; 165892cac72SSimon Glass #size-cells = <0>; 166892cac72SSimon Glass reg = <0>; 167892cac72SSimon Glass compatible = "sandbox,spi"; 168892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 169892cac72SSimon Glass flash@0 { 170892cac72SSimon Glass reg = <0>; 171892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 172892cac72SSimon Glass spi-max-frequency = <40000000>; 173892cac72SSimon Glass sandbox,filename = "spi.bin"; 174892cac72SSimon Glass }; 175892cac72SSimon Glass }; 17667d7a9d6SMarek Vasut 177d4363baaSMichael Kurzconfig STM32_QSPI 178d4363baaSMichael Kurz bool "STM32F7 QSPI driver" 179d4363baaSMichael Kurz depends on STM32F7 180d4363baaSMichael Kurz help 181d4363baaSMichael Kurz Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be 182d4363baaSMichael Kurz used to access the SPI NOR flash chips on platforms embedding 183d4363baaSMichael Kurz this ST IP core. 184d4363baaSMichael Kurz 1857f25d817SStefan Mavrodievconfig SUN4I_SPI 1867f25d817SStefan Mavrodiev bool "Allwinner A10 SoCs SPI controller" 1877f25d817SStefan Mavrodiev help 1887f25d817SStefan Mavrodiev SPI driver for Allwinner sun4i, sun5i and sun7i SoCs 1897f25d817SStefan Mavrodiev 1905bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1915bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1925bf9a2d3SJagan Teki help 1935bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1945bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1955bf9a2d3SJagan Teki IP core. 1965bf9a2d3SJagan Teki 1975bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1985bf9a2d3SJagan Teki also register interface get changed with this controller. 1995bf9a2d3SJagan Teki 2002f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 2012f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 2022f3e6f8cSJagan Teki help 2032f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 2042f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 2052f3e6f8cSJagan Teki nVidia Tegra20 IP core. 2062f3e6f8cSJagan Teki 2074495830cSJagan Tekiconfig TEGRA20_SLINK 2084495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 2094495830cSJagan Teki help 2104495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 2114495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 2124495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 2134495830cSJagan Teki 2144e675ff2STom Warrenconfig TEGRA210_QSPI 2154e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 2164e675ff2STom Warren help 2174e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 2184e675ff2STom Warren be used to access SPI chips on platforms embedding this 2194e675ff2STom Warren NVIDIA Tegra210 IP core. 2204e675ff2STom Warren 221075143d3SJagan Tekiconfig XILINX_SPI 222075143d3SJagan Teki bool "Xilinx SPI driver" 223075143d3SJagan Teki help 224075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 225075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 226075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 227075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 228075143d3SJagan Teki 229df30a425SJagan Tekiconfig ZYNQ_SPI 230df30a425SJagan Teki bool "Zynq SPI driver" 2318e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 232df30a425SJagan Teki help 233df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 234df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 235df30a425SJagan Teki SPI IP core. 236de823053SJagan Teki 23778a025acSJagan Tekiconfig ZYNQ_QSPI 23878a025acSJagan Teki bool "Zynq QSPI driver" 23978a025acSJagan Teki depends on ARCH_ZYNQ 24078a025acSJagan Teki help 24178a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 24278a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 24378a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 24478a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 24578a025acSJagan Teki 24622cca173SSiva Durga Prasad Paladuguconfig ZYNQMP_GQSPI 24722cca173SSiva Durga Prasad Paladugu bool "Configure ZynqMP Generic QSPI" 24822cca173SSiva Durga Prasad Paladugu depends on ARCH_ZYNQMP 24922cca173SSiva Durga Prasad Paladugu help 25022cca173SSiva Durga Prasad Paladugu This option is used to enable ZynqMP QSPI controller driver which 25122cca173SSiva Durga Prasad Paladugu is used to communicate with qspi flash devices. 25222cca173SSiva Durga Prasad Paladugu 253e4976af8SJagan Tekiendif # if DM_SPI 254e4976af8SJagan Teki 25541eb8ff5SPeng Fanconfig SOFT_SPI 25641eb8ff5SPeng Fan bool "Soft SPI driver" 25741eb8ff5SPeng Fan help 25841eb8ff5SPeng Fan Enable Soft SPI driver. This driver is to use GPIO simulate 25941eb8ff5SPeng Fan the SPI protocol. 26041eb8ff5SPeng Fan 261fbca0e66STuomas Tynkkynenconfig CF_SPI 262fbca0e66STuomas Tynkkynen bool "ColdFire SPI driver" 263fbca0e66STuomas Tynkkynen help 264fbca0e66STuomas Tynkkynen Enable the ColdFire SPI driver. This driver can be used on 265fbca0e66STuomas Tynkkynen some m68k SoCs. 266fbca0e66STuomas Tynkkynen 2673debffa7SJagan Tekiconfig FSL_ESPI 2683debffa7SJagan Teki bool "Freescale eSPI driver" 2693debffa7SJagan Teki help 2703debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 2713debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 2723debffa7SJagan Teki this Freescale eSPI IP core. 2733debffa7SJagan Teki 27421b1dd18SJagan Tekiconfig FSL_QSPI 27521b1dd18SJagan Teki bool "Freescale QSPI driver" 27621b1dd18SJagan Teki help 27721b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 27821b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 27921b1dd18SJagan Teki Freescale IP core. 28021b1dd18SJagan Teki 28126410c15SAdam Fordconfig DAVINCI_SPI 28226410c15SAdam Ford bool "Davinci & Keystone SPI driver" 28326410c15SAdam Ford depends on ARCH_DAVINCI || ARCH_KEYSTONE 28426410c15SAdam Ford help 28526410c15SAdam Ford Enable the Davinci SPI driver 28626410c15SAdam Ford 28795d3877aSTuomas Tynkkynenconfig SH_SPI 28895d3877aSTuomas Tynkkynen bool "SuperH SPI driver" 28995d3877aSTuomas Tynkkynen help 29095d3877aSTuomas Tynkkynen Enable the SuperH SPI controller driver. This driver can be used 29195d3877aSTuomas Tynkkynen on various SuperH SoCs, such as SH7757. 29295d3877aSTuomas Tynkkynen 293a5dfabeaSTuomas Tynkkynenconfig SH_QSPI 294a5dfabeaSTuomas Tynkkynen bool "Renesas Quad SPI driver" 295a5dfabeaSTuomas Tynkkynen help 296a5dfabeaSTuomas Tynkkynen Enable the Renesas Quad SPI controller driver. This driver can be 297a5dfabeaSTuomas Tynkkynen used on Renesas SoCs. 298a5dfabeaSTuomas Tynkkynen 299e4976af8SJagan Tekiconfig TI_QSPI 300e4976af8SJagan Teki bool "TI QSPI driver" 301e4976af8SJagan Teki help 302e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 303e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 304e4976af8SJagan Teki 3054a942f49STuomas Tynkkynenconfig KIRKWOOD_SPI 3064a942f49STuomas Tynkkynen bool "Marvell Kirkwood SPI Driver" 3074a942f49STuomas Tynkkynen help 3084a942f49STuomas Tynkkynen Enable support for SPI on various Marvell SoCs, such as 3094a942f49STuomas Tynkkynen Kirkwood and Armada 375. 3104a942f49STuomas Tynkkynen 3112c4b096bSTuomas Tynkkynenconfig LPC32XX_SSP 3122c4b096bSTuomas Tynkkynen bool "LPC32XX SPI Driver" 3132c4b096bSTuomas Tynkkynen help 3142c4b096bSTuomas Tynkkynen Enable support for SPI on LPC32xx 3152c4b096bSTuomas Tynkkynen 316f88c431bSChristophe Leroyconfig MPC8XX_SPI 317f88c431bSChristophe Leroy bool "MPC8XX SPI Driver" 318ee1e600cSChristophe Leroy depends on MPC8xx 319f88c431bSChristophe Leroy help 320f88c431bSChristophe Leroy Enable support for SPI on MPC8XX 321f88c431bSChristophe Leroy 322bbdf3869STuomas Tynkkynenconfig MPC8XXX_SPI 323bbdf3869STuomas Tynkkynen bool "MPC8XXX SPI Driver" 324bbdf3869STuomas Tynkkynen help 325bbdf3869STuomas Tynkkynen Enable support for SPI on the MPC8XXX PowerPC SoCs. 326bbdf3869STuomas Tynkkynen 32760e54562STuomas Tynkkynenconfig MXC_SPI 32860e54562STuomas Tynkkynen bool "MXC SPI Driver" 32960e54562STuomas Tynkkynen help 33060e54562STuomas Tynkkynen Enable the MXC SPI controller driver. This driver can be used 33160e54562STuomas Tynkkynen on various i.MX SoCs such as i.MX31/35/51/6/7. 33260e54562STuomas Tynkkynen 3337b819b56STuomas Tynkkynenconfig MXS_SPI 3347b819b56STuomas Tynkkynen bool "MXS SPI Driver" 3357b819b56STuomas Tynkkynen help 3367b819b56STuomas Tynkkynen Enable the MXS SPI controller driver. This driver can be used 3377b819b56STuomas Tynkkynen on the i.MX23 and i.MX28 SoCs. 3387b819b56STuomas Tynkkynen 339a41e3e14SAdam Fordconfig OMAP3_SPI 340a41e3e14SAdam Ford bool "McSPI driver for OMAP" 341a41e3e14SAdam Ford help 342a41e3e14SAdam Ford SPI master controller for OMAP24XX and later Multichannel SPI 343a41e3e14SAdam Ford (McSPI). This driver be used to access SPI chips on platforms 344a41e3e14SAdam Ford embedding this OMAP3 McSPI IP core. 345a41e3e14SAdam Ford 346f1b1f770SAdam Fordendif # menu "SPI Support" 347