xref: /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/fsl-layerscape/doc/README.qspi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunQSPI Boot source support Overview
2*4882a593Smuzhiyun-------------------
3*4882a593Smuzhiyun	1. LS1043A
4*4882a593Smuzhiyun		LS1043AQDS
5*4882a593Smuzhiyun	2. LS2080A
6*4882a593Smuzhiyun		LS2080AQDS
7*4882a593Smuzhiyun	3. LS1012A
8*4882a593Smuzhiyun		LS1012AQDS
9*4882a593Smuzhiyun		LS1012ARDB
10*4882a593Smuzhiyun	4. LS1046A
11*4882a593Smuzhiyun		LS1046AQDS
12*4882a593Smuzhiyun		LS1046ARDB
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunBooting from QSPI
15*4882a593Smuzhiyun-------------------
16*4882a593SmuzhiyunBooting from QSPI requires two images, RCW and u-boot-dtb.bin.
17*4882a593SmuzhiyunThe difference between QSPI boot RCW image and NOR boot image is the PBI
18*4882a593Smuzhiyuncommand sequence for setting the boot location pointer. It's should point
19*4882a593Smuzhiyunto the address for u-boot in QSPI flash.
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunRCW image should be written to the beginning of QSPI flash device.
22*4882a593SmuzhiyunExample of using u-boot command
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun=> sf probe 0:0
25*4882a593SmuzhiyunSF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
26*4882a593Smuzhiyun=> sf erase 0 +<size of rcw image>
27*4882a593SmuzhiyunSF: 65536 bytes @ 0x0 Erased: OK
28*4882a593Smuzhiyun=> sf write <rcw image in memory> 0 <size of rcw image>
29*4882a593SmuzhiyunSF: 164 bytes @ 0x0 Written: OK
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunTo get the QSPI image, build u-boot with QSPI config, for example,
32*4882a593Smuzhiyun<board_name>_qspi_defconfig. The image needed is u-boot-dtb.bin.
33*4882a593SmuzhiyunThe u-boot image should be written to 0x10000(but 0x1000 for LS1043A, LS2080A).
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun=> sf probe 0:0
36*4882a593SmuzhiyunSF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
37*4882a593Smuzhiyun=> sf erase 10000 +<size of u-boot image>
38*4882a593SmuzhiyunSF: 589824 bytes @ 0x10000 Erased: OK
39*4882a593Smuzhiyun=> sf write <u-boot image in memory> 10000 <size of u-boot image>
40*4882a593SmuzhiyunSF: 580966 bytes @ 0x10000 Written: OK
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunWith these two images in QSPI flash device, the board can boot from QSPI.
43