uboot/doc/README.nand-boot-ppc440
<<
>>
Prefs
   1-----------------------------
   2NAND boot on PPC440 platforms
   3-----------------------------
   4
   5This document describes the U-Boot NAND boot feature as it
   6is implemented for the AMCC Sequoia (PPC440EPx) board.
   7
   8The PPC440EP(x)/GR(x) cpu's can boot directly from NAND FLASH,
   9completely without NOR FLASH. This can be done by using the NAND
  10boot feature of the 440 NAND flash controller (NDFC).
  11
  12Here a short description of the different boot stages:
  13
  14a) IPL (Initial Program Loader, integrated inside CPU)
  15------------------------------------------------------
  16Will load first 4k from NAND (SPL) into cache and execute it from there.
  17
  18b) SPL (Secondary Program Loader)
  19---------------------------------
  20Will load special U-Boot version (NUB) from NAND and execute it. This SPL
  21has to fit into 4kByte. It sets up the CPU and configures the SDRAM
  22controller and the NAND controller so that the special U-Boot image can be
  23loaded from NAND to SDRAM.
  24This special image is build in the directory "nand_spl".
  25
  26c) NUB (NAND U-Boot)
  27--------------------
  28This NAND U-Boot (NUB) is a special U-Boot version which can be started
  29from RAM. Therefore it mustn't (re-)configure the SDRAM controller.
  30
  31On 440EPx the SPL is copied to internal SRAM before the NAND controller
  32is set up. While still running from cache, I experienced problems accessing
  33the NAND controller.
  34
  35
  36Example: Build and install NAND boot image for Sequoia (440EPx):
  37
  38a) Configure for sequoia with NAND boot support:
  39# make sequoia_nand_config
  40
  41b) Build image(s)
  42# make
  43
  44This will generate the SPL image in the "nand_spl" directory:
  45nand_spl/u-boot-spl.bin
  46Also another image is created spanning a whole NAND block (16kBytes):
  47nand_spl/u-boot-spl-16k.bin
  48The main NAND U-Boot image is generated in the toplevel directory:
  49u-boot.bin
  50A combined image of u-boot-spl-16k.bin and u-boot.bin is also created:
  51u-boot-nand.bin
  52
  53This image should be programmed at offset 0 in the NAND flash:
  54
  55# tftp 100000 /tftpboot/sequoia/u-boot-nand.bin
  56# nand erase 0 60000
  57# nand write 100000 0 60000
  58
  59
  60September 07 2006, Stefan Roese <sr@denx.de>
  61