u-boot/doc/SPI
Mike Frysinger ffdb20bea1 sandbox: spi: Add new SPI flash driver
This adds a SPI flash driver which simulates SPI flash clients.
Currently supports the bare min that U-Boot requires: you can
probe, read, erase, and write.  Should be easy to extend to make
it behave more exactly like a real SPI flash, but this is good
enough to merge now.

sjg@chromium.org added a README and tidied up code a little.
Added a required map_sysmem() for sandbox.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
2013-12-09 12:22:39 -07:00
..
README.sandbox-spi sandbox: spi: Add new SPI flash driver 2013-12-09 12:22:39 -07:00
README.ti_qspi_dra_test README: qspi usecase and testing documentation. 2013-10-07 17:55:52 +05:30
README.ti_qspi_flash README: qspi usecase and testing documentation. 2013-10-07 17:55:52 +05:30
status.txt doc: SPI: Update SPI status track 2013-10-07 19:35:10 +05:30

QSPI U-boot support
------------------

Host processor is connected to serial flash device via qpsi
interface. QSPI is a kind of spi module that allows single,
dual and quad read access to external spi devices. The module
has a memory mapped interface which provide direct interface
for accessing data form external spi devices.

The one QSPI in the device is primarily intended for fast booting
from Quad SPI flash devices.

Usecase
-------

MLO/u-boot.img will be flashed from SD/MMC to the flash device
using serial flash erase and write commands. Then, switch settings
will be changed to qspi boot. Then, the ROM code will read MLO
from the predefined location in the flash, where it was flashed and
execute it after storing it in SDRAM. Then, the MLO will read
u-boot.img from flash and execute it from SDRAM.

SPI mode
-------
SPI mode uses mtd spi framework for transfer and reception of data.
Can be used in:
1. Normal mode: use single pin for transfers
2. Dual Mode: use two pins for transfers.
3. Quad mode: use four pin for transfer

Memory mapped read mode
-----------------------
In this, SPI controller is configured using configuration port and then
controler is switched to memory mapped port for data read.

Driver
------
drivers/qspi/ti_qspi.c
    - Newly created file which is responsible for configuring the
	qspi controller and also for providing the low level api which
	is responsible for transferring the datas from host controller
	to flash device and vice versa.

Testing
-------
A seperated file named README.dra_qspi_test has been created which gives all the
details about the commands required to test qspi at u-boot level.