[U-Boot-Users] U-Boot booting from NAND
Kenneth Johansson
kenneth at southpole.se
Fri Jun 13 15:47:05 CEST 2008
On Fri, 2008-06-13 at 10:24 -0300, Alan Carvalho de Assis wrote:
> Hi,
> I am trying to port U-Boot to MX31PDK board, but I getting a problem
> related to lowlevel initialization to boot from NAND flash memory.
>
> The problem is because cpu/arm1136/start.S waste so much space with
> IRQ/FIQ handling and stack initialization then lowlevel_init function
> is placed at 0x400 position. As the NAND controller from i.MX31 copy
> just 2KB to NANDFC internal buffer and lowlevel_init has about 0x6b0
> bytes then the final position is after 0x800 (2KB) then the SDRAM
> initialization routine and NAND block copy to SDRAM doesn't work.
>
> Comparing with RedBoot I verified it place the lowlevel routines at
> 0x120 position then it fit in 2KB and all works fine.
>
> I need help to modify cpu/arm1136/start.S and place the lowlevel_init
> at 0x120 position instead 0x400. I am not ARM assembly expert then any
> help is welcome.
>
I ditched the entire reuse thing when I implemented nand boot for a
5121e platform. 2k was to little space to try to force in the generic
files. just make a new start.S that do only the things it needs to.
basically it only sets up the stack pointer to the internal SRAM. then
the C code relocates the code from the nand controllers internal 2k into
internal SRAM. sets up the memory controller , then reads out u-boot
into dram and jumps to _start.
More information about the U-Boot
mailing list