[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqKMULJJ9CERRBpqd7Y2dtovEJ6jcDKy6J4yR6rAdjibUg@mail.gmail.com>
Date: Mon, 1 Jul 2019 08:03:20 -0600
From: Rob Herring <robh+dt@...nel.org>
To: Rob Clark <robdclark@...il.com>
Cc: dri-devel <dri-devel@...ts.freedesktop.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
freedreno <freedreno@...ts.freedesktop.org>,
aarch64-laptops@...ts.linaro.org,
Rob Clark <robdclark@...omium.org>,
Mark Rutland <mark.rutland@....com>,
devicetree@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/4] dt-bindings: chosen: document panel-id binding
On Sun, Jun 30, 2019 at 2:36 PM Rob Clark <robdclark@...il.com> wrote:
>
> From: Rob Clark <robdclark@...omium.org>
>
> The panel-id property in chosen can be used to communicate which panel,
> of multiple possibilities, is installed.
>
> Signed-off-by: Rob Clark <robdclark@...omium.org>
> ---
> Documentation/devicetree/bindings/chosen.txt | 69 ++++++++++++++++++++
> 1 file changed, 69 insertions(+)
I need to update this file to say it's moved to the schema repository...
But I don't think that will matter...
> diff --git a/Documentation/devicetree/bindings/chosen.txt b/Documentation/devicetree/bindings/chosen.txt
> index 45e79172a646..d502e6489b8b 100644
> --- a/Documentation/devicetree/bindings/chosen.txt
> +++ b/Documentation/devicetree/bindings/chosen.txt
> @@ -68,6 +68,75 @@ on PowerPC "stdout" if "stdout-path" is not found. However, the
> "linux,stdout-path" and "stdout" properties are deprecated. New platforms
> should only use the "stdout-path" property.
>
> +panel-id
> +--------
> +
> +For devices that have multiple possible display panels (multi-sourcing the
> +display panels is common on laptops, phones, tablets), this allows the
> +bootloader to communicate which panel is installed, e.g.
How does the bootloader figure out which panel? Why can't the kernel
do the same thing?
> +
> +/ {
> + chosen {
> + panel-id = <0xc4>;
> + };
> +
> + ivo_panel {
> + compatible = "ivo,m133nwf4-r0";
> + power-supply = <&vlcm_3v3>;
> + no-hpd;
> +
> + ports {
> + port {
> + ivo_panel_in_edp: endpoint {
> + remote-endpoint = <&sn65dsi86_out_ivo>;
> + };
> + };
> + };
> + };
> +
> + boe_panel {
> + compatible = "boe,nv133fhm-n61";
Both panels are going to probe. So the bootloader needs to disable the
not populated panel setting 'status' (or delete the node). If you do
that, do you even need 'panel-id'?
> + power-supply = <&vlcm_3v3>;
> + no-hpd;
> +
> + ports {
> + port {
> + boe_panel_in_edp: endpoint {
> + remote-endpoint = <&sn65dsi86_out_boe>;
> + };
> + };
> + };
> + };
> +
> + display_or_bridge_device {
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ...
> +
> + port@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + endpoint@c4 {
> + reg = <0xc4>;
What does this number represent? It is supposed to be defined by the
display_or_bridge_device, not a specific panel.
We also need to consider how the DSI case with panels as children of
the DSI controller would work and how this would work with multiple
displays each having multiple panel options.
Rob
Powered by blists - more mailing lists