[U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

Marek Vasut marex at denx.de
Fri Apr 20 18:17:25 CEST 2012


Dear Ilya Averyanov,

> 2012/4/20 Ilya Averyanov <averyanovin+uboot at gmail.com>
> 
> > 2012/4/20 Marek Vasut <marex at denx.de>
> > 
> >> Dear Ilya Averyanov,
> >> 
> >> > 2012/4/20 Marek Vasut <marex at denx.de>
> >> > 
> >> > > Dear Ilya Averyanov,
> >> > > 
> >> > > [...]
> >> > > 
> >> > > > > > > > > > .word 0x32
> >> > > > > > > > > > +    .word 0x30
> >> > > > > > > > > > +    .word 0x30
> >> > > > > > > > > 
> >> > > > > > > > > What this undocumented stuff?
> >> > > > > > > > 
> >> > > > > > > > SoC specific, I pasted it from smdk2410, it's for
> >> > > > > > > > initialize the
> >> > > > > 
> >> > > > > DRAM.
> >> > > > > 
> >> > > > > > > Can't you init DRAM in some more fitting place? Also
> >> > > > > > > document this?
> >> > > > > > 
> >> > > > > > I don't know, this part is a bit difficult for me, but I'm
> >> 
> >> going to
> >> 
> >> > > try
> >> > > 
> >> > > > > > to document it with the help of the SoC documentation.
> >> > > > > > 
> >> > > > > > For the place, should I move it to mini2440.c in
> >> 
> >> arch_cpu_init() or
> >> 
> >> > > > > > board_early_init_f() ? I don't really know the difference.
> >> > > > > 
> >> > > > > dram_init() maybe ?
> >> > > > 
> >> > > > You propose to initialize the SDRAM controller in dram_init ()?
> >> > > 
> >> > > Well yes, ain't it more fitting ?
> >> > > 
> >> > > Best regards,
> >> > > Marek Vasut
> >> > 
> >> > No. We have to two reasons why this is not the case.
> >> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> >> > cpu_init_crit
> >> > ......
> >> > line 346
> >> > 
> >> >     /*
> >> >     
> >> >      * before relocating, we have to setup RAM timing
> >> >      * because memory timing is board-dependend, you will
> >> >      * find a lowlevel_init.S in your board directory.
> >> >      */
> >> 
> >> Well don't setup run in lowlevel_init.S then ?
> >> 
> >> > 2) NAND controller must be initialized before C code run.
> >> 
> >> Why?
> >> 
> >> Best regards,
> >> Marek Vasut
> > 
> > mmm...
> > Because we need a stack.
> > The stack is in RAM.
> >
> >2) NAND controller must be initialized before C code run.
> 
> Sorry made ​​a mistake. SDRAM! Not NAND!

Which doesn't matter, either way you need stack ... and you can have the stack 
in cache ;-)

Best regards,
Marek Vasut


More information about the U-Boot mailing list