[U-Boot] [PATCH] board/ls2080qds: add the procedure to deply QSPI image.

From: Yuan Yao yao.yuan@nxp.com
Signed-off-by: Yuan Yao yao.yuan@nxp.com --- board/freescale/ls2080aqds/README | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
diff --git a/board/freescale/ls2080aqds/README b/board/freescale/ls2080aqds/README index f288750..0f7446a 100644 --- a/board/freescale/ls2080aqds/README +++ b/board/freescale/ls2080aqds/README @@ -188,3 +188,38 @@ DPMAC14 -> PHY4-P1 DPMAC15 -> PHY4-P2 DPMAC16 -> PHY4-P3
+ +Booting from QSPI +------------------- +Booting from QSPI requires two images, RCW and u-boot-dtb.bin. +The difference between QSPI boot RCW image and NOR boot image is the PBI +command sequence. Below is the setting for PBI commands for QDS which boot +on QSPI flash device. + +1) CCSR 4-byte write to 0x00e00404, data=0x00000000 +2) CCSR 4-byte write to 0x00e00400, data=0x20010000 +The above two commands set bootloc register to 0x00000000_20010000 where +the u-boot code will be running in QSPI flash. + +RCW image should be written to the beginning of QSPI flash device. +Example of using u-boot command + +=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB +=> sf erase 0 +<size of rcw image> +SF: 65536 bytes @ 0x0 Erased: OK +=> sf write <rcw image in memory> 0 <size of rcw image> +SF: 164 bytes @ 0x0 Written: OK + +To get the QSPI image, build u-boot with QSPI config, for example, +ls2080aqds_qspi_defconfig. The image needed is u-boot-dtb.bin. +The u-boot image should be written to 0x10000. + +=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB +=> sf erase 10000 +<size of u-boot image> +SF: 589824 bytes @ 0x10000 Erased: OK +=> sf write <u-boot image in memory> 10000 <size of u-boot image> +SF: 580966 bytes @ 0x10000 Written: OK + +With these two images in QSPI flash device, the board can boot from QSPI.

On 10/10/2016 11:04 PM, Yuan Yao wrote:
From: Yuan Yao yao.yuan@nxp.com
Signed-off-by: Yuan Yao yao.yuan@nxp.com
board/freescale/ls2080aqds/README | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
diff --git a/board/freescale/ls2080aqds/README b/board/freescale/ls2080aqds/README index f288750..0f7446a 100644 --- a/board/freescale/ls2080aqds/README +++ b/board/freescale/ls2080aqds/README @@ -188,3 +188,38 @@ DPMAC14 -> PHY4-P1 DPMAC15 -> PHY4-P2 DPMAC16 -> PHY4-P3
+Booting from QSPI +------------------- +Booting from QSPI requires two images, RCW and u-boot-dtb.bin. +The difference between QSPI boot RCW image and NOR boot image is the PBI +command sequence. Below is the setting for PBI commands for QDS which boot +on QSPI flash device.
+1) CCSR 4-byte write to 0x00e00404, data=0x00000000 +2) CCSR 4-byte write to 0x00e00400, data=0x20010000 +The above two commands set bootloc register to 0x00000000_20010000 where +the u-boot code will be running in QSPI flash.
+RCW image should be written to the beginning of QSPI flash device. +Example of using u-boot command
+=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB +=> sf erase 0 +<size of rcw image> +SF: 65536 bytes @ 0x0 Erased: OK +=> sf write <rcw image in memory> 0 <size of rcw image> +SF: 164 bytes @ 0x0 Written: OK
+To get the QSPI image, build u-boot with QSPI config, for example, +ls2080aqds_qspi_defconfig. The image needed is u-boot-dtb.bin. +The u-boot image should be written to 0x10000.
+=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB +=> sf erase 10000 +<size of u-boot image> +SF: 589824 bytes @ 0x10000 Erased: OK +=> sf write <u-boot image in memory> 10000 <size of u-boot image> +SF: 580966 bytes @ 0x10000 Written: OK
+With these two images in QSPI flash device, the board can boot from QSPI.
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
York

