/usr/ports -r444615 (e.g.) & head -r320458 (e.g.): sysutils/u-boot-pine64 build fails for arch/arm/dts/pine64_plus.dtb source handling error (gic in a64.dtsi)

Emmanuel Vadot manu at bidouilliste.com
Thu Jun 29 07:48:29 UTC 2017


 Hello Mark,

On Wed, 28 Jun 2017 20:52:17 -0700
Mark Millard <markmi at dsl-only.net> wrote:

> On 2017-Jun-28, at 7:44 PM, Mark Millard <markmi at dsl-only.net> wrote:
> 
> > Is the below a BSDL vs. GPL DTS issue?
> > 
> > In my attempt to build sysutils/u-boot-pine64 I got:
> > 
> >  OBJCOPY u-boot.srec
> >  OBJCOPY u-boot-nodtb.bin
> > start=$(aarch64-none-elf-nm u-boot | grep __rel_dyn_start | cut -f 1 -d ' '); end=$(aarch64-none-elf-nm u-boot | grep __rel_dyn_end | cut -f 1 -d ' '); tools/relocate-rela u-boot-nodtb.bin 0x4a000000 $start $end
> >  SYM     u-boot.sym
> >  DTC     arch/arm/dts/pine64_plus.dtb
> > Error at arch/arm/dts/.pine64_plus.dtb.dts.tmp:533:27: Expected unit address
> > gic: interrupt-controller@{
> >                           ^
> > Error at arch/arm/dts/.pine64_plus.dtb.dts.tmp:533:27: Failed to find root node /.
> > gic: interrupt-controller@{
> >                           ^
> > Failed to parse tree.
> > gmake[3]: *** [scripts/Makefile.lib:299: arch/arm/dts/pine64_plus.dtb] Error 1
> > gmake[2]: *** [dts/Makefile:36: arch-dtbs] Error 2
> > gmake[1]: *** [Makefile:821: dts/dt.dtb] Error 2
> > gmake[1]: *** Waiting for unfinished jobs....
> > gmake[1]: Leaving directory '/usr/obj/portswork/usr/ports/sysutils/u-boot-pine64/work/u-boot-2016.05'
> > 
> > 
> > 
> > Looking at the gic part of the source. . .
> > 
> > # more /usr/obj/portswork/usr/ports/sysutils/u-boot-pine64/work/u-boot-2016.05/arch/arm/dts/a64.dtsi
> > . . .
> >        gic: interrupt-controller@{
> >                compatible = "arm,gic-400";
> >                interrupt-controller;
> >                #interrupt-cells = <3>;
> >                #address-cells = <0>;
> > 
> >                reg = <0x01C81000 0x1000>,
> >                      <0x01C82000 0x2000>,
> >                      <0x01C84000 0x2000>,
> >                      <0x01C86000 0x2000>;
> >                interrupts = <GIC_PPI 9
> >                      (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
> >        };
> > 

 Yes the node is wrong but if gpl dtc can handle that maybe we should
to, I'll try to find time to fix that.

> > 
> > I'll be trying 3 other u-boot-*'s so I may have more to
> > report later.
> 
> The other 3 that I tried worked fine:
> 
> 	Installation of sysutils/u-boot-rpi2 (u-boot-rpi2-2015.04)
> 	Installation of sysutils/u-boot-rpi3 (u-boot-rpi3-2017.01)
> 	Installation of sysutils/u-boot-sinovoip-bpi-m3 (u-boot-sinovoip-bpi-m3-2016.05)
> 
> So this may be unique to a64.dtsi and its lack of
> hexadecimal digits after the "@" in what I quoted.
> 
> Still, sysutils/u-boot-pine64 used to build. So it may
> be a BSDL vs. GPL DTS issue as far as the handling of
> the notation goes.
> 
> ===
> Mark Millard
> markmi at dsl-only.net

 I also a patch waiting for comment on the u-boot mailing list
that add the possibility to specify which dtc to use, this will be
needed for the next u-boot for arm64 board as it uses 'incbin'
directive which bsd dtc doesn't support yet (David is looking into it).

 Anyway, new u-boot should be out around july 10th so I'll update the
port right after.

 Thanks for reporting.

-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the freebsd-ports mailing list