Patchwork [U-Boot,1/1] board/ti/am335x/README: Document NAND programming

login
register
mail settings
Submitter Tom Rini
Date July 17, 2013, 4:24 p.m.
Message ID <1374078270-20098-2-git-send-email-trini@ti.com>
Download mbox | patch
Permalink /patch/259715/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Tom Rini - July 17, 2013, 4:24 p.m.
The AM335x GP EVM ships with NAND.  Document programming of the chip
including the redundant locations that the ROM will check.

Signed-off-by: Tom Rini <trini@ti.com>
---
 board/ti/am335x/README |   25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
Scott Wood - July 17, 2013, 9:52 p.m.
On 07/17/2013 11:24:30 AM, Tom Rini wrote:
> The AM335x GP EVM ships with NAND.  Document programming of the chip
> including the redundant locations that the ROM will check.
> 
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
>  board/ti/am335x/README |   25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/board/ti/am335x/README b/board/ti/am335x/README
> index ccc5e16..3444d7e 100644
> --- a/board/ti/am335x/README
> +++ b/board/ti/am335x/README
> @@ -13,6 +13,31 @@ documented in TI's reference designs:
>  - AM335x EVM SK
>  - Beaglebone White
>  - Beaglebone Black
> +'
> +NAND
> +====
> +
> +The AM335x GP EVM ships with a 256MiB NAND available in most  
> profiles.  In
> +this example to program the NAND we assume that an SD card has been
> +inserted with the files to write in the first SD slot and that  
> mtdparts
> +have been configured correctly for the board.  As a time saving  
> measure we
> +load MLO into memory in one location, copy it into the three  
> locatations
> +that the ROM checks for additional valid copies, then load U-Boot  
> into
> +memory.  We then write that whole section of memory to NAND.
> +
> +U-Boot # mmc rescan
> +U-Boot # env default -f -a
> +U-Boot # nand erase.chip
> +U-Boot # saveenv
> +U-Boot # load mmc 0 81000000 MLO
> +U-Boot # cp.b 81000000 81020000 20000
> +U-Boot # cp.b 81000000 81040000 20000
> +U-Boot # cp.b 81000000 81060000 20000
> +U-Boot # load mmc 0 81080000 u-boot.img
> +U-Boot # nand write 81000000 0 260000
> +U-Boot # load mmc 0 ${loadaddr} uImage
> +U-Boot # nand erase.part kernel
> +U-Boot # nand write ${loadaddr} kernel 500000

You've already done a "nand erase.chip"...  Why do you need to erase  
"kernel" again?

-Scott
Tom Rini - July 17, 2013, 10:04 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/17/2013 05:52 PM, Scott Wood wrote:
> On 07/17/2013 11:24:30 AM, Tom Rini wrote:
>> The AM335x GP EVM ships with NAND.  Document programming of the
>> chip including the redundant locations that the ROM will check.
>> 
>> Signed-off-by: Tom Rini <trini@ti.com> --- board/ti/am335x/README
>> |   25 +++++++++++++++++++++++++ 1 file changed, 25
>> insertions(+)
>> 
>> diff --git a/board/ti/am335x/README b/board/ti/am335x/README 
>> index ccc5e16..3444d7e 100644 --- a/board/ti/am335x/README +++
>> b/board/ti/am335x/README @@ -13,6 +13,31 @@ documented in TI's
>> reference designs: - AM335x EVM SK - Beaglebone White -
>> Beaglebone Black +' +NAND +==== + +The AM335x GP EVM ships with a
>> 256MiB NAND available in most profiles.  In +this example to
>> program the NAND we assume that an SD card has been +inserted
>> with the files to write in the first SD slot and that mtdparts 
>> +have been configured correctly for the board.  As a time saving 
>> measure we +load MLO into memory in one location, copy it into
>> the three locatations +that the ROM checks for additional valid
>> copies, then load U-Boot into +memory.  We then write that whole
>> section of memory to NAND. + +U-Boot # mmc rescan +U-Boot # env
>> default -f -a +U-Boot # nand erase.chip +U-Boot # saveenv +U-Boot
>> # load mmc 0 81000000 MLO +U-Boot # cp.b 81000000 81020000 20000 
>> +U-Boot # cp.b 81000000 81040000 20000 +U-Boot # cp.b 81000000
>> 81060000 20000 +U-Boot # load mmc 0 81080000 u-boot.img +U-Boot #
>> nand write 81000000 0 260000 +U-Boot # load mmc 0 ${loadaddr}
>> uImage +U-Boot # nand erase.part kernel +U-Boot # nand write
>> ${loadaddr} kernel 500000
> 
> You've already done a "nand erase.chip"...  Why do you need to
> erase "kernel" again?

