
On 06/08/2012 04:00 PM, Stephen Warren wrote:
On 06/08/2012 03:44 PM, Albert ARIBAUD wrote:
Hi Tom,
Le 31/05/2012 18:47, Tom Warren a écrit :
Albert,
Please pull u-boot-tegra/master into ARM master. Thanks!
The following changes since commit 2ca4a209a5b961ad1be8782c68dabe326d77dfaf: SRICHARAN R (1): OMAP4/5: Change omap4_sdp, omap4_panda, omap5_evm maintainer
are available in the git repository at:
git://git.denx.de/u-boot-tegra master
Trying trimslice with the stock Linaro toolchain from Xubuntu:
uboot@lilith:~/src/u-boot-arm$ LC_ALL=C ./MAKEALL trimslice Configuring for trimslice board... text data bss dec hex filename 234794 4716 276460 515970 7df82 ./u-boot /bin/sh: line 1: exit: too many arguments make[1]: *** [dt.dtb] Error 1 make: *** [u-boot.dtb] Error 2
Are there special needs for building trimslice?
There should be nothing special about TrimSlice vs. any other Tegra board.
This is somehow related to the dtc (device tree compiler) version that's picked up by the build process. I can reproduce it by placing Ubuntu Lucid's dtc in my PATH, but not with another version of dtc I had in my path (require to build our downstream U-Boot device trees).
I'll investigate, unless anyone else wants to.
In order to see the real problem with dtc, you will need:
http://lists.denx.de/pipermail/u-boot/2012-June/125967.html
The problem is as follows:
/home/swarren/shared/git_wa/u-boot/arch/arm/dts/tegra20.dtsi:3 syntax error FATAL ERROR: Couldn't read input tree make[1]: *** [dt.dtb] Error 1
This is because tegra-trimslice.dts contains:
/include/ ARCH_CPU_DTS
which is run through cpp to substitute the correct absolute path:
/include/ "/home/swarren/shared/git_wa/u-boot/arch/arm/dts/tegra20.dtsi"
However, some versions of dtc appear to have a problem parsing this path; perhaps it's the leading /?
So, the quick solution here is to upgrade your dtc to a version which isn't broken.
However, the whole reason this complicated cpp mess is being used in the first place is because older versions of dtc had no -I (include path) directive, and the tegra20.dtsi file is in a different directory to tegra-trimslice.dts. Two solutions were possible:
a) Force everyone to use a newer dtc. Wolfgang rejected this.
b) Do the cpp hack. U-Boot went with this option.
c) Check a copy of dtc (source) into the U-boot source. The kernel went with this option.
Evidently (b) causes problems with some older versions of dtc too, so isn't a complete solution:-(
Perhaps the solution is to remove this cpp hack, and check in a symlink in each directory containing *.dts that need to include others. That way, we could get rid of the absolute paths that some versions of dtc doesn't appear to like. I will give that a shot.