u-boot/doc/SPI
Vignesh R 6d82517836 configs: Don't use SPI_FLASH_BAR as default
Now that new SPI NOR layer uses stateless 4 byte opcodes by default,
don't enable SPI_FLASH_BAR. For SPI controllers that cannot support
4-byte addressing, (stm32_qspi.c, fsl_qspi.c, mtk_qspi.c, ich.c,
renesas_rpc_spi.c) add an imply clause to enable SPI_FLASH_BAR so as to
not break functionality.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Tested-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Tested-by: Stefan Roese <sr@denx.de>
Tested-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com> #zynq-microzed
2019-02-07 15:33:22 +05:30
..
README.altera_spi
README.ftssp010_spi_test
README.sandbox-spi Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
README.sh_qspi_test
README.ti_qspi_am43x_test
README.ti_qspi_dra_test configs: Don't use SPI_FLASH_BAR as default 2019-02-07 15:33:22 +05:30
README.ti_qspi_flash Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
status.txt

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
controller 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.