[U-Boot] Getting U-Boot running on Toradex Colibri T20 on Iris board

Andrzej Telszewski atelszewski at versades.com
Mon Nov 25 11:00:55 CET 2013


On 09/26/2013 10:42 PM, Stefan Agner wrote:
> Am 2013-08-07 10:15, schrieb Andrzej Telszewski:
>> Hi,
>>
>> I'm trying to get the U-Boot running on the Iris board with the
>> Toradex Colibri T20 module. I was able to flash the U-Boot and it
>> starts but then immediately stops with the only message being:
>>
>> U-Boot 2013.07 (Aug 06 2013 - 17:47:43)
>>
>> TEGRA20
>> Board: Toradex Colibri T20 on Iris
>> DRAM:
>>
>>
>> The Colibri T20 board used is:
>> 256MB RAM
>> V1.2A
>>
>> Could you please give me any idea what I might be doing wrong?
> Latest U-Boot worked on my Setup (Colibri T20 on the Evaluation Board).
> Although, I use the 512MiB variant:
>
> TEGRA20
> Board: Toradex Colibri T20 on Iris
> DRAM:  512 MiB
>
> So it must be DRAM related. RAM will be initialized according to ODM
> data, see query_sdram_size in ./arch/arm/cpu/tegra-common/board.c. How
> do you flash u-boot? Using tegrarcm or nvflash? Can you verify your ODM
> data?

Hi Stefan,

You are correct, the problem with the U-Boot not starting was the value 
of the odmdata.

I was flashing the chip with the following:
# nvflash --bct colibri-t20-256-1.2-nand.bct --setbct --configfile 
nand.cfg --odmdata 0x1 --create --bl loader.nb0 --go

and when I changed it to:
# nvflash --bct colibri-t20-256-1.2-nand.bct --setbct --configfile 
nand.cfg --odmdata 0x10000000 --create --bl loader.nb0 --go

the U-Boot has started correctly.

BTW, can you confirm that the nvflash command line switches I'm using 
are correct and also that the new odmdata value (0x10000000) is a 
correct one?


My next issue is with booting the kernel, so I appreciate if you can 
also help me with it. I noticed that the U-Boot (version 2013.10) 
environment for the T20/Iris is quite bare and it looks for the boot 
scripts (e.g. boot.scr.uimg or boot.scr), which I presume sets up the 
whole environment before the actual booting. Do you know if I can find 
the scripts somewhere or do I need to write them myself?

Nonetheless, I have tried to boot the kernel with the bare environment, 
but had no bigger luck. I have compiled the kernel version 3.12.1 with 
the "tegra_defconfig" and LOADADDR equal to 0x00008000. I used the tftp 
to transfer the kernel image to the board and tried to boot it, but the 
only thing I get is the "Starting kernel ...". I believe the kernel 
might be booting, but does not give any feedback on the console and what 
is more, immediately after the boot command, the ethernet seems to be 
disabled, because the LEDs on the connector are switched off.

The reason I think the kernel boots to some stage is that, if I change 
the odmdata to 0x100C0000, I got the message:
Error: unrecognized/unsupported machine ID (r1 = 0x00000000).

Available machine support:

ID (hex)        NAME
ffffffff        Generic DT based system
ffffffff        NVIDIA Tegra SoC (Flattened Device Tree)

Please check your kernel config and/or bootloader.

So I guess the kernel is actually doing at least some initial tasks.

Any help appreciated!

-- 
Best regards,
Andrzej Telszewski
Embedded Systems Developer
Versa Design S.L.
phone: +34 633 535 308
e-mail: atelszewski at versades.com


More information about the U-Boot mailing list