Yuan Yao | 83ebfb3 | 2016-11-09 11:50:46 +0800 | [diff] [blame] | 1 | QSPI Boot source support Overview |
| 2 | ------------------- |
| 3 | 1. LS1043A |
| 4 | LS1043AQDS |
| 5 | 2. LS2080A |
| 6 | LS2080AQDS |
| 7 | 3. LS1012A |
| 8 | LS1012AQDS |
| 9 | LS1012ARDB |
| 10 | 4. LS1046A |
| 11 | LS1046AQDS |
| 12 | LS1046ARDB |
| 13 | |
| 14 | Booting from QSPI |
| 15 | ------------------- |
| 16 | Booting from QSPI requires two images, RCW and u-boot-dtb.bin. |
| 17 | The difference between QSPI boot RCW image and NOR boot image is the PBI |
| 18 | command sequence for setting the boot location pointer. It's should point |
| 19 | to the address for u-boot in QSPI flash. |
| 20 | |
| 21 | RCW image should be written to the beginning of QSPI flash device. |
| 22 | Example of using u-boot command |
| 23 | |
| 24 | => sf probe 0:0 |
| 25 | SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB |
| 26 | => sf erase 0 +<size of rcw image> |
| 27 | SF: 65536 bytes @ 0x0 Erased: OK |
| 28 | => sf write <rcw image in memory> 0 <size of rcw image> |
| 29 | SF: 164 bytes @ 0x0 Written: OK |
| 30 | |
| 31 | To get the QSPI image, build u-boot with QSPI config, for example, |
| 32 | <board_name>_qspi_defconfig. The image needed is u-boot-dtb.bin. |
| 33 | The u-boot image should be written to 0x10000(but 0x1000 for LS1043A, LS2080A). |
| 34 | |
| 35 | => sf probe 0:0 |
| 36 | SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB |
| 37 | => sf erase 10000 +<size of u-boot image> |
| 38 | SF: 589824 bytes @ 0x10000 Erased: OK |
| 39 | => sf write <u-boot image in memory> 10000 <size of u-boot image> |
| 40 | SF: 580966 bytes @ 0x10000 Written: OK |
| 41 | |
| 42 | With these two images in QSPI flash device, the board can boot from QSPI. |