mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-17 12:41:32 +00:00
README: qspi usecase and testing documentation.
Contains documentation and testing details for qspi flash interface. Signed-off-by: Sourav Poddar <sourav.poddar@ti.com> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
This commit is contained in:
parent
247cdf0413
commit
2f24223ae1
2 changed files with 95 additions and 0 deletions
48
doc/SPI/README.ti_qspi_dra_test
Normal file
48
doc/SPI/README.ti_qspi_dra_test
Normal file
|
@ -0,0 +1,48 @@
|
|||
-------------------------------------------------
|
||||
Simple steps used to test the QSPI at U-Boot
|
||||
-------------------------------------------------
|
||||
|
||||
For #1, build the patched U-Boot and load MLO/u-boot.img
|
||||
|
||||
----------------------------------
|
||||
Boot from another medium like MMC
|
||||
----------------------------------
|
||||
|
||||
U-Boot# mmc dev 0
|
||||
mmc0 is current device
|
||||
U-Boot# fatload mmc 0 0x82000000 MLO
|
||||
reading MLO
|
||||
55872 bytes read in 8 ms (6.7 MiB/s)
|
||||
U-Boot# fatload mmc 0 0x83000000 u-boot.img
|
||||
reading u-boot.img
|
||||
248600 bytes read in 19 ms (12.5 MiB/s)
|
||||
|
||||
--------------------------------------------------
|
||||
Commands to erase/write u-boot/mlo to flash device
|
||||
--------------------------------------------------
|
||||
U-Boot# sf probe 0
|
||||
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000
|
||||
SF: Warning - Only lower 16MiB accessible, Full access #define CONFIG_SPI_FLASH_BAR
|
||||
U-Boot# sf erase 0 0x10000
|
||||
SF: 65536 bytes @ 0x0 Erased: OK
|
||||
U-Boot# sf erase 0x20000 0x10000
|
||||
SF: 65536 bytes @ 0x20000 Erased: OK
|
||||
U-Boot# sf erase 0x30000 0x10000
|
||||
SF: 65536 bytes @ 0x30000 Erased: OK
|
||||
U-Boot# sf erase 0x40000 0x10000
|
||||
SF: 65536 bytes @ 0x40000 Erased: OK
|
||||
U-Boot# sf erase 0x50000 0x10000
|
||||
SF: 65536 bytes @ 0x50000 Erased: OK
|
||||
U-Boot# sf erase 0x60000 0x10000
|
||||
SF: 65536 bytes @ 0x60000 Erased: OK
|
||||
U-Boot# sf write 82000000 0 0x10000
|
||||
SF: 65536 bytes @ 0x0 Written: OK
|
||||
U-Boot# sf write 83000000 0x20000 0x60000
|
||||
SF: 393216 bytes @ 0x20000 Written: OK
|
||||
|
||||
For #2, set sysboot to QSPI-1 boot mode(SYSBOOT[5:0] = 100110) and power
|
||||
on. ROM should find the GP header at offset 0 and load/execute SPL. SPL
|
||||
then detects that ROM was in QSPI-1 mode (boot code 10) and attempts to
|
||||
find a U-Boot image header at offset 0x20000 (set in the config file)
|
||||
and proceeds to load that image using the U-Boot image payload offset/size
|
||||
from the header. It will then start U-Boot.
|
47
doc/SPI/README.ti_qspi_flash
Normal file
47
doc/SPI/README.ti_qspi_flash
Normal file
|
@ -0,0 +1,47 @@
|
|||
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.
|
Loading…
Add table
Reference in a new issue