[U-Boot] pull request for u-boot-tegra/master
Stephen Warren
swarren at wwwdotorg.org
Sat Jun 9 00:36:55 CEST 2012
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 at 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.
More information about the U-Boot
mailing list