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@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. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot