xref: /openbmc/u-boot/drivers/spi/Kconfig (revision df30a425bbec7b849959f7dc7386e6db798dead6)
1da333ae7SMasahiro Yamadaconfig DM_SPI
2da333ae7SMasahiro Yamada	bool "Enable Driver Model for SPI drivers"
3da333ae7SMasahiro Yamada	depends on DM
4da333ae7SMasahiro Yamada	help
5f94a1bedSSimon Glass	  Enable driver model for SPI. The SPI slave interface
6f94a1bedSSimon Glass	  (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
7f94a1bedSSimon Glass	  the SPI uclass. Drivers provide methods to access the SPI
8f94a1bedSSimon Glass	  buses that they control. The uclass interface is defined in
9f94a1bedSSimon Glass	  include/spi.h. The existing spi_slave structure is attached
10f94a1bedSSimon Glass	  as 'parent data' to every slave on each bus. Slaves
11f94a1bedSSimon Glass	  typically use driver-private data instead of extending the
12f94a1bedSSimon Glass	  spi_slave structure.
13892cac72SSimon Glass
14892cac72SSimon Glassconfig SANDBOX_SPI
15892cac72SSimon Glass	bool "Sandbox SPI driver"
16892cac72SSimon Glass	depends on SANDBOX && DM
17892cac72SSimon Glass	help
18892cac72SSimon Glass	  Enable SPI support for sandbox. This is an emulation of a real SPI
19892cac72SSimon Glass	  bus. Devices can be attached to the bus using the device tree
20892cac72SSimon Glass	  which specifies the driver to use. As an example, see this device
21892cac72SSimon Glass	  tree fragment from sandbox.dts. It shows that the SPI bus has a
22892cac72SSimon Glass	  single flash device on chip select 0 which is emulated by the driver
23892cac72SSimon Glass	  for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
24892cac72SSimon Glass
25892cac72SSimon Glass	  spi@0 {
26892cac72SSimon Glass		#address-cells = <1>;
27892cac72SSimon Glass		#size-cells = <0>;
28892cac72SSimon Glass		reg = <0>;
29892cac72SSimon Glass		compatible = "sandbox,spi";
30892cac72SSimon Glass		cs-gpios = <0>, <&gpio_a 0>;
31892cac72SSimon Glass		flash@0 {
32892cac72SSimon Glass			reg = <0>;
33892cac72SSimon Glass			compatible = "spansion,m25p16", "sandbox,spi-flash";
34892cac72SSimon Glass			spi-max-frequency = <40000000>;
35892cac72SSimon Glass			sandbox,filename = "spi.bin";
36892cac72SSimon Glass		};
37892cac72SSimon Glass	};
3867d7a9d6SMarek Vasut
3967d7a9d6SMarek Vasutconfig DESIGNWARE_SPI
4067d7a9d6SMarek Vasut	bool "Designware SPI driver"
4167d7a9d6SMarek Vasut	depends on DM_SPI
4267d7a9d6SMarek Vasut	help
4367d7a9d6SMarek Vasut	  Enable the Designware SPI driver. This driver can be used to
4467d7a9d6SMarek Vasut	  access the SPI NOR flash on platforms embedding this Designware
4567d7a9d6SMarek Vasut	  IP core.
4696bfdf01SMarek Vasut
4796bfdf01SMarek Vasutconfig CADENCE_QSPI
4896bfdf01SMarek Vasut	bool "Cadence QSPI driver"
4996bfdf01SMarek Vasut	depends on DM_SPI
5096bfdf01SMarek Vasut	help
5196bfdf01SMarek Vasut	  Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
5296bfdf01SMarek Vasut	  used to access the SPI NOR flash on platforms embedding this
5396bfdf01SMarek Vasut	  Cadence IP core.
54*df30a425SJagan Teki
55*df30a425SJagan Tekiconfig ZYNQ_SPI
56*df30a425SJagan Teki	bool "Zynq SPI driver"
57*df30a425SJagan Teki	depends on DM_SPI && (ARCH_ZYNQ || TARGET_XILINX_ZYNQMP)
58*df30a425SJagan Teki	help
59*df30a425SJagan Teki	  Enable the Zynq SPI driver. This driver can be used to
60*df30a425SJagan Teki	  access the SPI NOR flash on platforms embedding this Zynq
61*df30a425SJagan Teki	  SPI IP core.
62