Poddar, Sourav | 2f24223 | 2013-10-07 15:53:04 +0530 | [diff] [blame] | 1 | QSPI U-boot support |
| 2 | ------------------ |
| 3 | |
| 4 | Host processor is connected to serial flash device via qpsi |
| 5 | interface. QSPI is a kind of spi module that allows single, |
| 6 | dual and quad read access to external spi devices. The module |
| 7 | has a memory mapped interface which provide direct interface |
| 8 | for accessing data form external spi devices. |
| 9 | |
| 10 | The one QSPI in the device is primarily intended for fast booting |
| 11 | from Quad SPI flash devices. |
| 12 | |
| 13 | Usecase |
| 14 | ------- |
| 15 | |
| 16 | MLO/u-boot.img will be flashed from SD/MMC to the flash device |
| 17 | using serial flash erase and write commands. Then, switch settings |
| 18 | will be changed to qspi boot. Then, the ROM code will read MLO |
| 19 | from the predefined location in the flash, where it was flashed and |
| 20 | execute it after storing it in SDRAM. Then, the MLO will read |
| 21 | u-boot.img from flash and execute it from SDRAM. |
| 22 | |
| 23 | SPI mode |
| 24 | ------- |
| 25 | SPI mode uses mtd spi framework for transfer and reception of data. |
| 26 | Can be used in: |
| 27 | 1. Normal mode: use single pin for transfers |
| 28 | 2. Dual Mode: use two pins for transfers. |
| 29 | 3. Quad mode: use four pin for transfer |
| 30 | |
| 31 | Memory mapped read mode |
| 32 | ----------------------- |
| 33 | In this, SPI controller is configured using configuration port and then |
| 34 | controler is switched to memory mapped port for data read. |
| 35 | |
| 36 | Driver |
| 37 | ------ |
| 38 | drivers/qspi/ti_qspi.c |
| 39 | - Newly created file which is responsible for configuring the |
| 40 | qspi controller and also for providing the low level api which |
| 41 | is responsible for transferring the datas from host controller |
| 42 | to flash device and vice versa. |
| 43 | |
| 44 | Testing |
| 45 | ------- |
| 46 | A seperated file named README.dra_qspi_test has been created which gives all the |
| 47 | details about the commands required to test qspi at u-boot level. |