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 35e4976af8SJagan Tekiconfig CADENCE_QSPI 36e4976af8SJagan Teki bool "Cadence QSPI driver" 37e4976af8SJagan Teki help 38e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 39e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 40e4976af8SJagan Teki Cadence IP core. 41e4976af8SJagan Teki 42e4976af8SJagan Tekiconfig DESIGNWARE_SPI 43e4976af8SJagan Teki bool "Designware SPI driver" 44e4976af8SJagan Teki help 45e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 46e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 47e4976af8SJagan Teki IP core. 48e4976af8SJagan Teki 49c354eee8SJagan Tekiconfig EXYNOS_SPI 50c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 51c354eee8SJagan Teki help 52c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 53c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 54c354eee8SJagan Teki Exynos IP core. 55c354eee8SJagan Teki 5694ea308dSJagan Tekiconfig FSL_DSPI 5794ea308dSJagan Teki bool "Freescale DSPI driver" 5894ea308dSJagan Teki help 5994ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 6094ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 6194ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 6294ea308dSJagan Teki use this driver. 6394ea308dSJagan Teki 6445636010SJagan Tekiconfig ICH_SPI 6545636010SJagan Teki bool "Intel ICH SPI driver" 6645636010SJagan Teki help 6745636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 6845636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 6945636010SJagan Teki ICH IP core. 7045636010SJagan Teki 71*3fda4ef3SStefan Roeseconfig MVEBU_A3700_SPI 72*3fda4ef3SStefan Roese bool "Marvell Armada 3700 SPI driver" 73*3fda4ef3SStefan Roese help 74*3fda4ef3SStefan Roese Enable the Marvell Armada 3700 SPI driver. This driver can be 75*3fda4ef3SStefan Roese used to access the SPI NOR flash on platforms embedding this 76*3fda4ef3SStefan Roese Marvell IP core. 77*3fda4ef3SStefan Roese 78e19b9004SPurna Chandra Mandalconfig PIC32_SPI 79e19b9004SPurna Chandra Mandal bool "Microchip PIC32 SPI driver" 80e19b9004SPurna Chandra Mandal depends on MACH_PIC32 81e19b9004SPurna Chandra Mandal help 82e19b9004SPurna Chandra Mandal Enable the Microchip PIC32 SPI driver. This driver can be used 83e19b9004SPurna Chandra Mandal to access the SPI NOR flash, MMC-over-SPI on platforms based on 84e19b9004SPurna Chandra Mandal Microchip PIC32 family devices. 85e19b9004SPurna Chandra Mandal 861b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 871b2fd5bfSSimon Glass bool "Rockchip SPI driver" 881b2fd5bfSSimon Glass help 891b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 901b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 911b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 921b2fd5bfSSimon Glass operate. 931b2fd5bfSSimon Glass 94892cac72SSimon Glassconfig SANDBOX_SPI 95892cac72SSimon Glass bool "Sandbox SPI driver" 96892cac72SSimon Glass depends on SANDBOX && DM 97892cac72SSimon Glass help 98892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 99892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 100892cac72SSimon Glass which specifies the driver to use. As an example, see this device 101892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 102892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 103892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 104892cac72SSimon Glass 105892cac72SSimon Glass spi@0 { 106892cac72SSimon Glass #address-cells = <1>; 107892cac72SSimon Glass #size-cells = <0>; 108892cac72SSimon Glass reg = <0>; 109892cac72SSimon Glass compatible = "sandbox,spi"; 110892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 111892cac72SSimon Glass flash@0 { 112892cac72SSimon Glass reg = <0>; 113892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 114892cac72SSimon Glass spi-max-frequency = <40000000>; 115892cac72SSimon Glass sandbox,filename = "spi.bin"; 116892cac72SSimon Glass }; 117892cac72SSimon Glass }; 11867d7a9d6SMarek Vasut 1195bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1205bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1215bf9a2d3SJagan Teki help 1225bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1235bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1245bf9a2d3SJagan Teki IP core. 1255bf9a2d3SJagan Teki 1265bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1275bf9a2d3SJagan Teki also register interface get changed with this controller. 1285bf9a2d3SJagan Teki 1292f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1302f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1312f3e6f8cSJagan Teki help 1322f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1332f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1342f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1352f3e6f8cSJagan Teki 1364495830cSJagan Tekiconfig TEGRA20_SLINK 1374495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1384495830cSJagan Teki help 1394495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1404495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1414495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1424495830cSJagan Teki 1434e675ff2STom Warrenconfig TEGRA210_QSPI 1444e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1454e675ff2STom Warren help 1464e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1474e675ff2STom Warren be used to access SPI chips on platforms embedding this 1484e675ff2STom Warren NVIDIA Tegra210 IP core. 1494e675ff2STom Warren 150075143d3SJagan Tekiconfig XILINX_SPI 151075143d3SJagan Teki bool "Xilinx SPI driver" 152075143d3SJagan Teki help 153075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 154075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 155075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 156075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 157075143d3SJagan Teki 158df30a425SJagan Tekiconfig ZYNQ_SPI 159df30a425SJagan Teki bool "Zynq SPI driver" 1608e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 161df30a425SJagan Teki help 162df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 163df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 164df30a425SJagan Teki SPI IP core. 165de823053SJagan Teki 16678a025acSJagan Tekiconfig ZYNQ_QSPI 16778a025acSJagan Teki bool "Zynq QSPI driver" 16878a025acSJagan Teki depends on ARCH_ZYNQ 16978a025acSJagan Teki help 17078a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 17178a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 17278a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 17378a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 17478a025acSJagan Teki 17577b8d048SJagan Tekiconfig OMAP3_SPI 17677b8d048SJagan Teki bool "McSPI driver for OMAP" 17777b8d048SJagan Teki help 17877b8d048SJagan Teki SPI master controller for OMAP24XX and later Multichannel SPI 17977b8d048SJagan Teki (McSPI). This driver be used to access SPI chips on platforms 18077b8d048SJagan Teki embedding this OMAP3 McSPI IP core. 18177b8d048SJagan Teki 182e4976af8SJagan Tekiendif # if DM_SPI 183e4976af8SJagan Teki 1843debffa7SJagan Tekiconfig FSL_ESPI 1853debffa7SJagan Teki bool "Freescale eSPI driver" 1863debffa7SJagan Teki help 1873debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 1883debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 1893debffa7SJagan Teki this Freescale eSPI IP core. 1903debffa7SJagan Teki 19121b1dd18SJagan Tekiconfig FSL_QSPI 19221b1dd18SJagan Teki bool "Freescale QSPI driver" 19321b1dd18SJagan Teki help 19421b1dd18SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 19521b1dd18SJagan Teki used to access the SPI NOR flash on platforms embedding this 19621b1dd18SJagan Teki Freescale IP core. 19721b1dd18SJagan Teki 198e4976af8SJagan Tekiconfig TI_QSPI 199e4976af8SJagan Teki bool "TI QSPI driver" 200e4976af8SJagan Teki help 201e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 202e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 203e4976af8SJagan Teki 204de823053SJagan Tekiendmenu # menu "SPI Support" 205