Skip to content
  • Mingkai Hu's avatar
    NAND boot: MPC8536DS support · 9a1a0aed
    Mingkai Hu authored
    
    
    MPC8536E can support booting from NAND flash which uses the
    image u-boot-nand.bin. This image contains two parts: a 4K
    NAND loader and a main U-Boot image. The former is appended
    to the latter to produce u-boot-nand.bin. The 4K NAND loader
    includes the corresponding nand_spl directory, along with the
    code twisted by CONFIG_NAND_SPL. The main U-Boot image just
    like a general U-Boot image except the parts that included by
    CONFIG_SYS_RAMBOOT.
    
    When power on, eLBC will automatically load from bank 0 the
    4K NAND loader into the FCM buffer RAM where CPU can execute
    the boot code directly. In the first stage, the NAND loader
    copies itself to RAM or L2SRAM to free up the FCM buffer RAM,
    then loads the main image from NAND flash to RAM or L2SRAM
    and boot from it.
    
    This patch implements the NAND loader to load the main image
    into L2SRAM, so the main image can configure the RAM by using
    SPD EEPROM. In the first stage, the NAND loader copies itself
    to the second to last 4K address space, and uses the last 4K
    address space as the initial RAM for stack.
    
    Obviously, the size of L2SRAM shouldn't be less than the size
    of the image used. If so, the workaround is to generate another
    image that includes the code to configure the RAM by SPD and
    load it to L2SRAM first, then relocate the main image to RAM
    to boot up.
    
    Signed-off-by: default avatarMingkai Hu <Mingkai.hu@freescale.com>
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    9a1a0aed