diff mbox series

[v2,1/7] dt-bindings: display: panel: properly document LG LD070WX3 panel

Message ID 20251008082800.67718-2-clamor95@gmail.com
State New
Headers show
Series Add support for panels found in various Tegra devices | expand

Commit Message

Svyatoslav Ryhel Oct. 8, 2025, 8:27 a.m. UTC
LG LD070WX3-SL01 was mistakenly documented as a simple DSI panel, which it
clearly is not. Address this by adding the proper schema for this panel.

There is only one user of this panel binding in the mainline Linux kernel,
which is the Nvidia tablet Tegra Note 7. Its panel is broken anyway since
it cannot initialize properly if the bootloader does not leave a
pre-initialized panel. It also cannot suspend or re-initialize properly,
since no DSI configuration is set and it has a loose regulator which
relies on an always-on property rather than being hooked to the panel
where it belongs.

Tegra Note 7 device tree is adjusted as a part of this series.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 .../bindings/display/panel/lg,ld070wx3.yaml   | 60 +++++++++++++++++++
 .../display/panel/panel-simple-dsi.yaml       |  2 -
 2 files changed, 60 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml

Comments

Conor Dooley Oct. 8, 2025, 9:11 p.m. UTC | #1
On Wed, Oct 08, 2025 at 11:27:53AM +0300, Svyatoslav Ryhel wrote:
> LG LD070WX3-SL01 was mistakenly documented as a simple DSI panel, which it
> clearly is not. Address this by adding the proper schema for this panel.
> 
> There is only one user of this panel binding in the mainline Linux kernel,
> which is the Nvidia tablet Tegra Note 7. Its panel is broken anyway since
> it cannot initialize properly if the bootloader does not leave a
> pre-initialized panel. It also cannot suspend or re-initialize properly,
> since no DSI configuration is set and it has a loose regulator which
> relies on an always-on property rather than being hooked to the panel
> where it belongs.

I think this is a reasonable justification. For my own enlightenment,
what happens if a new kernel uses the old simple-panel devicetree?

> Tegra Note 7 device tree is adjusted as a part of this series.
> 
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
>  .../bindings/display/panel/lg,ld070wx3.yaml   | 60 +++++++++++++++++++
>  .../display/panel/panel-simple-dsi.yaml       |  2 -
>  2 files changed, 60 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> new file mode 100644
> index 000000000000..0a82cf311452
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/lg,ld070wx3.yaml#

Could you make the filename match the compatible please?
With that,
Acked-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.

> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: LG Corporation 7" WXGA TFT LCD panel
> +
> +maintainers:
> +  - Svyatoslav Ryhel <clamor95@gmail.com>
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: lg,ld070wx3-sl01
> +
> +  reg:
> +    maxItems: 1
> +
> +  vdd-supply: true
> +  vcc-supply: true
> +
> +  backlight: true
> +  port: true
> +
> +required:
> +  - compatible
> +  - vdd-supply
> +  - vcc-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    dsi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        panel@0 {
> +            compatible = "lg,ld070wx3-sl01";
> +            reg = <0>;
> +
> +            vdd-supply = <&vdd_3v3_lcd>;
> +            vcc-supply = <&vcc_1v8_lcd>;
> +
> +            backlight = <&backlight>;
> +
> +            port {
> +                endpoint {
> +                    remote-endpoint = <&dsi0_out>;
> +                };
> +            };
> +        };
> +    };
> +...
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> index 9b92a05791cc..f9f1e76a810c 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> @@ -42,8 +42,6 @@ properties:
>        - kingdisplay,kd097d04
>          # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel
>        - lg,acx467akm-7
> -        # LG Corporation 7" WXGA TFT LCD panel
> -      - lg,ld070wx3-sl01
>          # LG Corporation 5" HD TFT LCD panel
>        - lg,lh500wx1-sd03
>          # Lincoln LCD197 5" 1080x1920 LCD panel
> -- 
> 2.48.1
>
Svyatoslav Ryhel Oct. 9, 2025, 5:06 a.m. UTC | #2
чт, 9 жовт. 2025 р. о 00:11 Conor Dooley <conor@kernel.org> пише:
>
> On Wed, Oct 08, 2025 at 11:27:53AM +0300, Svyatoslav Ryhel wrote:
> > LG LD070WX3-SL01 was mistakenly documented as a simple DSI panel, which it
> > clearly is not. Address this by adding the proper schema for this panel.
> >
> > There is only one user of this panel binding in the mainline Linux kernel,
> > which is the Nvidia tablet Tegra Note 7. Its panel is broken anyway since
> > it cannot initialize properly if the bootloader does not leave a
> > pre-initialized panel. It also cannot suspend or re-initialize properly,
> > since no DSI configuration is set and it has a loose regulator which
> > relies on an always-on property rather than being hooked to the panel
> > where it belongs.
>
> I think this is a reasonable justification. For my own enlightenment,
> what happens if a new kernel uses the old simple-panel devicetree?
>

