[U-Boot] Fixing IXP42x boards - some general questions

Marek Vasut marek.vasut at gmail.com
Thu Dec 23 11:55:01 CET 2010


On Thursday 23 December 2010 11:10:37 Wolfgang Denk wrote:
> Dear Michael Schwingen,
> 
> In message <4D13175F.8030207 at discworld.dascon.de> you wrote:
> > Startup code. Is the following correct?
> > 
> >  - code starts from flash, with TEXT_BASE = start of flash, ie. the code
> > 
> > is linked to flash addresses.
> 
> Correct.
> 
> >  - DATA/BSS are behind the text segment in flash, so the code may not
> > 
> > write RAM variables until relocation
> 
> Correct.
> 
> In addition, BSS is not initialized yet, so you should not even try
> reading variables in BSS, as these will contain random data.  This
> affects especially static variables that are supposed to be
> initialized with zero.
> 
> >  - code in flash sets up RAM, copies + relocates u-boot to RAM, and
> > 
> > continues there
> 
> Correct.
> 
> > Timer system.
> > 
> >  - For IXP, there are two variants of the timer system - one using
> > 
> > interrupts, and one without interrupts. Both do not work currently.
> > I have patches that fix the non-interrupt version, changing
> > CONFIG_SYS_HZ from 66666666 to 1000, bringing it in line with what most
> > other ARM platforms do.
> 
> I cannot nomment on this.  Marek?

http://download.intel.com/design/network/manuals/25248006.pdf page 411 or so.

What's the second variant ? Either way -- you should use the non-interrupt 
version. Remember, you're writing a bootloader, use the KISS principle ; you 
generally use the timer only to implement *delay() functions.

Therefore, as Wolfgang said, you use 1000 ticks per second in uboot's internal 
counting, but "convert" it from/to your real timer's ticks in timer.c

What problem do you have there? Also, can you please let us see the patches?
> 
> > What is the preferred way of handling timers? Should CONFIG_SYS_HZ be
> > 1000 or rather the timer clock?
> 
> CONFIG_SYS_HZ must always be defiend as 1000.
> 
> > What about interrupts? Use them or avoid them?
> 
> If you can do without interrupts, I would do that, because it's
> simpler.
> 
> > What about the Intel reference board (IXDP425)? Previously, I used that
> > one as a reference on how things should be done, but it looks broken,
> > too. I can prepare patches for IXDP425, but I can't currently test them
> > (we should have one at work, but that might take some time).
> 
> I cannot help with that either.  Marek?

Go ahead, patches are welcome. I don't have any ixp hardware, but it looks fairy 
similar to pxa, it should be easy to review patches.
> 
> Best regards,
> 
> Wolfgang Denk

Cheers


More information about the U-Boot mailing list