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

Michael Schwingen rincewind at discworld.dascon.de
Thu Dec 23 10:33:19 CET 2010


Hi,

I am in the process of fixing the actux-* boards, which were broken by
the introduction of ARM relocation.

However, it seems the IPX platform is broken beyond those problems
introduced by relocation support, so I have some general questions on
how things are supposed to work. I have a working set of patches for
actux-3, but I want to make sure I use the right approach before fixing
the other boards and submitting patches.

Startup code. Is the following correct?
 - code starts from flash, with TEXT_BASE = start of flash, ie. the code
is linked to flash addresses.
 - DATA/BSS are behind the text segment in flash, so the code may not
write RAM variables until relocation
 - code in flash sets up RAM, copies + relocates u-boot to RAM, and
continues there

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.
What is the preferred way of handling timers? Should CONFIG_SYS_HZ be
1000 or rather the timer clock?
What about interrupts? Use them or avoid them?

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).

cu
Michael



More information about the U-Boot mailing list