1Sandbox SPI/SPI Flash Implementation
2====================================
3
4U-Boot supports SPI and SPI flash emulation in sandbox. This must be enabled
5via a device tree.
6
7For example:
8
9	spi@0 {
10		#address-cells = <1>;
11		#size-cells = <0>;
12		reg = <0 1>;
13		compatible = "sandbox,spi";
14		cs-gpios = <0>, <&gpio_a 0>;
15		spi.bin@0 {
16			reg = <0>;
17			compatible = "spansion,m25p16", "jedec,spi-nor";
18			spi-max-frequency = <40000000>;
19			sandbox,filename = "spi.bin";
20		};
21	};
22
23Supported chips are W25Q16 (2MB), W25Q32 (4MB) and W25Q128 (16MB). Once
24U-Boot it started you can use 'sf' commands as normal. For example:
25
26$ dd if=/dev/zero of=spi.bin bs=1M count=2
27$ u-boot -T
28
29Since the SPI bus is fully implemented as well as the SPI flash connected to
30it, you can also use low-level SPI commands to access the flash. For example
31this reads the device ID from the emulated chip:
32
33=> sspi 0 32 9f
34SF: Detected m25p16 with page size 256 Bytes, erase size 64 KiB, total 2 MiB
35FF202015
36
37
38Simon Glass
39sjg@chromium.org
407/11/2013
41Note that the sandbox SPI implementation was written by Mike Frysinger
42<vapier@gentoo.org>.
43