Home | History | Annotate | Download | only in spi
      1 menuconfig SPI
      2 	bool "SPI Support"
      3 
      4 if SPI
      5 
      6 config DM_SPI
      7 	bool "Enable Driver Model for SPI drivers"
      8 	depends on DM
      9 	help
     10 	  Enable driver model for SPI. The SPI slave interface
     11 	  (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
     12 	  the SPI uclass. Drivers provide methods to access the SPI
     13 	  buses that they control. The uclass interface is defined in
     14 	  include/spi.h. The existing spi_slave structure is attached
     15 	  as 'parent data' to every slave on each bus. Slaves
     16 	  typically use driver-private data instead of extending the
     17 	  spi_slave structure.
     18 
     19 if DM_SPI
     20 
     21 config ALTERA_SPI
     22 	bool "Altera SPI driver"
     23 	help
     24 	  Enable the Altera SPI driver. This driver can be used to
     25 	  access the SPI NOR flash on platforms embedding this Altera
     26 	  IP core. Please find details on the "Embedded Peripherals IP
     27 	  User Guide" of Altera.
     28 
     29 config ATCSPI200_SPI
     30 	bool "Andestech ATCSPI200 SPI driver"
     31 	help
     32 	  Enable the Andestech ATCSPI200 SPI driver. This driver can be
     33 	  used to access the SPI flash on AE3XX and AE250 platforms embedding
     34 	  this Andestech IP core.
     35 
     36 config ATH79_SPI
     37 	bool "Atheros SPI driver"
     38 	depends on ARCH_ATH79
     39 	help
     40 	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
     41 	  to access SPI NOR flash and other SPI peripherals. This driver
     42 	  uses driver model and requires a device tree binding to operate.
     43 	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
     44 
     45 config ATMEL_SPI
     46 	bool "Atmel SPI driver"
     47 	default y if ARCH_AT91
     48 	help
     49 	  This enables driver for the Atmel SPI Controller, present on
     50 	  many AT91 (ARM) chips. This driver can be used to access
     51 	  the SPI Flash, such as AT25DF321.
     52 
     53 config BCM63XX_HSSPI
     54 	bool "BCM63XX HSSPI driver"
     55 	depends on ARCH_BMIPS
     56 	help
     57 	  Enable the BCM6328 HSSPI driver. This driver can be used to
     58 	  access the SPI NOR flash on platforms embedding this Broadcom
     59 	  SPI core.
     60 
     61 config BCM63XX_SPI
     62 	bool "BCM6348 SPI driver"
     63 	depends on ARCH_BMIPS
     64 	help
     65 	  Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
     66 	  access the SPI NOR flash on platforms embedding these Broadcom
     67 	  SPI cores.
     68 
     69 config CADENCE_QSPI
     70 	bool "Cadence QSPI driver"
     71 	help
     72 	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
     73 	  used to access the SPI NOR flash on platforms embedding this
     74 	  Cadence IP core.
     75 
     76 config DESIGNWARE_SPI
     77 	bool "Designware SPI driver"
     78 	help
     79 	  Enable the Designware SPI driver. This driver can be used to
     80 	  access the SPI NOR flash on platforms embedding this Designware
     81 	  IP core.
     82 
     83 config EXYNOS_SPI
     84 	bool "Samsung Exynos SPI driver"
     85 	help
     86 	  Enable the Samsung Exynos SPI driver. This driver can be used to
     87 	  access the SPI NOR flash on platforms embedding this Samsung
     88 	  Exynos IP core.
     89 
     90 config FSL_DSPI
     91 	bool "Freescale DSPI driver"
     92 	help
     93 	  Enable the Freescale DSPI driver. This driver can be used to
     94 	  access the SPI NOR flash and SPI Data flash on platforms embedding
     95 	  this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
     96 	  use this driver.
     97 
     98 config ICH_SPI
     99 	bool "Intel ICH SPI driver"
    100 	help
    101 	  Enable the Intel ICH SPI driver. This driver can be used to
    102 	  access the SPI NOR flash on platforms embedding this Intel
    103 	  ICH IP core.
    104 
    105 config MVEBU_A3700_SPI
    106 	bool "Marvell Armada 3700 SPI driver"
    107 	select CLK_ARMADA_3720
    108 	help
    109 	  Enable the Marvell Armada 3700 SPI driver. This driver can be
    110 	  used to access the SPI NOR flash on platforms embedding this
    111 	  Marvell IP core.
    112 
    113 config PIC32_SPI
    114 	bool "Microchip PIC32 SPI driver"
    115 	depends on MACH_PIC32
    116 	help
    117 	  Enable the Microchip PIC32 SPI driver. This driver can be used
    118 	  to access the SPI NOR flash, MMC-over-SPI on platforms based on
    119 	  Microchip PIC32 family devices.
    120 
    121 config RENESAS_RPC_SPI
    122 	bool "Renesas RPC SPI driver"
    123 	depends on RCAR_GEN3
    124 	help
    125 	  Enable the Renesas RPC SPI driver, used to access SPI NOR flash
    126 	  on Renesas RCar Gen3 SoCs. This uses driver model and requires a
    127 	  device tree binding to operate.
    128 
    129 config ROCKCHIP_SPI
    130 	bool "Rockchip SPI driver"
    131 	help
    132 	  Enable the Rockchip SPI driver, used to access SPI NOR flash and
    133 	  other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
    134 	  This uses driver model and requires a device tree binding to
    135 	  operate.
    136 
    137 config SANDBOX_SPI
    138 	bool "Sandbox SPI driver"
    139 	depends on SANDBOX && DM
    140 	help
    141 	  Enable SPI support for sandbox. This is an emulation of a real SPI
    142 	  bus. Devices can be attached to the bus using the device tree
    143 	  which specifies the driver to use. As an example, see this device
    144 	  tree fragment from sandbox.dts. It shows that the SPI bus has a
    145 	  single flash device on chip select 0 which is emulated by the driver
    146 	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
    147 
    148 	  spi@0 {
    149 		#address-cells = <1>;
    150 		#size-cells = <0>;
    151 		reg = <0>;
    152 		compatible = "sandbox,spi";
    153 		cs-gpios = <0>, <&gpio_a 0>;
    154 		flash@0 {
    155 			reg = <0>;
    156 			compatible = "spansion,m25p16", "sandbox,spi-flash";
    157 			spi-max-frequency = <40000000>;
    158 			sandbox,filename = "spi.bin";
    159 		};
    160 	  };
    161 
    162 config STM32_QSPI
    163 	bool "STM32F7 QSPI driver"
    164 	depends on STM32F7
    165 	help
    166 	  Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
    167 	  used to access the SPI NOR flash chips on platforms embedding
    168 	  this ST IP core.
    169 
    170 config TEGRA114_SPI
    171 	bool "nVidia Tegra114 SPI driver"
    172 	help
    173 	  Enable the nVidia Tegra114 SPI driver. This driver can be used to
    174 	  access the SPI NOR flash on platforms embedding this nVidia Tegra114
    175 	  IP core.
    176 
    177 	  This controller is different than the older SoCs SPI controller and
    178 	  also register interface get changed with this controller.
    179 
    180 config TEGRA20_SFLASH
    181 	bool "nVidia Tegra20 Serial Flash controller driver"
    182 	help
    183 	  Enable the nVidia Tegra20 Serial Flash controller driver. This driver
    184 	  can be used to access the SPI NOR flash on platforms embedding this
    185 	  nVidia Tegra20 IP core.
    186 
    187 config TEGRA20_SLINK
    188 	bool "nVidia Tegra20/Tegra30 SLINK driver"
    189 	help
    190 	  Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
    191 	  be used to access the SPI NOR flash on platforms embedding this
    192 	  nVidia Tegra20/Tegra30 IP cores.
    193 
    194 config TEGRA210_QSPI
    195 	bool "nVidia Tegra210 QSPI driver"
    196 	help
    197 	  Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
    198 	  be used to access SPI chips on platforms embedding this
    199 	  NVIDIA Tegra210 IP core.
    200 
    201 config XILINX_SPI
    202 	bool "Xilinx SPI driver"
    203 	help
    204 	  Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
    205 	  controller support 8 bit SPI transfers only, with or w/o FIFO.
    206 	  For more info on Xilinx SPI Register Definitions and Overview
    207 	  see driver file - drivers/spi/xilinx_spi.c
    208 
    209 config ZYNQ_SPI
    210 	bool "Zynq SPI driver"
    211 	depends on ARCH_ZYNQ || ARCH_ZYNQMP
    212 	help
    213 	  Enable the Zynq SPI driver. This driver can be used to
    214 	  access the SPI NOR flash on platforms embedding this Zynq
    215 	  SPI IP core.
    216 
    217 config ZYNQ_QSPI
    218 	bool "Zynq QSPI driver"
    219 	depends on ARCH_ZYNQ
    220 	help
    221 	  Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
    222 	  used to access the SPI NOR flash on platforms embedding this
    223 	  Zynq QSPI IP core. This IP is used to connect the flash in
    224 	  4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
    225 
    226 endif # if DM_SPI
    227 
    228 config SOFT_SPI
    229 	bool "Soft SPI driver"
    230 	help
    231 	 Enable Soft SPI driver. This driver is to use GPIO simulate
    232 	 the SPI protocol.
    233 
    234 config CF_SPI
    235 	bool "ColdFire SPI driver"
    236 	help
    237 	  Enable the ColdFire SPI driver. This driver can be used on
    238 	  some m68k SoCs.
    239 
    240 config FSL_ESPI
    241 	bool "Freescale eSPI driver"
    242 	help
    243 	  Enable the Freescale eSPI driver. This driver can be used to
    244 	  access the SPI interface and SPI NOR flash on platforms embedding
    245 	  this Freescale eSPI IP core.
    246 
    247 config FSL_QSPI
    248 	bool "Freescale QSPI driver"
    249 	help
    250 	  Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
    251 	  used to access the SPI NOR flash on platforms embedding this
    252 	  Freescale IP core.
    253 
    254 config DAVINCI_SPI
    255 	bool "Davinci & Keystone SPI driver"
    256 	depends on ARCH_DAVINCI || ARCH_KEYSTONE
    257 	help
    258 	  Enable the Davinci SPI driver
    259 
    260 config SH_SPI
    261 	bool "SuperH SPI driver"
    262 	help
    263 	  Enable the SuperH SPI controller driver. This driver can be used
    264 	  on various SuperH SoCs, such as SH7757.
    265 
    266 config SH_QSPI
    267 	bool "Renesas Quad SPI driver"
    268 	help
    269 	  Enable the Renesas Quad SPI controller driver. This driver can be
    270 	  used on Renesas SoCs.
    271 
    272 config TI_QSPI
    273 	bool "TI QSPI driver"
    274 	help
    275 	  Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
    276 	  This driver support spi flash single, quad and memory reads.
    277 
    278 config KIRKWOOD_SPI
    279 	bool "Marvell Kirkwood SPI Driver"
    280 	help
    281 	  Enable support for SPI on various Marvell SoCs, such as
    282 	  Kirkwood and Armada 375.
    283 
    284 config LPC32XX_SSP
    285 	bool "LPC32XX SPI Driver"
    286 	help
    287 	  Enable support for SPI on LPC32xx
    288 
    289 config MPC8XX_SPI
    290 	bool "MPC8XX SPI Driver"
    291 	depends on MPC8xx
    292 	help
    293 	  Enable support for SPI on MPC8XX
    294 
    295 config MPC8XXX_SPI
    296 	bool "MPC8XXX SPI Driver"
    297 	help
    298 	  Enable support for SPI on the MPC8XXX PowerPC SoCs.
    299 
    300 config MXC_SPI
    301 	bool "MXC SPI Driver"
    302 	help
    303 	  Enable the MXC SPI controller driver. This driver can be used
    304 	  on various i.MX SoCs such as i.MX31/35/51/6/7.
    305 
    306 config MXS_SPI
    307 	bool "MXS SPI Driver"
    308 	help
    309 	  Enable the MXS SPI controller driver. This driver can be used
    310 	  on the i.MX23 and i.MX28 SoCs.
    311 
    312 config OMAP3_SPI
    313 	bool "McSPI driver for OMAP"
    314 	help
    315 	  SPI master controller for OMAP24XX and later Multichannel SPI
    316 	  (McSPI). This driver be used to access SPI chips on platforms
    317 	  embedding this OMAP3 McSPI IP core.
    318 
    319 endif # menu "SPI Support"
    320