From: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
Magnus Damm <magnus.damm@gmail.com>,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Rob Herring <robh+dt@kernel.org>,
dri-devel@lists.freedesktop.org,
linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] arm64: dts: renesas: r8a77961: Add lvds0 device node
Date: Thu, 30 Dec 2021 08:30:43 +0300 [thread overview]
Message-ID: <123e3993-cb71-b6dc-e4f4-4cad1eb51b00@cogentembedded.com> (raw)
In-Reply-To: <Ycze8wzD3Qi8YVAa@pendragon.ideasonboard.com>
>> I'd prefer to make each DT fragment to use only either entities defined in that fragment itself, or
>> defined "interface entities" between this and "neighbor" DT fragment.
>>
>> Such as:
>> - SoC's DT fragment defines a named port/endpoint to export video stream at
>> - board's DT fragment defines a named panel node corresponding to panel plugged into board's physical
>> connector, and connects endpoints with SoC's video export,
>> - panel's DT fragment extends the panel node from board with video mode information for this particular
>> panel.
>> ...
>
> I agree it's annoying, but we'll have a similar problem, just the other
> way around, with an endpoint defined in the SoC dtsi. Many R-Car SoCs
> have two LVDS encoders, and you can attach a panel to either of them.
> Some boards use LVDS0, some boards use LVDS1, and some boards could even
> use both.
The case of "some boards use LVDS0, some boards use LVDS1" is directly addressed by what I'm trying to
suggest. The per-board DT fragment can completely hide board's connection details, without a need for
any new concept.
The case of "some boards could even use both" indeed needs a some way to parametrize panel's DT
fragment, and perhaps load two instances of it with different parameters. To some extent this is doable
via preprocessor magic and multiple includes, although this approach has obvious disadvantages.
> A real solution for this problem will require a new concept. The "DT
> connector" proposal is related to this problem space. There's also a
> proprietary implementation in the Rapsberry Pi boot loader of a
> mechanism to support parametrized overlays ([2] and [3], or [4] for an
> example of how a panel reset or backlight GPIO can be parametrized).
So the problem is already recognized for years... what stops from wider adoption of this or similar
solutions?
And - if/while that is not being done - can't we at least try to follow more portable DT coding pattern
while staying within existing concepts?
Nikita
next prev parent reply other threads:[~2021-12-30 5:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-24 5:23 [PATCH 0/3] add R-Car M3-W+ (r8a99761) LVDS encoder support Nikita Yushchenko
2021-12-24 5:23 ` [PATCH 1/3] drm: rcar-du: lvds: Add r8a77961 support Nikita Yushchenko
2021-12-29 16:53 ` Laurent Pinchart
2021-12-24 5:23 ` [PATCH 2/3] arm64: dts: renesas: r8a77961: Add lvds0 device node Nikita Yushchenko
2021-12-29 16:56 ` Laurent Pinchart
2021-12-29 17:04 ` Nikita Yushchenko
2021-12-29 17:13 ` Laurent Pinchart
2021-12-29 17:19 ` Nikita Yushchenko
2021-12-29 19:33 ` Laurent Pinchart
2021-12-29 21:12 ` Nikita Yushchenko
2021-12-29 22:19 ` Laurent Pinchart
2021-12-30 5:30 ` Nikita Yushchenko [this message]
2021-12-30 17:11 ` Laurent Pinchart
2022-01-12 21:10 ` Nikita Yushchenko
2022-01-13 9:01 ` Geert Uytterhoeven
2022-01-10 8:43 ` Geert Uytterhoeven
2022-01-10 8:51 ` Laurent Pinchart
2022-01-10 8:52 ` Geert Uytterhoeven
2022-01-10 9:51 ` Nikita Yushchenko
2022-01-10 9:55 ` Geert Uytterhoeven
2021-12-24 5:23 ` [PATCH 3/3] dt-bindings: display: bridge: renesas,lvds: Document r8a77961 bindings Nikita Yushchenko
2021-12-29 16:46 ` Laurent Pinchart
2022-03-02 17:00 ` Geert Uytterhoeven
2022-03-03 9:14 ` Laurent Pinchart
2022-03-04 12:20 ` Laurent Pinchart
2022-01-04 20:19 ` Rob Herring
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=123e3993-cb71-b6dc-e4f4-4cad1eb51b00@cogentembedded.com \
--to=nikita.yoush@cogentembedded.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert+renesas@glider.be \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=robh+dt@kernel.org \
/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
all inboxes | Powered by JetHome®