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