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 26e4976af8SJagan Tekiconfig CADENCE_QSPI 27e4976af8SJagan Teki bool "Cadence QSPI driver" 28e4976af8SJagan Teki help 29e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 30e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 31e4976af8SJagan Teki Cadence IP core. 32e4976af8SJagan Teki 33e4976af8SJagan Tekiconfig DESIGNWARE_SPI 34e4976af8SJagan Teki bool "Designware SPI driver" 35e4976af8SJagan Teki help 36e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 37e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 38e4976af8SJagan Teki IP core. 39e4976af8SJagan Teki 40c354eee8SJagan Tekiconfig EXYNOS_SPI 41c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 42c354eee8SJagan Teki help 43c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 44c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 45c354eee8SJagan Teki Exynos IP core. 46c354eee8SJagan Teki 4794ea308dSJagan Tekiconfig FSL_DSPI 4894ea308dSJagan Teki bool "Freescale DSPI driver" 4994ea308dSJagan Teki help 5094ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 5194ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 5294ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 5394ea308dSJagan Teki use this driver. 5494ea308dSJagan Teki 5591c22d04SJagan Tekiconfig FSL_QSPI 5691c22d04SJagan Teki bool "Freescale QSPI driver" 5791c22d04SJagan Teki help 5891c22d04SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 5991c22d04SJagan Teki used to access the SPI NOR flash on platforms embedding this 6091c22d04SJagan Teki Freescale IP core. 6191c22d04SJagan Teki 6245636010SJagan Tekiconfig ICH_SPI 6345636010SJagan Teki bool "Intel ICH SPI driver" 6445636010SJagan Teki help 6545636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 6645636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 6745636010SJagan Teki ICH IP core. 6845636010SJagan Teki 691b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 701b2fd5bfSSimon Glass bool "Rockchip SPI driver" 711b2fd5bfSSimon Glass help 721b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 731b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 741b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 751b2fd5bfSSimon Glass operate. 761b2fd5bfSSimon Glass 77892cac72SSimon Glassconfig SANDBOX_SPI 78892cac72SSimon Glass bool "Sandbox SPI driver" 79892cac72SSimon Glass depends on SANDBOX && DM 80892cac72SSimon Glass help 81892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 82892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 83892cac72SSimon Glass which specifies the driver to use. As an example, see this device 84892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 85892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 86892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 87892cac72SSimon Glass 88892cac72SSimon Glass spi@0 { 89892cac72SSimon Glass #address-cells = <1>; 90892cac72SSimon Glass #size-cells = <0>; 91892cac72SSimon Glass reg = <0>; 92892cac72SSimon Glass compatible = "sandbox,spi"; 93892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 94892cac72SSimon Glass flash@0 { 95892cac72SSimon Glass reg = <0>; 96892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 97892cac72SSimon Glass spi-max-frequency = <40000000>; 98892cac72SSimon Glass sandbox,filename = "spi.bin"; 99892cac72SSimon Glass }; 100892cac72SSimon Glass }; 10167d7a9d6SMarek Vasut 1025bf9a2d3SJagan Tekiconfig TEGRA114_SPI 1035bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 1045bf9a2d3SJagan Teki help 1055bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 1065bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 1075bf9a2d3SJagan Teki IP core. 1085bf9a2d3SJagan Teki 1095bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1105bf9a2d3SJagan Teki also register interface get changed with this controller. 1115bf9a2d3SJagan Teki 1122f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1132f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1142f3e6f8cSJagan Teki help 1152f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1162f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1172f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1182f3e6f8cSJagan Teki 1194495830cSJagan Tekiconfig TEGRA20_SLINK 1204495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1214495830cSJagan Teki help 1224495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1234495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1244495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1254495830cSJagan Teki 1264e675ff2STom Warrenconfig TEGRA210_QSPI 1274e675ff2STom Warren bool "nVidia Tegra210 QSPI driver" 1284e675ff2STom Warren help 1294e675ff2STom Warren Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver 1304e675ff2STom Warren be used to access SPI chips on platforms embedding this 1314e675ff2STom Warren NVIDIA Tegra210 IP core. 1324e675ff2STom Warren 133075143d3SJagan Tekiconfig XILINX_SPI 134075143d3SJagan Teki bool "Xilinx SPI driver" 135075143d3SJagan Teki help 136075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 137075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 138075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 139075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 140075143d3SJagan Teki 141df30a425SJagan Tekiconfig ZYNQ_SPI 142df30a425SJagan Teki bool "Zynq SPI driver" 143*8e4920e5SMichal Simek depends on ARCH_ZYNQ || ARCH_ZYNQMP 144df30a425SJagan Teki help 145df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 146df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 147df30a425SJagan Teki SPI IP core. 148de823053SJagan Teki 14978a025acSJagan Tekiconfig ZYNQ_QSPI 15078a025acSJagan Teki bool "Zynq QSPI driver" 15178a025acSJagan Teki depends on ARCH_ZYNQ 15278a025acSJagan Teki help 15378a025acSJagan Teki Enable the Zynq Quad-SPI (QSPI) driver. This driver can be 15478a025acSJagan Teki used to access the SPI NOR flash on platforms embedding this 15578a025acSJagan Teki Zynq QSPI IP core. This IP is used to connect the flash in 15678a025acSJagan Teki 4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel. 15778a025acSJagan Teki 158e4976af8SJagan Tekiendif # if DM_SPI 159e4976af8SJagan Teki 1603debffa7SJagan Tekiconfig FSL_ESPI 1613debffa7SJagan Teki bool "Freescale eSPI driver" 1623debffa7SJagan Teki help 1633debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 1643debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 1653debffa7SJagan Teki this Freescale eSPI IP core. 1663debffa7SJagan Teki 167e4976af8SJagan Tekiconfig TI_QSPI 168e4976af8SJagan Teki bool "TI QSPI driver" 169e4976af8SJagan Teki help 170e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 171e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 172e4976af8SJagan Teki 173de823053SJagan Tekiendmenu # menu "SPI Support" 174