No, that's just what I get for concatening my instructions too
quickly, thanks!

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJR5xT5AAoJENk4IS6UOR1Wr9sP/RtZpkzON7zC5LIqEQCfVFBj
vJCTQYB0xKaMGgYLpQ2uLy5PH4CgPuy3PTmdVrK1Ooqj2YHTmZpBH7yjTl3VTjxd
nrODm1VLQ1kd3QNC94ftOzv5vvISfV8A1HtS8WeoExAphFrcpaTnbbSfhcMpQfR6
m+fEdfpHDtzgh2dKZPqPC29XqgDkN5RtcH6jDV+ZujjyBMHuxCc1wslwJZSz2WSv
lY1GKCxHiJALZyII4nCaT7tsRGWJWWZziqFzK+XObYZzcN9XKVimqZGe2vSTM4pu
sl+Sddp7j6EzfxY6vSWRTAuRIa0uiGKHuGm+yA52qyP6FznzdtLzdr/eNEOs34Q4
ekz15q6l8F9z4witCm9msDhxbzjD6imfVylgJHiDqpc0LopQj7fNw4e6PQ3wRvjD
WWti5eGmTeMwxdlm7awBFi9RrMTSz2NnhIAHcN59CVqaobxf/MxtIGAJ8IZeqL81
T9U2U8EauR1Ba7KrJWhYH8U6zic1KChZ2GyTn21HH78Px+Vf15M+qv6RGm6im9m/
yBO2aygKQYNwEMMGyjNAI2a0cy31FuZhYl7MbpQufi7oWPDUtobBMBOQz/V7wBa9
I5QcZ7Fqcd6R9QG58ioPcIzTxzMBB0cfrKhYKMiO1lvHbSt7jIKkpnErXl7djiGp
7xh5j6JWedBDdA5xZSad
=M00E
-----END PGP SIGNATURE-----
Tom Rini - July 30, 2013, 1:28 p.m.
On Wed, Jul 17, 2013 at 12:24:30PM -0400, Tom Rini wrote:
> The AM335x GP EVM ships with NAND.  Document programming of the chip
> including the redundant locations that the ROM will check.
> 
> Signed-off-by: Tom Rini <trini@ti.com>


Applied to u-boot-ti/master with Scott's comment fixed.

Patch

diff --git a/board/ti/am335x/README b/board/ti/am335x/README
index ccc5e16..3444d7e 100644
--- a/board/ti/am335x/README
+++ b/board/ti/am335x/README
@@ -13,6 +13,31 @@  documented in TI's reference designs:
 - AM335x EVM SK
 - Beaglebone White
 - Beaglebone Black
+'
+NAND
+====
+
+The AM335x GP EVM ships with a 256MiB NAND available in most profiles.  In
+this example to program the NAND we assume that an SD card has been
+inserted with the files to write in the first SD slot and that mtdparts
+have been configured correctly for the board.  As a time saving measure we
+load MLO into memory in one location, copy it into the three locatations
+that the ROM checks for additional valid copies, then load U-Boot into
+memory.  We then write that whole section of memory to NAND.
+
+U-Boot # mmc rescan
+U-Boot # env default -f -a
+U-Boot # nand erase.chip
+U-Boot # saveenv
+U-Boot # load mmc 0 81000000 MLO
+U-Boot # cp.b 81000000 81020000 20000
+U-Boot # cp.b 81000000 81040000 20000
+U-Boot # cp.b 81000000 81060000 20000
+U-Boot # load mmc 0 81080000 u-boot.img
+U-Boot # nand write 81000000 0 260000
+U-Boot # load mmc 0 ${loadaddr} uImage
+U-Boot # nand erase.part kernel
+U-Boot # nand write ${loadaddr} kernel 500000
 
 Falcon Mode
 ===========