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