Hi Geert,
On Wed, 2017-09-20 at 14:32 +0200, Geert Uytterhoeven wrote:
> Hi Vladimir,
>
> [CC Pantelis]
>
> On Thu, Sep 14, 2017 at 4:18 PM, Vladimir Barinov
> <[email protected]> wrote:
> > Add the initial device tree for the M3ULCB with Kingfisher extension
> > infotainment board.
> >
> > Signed-off-by: Vladimir Barinov <[email protected]>
> > ---
> > Changes in version 2:
> > - added own compatible value "shimafuji,kingfisher"
>
> Reviewed-by: Geert Uytterhoeven <[email protected]>
>
> Some food for thought below...
>
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
> > @@ -0,0 +1,19 @@
> > +/*
> > + * Device Tree Source for the M3ULCB Kingfisher board
> > + *
> > + * Copyright (C) 2017 Renesas Electronics Corp.
> > + * Copyright (C) 2017 Cogent Embedded, Inc.
> > + *
> > + * This file is licensed under the terms of the GNU General Public License
> > + * version 2. This program is licensed "as is" without any warranty of any
> > + * kind, whether express or implied.
> > + */
> > +
> > +#include "r8a7796-m3ulcb.dts"
>
> Ideally, we don't include *.dts files, only *.dtsi.
> But I don't see a better immediate solution.
>
> > +#include "ulcb-kf.dtsi"
>
> As the Kingfisher is actually an expansion board for H3ULCB (with R-Car H3
> ES1.1 and ES2.0) and M3ULCB (with R-Car M3-W), turning ulcb-kf.dtsi into a
> DT overlay would make sense.
> That would also solve the issue of the 3 extra DTSes needed for all possible
> combinations of ULCB and Kingfisher (r8a7795-es1-h3ulcb-kf.dts,
> r8a7795-h3ulcb-kf.dts, r8a7796-h3ulcb-kf.dts (perhaps more to follow?)).
>
> But that's too premature, without upstream support for the easy loading of
> DT overlays.
>
Sigh, yes.
> > +/ {
> > + model = "Renesas M3ULCB Kingfisher board based on r8a7796";
> > + compatible = "shimafuji,kingfisher", "renesas,m3ulcb",
> > + "renesas,r8a7796";
> > +};
>
> And how to support from an overlay the addition of "shimafuji,kingfisher" to
> (not replacement of!) the main compatible value?
>
You can hack something in DT but it will be gross indeed.
Ideally you'd want a += operator, but it's going to take a lot of
changes starting from DTB blob format.
In yaml we could easily do this with an append tag type
compatible: [ "renesas,m3ulcb", "renesas,r8a7796" ]
compatible: !append "shimafuji,kingfisher"
Are you going to be at ELCE? I have a bunch of thing to ask you about
your DT usage patterns.
Regards
-- Pantelis
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 --
> [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like
> that.
> -- Linus Torvalds