
Hi Andrzej,
Am 2013-11-25 11:00, schrieb Andrzej Telszewski:
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?
Well, if it works, its not too bad :-).
However, the upstream BCT has the console set to UART too: http://nv-tegra.nvidia.com/gitweb/?p=tools/tegra-cbootimage-configs.git;a=bl...
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?
Yes there are not a lot defaults, you need to configure it by yourself. Especially nvflash uses its own partition layout which is not support by U-Boot directly. You need to set a matching partition layout using mtdparts yourself too. The U-Boot environment is at 2 MB, which is in the BCT configuration table downstream, you might want to alter that too if you plan to use nvflash.
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:
This are the odmdata which are set upstream. It looks like the kernel correctly uses them, since you get console output.
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.
The upstream kernel uses device tree, so you need to load the device tree binary too. Use
$ make dtbs
to compile them, you can find the dtb in the folder arch/arm/boot/dts/tegra20-iris-512.dtb. You need to load them too (from the U-Boot command prompt):
usb start setenv ipaddr 192.168.10.90 setenv serverip 192.168.10.3 setenv bootfile uImage tftp ${kernel_addr_r}
setenv bootfile tegra20-iris-512.dtb tftp ${fdt_addr_r}
setenv bootargs "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rw rootdelay=5 ${mtdparts}" bootm ${kernel_addr_r} - ${fdt_addr_r}
Just verified 3.12 on my setup, it works but I had to alter the sm2_reg microvoltage to 3800000 in the device tree file.
-- Stefan