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 18e4976af8SJagan Tekiconfig CADENCE_QSPI 19e4976af8SJagan Teki bool "Cadence QSPI driver" 20e4976af8SJagan Teki help 21e4976af8SJagan Teki Enable the Cadence Quad-SPI (QSPI) driver. This driver can be 22e4976af8SJagan Teki used to access the SPI NOR flash on platforms embedding this 23e4976af8SJagan Teki Cadence IP core. 24e4976af8SJagan Teki 25e4976af8SJagan Tekiconfig DESIGNWARE_SPI 26e4976af8SJagan Teki bool "Designware SPI driver" 27e4976af8SJagan Teki help 28e4976af8SJagan Teki Enable the Designware SPI driver. This driver can be used to 29e4976af8SJagan Teki access the SPI NOR flash on platforms embedding this Designware 30e4976af8SJagan Teki IP core. 31e4976af8SJagan Teki 32c354eee8SJagan Tekiconfig EXYNOS_SPI 33c354eee8SJagan Teki bool "Samsung Exynos SPI driver" 34c354eee8SJagan Teki help 35c354eee8SJagan Teki Enable the Samsung Exynos SPI driver. This driver can be used to 36c354eee8SJagan Teki access the SPI NOR flash on platforms embedding this Samsung 37c354eee8SJagan Teki Exynos IP core. 38c354eee8SJagan Teki 3994ea308dSJagan Tekiconfig FSL_DSPI 4094ea308dSJagan Teki bool "Freescale DSPI driver" 4194ea308dSJagan Teki help 4294ea308dSJagan Teki Enable the Freescale DSPI driver. This driver can be used to 4394ea308dSJagan Teki access the SPI NOR flash and SPI Data flash on platforms embedding 4494ea308dSJagan Teki this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms 4594ea308dSJagan Teki use this driver. 4694ea308dSJagan Teki 4791c22d04SJagan Tekiconfig FSL_QSPI 4891c22d04SJagan Teki bool "Freescale QSPI driver" 4991c22d04SJagan Teki help 5091c22d04SJagan Teki Enable the Freescale Quad-SPI (QSPI) driver. This driver can be 5191c22d04SJagan Teki used to access the SPI NOR flash on platforms embedding this 5291c22d04SJagan Teki Freescale IP core. 5391c22d04SJagan Teki 5445636010SJagan Tekiconfig ICH_SPI 5545636010SJagan Teki bool "Intel ICH SPI driver" 5645636010SJagan Teki help 5745636010SJagan Teki Enable the Intel ICH SPI driver. This driver can be used to 5845636010SJagan Teki access the SPI NOR flash on platforms embedding this Intel 5945636010SJagan Teki ICH IP core. 6045636010SJagan Teki 61*1b2fd5bfSSimon Glassconfig ROCKCHIP_SPI 62*1b2fd5bfSSimon Glass bool "Rockchip SPI driver" 63*1b2fd5bfSSimon Glass help 64*1b2fd5bfSSimon Glass Enable the Rockchip SPI driver, used to access SPI NOR flash and 65*1b2fd5bfSSimon Glass other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs. 66*1b2fd5bfSSimon Glass This uses driver model and requires a device tree binding to 67*1b2fd5bfSSimon Glass operate. 68*1b2fd5bfSSimon Glass 69892cac72SSimon Glassconfig SANDBOX_SPI 70892cac72SSimon Glass bool "Sandbox SPI driver" 71892cac72SSimon Glass depends on SANDBOX && DM 72892cac72SSimon Glass help 73892cac72SSimon Glass Enable SPI support for sandbox. This is an emulation of a real SPI 74892cac72SSimon Glass bus. Devices can be attached to the bus using the device tree 75892cac72SSimon Glass which specifies the driver to use. As an example, see this device 76892cac72SSimon Glass tree fragment from sandbox.dts. It shows that the SPI bus has a 77892cac72SSimon Glass single flash device on chip select 0 which is emulated by the driver 78892cac72SSimon Glass for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c. 79892cac72SSimon Glass 80892cac72SSimon Glass spi@0 { 81892cac72SSimon Glass #address-cells = <1>; 82892cac72SSimon Glass #size-cells = <0>; 83892cac72SSimon Glass reg = <0>; 84892cac72SSimon Glass compatible = "sandbox,spi"; 85892cac72SSimon Glass cs-gpios = <0>, <&gpio_a 0>; 86892cac72SSimon Glass flash@0 { 87892cac72SSimon Glass reg = <0>; 88892cac72SSimon Glass compatible = "spansion,m25p16", "sandbox,spi-flash"; 89892cac72SSimon Glass spi-max-frequency = <40000000>; 90892cac72SSimon Glass sandbox,filename = "spi.bin"; 91892cac72SSimon Glass }; 92892cac72SSimon Glass }; 9367d7a9d6SMarek Vasut 945bf9a2d3SJagan Tekiconfig TEGRA114_SPI 955bf9a2d3SJagan Teki bool "nVidia Tegra114 SPI driver" 965bf9a2d3SJagan Teki help 975bf9a2d3SJagan Teki Enable the nVidia Tegra114 SPI driver. This driver can be used to 985bf9a2d3SJagan Teki access the SPI NOR flash on platforms embedding this nVidia Tegra114 995bf9a2d3SJagan Teki IP core. 1005bf9a2d3SJagan Teki 1015bf9a2d3SJagan Teki This controller is different than the older SoCs SPI controller and 1025bf9a2d3SJagan Teki also register interface get changed with this controller. 1035bf9a2d3SJagan Teki 1042f3e6f8cSJagan Tekiconfig TEGRA20_SFLASH 1052f3e6f8cSJagan Teki bool "nVidia Tegra20 Serial Flash controller driver" 1062f3e6f8cSJagan Teki help 1072f3e6f8cSJagan Teki Enable the nVidia Tegra20 Serial Flash controller driver. This driver 1082f3e6f8cSJagan Teki can be used to access the SPI NOR flash on platforms embedding this 1092f3e6f8cSJagan Teki nVidia Tegra20 IP core. 1102f3e6f8cSJagan Teki 1114495830cSJagan Tekiconfig TEGRA20_SLINK 1124495830cSJagan Teki bool "nVidia Tegra20/Tegra30 SLINK driver" 1134495830cSJagan Teki help 1144495830cSJagan Teki Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can 1154495830cSJagan Teki be used to access the SPI NOR flash on platforms embedding this 1164495830cSJagan Teki nVidia Tegra20/Tegra30 IP cores. 1174495830cSJagan Teki 118075143d3SJagan Tekiconfig XILINX_SPI 119075143d3SJagan Teki bool "Xilinx SPI driver" 120075143d3SJagan Teki help 121075143d3SJagan Teki Enable the Xilinx SPI driver from the Xilinx EDK. This SPI 122075143d3SJagan Teki controller support 8 bit SPI transfers only, with or w/o FIFO. 123075143d3SJagan Teki For more info on Xilinx SPI Register Definitions and Overview 124075143d3SJagan Teki see driver file - drivers/spi/xilinx_spi.c 125075143d3SJagan Teki 126df30a425SJagan Tekiconfig ZYNQ_SPI 127df30a425SJagan Teki bool "Zynq SPI driver" 128e4976af8SJagan Teki depends on ARCH_ZYNQ || TARGET_XILINX_ZYNQMP 129df30a425SJagan Teki help 130df30a425SJagan Teki Enable the Zynq SPI driver. This driver can be used to 131df30a425SJagan Teki access the SPI NOR flash on platforms embedding this Zynq 132df30a425SJagan Teki SPI IP core. 133de823053SJagan Teki 134e4976af8SJagan Tekiendif # if DM_SPI 135e4976af8SJagan Teki 1363debffa7SJagan Tekiconfig FSL_ESPI 1373debffa7SJagan Teki bool "Freescale eSPI driver" 1383debffa7SJagan Teki help 1393debffa7SJagan Teki Enable the Freescale eSPI driver. This driver can be used to 1403debffa7SJagan Teki access the SPI interface and SPI NOR flash on platforms embedding 1413debffa7SJagan Teki this Freescale eSPI IP core. 1423debffa7SJagan Teki 143e4976af8SJagan Tekiconfig TI_QSPI 144e4976af8SJagan Teki bool "TI QSPI driver" 145e4976af8SJagan Teki help 146e4976af8SJagan Teki Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms. 147e4976af8SJagan Teki This driver support spi flash single, quad and memory reads. 148e4976af8SJagan Teki 149de823053SJagan Tekiendmenu # menu "SPI Support" 150