On 10/11/2016 11:04 PM, york sun wrote:
On 10/10/2016 11:04 PM, Yuan Yao wrote:
From: Yuan Yao yao.yuan@nxp.com
Signed-off-by: Yuan Yao yao.yuan@nxp.com
board/freescale/ls2080aqds/README | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
diff --git a/board/freescale/ls2080aqds/README b/board/freescale/ls2080aqds/README index f288750..0f7446a 100644 --- a/board/freescale/ls2080aqds/README +++ b/board/freescale/ls2080aqds/README @@ -188,3 +188,38 @@ DPMAC14 -> PHY4-P1 DPMAC15 -> PHY4-P2 DPMAC16 -> PHY4-P3
+Booting from QSPI +------------------- +Booting from QSPI requires two images, RCW and u-boot-dtb.bin. +The difference between QSPI boot RCW image and NOR boot image is the +PBI command sequence. Below is the setting for PBI commands for QDS +which boot on QSPI flash device.
+1) CCSR 4-byte write to 0x00e00404, data=0x00000000 +2) CCSR 4-byte write to 0x00e00400, data=0x20010000 The above two +commands set bootloc register to 0x00000000_20010000 where the u-boot +code will be running in QSPI flash.
+RCW image should be written to the beginning of QSPI flash device. +Example of using u-boot command
+=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 +KiB, total 32 MiB => sf erase 0 +<size of rcw image> +SF: 65536 bytes @ 0x0 Erased: OK +=> sf write <rcw image in memory> 0 <size of rcw image> +SF: 164 bytes @ 0x0 Written: OK
+To get the QSPI image, build u-boot with QSPI config, for example, +ls2080aqds_qspi_defconfig. The image needed is u-boot-dtb.bin. +The u-boot image should be written to 0x10000.
+=> sf probe 0:0 +SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 +KiB, total 32 MiB => sf erase 10000 +<size of u-boot image> +SF: 589824 bytes @ 0x10000 Erased: OK => sf write <u-boot image in +memory> 10000 <size of u-boot image> +SF: 580966 bytes @ 0x10000 Written: OK
+With these two images in QSPI flash device, the board can boot from QSPI.
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
Hi York,
Yes, but a little difference for "CCSR write" for different boards. But the "CCSR write" should be wrote into uboot code or cw. So, should I remove the notes for "CCSR write" and then move this information for all the boards which support QSPI boot?

On 10/11/2016 08:00 PM, Yao Yuan wrote:
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
Hi York,
Yes, but a little difference for "CCSR write" for different boards. But the "CCSR write" should be wrote into uboot code or cw. So, should I remove the notes for "CCSR write" and then move this information for all the boards which support QSPI boot?
I think you can put the common practice together with specific examples for LS2080A, and other SoCs.
York

On 10/12/2016 08:00 PM, York Sun wrote:
On 10/11/2016 08:00 PM, Yao Yuan wrote:
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
Hi York,
Yes, but a little difference for "CCSR write" for different boards. But the "CCSR write" should be wrote into uboot code or cw. So, should I remove the notes for "CCSR write" and then move this information for all the boards which support QSPI boot?
I think you can put the common practice together with specific examples for LS2080A, and other SoCs.
Hi York,
If move this information out of ls2080aqds. Do you think where can I put the procedure for all the boards? In every board's README or somewhere for the common procedure?
Thanks.
Yao.

On 10/13/2016 11:45 PM, Yao Yuan wrote:
On 10/12/2016 08:00 PM, York Sun wrote:
On 10/11/2016 08:00 PM, Yao Yuan wrote:
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
Hi York,
Yes, but a little difference for "CCSR write" for different boards. But the "CCSR write" should be wrote into uboot code or cw. So, should I remove the notes for "CCSR write" and then move this information for all the boards which support QSPI boot?
I think you can put the common practice together with specific examples for LS2080A, and other SoCs.
Hi York,
If move this information out of ls2080aqds. Do you think where can I put the procedure for all the boards? In every board's README or somewhere for the common procedure?
Yao,
Take a look at these locations and decide which one fits best.
arch/arm/cpu/armv8/fsl-layerscape/doc/README.* doc/README.fsl-qspi (you can create this)
York

On 10/14/2016 11:36 PM, York Sun wrote:
On 10/13/2016 11:45 PM, Yao Yuan wrote:
On 10/12/2016 08:00 PM, York Sun wrote:
On 10/11/2016 08:00 PM, Yao Yuan wrote:
Yuan Yao,
I think the procedure can be applied to many of our boards with QSPI, right? It may be better to move this information out of ls2080aqds.
Hi York,
Yes, but a little difference for "CCSR write" for different boards. But the "CCSR write" should be wrote into uboot code or cw. So, should I remove the notes for "CCSR write" and then move this information for all the boards which support QSPI boot?
I think you can put the common practice together with specific examples for LS2080A, and other SoCs.
Hi York,
If move this information out of ls2080aqds. Do you think where can I put the procedure for all the boards? In every board's README or somewhere for the common procedure?
Yao,
Take a look at these locations and decide which one fits best.
arch/arm/cpu/armv8/fsl-layerscape/doc/README.* doc/README.fsl-qspi (you can create this)
Hi York,
It seems arch/arm/cpu/armv8/fsl-layerscape/doc/README.* is better. I will update my patch and resend soon.
Thanks for your help.

On 10/16/2016 08:58 PM, Yao Yuan wrote:
Hi York,
It seems arch/arm/cpu/armv8/fsl-layerscape/doc/README.* is better. I will update my patch and resend soon.
Did you send the update? BTW, I think you meant "deploy QSPI image" in the subject.
York

On 11/08/2016 02:17 PM, York Sun wrote:
On 10/16/2016 08:58 PM, Yao Yuan wrote:
Hi York,
It seems arch/arm/cpu/armv8/fsl-layerscape/doc/README.* is better. I will update my patch and resend soon.
Did you send the update? BTW, I think you meant "deploy QSPI image" in the subject.
Thanks for your reminder. I will send it just now,
Thanks,
participants (3)
-
Yao Yuan
-
york sun
-
Yuan Yao