
On 11/25/2013 03:00 AM, Andrzej Telszewski wrote:
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:
...
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?
I would suggest flashing with an OSS flashing utility. See:
https://github.com/NVIDIA/tegra-uboot-flasher-scripts/blob/master/README-dev...
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?
See https://github.com/NVIDIA/tegra-uboot-scripts
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.
You're probably not passing a device tree to the kernel. A device tree is now required on all Tegra boards in the upstream kernel.
You may get more information out if you enable DEBUG_LL and add "earlyprintk" to the kernel command-line. When enabling DEBUG_LL, you'll need to tell the kernel which UART to use for the DEBUG_LL output. You can either hard-code this to the correct UART, or select an "AUTO_ODMATA" option, which will obtain the UART ID at run-time from the ODMDATA value, in which case you'll need to encode the correct UART ID into ODMDATA, which I guess value 0x100c0000 must do, since that gets you the early output you mentioned above.