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

Simon Glass
2012-06-09T01:53:48Z

Hi Stephen,

On Fri, Jun 8, 2012 at 3:52 PM, Stephen Warren <swarren@wwwdotorg.org>wrote:

> 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.
>

Oh dear, it's worse than I thought. Perhaps the first step would be to ask
the device-tree people to issue a new release (1.4?), if they have not
already.

Regards,
Simon