From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Rob Herring <robh@kernel.org>
Cc: Magnus Damm <magnus.damm@gmail.com>,
Frank Rowand <frowand.list@gmail.com>,
Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>
Subject: Re: [PATCH RFC] dt-bindings: arm: renesas: Document Renesas Falcon sub-boards
Date: Tue, 9 Mar 2021 09:08:41 +0100 [thread overview]
Message-ID: <CAMuHMdVf=VQJacSgMy1fcYx4yn=kNYxTWiZP5G4UVEVPYhvgCQ@mail.gmail.com> (raw)
In-Reply-To: <20210308221636.GA3031492@robh.at.kernel.org>
Hi Rob,
On Mon, Mar 8, 2021 at 11:16 PM Rob Herring <robh@kernel.org> wrote:
> On Fri, Mar 05, 2021 at 02:37:03PM +0100, Geert Uytterhoeven wrote:
> > Add device tree bindings documentation for the Renesas R-Car V3U Falcon
> > CSI/DSI and Ethernet sub-boards. These are plugged into the Falcon
> > BreakOut board to form the full Falcon board stack.
> >
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > Marked as RFC
> >
> > The Falcon board stack consists of 4 boards:
> > 1. CPU board, containing the R-Car V3U SoC, and core system parts like
> > RAM, console, eMMC,
> > 2. BreakOut board, providing power, an Ethernet PHY, and a backplane
> > where boards 1, 3, and 4 are plugged in,
> > 3. CSI/DSI sub-board, providing 2 GMSL displays and 12 GMSL cameras,
> > 4. Ethernet sub-board, providing 6 Ethernet PHYs.
> >
> > As the BreakOut board provides power, the CPU board cannot be used
> > without the BreakOut board. However, both the CSI/DSI and Ethernet
> > sub-boards are optional. So that means we have to support 4 stacks of
> > board combinations (1+2, 1+2+3, 1+2+4, 1+2+3+4).
> >
> > That sounds like a good target for fdtoverlay, right?
> >
> > For now[1] the Falcon include hierarchy looks like this (supporting only
> > the full stack 1+2+3+4):
> >
> > r8a779a0-falcon.dts
> > |-- r8a779a0-falcon-cpu.dtsi
> > | `-- r8a779a0.dtsi
> > |-- r8a779a0-falcon-csi-dsi.dtsi
> > `-- r8a779a0-falcon-ethernet.dtsi
> >
> > Traditionally, we augmented the "model" and "compatible" properties of
> > the root node in each additional layer:
> >
> > r8a779a0.dtsi:
> > compatible = "renesas,r8a779a0";
> >
> > r8a779a0-falcon-cpu.dtsi:
> > model = "Renesas Falcon CPU board";
> > compatible = "renesas,falcon-cpu", "renesas,r8a779a0";
> >
> > r8a779a0-falcon.dts:
> > model = "Renesas Falcon CPU and Breakout boards based on r8a779a0";
> > compatible = "renesas,falcon-breakout", "renesas,falcon-cpu", "renesas,r8a779a0";
> >
> > (Note: I haven't done that yet for the CSI/DSI and Ethernet sub-boards)
> >
> > With a stack of 4 boards, some optional, this becomes a bit cumbersome.
> > But it is still doable when using .dts and .dtsi files, by just adding 3
> > more r8a779a0-falcon*.dts files.
> >
> > So we can add model/compatible properties to the sub-boards:
> >
> > r8a779a0-falcon-csi-dsi.dtsi
> > model = "Renesas Falcon CSI/DSI sub-board";
> > compatible = "renesas,falcon-csi-dsi";
> >
> > r8a779a0-falcon-ethernet.dtsi:
> > model = "Renesas Falcon Ethernet sub-board";
> > compatible = "renesas,falcon-ethernet";
> >
> > and update r8a779a0-falcon*dts to augment the properties.
> >
> > However, this is currently not possible when using overlays, as applying
> > an overlay would override the properties in the underlying DTB, not
> > augment them.
> >
> > Questions:
> > a. Should we document all possible combinations in the bindings file?
> > After this patch, we only have 1, 1+2, and 1+2+3+4 documented.
> >
> > b. How to handle "model" and "compatible" properties for (sub)boards?
> > Perhaps fdtoverlay could combine the "model" and "compatible"
> > properties in the root nodes? However, that is not always desired.
>
> I think we just don't want to put sub-board compatibles in the root
> compatible at least if they are optional, peripheral components like
> this case seems to be. For something like a SoM plus baseboard I tend to
> feel differently.
OK, makes sense.
> Do you really need it? I'd assume you could just check for the
Just being cautious. We once (actually 5 times) needed a quirk for
boards with regulators keeping shared IRQS asserted[1]. Something
like that might happen with an expansion board, too.
> components? Or we define connectors and under the connector we define a
> top level compatible for the sub-board. This sounds like an eval or
> validation board? Those tend to have every possible option and I'm not
> sure we want to solve that before solving the simple cases.
Let's do without for now. We can still check for main board compatible
value + components when needed.
Thanks!
[1] arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
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
prev parent reply other threads:[~2021-03-09 8:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-05 13:37 [PATCH RFC] dt-bindings: arm: renesas: Document Renesas Falcon sub-boards Geert Uytterhoeven
2021-03-05 14:12 ` Kieran Bingham
2021-03-08 22:16 ` Rob Herring
2021-03-09 8:08 ` Geert Uytterhoeven [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMuHMdVf=VQJacSgMy1fcYx4yn=kNYxTWiZP5G4UVEVPYhvgCQ@mail.gmail.com' \
--to=geert@linux-m68k.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=pantelis.antoniou@konsulko.com \
--cc=robh@kernel.org \
--cc=viresh.kumar@linaro.org \
--cc=wsa+renesas@sang-engineering.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).