Since regulator framework provides dummy regulators and compatible
matches, driver should probe correctly. Panel should still work with
unpatched device tree until disabling unused regulators/power domains
kicks in.

> > Tegra Note 7 device tree is adjusted as a part of this series.
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > ---
> >  .../bindings/display/panel/lg,ld070wx3.yaml   | 60 +++++++++++++++++++
> >  .../display/panel/panel-simple-dsi.yaml       |  2 -
> >  2 files changed, 60 insertions(+), 2 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> > new file mode 100644
> > index 000000000000..0a82cf311452
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> > @@ -0,0 +1,60 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/panel/lg,ld070wx3.yaml#
>
> Could you make the filename match the compatible please?

Filename matches compatible, -XXNN after lg,ld070wx3 indicate
revision. I have found at least two more -sm01 and -sh01, but since I
was not able to get datasheet for them I cannot say for sure that they
fully compatible with this schema.

> With that,
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
>
> Cheers,
> Conor.
>
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: LG Corporation 7" WXGA TFT LCD panel
> > +
> > +maintainers:
> > +  - Svyatoslav Ryhel <clamor95@gmail.com>
> > +
> > +allOf:
> > +  - $ref: panel-common.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - const: lg,ld070wx3-sl01
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  vdd-supply: true
> > +  vcc-supply: true
> > +
> > +  backlight: true
> > +  port: true
> > +
> > +required:
> > +  - compatible
> > +  - vdd-supply
> > +  - vcc-supply
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/gpio/gpio.h>
> > +
> > +    dsi {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        panel@0 {
> > +            compatible = "lg,ld070wx3-sl01";
> > +            reg = <0>;
> > +
> > +            vdd-supply = <&vdd_3v3_lcd>;
> > +            vcc-supply = <&vcc_1v8_lcd>;
> > +
> > +            backlight = <&backlight>;
> > +
> > +            port {
> > +                endpoint {
> > +                    remote-endpoint = <&dsi0_out>;
> > +                };
> > +            };
> > +        };
> > +    };
> > +...
> > diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> > index 9b92a05791cc..f9f1e76a810c 100644
> > --- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
> > @@ -42,8 +42,6 @@ properties:
> >        - kingdisplay,kd097d04
> >          # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel
> >        - lg,acx467akm-7
> > -        # LG Corporation 7" WXGA TFT LCD panel
> > -      - lg,ld070wx3-sl01
> >          # LG Corporation 5" HD TFT LCD panel
> >        - lg,lh500wx1-sd03
> >          # Lincoln LCD197 5" 1080x1920 LCD panel
> > --
> > 2.48.1
> >
Conor Dooley Oct. 9, 2025, 5:01 p.m. UTC | #3
On Thu, Oct 09, 2025 at 08:06:20AM +0300, Svyatoslav Ryhel wrote:
> > > diff --git a/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> > > new file mode 100644
> > > index 000000000000..0a82cf311452
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
> > > @@ -0,0 +1,60 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/display/panel/lg,ld070wx3.yaml#
> >
> > Could you make the filename match the compatible please?
> 
> Filename matches compatible, -XXNN after lg,ld070wx3 indicate
> revision.

Then it doesn't match!!!

> > > +properties:
> > > +  compatible:
> > > +    items:
> > > +      - const: lg,ld070wx3-sl01
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
new file mode 100644
index 000000000000..0a82cf311452
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml
@@ -0,0 +1,60 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/lg,ld070wx3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LG Corporation 7" WXGA TFT LCD panel
+
+maintainers:
+  - Svyatoslav Ryhel <clamor95@gmail.com>
+
+allOf:
+  - $ref: panel-common.yaml#
+
+properties:
+  compatible:
+    items:
+      - const: lg,ld070wx3-sl01
+
+  reg:
+    maxItems: 1
+
+  vdd-supply: true
+  vcc-supply: true
+
+  backlight: true
+  port: true
+
+required:
+  - compatible
+  - vdd-supply
+  - vcc-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    dsi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        panel@0 {
+            compatible = "lg,ld070wx3-sl01";
+            reg = <0>;
+
+            vdd-supply = <&vdd_3v3_lcd>;
+            vcc-supply = <&vcc_1v8_lcd>;
+
+            backlight = <&backlight>;
+
+            port {
+                endpoint {
+                    remote-endpoint = <&dsi0_out>;
+                };
+            };
+        };
+    };
+...
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
index 9b92a05791cc..f9f1e76a810c 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
@@ -42,8 +42,6 @@  properties:
       - kingdisplay,kd097d04
         # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel
       - lg,acx467akm-7
-        # LG Corporation 7" WXGA TFT LCD panel
-      - lg,ld070wx3-sl01
         # LG Corporation 5" HD TFT LCD panel
       - lg,lh500wx1-sd03
         # Lincoln LCD197 5" 1080x1920 LCD panel