[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 21:11:18 CEST 2012


Dear Ilya Averyanov,

> 2012/4/20 Marek Vasut <marex at denx.de>
> 
> > 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
> 
> Why do you insist on sdram initialization code in C?

That's how the init sequence was designed.

> If you simply do as done in the other boards on this architecture?

Other boards on arm architecture do init DRAM in proper place.

Best regards,
Marek Vasut


More information about the U-Boot mailing list