mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 19:23:07 +00:00
a73c8dbb43
Patch by Stefan Roese, 12 Sep 2006
60 lines
2 KiB
Text
60 lines
2 KiB
Text
-----------------------------
|
|
NAND boot on PPC440 platforms
|
|
-----------------------------
|
|
|
|
This document describes the U-Boot NAND boot feature as it
|
|
is implemented for the AMCC Sequoia (PPC440EPx) board.
|
|
|
|
The PPC440EP(x)/GR(x) cpu's can boot directly from NAND FLASH,
|
|
completely without NOR FLASH. This can be done by using the NAND
|
|
boot feature of the 440 NAND flash controller (NDFC).
|
|
|
|
Here a short desciption of the different boot stages:
|
|
|
|
a) IPL (Initial Program Loader, integrated inside CPU)
|
|
------------------------------------------------------
|
|
Will load first 4k from NAND (SPL) into cache and execute it from there.
|
|
|
|
b) SPL (Secondary Program Loader)
|
|
---------------------------------
|
|
Will load special U-Boot version (NUB) from NAND and execute it. This SPL
|
|
has to fit into 4kByte. It sets up the CPU and configures the SDRAM
|
|
controller and the NAND controller so that the special U-Boot image can be
|
|
loaded from NAND to SDRAM.
|
|
This special image is build in the directory "nand_spl".
|
|
|
|
c) NUB (NAND U-Boot)
|
|
--------------------
|
|
This NAND U-Boot (NUB) is a special U-Boot version which can be started
|
|
from RAM. Therefore it mustn't (re-)configure the SDRAM controller.
|
|
|
|
On 440EPx the SPL is copied to internal SRAM before the NAND controller
|
|
is set up. While still running from cache, I experienced problems accessing
|
|
the NAND controller.
|
|
|
|
|
|
Example: Build and install NAND boot image for Sequoia (440EPx):
|
|
|
|
a) Configure for sequoia with NAND boot support:
|
|
# make sequoia_nand_config
|
|
|
|
b) Build image(s)
|
|
# make
|
|
|
|
This will generate the SPL image in the "nand_spl" directory:
|
|
nand_spl/u-boot-spl.bin
|
|
Also another image is created spanning a whole NAND block (16kBytes):
|
|
nand_spl/u-boot-spl-16k.bin
|
|
The main NAND U-Boot image is generated in the toplevel directory:
|
|
u-boot.bin
|
|
A combined image of u-boot-spl-16k.bin and u-boot.bin is also created:
|
|
u-boot-nand.bin
|
|
|
|
This image should be programmed at offset 0 in the NAND flash:
|
|
|
|
# tftp 100000 /tftpboot/sequoia/u-boot-nand.bin
|
|
# nand erase 0 60000
|
|
# nand write 100000 0 60000
|
|
|
|
|
|
September 07 2006, Stefan Roese <sr@denx.de>
|