Beagle U-Boot v1 status

Skip to first unread message

Dirk Behme

Jun 22, 2008, 7:59:39 AM6/22/08

I'd like to summarize the status of recent Beagle U-Boot git
(currently 1.3.3);a=shortlog;h=refs/heads/test

and discuss further steps to make it upstream ready. Status:

- Steve regularly pulls from mainline, so above repository is in sync
with mainline

- We finished first cleanup, mainly checkpatch stuff (with two
exceptions, jffs2 & i2c, see below) and minor file reorganization.

- The Beagle patch against mainline is currently ~230k (without logo
and audio). To give you an impression of recent changes, I put it into

- Checkpatch is < 10k. Mainly asm/io.h, typedef, volatile and extern
warnings. And from untouched i2c and jffs2 code. While further clean
up we can check if some of these can be solved (e.g. extern and
volatile warnings) or if Linux checkpatch doesn't apply with this for
uboot (e.g. asm/io.h).

- Resulting uboot.bin is ~150k and works fine at Beagle (if compiled
with correct compiler (*)) :)

Further steps:

1) Clean up code, fix issues, remove unused parts, rewrite broken
parts etc.

2) Reorganize directory layout and file names. E.g. is cpu/omap3/
okay? Which files should go to cpu directory, which to board
directory, which to drivers? Do we have better names for directories &
files? Do we have to move file content?

3) Split the resulting patch into < 40k parts and send it to uboot
list for discussion/inclusion. And then, well, let's see ;)

Regarding (1), further code clean up:

a) In clock.c there are two parts refering to ES1.0. What to do with
this? How to remove this correctly?

b) Review clock configuration. Is this clean/okay?

c) Review pin mux. E.g.


-> I2C2 usage vs. GPIO

d) What do we really need from misc_init_r() in omap3530beagle.c? What
does the I2C stuff? What does the "*((uint *)" part?

e) Do we need secure_unlock_mem() & secureworld_exit() &
try_unlock_memory() & setup_auxcr() on OMAP3530 Beagle?

f) Clean up (rewrite?) I2C code. Nishant had a short look to it and

-> "/* have to enable intrrupts or OMAP i2c module doesn't work */
that is plain dumb.. it seem to work just fine"

-> "outw (I2C_CON_EN | I2C_CON_MST | I2C_CON_STT | I2C_CON_TRX,
I2C_CON); => no required h/w workaround on some i2c revs"

g) What's about the jffs2 code/changes? Do we need them? Why?

h) Fix "fixme" sections ;)

i) Review volatiles checkpatch complains about

j) Review externs checkpatch complains about

k) .... More? Please add.

Any help is highly appreciated!

Thanks to Steve for his work!



(*) Correct compiler: Using CSL toolchain gcc version 4.2.3 2008q1-126
results in uboot reporting "timed out in wait_for_bb: I2C_STAT=1000".
Older CSL toolchains don't have this issue.

Reply all
Reply to author
0 new messages