[U-Boot] [PATCH v5 5/5] docs: README.sunxi: Move nand documentation
Jagan Teki
jagan at amarulasolutions.com
Wed Dec 13 05:59:45 UTC 2017
Move documentation of README.nand from board files
into docs/README.sunxi
Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
---
Changes for v3:
- New patch
board/sunxi/README.nand | 54 --------------------------------------------
doc/README.sunxi | 60 +++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 56 deletions(-)
delete mode 100644 board/sunxi/README.nand
diff --git a/board/sunxi/README.nand b/board/sunxi/README.nand
deleted file mode 100644
index a5d4ff0..0000000
--- a/board/sunxi/README.nand
+++ /dev/null
@@ -1,54 +0,0 @@
-Allwinner NAND flashing
-=======================
-
-A lot of Allwinner devices, especially the older ones (pre-H3 era),
-comes with a NAND. NANDs storages are a pretty weak choice when it
-comes to the reliability, and it comes with a number of flaws like
-read and write disturbs, data retention issues, bloks becoming
-unusable, etc.
-
-In order to mitigate that, various strategies have been found to be
-able to recover from those issues like ECC, hardware randomization,
-and of course, redundancy for the critical parts.
-
-This is obviously something that we will take into account when
-creating our images. However, the BROM will use a quite weird pattern
-when accessing the NAND, and will access only at most 4kB per page,
-which means that we also have to split that binary accross several
-pages.
-
-In order to accomodate that, we create a tool that will generate an
-SPL image that is ready to be programmed directly embedding the ECCs,
-randomized, and with the necessary bits needed to reduce the number of
-bitflips. The U-Boot build system, when configured for the NAND will
-also generate the image sunxi-spl-with-ecc.bin that will have been
-generated by that tool.
-
-In order to flash your U-Boot image onto a board, assuming that the
-board is in FEL mode, you'll need the sunxi-tools that you can find at
-this repository: https://github.com/linux-sunxi/sunxi-tools
-
-Then, you'll need to first load an SPL to initialise the RAM:
-sunxi-fel spl spl/sunxi-spl.bin
-
-Load the binaries we'll flash into RAM:
-sunxi-fel write 0x4a000000 u-boot-dtb.bin
-sunxi-fel write 0x43000000 spl/sunxi-spl-with-ecc.bin
-
-And execute U-Boot
-sunxi-fel exe 0x4a000000
-
-On your board, you'll now have all the needed binaries into RAM, so
-you only need to erase the NAND...
-
-nand erase.chip
-
-Then write the SPL and its backup:
-
-nand write.raw.noverify 0x43000000 0 40
-nand write.raw.noverify 0x43000000 0x400000 40
-
-And finally write the U-Boot binary:
-nand write 0x4a000000 0x800000 0xc0000
-
-You can now reboot and enjoy your NAND.
\ No newline at end of file
diff --git a/doc/README.sunxi b/doc/README.sunxi
index 48f82cb..c682606 100644
--- a/doc/README.sunxi
+++ b/doc/README.sunxi
@@ -10,7 +10,8 @@ U-Boot on SunXi
Tutorial describe all details relevant for U-Boot on Allwinner SunXi platform.
1. Allwinner 64-bit boards
- 2. Verified Boot
+ 2. Allwinner NAND flashing
+ 3. Verified Boot
1. Allwinner 64-bit boards
==========================
@@ -172,7 +173,62 @@ Then write this image to a microSD card, replacing /dev/sdx with the right
device file (see above):
$ dd if=firmware.img of=/dev/sdx bs=8k seek=1
-2. Verified Boot
+2. Allwinner NAND flashing
+==========================
+
+A lot of Allwinner devices, especially the older ones (pre-H3 era),
+comes with a NAND. NANDs storages are a pretty weak choice when it
+comes to the reliability, and it comes with a number of flaws like
+read and write disturbs, data retention issues, bloks becoming
+unusable, etc.
+
+In order to mitigate that, various strategies have been found to be
+able to recover from those issues like ECC, hardware randomization,
+and of course, redundancy for the critical parts.
+
+This is obviously something that we will take into account when
+creating our images. However, the BROM will use a quite weird pattern
+when accessing the NAND, and will access only at most 4kB per page,
+which means that we also have to split that binary accross several
+pages.
+
+In order to accomodate that, we create a tool that will generate an
+SPL image that is ready to be programmed directly embedding the ECCs,
+randomized, and with the necessary bits needed to reduce the number of
+bitflips. The U-Boot build system, when configured for the NAND will
+also generate the image sunxi-spl-with-ecc.bin that will have been
+generated by that tool.
+
+In order to flash your U-Boot image onto a board, assuming that the
+board is in FEL mode, you'll need the sunxi-tools that you can find at
+this repository: https://github.com/linux-sunxi/sunxi-tools
+
+Then, you'll need to first load an SPL to initialise the RAM:
+sunxi-fel spl spl/sunxi-spl.bin
+
+Load the binaries we'll flash into RAM:
+sunxi-fel write 0x4a000000 u-boot-dtb.bin
+sunxi-fel write 0x43000000 spl/sunxi-spl-with-ecc.bin
+
+And execute U-Boot
+sunxi-fel exe 0x4a000000
+
+On your board, you'll now have all the needed binaries into RAM, so
+you only need to erase the NAND...
+
+nand erase.chip
+
+Then write the SPL and its backup:
+
+nand write.raw.noverify 0x43000000 0 40
+nand write.raw.noverify 0x43000000 0x400000 40
+
+And finally write the U-Boot binary:
+nand write 0x4a000000 0x800000 0xc0000
+
+You can now reboot and enjoy your NAND.
+
+3. Verified Boot
================
U-Boot supports an image verification method called "Verified Boot".
--
2.7.4
More information about the U-Boot
mailing list