[U-Boot] pull request for u-boot-tegra/master

Stephen Warren swarren at wwwdotorg.org
Sat Jun 9 00:52:26 CEST 2012


On 06/08/2012 04:36 PM, Stephen Warren wrote:
> 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 /?

Uggh. The problem is that older versions of dtc would only accept a
single definition of the root node; they don't allow another copy to be
specified, which "overlays" or is "merged with" it. Put another way, dtc
can't compile a simple:

> /dts-v1/;
> 
> / {
>     foo = "bar";
> };
> 
> / {
>     foo = "bar";
> };

That means we can't separate the device tree source into separate
skeleton.dtsi, tegra20.dtsi, and tegra2-$board.dts.

So, we have basically no choice but to require people to upgrade to a
recent dtc. If we do that, we can also get rid of the cpp hacks, since
the latest dtc has a -i option that can be used to set an include path.


More information about the U-Boot mailing list