U-Boot news

To enable L2 cache, we don't want to touch the kernel. Instead, we have to modify U-Boot to do things correctly. Discussion at IRC [1] resulted in the proposal to just remove l2cache_disable() call in uboot's cleanup_before_linux() in cpu/omap3/cpu.c.

Doing this, I built some uboot versions.

a) uboot 1.1.4 ("TI uboot") from [2] (u-boot-beagle-rev2-trial2.tar.gz.gz) + u-boot_1_1_4_500mpu_166ddr_l2enable.patch (see attachment)

This works and kernel reports L2 cache is enabled :slight_smile:

Therefore I put binary into attachment.

93fcfe00d952ebcd2c8cea8ce3232946 u-boot.bin

Koen: Using this it shouldn't be necessary any more to enable L2 in kernel. Do you like to not use L2 kernel patch any more and instead use uboot to configure L2 correctly?

b) uboot git ("git uboot") + patches [3] + u-boot_git_500mpu_166ddr_l2enable.patch (see attachment)

This doesn't work:

-- cut --
U-Boot 1.3.3-rc3-00062-ga38dc3e-dirty (May 17 2008 - 07:34:07)
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz
OMAP3 Beagle Board 2.0 Version + mDDR (Boot ONND)
DRAM: 128 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
timed out in wait_for_bb: I2C_STAT=1000
timed out in wait_for_pin: I2C_STAT=1000
I2C read: I/O error
timed out in wait_for_bb: I2C_STAT=1000
Audio Tone on Speakerstimed out in wait_for_bb: I2C_STAT=1000
timed out in wait_for_pin: I2C_STAT=1000
I2C read: I/O error
timed out in wait_for_bb: I2C_STAT=1000
...
-- cut --

Any idea, what might be wrong here?

An other topic: Nishanth seems to make good progress with uboot-v2 :slight_smile:

http://nishanthmenon.blogspot.com/2008/05/uboot-v2-prompt-ahoy.html

Nishanth: Which download tool do you use for uboot peripheral boot? Serial? Or did you try USB? I think while uboot-v2 becomes working, we should sort out issues [4] 9 & 10.

And one additional: Nishanth: Would be nice if you could check to get uboot-v2 L2 config correct, i.e. don't disable L2 in uboot before jumping to kernel.

Cheers

Dirk

[1] http://www.beagleboard.org/irclogs/index.php?date=2008-05-13#T18:14:49

[2] http://code.google.com/p/beagleboard/wiki/BeagleSourceCode

[3] http://groups.google.com/group/beagleboard/msg/8a40db7ce1008029

[4] http://code.google.com/p/beagleboard/issues/list

u-boot_1_1_4_500mpu_166ddr_l2enable.patch (2.02 KB)

u-boot.bin.bz2 (145 KB)

u-boot_git_500mpu_166ddr_l2enable.patch (1.55 KB)

Dirk Behme said the following on 05/17/2008 01:16 AM:

An other topic: Nishanth seems to make good progress with uboot-v2 :slight_smile:

Nishanth' tech rambles: Uboot V2 Prompt Ahoy!!

Nishanth: Which download tool do you use for uboot peripheral boot?
Serial? Or did you try USB? I think while uboot-v2 becomes working, we
should sort out issues [4] 9 & 10.
  

Peripheral boot, well i used my perl script from windows (since I was
debugging with lauterbach).. I am in the process of getting my patches
cleaned up, adding documentation etc.. So probably will try and send the
bunch by Wednesday. I have been using SDP3430 for my testing, the same
image worked on beagle to my surprise (i am using a part of SDRAM for
heap and stack and i expected it to crash.. but it surprisingly did
not!!!) but there is tons of work to do before i can get it to flash on
the board..

And one additional: Nishanth: Would be nice if you could check to get
uboot-v2 L2 config correct, i.e. don't disable L2 in uboot before
jumping to kernel.
  

I am killing L1 I/D caches.. the usual v7 mcr/mrc instructions. The
initial code is rather simple.. but it gives us scope to build more
things into it.. i am really looking at getting the arm code in u-boot
v2 in some shape.. probably once i get flashing working..

Regards,
Nishanth Menon

I just built linux-omap git HEAD with no patches (everything in my
queue is upstream now!) together with your 1.1.4 u-boot, and things
seem to be working. I do cheat a little by using an USB soundcard :slight_smile:

regards,

Koen

koen wrote:

My .config enables a lot of usb, bluetooth and wifi drivers, is that
suitable for the defconfig?

regards,

Koen

koen wrote:

koen wrote:

To enable L2 cache, we don't want to touch the kernel. Instead, we
have to modify U-Boot to do things correctly.

Koen: Using this it shouldn't be necessary any more to enable L2 in
kernel. Do you like to not use L2 kernel patch any more and instead
use uboot to configure L2 correctly?

I just built linux-omap git HEAD with no patches (everything in my
queue is upstream now!) together with your 1.1.4 u-boot, and things
seem to be working.

Great!

Do you have an up to date kernel .config for this? We should send a
patch to OMAP list to update omap3_beagle_defconfig as well.

My .config enables a lot of usb, bluetooth and wifi drivers, is that
suitable for the defconfig?

If you confirmed that they all work: Yes.

I think a rule of thumb for a defconfig is "enable everything what is known to work (so that a defconfig user will get the best we have automagically), but be sure that it works". If you add a new feature (you did :wink: ), then you should enable it in defconfig as well. But it should be sure that the defconfig for Beagle coming with git really works.

Normally, first thing a new user will try is defconfig, and this really shouldn't be broken if we want people to be happy with their first Beagle steps. If you are unsure, configure everything unsureas a module. A broken module might be acceptable by a new user, but a non working kernel not.

Dirk