summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/sandbox_defconfig1
-rw-r--r--drivers/spi/Kconfig25
-rw-r--r--include/configs/sandbox.h1
3 files changed, 26 insertions, 1 deletions
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 56e7debd3e..058949a6a9 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -20,3 +20,4 @@ CONFIG_BOOTSTAGE_REPORT=y
CONFIG_SANDBOX_GPIO=y
CONFIG_SYS_VSNPRINTF=y
CONFIG_SYS_I2C_SANDBOX=y
+CONFIG_SANDBOX_SPI=y
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 7ae2727cf7..c4c112c5ae 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -10,3 +10,28 @@ config DM_SPI
as 'parent data' to every slave on each bus. Slaves
typically use driver-private data instead of extending the
spi_slave structure.
+
+config SANDBOX_SPI
+ bool "Sandbox SPI driver"
+ depends on SANDBOX && DM
+ help
+ Enable SPI support for sandbox. This is an emulation of a real SPI
+ bus. Devices can be attached to the bus using the device tree
+ which specifies the driver to use. As an example, see this device
+ tree fragment from sandbox.dts. It shows that the SPI bus has a
+ single flash device on chip select 0 which is emulated by the driver
+ for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
+
+ spi@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ compatible = "sandbox,spi";
+ cs-gpios = <0>, <&gpio_a 0>;
+ flash@0 {
+ reg = <0>;
+ compatible = "spansion,m25p16", "sandbox,spi-flash";
+ spi-max-frequency = <40000000>;
+ sandbox,filename = "spi.bin";
+ };
+ };
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 30d41e5edb..b77a866fea 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -79,7 +79,6 @@
#define CONFIG_ENV_IS_NOWHERE
/* SPI - enable all SPI flash types for testing purposes */
-#define CONFIG_SANDBOX_SPI
#define CONFIG_CMD_SF
#define CONFIG_CMD_SF_TEST
#define CONFIG_CMD_SPI
OpenPOWER on IntegriCloud