All of lore.kernel.org
 help / color / mirror / Atom feed
* LVDS panel compatible strings
@ 2023-07-14 14:38 Thierry Reding
  2023-07-14 15:00 ` Svyatoslav Ryhel
  0 siblings, 1 reply; 11+ messages in thread
From: Thierry Reding @ 2023-07-14 14:38 UTC (permalink / raw)
  To: Dmitry Osipenko, David Heidelberg, Svyatoslav Ryhel
  Cc: Raffaele Tranquillini, Ion Agorria, Maxim Schwalm,
	Pedro Ângelo, Matt Merhar, Zack Pearsall, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 3507 bytes --]

Hi everyone,

I've been working on converting all Tegra-related device tree bindings
to json-schema so that eventually we can fully validate device tree
files. Getting all the bindings reviewed and merged has been slow, but
I have a local tree where pretty much all validation errors and warnings
have been fixed. The remaining warnings that I'm not sure how to resolve
are these:

    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
    arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
        from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#

The reason for these is that the device tree files use:

	compatible = "panel-lvds";

but that's not valid as per the bindings. So what we really want is a
specific compatible string that specifies the exact panel that each of
these devices uses in addition to the "panel-lvds" fallback. Do you guys
have information about these that could help fix up the DT files?

Thanks,
Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-14 14:38 LVDS panel compatible strings Thierry Reding
@ 2023-07-14 15:00 ` Svyatoslav Ryhel
  2023-07-14 15:16   ` Thierry Reding
  2023-07-18 20:55   ` Maxim Schwalm
  0 siblings, 2 replies; 11+ messages in thread
From: Svyatoslav Ryhel @ 2023-07-14 15:00 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
>
> Hi everyone,
>
> I've been working on converting all Tegra-related device tree bindings
> to json-schema so that eventually we can fully validate device tree
> files. Getting all the bindings reviewed and merged has been slow, but
> I have a local tree where pretty much all validation errors and warnings
> have been fixed. The remaining warnings that I'm not sure how to resolve
> are these:
>
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#

Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
ASUS TF201 but unfortunately it is not compatible with existing simple
panel setup (blurry image if used). My assumption is that chagall as
different revision of this panel like HSD101PWW3-B00 or
HSD101PWW1-A00 which is more likely or panel is highly modified which
is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
spread.

Best regards,
Svyatoslav R.

>
> The reason for these is that the device tree files use:
>
>         compatible = "panel-lvds";
>
> but that's not valid as per the bindings. So what we really want is a
> specific compatible string that specifies the exact panel that each of
> these devices uses in addition to the "panel-lvds" fallback. Do you guys
> have information about these that could help fix up the DT files?
>
> Thanks,
> Thierry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-14 15:00 ` Svyatoslav Ryhel
@ 2023-07-14 15:16   ` Thierry Reding
  2023-07-14 15:57     ` Svyatoslav Ryhel
  2023-07-18 20:55   ` Maxim Schwalm
  1 sibling, 1 reply; 11+ messages in thread
From: Thierry Reding @ 2023-07-14 15:16 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 4070 bytes --]

On Fri, Jul 14, 2023 at 06:00:43PM +0300, Svyatoslav Ryhel wrote:
> пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
> >
> > Hi everyone,
> >
> > I've been working on converting all Tegra-related device tree bindings
> > to json-schema so that eventually we can fully validate device tree
> > files. Getting all the bindings reviewed and merged has been slow, but
> > I have a local tree where pretty much all validation errors and warnings
> > have been fixed. The remaining warnings that I'm not sure how to resolve
> > are these:
> >
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> 
> Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
> ASUS TF201 but unfortunately it is not compatible with existing simple
> panel setup (blurry image if used). My assumption is that chagall as
> different revision of this panel like HSD101PWW3-B00 or
> HSD101PWW1-A00 which is more likely or panel is highly modified which
> is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
> spread.

Interesting. So is the problem the HSD101PWW2 timings that are off, or
is it because the panel-lvds code does something special to make this
blurry image go away?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-14 15:16   ` Thierry Reding
@ 2023-07-14 15:57     ` Svyatoslav Ryhel
  2023-07-17  7:16       ` Thierry Reding
  0 siblings, 1 reply; 11+ messages in thread
From: Svyatoslav Ryhel @ 2023-07-14 15:57 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

пт, 14 лип. 2023 р. о 18:16 Thierry Reding <thierry.reding@gmail.com> пише:
>
> On Fri, Jul 14, 2023 at 06:00:43PM +0300, Svyatoslav Ryhel wrote:
> > пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
> > >
> > > Hi everyone,
> > >
> > > I've been working on converting all Tegra-related device tree bindings
> > > to json-schema so that eventually we can fully validate device tree
> > > files. Getting all the bindings reviewed and merged has been slow, but
> > > I have a local tree where pretty much all validation errors and warnings
> > > have been fixed. The remaining warnings that I'm not sure how to resolve
> > > are these:
> > >
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> >
> > Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
> > ASUS TF201 but unfortunately it is not compatible with existing simple
> > panel setup (blurry image if used). My assumption is that chagall as
> > different revision of this panel like HSD101PWW3-B00 or
> > HSD101PWW1-A00 which is more likely or panel is highly modified which
> > is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
> > spread.
>
> Interesting. So is the problem the HSD101PWW2 timings that are off, or
> is it because the panel-lvds code does something special to make this
> blurry image go away?
>
timings are different

> Thierry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-14 15:57     ` Svyatoslav Ryhel
@ 2023-07-17  7:16       ` Thierry Reding
  2023-07-17  7:25         ` Svyatoslav Ryhel
                           ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Thierry Reding @ 2023-07-17  7:16 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra


[-- Attachment #1.1: Type: text/plain, Size: 8606 bytes --]

On Fri, Jul 14, 2023 at 06:57:01PM +0300, Svyatoslav Ryhel wrote:
> пт, 14 лип. 2023 р. о 18:16 Thierry Reding <thierry.reding@gmail.com> пише:
> >
> > On Fri, Jul 14, 2023 at 06:00:43PM +0300, Svyatoslav Ryhel wrote:
> > > пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
> > > >
> > > > Hi everyone,
> > > >
> > > > I've been working on converting all Tegra-related device tree bindings
> > > > to json-schema so that eventually we can fully validate device tree
> > > > files. Getting all the bindings reviewed and merged has been slow, but
> > > > I have a local tree where pretty much all validation errors and warnings
> > > > have been fixed. The remaining warnings that I'm not sure how to resolve
> > > > are these:
> > > >
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > >
> > > Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
> > > ASUS TF201 but unfortunately it is not compatible with existing simple
> > > panel setup (blurry image if used). My assumption is that chagall as
> > > different revision of this panel like HSD101PWW3-B00 or
> > > HSD101PWW1-A00 which is more likely or panel is highly modified which
> > > is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
> > > spread.
> >
> > Interesting. So is the problem the HSD101PWW2 timings that are off, or
> > is it because the panel-lvds code does something special to make this
> > blurry image go away?
> >
> timings are different

For cases where the timings are the only things that differ, the DT
bindings allow overriding the timings specifically. So you might get
away with using one of the existing panels if it is close enough and
patch up the timings in DT.

Comparing what you've got for Chagall, the porches exceed what the
HSD101PWW2 allows, but the timing values in the simple-panel driver look
a little arbitrary, to be honest, so I think those could be extended.
Looking at a datasheet that I found online, it's very unspecific about
the porch lengths since it only mentions minimum, typical and maximum
values for the total frame blanking times:

	vertical: 3, 23, 223
	horizontal: 54, 160, 681

So I think we can be more generous in how these are split up. So we
could for example do this:

--- >8 ---
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 18dc251749fb..b2fb7943f2ed 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2108,13 +2108,13 @@ static const struct panel_desc hannstar_hsd100pxn1 = {
 static const struct display_timing hannstar_hsd101pww2_timing = {
 	.pixelclock = { 64300000, 71100000, 82000000 },
 	.hactive = { 1280, 1280, 1280 },
-	.hfront_porch = { 1, 1, 10 },
-	.hback_porch = { 1, 1, 10 },
-	.hsync_len = { 58, 158, 661 },
+	.hfront_porch = { 1, 1, 64 },
+	.hback_porch = { 1, 1, 64 },
+	.hsync_len = { 58, 158, 553 },
 	.vactive = { 800, 800, 800 },
-	.vfront_porch = { 1, 1, 10 },
-	.vback_porch = { 1, 1, 10 },
-	.vsync_len = { 1, 21, 203 },
+	.vfront_porch = { 1, 1, 32 },
+	.vback_porch = { 1, 1, 32 },
+	.vsync_len = { 1, 21, 159 },
 	.flags = DISPLAY_FLAGS_DE_HIGH,
 };
 
--- >8 ---

And then we could move the compatible string from simple to LVDS:

--- >8 ---
diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
index 929fe046d1e7..344e5df40c2f 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -40,6 +40,8 @@ properties:
     items:
       - enum:
           - auo,b101ew05
+          # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
+          - hannstar,hsd101pww2
           - tbs,a711-panel
 
       - const: panel-lvds
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index df1cec8fd21b..f4d9da4afefd 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -168,8 +168,6 @@ properties:
       - hannstar,hsd070pww1
         # HannStar Display Corp. HSD100PXN1 10.1" XGA LVDS panel
       - hannstar,hsd100pxn1
-        # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
-      - hannstar,hsd101pww2
         # Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
       - hit,tx23d38vm0caa
         # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
diff --git a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
index c81d5875c31c..4012f9c799a8 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
@@ -2628,7 +2628,7 @@ cpu3: cpu@3 {
 	};
 
 	display-panel {
-		compatible = "panel-lvds";
+		compatible = "hannstar,hsd101pww2", "panel-lvds";
 
 		width-mm = <217>;
 		height-mm = <136>;
--- >8 ---

That gets rid of the DT validation warning for me. Would you be able to
test this on actual hardware? I think the compatible matching would
result in this matching the simple-panel driver and that does have some
support for LVDS, but I'm not sure if it's exactly equal to what you get
with only the panel-lvds matching, which makes this get handled by the
panel-lvds driver.

I'm attaching the full patch to make it a bit easier to apply this.

Thierry

[-- Attachment #1.2: 0001-WIP-Use-Hannstar-HSD101PWW2-on-Pegatron-Chagall.patch --]
[-- Type: text/plain, Size: 3394 bytes --]

From d45f49a40b0e9db07cb4fcdcaafd29e1453e8001 Mon Sep 17 00:00:00 2001
From: Thierry Reding <treding@nvidia.com>
Date: Mon, 17 Jul 2023 09:15:33 +0200
Subject: [PATCH] WIP: Use Hannstar HSD101PWW2 on Pegatron Chagall

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 .../bindings/display/panel/panel-lvds.yaml           |  2 ++
 .../bindings/display/panel/panel-simple.yaml         |  2 --
 .../arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts |  2 +-
 drivers/gpu/drm/panel/panel-simple.c                 | 12 ++++++------
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
index 929fe046d1e7..344e5df40c2f 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -40,6 +40,8 @@ properties:
     items:
       - enum:
           - auo,b101ew05
+          # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
+          - hannstar,hsd101pww2
           - tbs,a711-panel
 
       - const: panel-lvds
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index df1cec8fd21b..f4d9da4afefd 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -168,8 +168,6 @@ properties:
       - hannstar,hsd070pww1
         # HannStar Display Corp. HSD100PXN1 10.1" XGA LVDS panel
       - hannstar,hsd100pxn1
-        # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
-      - hannstar,hsd101pww2
         # Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
       - hit,tx23d38vm0caa
         # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
diff --git a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
index c81d5875c31c..4012f9c799a8 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
@@ -2628,7 +2628,7 @@ cpu3: cpu@3 {
 	};
 
 	display-panel {
-		compatible = "panel-lvds";
+		compatible = "hannstar,hsd101pww2", "panel-lvds";
 
 		width-mm = <217>;
 		height-mm = <136>;
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 18dc251749fb..b2fb7943f2ed 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2108,13 +2108,13 @@ static const struct panel_desc hannstar_hsd100pxn1 = {
 static const struct display_timing hannstar_hsd101pww2_timing = {
 	.pixelclock = { 64300000, 71100000, 82000000 },
 	.hactive = { 1280, 1280, 1280 },
-	.hfront_porch = { 1, 1, 10 },
-	.hback_porch = { 1, 1, 10 },
-	.hsync_len = { 58, 158, 661 },
+	.hfront_porch = { 1, 1, 64 },
+	.hback_porch = { 1, 1, 64 },
+	.hsync_len = { 58, 158, 553 },
 	.vactive = { 800, 800, 800 },
-	.vfront_porch = { 1, 1, 10 },
-	.vback_porch = { 1, 1, 10 },
-	.vsync_len = { 1, 21, 203 },
+	.vfront_porch = { 1, 1, 32 },
+	.vback_porch = { 1, 1, 32 },
+	.vsync_len = { 1, 21, 159 },
 	.flags = DISPLAY_FLAGS_DE_HIGH,
 };
 
-- 
2.41.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-17  7:16       ` Thierry Reding
@ 2023-07-17  7:25         ` Svyatoslav Ryhel
  2023-07-17  8:08         ` Svyatoslav Ryhel
  2023-07-17  8:50         ` Dmitry Osipenko
  2 siblings, 0 replies; 11+ messages in thread
From: Svyatoslav Ryhel @ 2023-07-17  7:25 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra



17 липня 2023 р. 10:16:44 GMT+03:00, Thierry Reding <thierry.reding@gmail.com> написав(-ла):
>On Fri, Jul 14, 2023 at 06:57:01PM +0300, Svyatoslav Ryhel wrote:
>> пт, 14 лип. 2023 р. о 18:16 Thierry Reding <thierry.reding@gmail.com> пише:
>> >
>> > On Fri, Jul 14, 2023 at 06:00:43PM +0300, Svyatoslav Ryhel wrote:
>> > > пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
>> > > >
>> > > > Hi everyone,
>> > > >
>> > > > I've been working on converting all Tegra-related device tree bindings
>> > > > to json-schema so that eventually we can fully validate device tree
>> > > > files. Getting all the bindings reviewed and merged has been slow, but
>> > > > I have a local tree where pretty much all validation errors and warnings
>> > > > have been fixed. The remaining warnings that I'm not sure how to resolve
>> > > > are these:
>> > > >
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>> > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>> > >
>> > > Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
>> > > ASUS TF201 but unfortunately it is not compatible with existing simple
>> > > panel setup (blurry image if used). My assumption is that chagall as
>> > > different revision of this panel like HSD101PWW3-B00 or
>> > > HSD101PWW1-A00 which is more likely or panel is highly modified which
>> > > is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
>> > > spread.
>> >
>> > Interesting. So is the problem the HSD101PWW2 timings that are off, or
>> > is it because the panel-lvds code does something special to make this
>> > blurry image go away?
>> >
>> timings are different
>
>For cases where the timings are the only things that differ, the DT
>bindings allow overriding the timings specifically. So you might get
>away with using one of the existing panels if it is close enough and
>patch up the timings in DT.
>
>Comparing what you've got for Chagall, the porches exceed what the
>HSD101PWW2 allows, but the timing values in the simple-panel driver look
>a little arbitrary, to be honest, so I think those could be extended.
>Looking at a datasheet that I found online, it's very unspecific about
>the porch lengths since it only mentions minimum, typical and maximum
>values for the total frame blanking times:
>
>	vertical: 3, 23, 223
>	horizontal: 54, 160, 681
>
>So I think we can be more generous in how these are split up. So we
>could for example do this:
>
>--- >8 ---
>diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>index 18dc251749fb..b2fb7943f2ed 100644
>--- a/drivers/gpu/drm/panel/panel-simple.c
>+++ b/drivers/gpu/drm/panel/panel-simple.c
>@@ -2108,13 +2108,13 @@ static const struct panel_desc hannstar_hsd100pxn1 = {
> static const struct display_timing hannstar_hsd101pww2_timing = {
> 	.pixelclock = { 64300000, 71100000, 82000000 },
> 	.hactive = { 1280, 1280, 1280 },
>-	.hfront_porch = { 1, 1, 10 },
>-	.hback_porch = { 1, 1, 10 },
>-	.hsync_len = { 58, 158, 661 },
>+	.hfront_porch = { 1, 1, 64 },
>+	.hback_porch = { 1, 1, 64 },
>+	.hsync_len = { 58, 158, 553 },
> 	.vactive = { 800, 800, 800 },
>-	.vfront_porch = { 1, 1, 10 },
>-	.vback_porch = { 1, 1, 10 },
>-	.vsync_len = { 1, 21, 203 },
>+	.vfront_porch = { 1, 1, 32 },
>+	.vback_porch = { 1, 1, 32 },
>+	.vsync_len = { 1, 21, 159 },
> 	.flags = DISPLAY_FLAGS_DE_HIGH,
> };
> 
>--- >8 ---
>
>And then we could move the compatible string from simple to LVDS:
>
>--- >8 ---
>diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>index 929fe046d1e7..344e5df40c2f 100644
>--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>@@ -40,6 +40,8 @@ properties:
>     items:
>       - enum:
>           - auo,b101ew05
>+          # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
>+          - hannstar,hsd101pww2
>           - tbs,a711-panel
> 
>       - const: panel-lvds
>diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
>index df1cec8fd21b..f4d9da4afefd 100644
>--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
>+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
>@@ -168,8 +168,6 @@ properties:
>       - hannstar,hsd070pww1
>         # HannStar Display Corp. HSD100PXN1 10.1" XGA LVDS panel
>       - hannstar,hsd100pxn1
>-        # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
>-      - hannstar,hsd101pww2
>         # Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
>       - hit,tx23d38vm0caa
>         # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
>diff --git a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
>index c81d5875c31c..4012f9c799a8 100644
>--- a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
>+++ b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
>@@ -2628,7 +2628,7 @@ cpu3: cpu@3 {
> 	};
> 
> 	display-panel {
>-		compatible = "panel-lvds";
>+		compatible = "hannstar,hsd101pww2", "panel-lvds";
> 
> 		width-mm = <217>;
> 		height-mm = <136>;
>--- >8 ---
>
>That gets rid of the DT validation warning for me. Would you be able to
>test this on actual hardware? I think the compatible matching would
>result in this matching the simple-panel driver and that does have some
>support for LVDS, but I'm not sure if it's exactly equal to what you get
>with only the panel-lvds matching, which makes this get handled by the
>panel-lvds driver.
>
>I'm attaching the full patch to make it a bit easier to apply this.

I will check if this doesn't break TF201.

P. S. U-boot patches are still hanging in the void!

>Thierry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-17  7:16       ` Thierry Reding
  2023-07-17  7:25         ` Svyatoslav Ryhel
@ 2023-07-17  8:08         ` Svyatoslav Ryhel
  2023-07-17  8:50         ` Dmitry Osipenko
  2 siblings, 0 replies; 11+ messages in thread
From: Svyatoslav Ryhel @ 2023-07-17  8:08 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

пн, 17 лип. 2023 р. о 10:16 Thierry Reding <thierry.reding@gmail.com> пише:
>
> On Fri, Jul 14, 2023 at 06:57:01PM +0300, Svyatoslav Ryhel wrote:
> > пт, 14 лип. 2023 р. о 18:16 Thierry Reding <thierry.reding@gmail.com> пише:
> > >
> > > On Fri, Jul 14, 2023 at 06:00:43PM +0300, Svyatoslav Ryhel wrote:
> > > > пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
> > > > >
> > > > > Hi everyone,
> > > > >
> > > > > I've been working on converting all Tegra-related device tree bindings
> > > > > to json-schema so that eventually we can fully validate device tree
> > > > > files. Getting all the bindings reviewed and merged has been slow, but
> > > > > I have a local tree where pretty much all validation errors and warnings
> > > > > have been fixed. The remaining warnings that I'm not sure how to resolve
> > > > > are these:
> > > > >
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > > >     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
> > > > >         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> > > >
> > > > Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
> > > > ASUS TF201 but unfortunately it is not compatible with existing simple
> > > > panel setup (blurry image if used). My assumption is that chagall as
> > > > different revision of this panel like HSD101PWW3-B00 or
> > > > HSD101PWW1-A00 which is more likely or panel is highly modified which
> > > > is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
> > > > spread.
> > >
> > > Interesting. So is the problem the HSD101PWW2 timings that are off, or
> > > is it because the panel-lvds code does something special to make this
> > > blurry image go away?
> > >
> > timings are different
>
> For cases where the timings are the only things that differ, the DT
> bindings allow overriding the timings specifically. So you might get
> away with using one of the existing panels if it is close enough and
> patch up the timings in DT.
>
> Comparing what you've got for Chagall, the porches exceed what the
> HSD101PWW2 allows, but the timing values in the simple-panel driver look
> a little arbitrary, to be honest, so I think those could be extended.
> Looking at a datasheet that I found online, it's very unspecific about
> the porch lengths since it only mentions minimum, typical and maximum
> values for the total frame blanking times:
>
>         vertical: 3, 23, 223
>         horizontal: 54, 160, 681
>
> So I think we can be more generous in how these are split up. So we
> could for example do this:
>
> --- >8 ---
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 18dc251749fb..b2fb7943f2ed 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -2108,13 +2108,13 @@ static const struct panel_desc hannstar_hsd100pxn1 = {
>  static const struct display_timing hannstar_hsd101pww2_timing = {
>         .pixelclock = { 64300000, 71100000, 82000000 },
>         .hactive = { 1280, 1280, 1280 },
> -       .hfront_porch = { 1, 1, 10 },
> -       .hback_porch = { 1, 1, 10 },
> -       .hsync_len = { 58, 158, 661 },
> +       .hfront_porch = { 1, 1, 64 },
> +       .hback_porch = { 1, 1, 64 },
> +       .hsync_len = { 58, 158, 553 },
>         .vactive = { 800, 800, 800 },
> -       .vfront_porch = { 1, 1, 10 },
> -       .vback_porch = { 1, 1, 10 },
> -       .vsync_len = { 1, 21, 203 },
> +       .vfront_porch = { 1, 1, 32 },
> +       .vback_porch = { 1, 1, 32 },
> +       .vsync_len = { 1, 21, 159 },
>         .flags = DISPLAY_FLAGS_DE_HIGH,
>  };
>
> --- >8 ---
>
> And then we could move the compatible string from simple to LVDS:
>
> --- >8 ---
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> index 929fe046d1e7..344e5df40c2f 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
> @@ -40,6 +40,8 @@ properties:
>      items:
>        - enum:
>            - auo,b101ew05
> +          # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
> +          - hannstar,hsd101pww2
>            - tbs,a711-panel
>
>        - const: panel-lvds
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> index df1cec8fd21b..f4d9da4afefd 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
> @@ -168,8 +168,6 @@ properties:
>        - hannstar,hsd070pww1
>          # HannStar Display Corp. HSD100PXN1 10.1" XGA LVDS panel
>        - hannstar,hsd100pxn1
> -        # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
> -      - hannstar,hsd101pww2
>          # Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
>        - hit,tx23d38vm0caa
>          # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
> index c81d5875c31c..4012f9c799a8 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
> +++ b/arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dts
> @@ -2628,7 +2628,7 @@ cpu3: cpu@3 {
>         };
>
>         display-panel {
> -               compatible = "panel-lvds";
> +               compatible = "hannstar,hsd101pww2", "panel-lvds";
>
>                 width-mm = <217>;
>                 height-mm = <136>;
> --- >8 ---
>
> That gets rid of the DT validation warning for me. Would you be able to
> test this on actual hardware? I think the compatible matching would
> result in this matching the simple-panel driver and that does have some
> support for LVDS, but I'm not sure if it's exactly equal to what you get
> with only the panel-lvds matching, which makes this get handled by the
> panel-lvds driver.
>
> I'm attaching the full patch to make it a bit easier to apply this.

I have just tested new timings with my TF201 and can confirm that I see no
regressions for TF201. Testing on Chagall will be nearly impossible because
the owner of Chagall does not have it in reach and will not be able to
test it in
the next few months.

As for now I see no downsides of this patch for both Chagall and TF201.
Chagall will substitute its own timings and TF201 is confirmed to work fine.

Best Regards,
Svyatoslav R.

> Thierry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-17  7:16       ` Thierry Reding
  2023-07-17  7:25         ` Svyatoslav Ryhel
  2023-07-17  8:08         ` Svyatoslav Ryhel
@ 2023-07-17  8:50         ` Dmitry Osipenko
  2023-07-17 13:25           ` Thierry Reding
  2 siblings, 1 reply; 11+ messages in thread
From: Dmitry Osipenko @ 2023-07-17  8:50 UTC (permalink / raw)
  To: Thierry Reding, Svyatoslav Ryhel
  Cc: David Heidelberg, Raffaele Tranquillini, Ion Agorria,
	Maxim Schwalm, Pedro Ângelo, Matt Merhar, Zack Pearsall,
	linux-tegra

17.07.2023 10:16, Thierry Reding пишет:
> For cases where the timings are the only things that differ, the DT
> bindings allow overriding the timings specifically. So you might get
> away with using one of the existing panels if it is close enough and
> patch up the timings in DT.

If panel-simple supported timings override from DT, then panel-lvds
indeed could be removed. But panel-simple doesn't support it:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a21f18a993c56566db94ba836684bc32c070a82c

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-17  8:50         ` Dmitry Osipenko
@ 2023-07-17 13:25           ` Thierry Reding
  2023-07-22  1:26             ` Dmitry Osipenko
  0 siblings, 1 reply; 11+ messages in thread
From: Thierry Reding @ 2023-07-17 13:25 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Svyatoslav Ryhel, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 4112 bytes --]

On Mon, Jul 17, 2023 at 11:50:03AM +0300, Dmitry Osipenko wrote:
> 17.07.2023 10:16, Thierry Reding пишет:
> > For cases where the timings are the only things that differ, the DT
> > bindings allow overriding the timings specifically. So you might get
> > away with using one of the existing panels if it is close enough and
> > patch up the timings in DT.
> 
> If panel-simple supported timings override from DT, then panel-lvds
> indeed could be removed. But panel-simple doesn't support it:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a21f18a993c56566db94ba836684bc32c070a82c

I clearly didn't look at that patch closely enough. panel-simple has
supported override modes since:

commit b8a2948fa2b3a5a6da67fd57aa01c7318d795125
Author: Sean Paul <seanpaul@chromium.org>
Date:   Thu Jul 11 13:34:53 2019 -0700

    drm/panel: simple: Add ability to override typical timing
    
    This patch adds the ability to override the typical display timing for a
    given panel. This is useful for devices which have timing constraints
    that do not apply across the entire display driver (eg: to avoid
    crosstalk between panel and digitizer on certain laptops). The rules are
    as follows:
    
    - panel must not specify fixed mode (since the override mode will
      either be the same as the fixed mode, or we'll be unable to
      check the bounds of the overried)
    - panel must specify at least one display_timing range which will be
      used to ensure the override mode fits within its bounds
    
    Changes in v2:
     - Parse the full display-timings node (using the native-mode) (Rob)
    Changes in v3:
     - No longer parse display-timings subnode, use panel-timing (Rob)
    Changes in v4:
     - Don't add mode from timing if override was specified (Thierry)
     - Add warning if timing and fixed mode was specified (Thierry)
     - Don't add fixed mode if timing was specified (Thierry)
     - Refactor/rename a bit to avoid extra indentation from "if" tests
     - i should be unsigned (Thierry)
     - Add annoying WARN_ONs for some cases (Thierry)
     - Simplify 'No display_timing found' handling (Thierry)
     - Rename to panel_simple_parse_override_mode() (Thierry)
    Changes in v5:
     - Added Heiko's Tested-by
    Changes in v6:
     - Rebased to drm-misc next
     - Added tags
    
    Cc: Doug Anderson <dianders@chromium.org>
    Cc: Eric Anholt <eric@anholt.net>
    Cc: Heiko Stuebner <heiko@sntech.de>
    Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: Stéphane Marchesin <marcheu@chromium.org>
    Cc: Thierry Reding <thierry.reding@gmail.com>
    Cc: devicetree@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Tested-by: Heiko Stuebner <heiko@sntech.de>
    Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
    Acked-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-2-dianders@chromium.org

Looking at the error message cited in the linked commit, the problem is
that the Chunghwa panel has a fixed mode listed in the driver. However I
don't see a reason why we can't get rid of that. The only place where I
can find the compatible string for that used is for the Nexus 7, so we
should be able to replace the fixed mode with the timings for that panel
and remove the fixed mode.

The initial Chunghwa panel driver support doesn't seem to have been
based on the Nexus 7, so I suppose if we make the above change we could
technically be breaking some setup out there, but since we have no way
of knowing which device this was on, or if anybody still has access, the
best we can do is hope that nothing breaks and fix things up if somebody
complains.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-14 15:00 ` Svyatoslav Ryhel
  2023-07-14 15:16   ` Thierry Reding
@ 2023-07-18 20:55   ` Maxim Schwalm
  1 sibling, 0 replies; 11+ messages in thread
From: Maxim Schwalm @ 2023-07-18 20:55 UTC (permalink / raw)
  To: Svyatoslav Ryhel, Thierry Reding
  Cc: Dmitry Osipenko, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Pedro Ângelo, Matt Merhar, Zack Pearsall,
	linux-tegra

Hi,

On 14.07.23 17:00, Svyatoslav Ryhel wrote:
> пт, 14 лип. 2023 р. о 17:38 Thierry Reding <thierry.reding@gmail.com> пише:
>>
>> Hi everyone,
>>
>> I've been working on converting all Tegra-related device tree bindings
>> to json-schema so that eventually we can fully validate device tree
>> files. Getting all the bindings reviewed and merged has been slow, but
>> I have a local tree where pretty much all validation errors and warnings
>> have been fixed. The remaining warnings that I'm not sure how to resolve
>> are these:
>>
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-tilapia-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: compatible: ['panel-lvds'] is too short
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-E1565.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: compatible: ['panel-lvds'] is too short
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-asus-nexus7-grouper-PM269.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible:0: 'panel-lvds' is not one of ['auo,b101ew05', 'tbs,a711-panel']
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: compatible: ['panel-lvds'] is too short
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
>>     arch/arm/boot/dts/nvidia/tegra30-pegatron-chagall.dtb: display-panel: Unevaluated properties are not allowed ('compatible' was unexpected)
>>         from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
> 
> Hello Thierry! Pegatron Chagall uses a Hannstar similar to one used in
> ASUS TF201 but unfortunately it is not compatible with existing simple
> panel setup (blurry image if used). My assumption is that chagall as
> different revision of this panel like HSD101PWW3-B00 or
> HSD101PWW1-A00 which is more likely or panel is highly modified which
> is unlikely. I propose to use "hannstar,hsd101pww1" which is more wide
> spread.

perhaps we should check the EDID from Chagall before getting to
conclusions.

Best regards,
Maxim

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: LVDS panel compatible strings
  2023-07-17 13:25           ` Thierry Reding
@ 2023-07-22  1:26             ` Dmitry Osipenko
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Osipenko @ 2023-07-22  1:26 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Svyatoslav Ryhel, David Heidelberg, Raffaele Tranquillini,
	Ion Agorria, Maxim Schwalm, Pedro Ângelo, Matt Merhar,
	Zack Pearsall, linux-tegra

17.07.2023 16:25, Thierry Reding пишет:
> On Mon, Jul 17, 2023 at 11:50:03AM +0300, Dmitry Osipenko wrote:
>> 17.07.2023 10:16, Thierry Reding пишет:
>>> For cases where the timings are the only things that differ, the DT
>>> bindings allow overriding the timings specifically. So you might get
>>> away with using one of the existing panels if it is close enough and
>>> patch up the timings in DT.
>>
>> If panel-simple supported timings override from DT, then panel-lvds
>> indeed could be removed. But panel-simple doesn't support it:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a21f18a993c56566db94ba836684bc32c070a82c
> 
> I clearly didn't look at that patch closely enough. panel-simple has
> supported override modes since:
> 
> commit b8a2948fa2b3a5a6da67fd57aa01c7318d795125
> Author: Sean Paul <seanpaul@chromium.org>
> Date:   Thu Jul 11 13:34:53 2019 -0700
> 
>     drm/panel: simple: Add ability to override typical timing
>     
>     This patch adds the ability to override the typical display timing for a
>     given panel. This is useful for devices which have timing constraints
>     that do not apply across the entire display driver (eg: to avoid
>     crosstalk between panel and digitizer on certain laptops). The rules are
>     as follows:
>     
>     - panel must not specify fixed mode (since the override mode will
>       either be the same as the fixed mode, or we'll be unable to
>       check the bounds of the overried)
>     - panel must specify at least one display_timing range which will be
>       used to ensure the override mode fits within its bounds
>     
>     Changes in v2:
>      - Parse the full display-timings node (using the native-mode) (Rob)
>     Changes in v3:
>      - No longer parse display-timings subnode, use panel-timing (Rob)
>     Changes in v4:
>      - Don't add mode from timing if override was specified (Thierry)
>      - Add warning if timing and fixed mode was specified (Thierry)
>      - Don't add fixed mode if timing was specified (Thierry)
>      - Refactor/rename a bit to avoid extra indentation from "if" tests
>      - i should be unsigned (Thierry)
>      - Add annoying WARN_ONs for some cases (Thierry)
>      - Simplify 'No display_timing found' handling (Thierry)
>      - Rename to panel_simple_parse_override_mode() (Thierry)
>     Changes in v5:
>      - Added Heiko's Tested-by
>     Changes in v6:
>      - Rebased to drm-misc next
>      - Added tags
>     
>     Cc: Doug Anderson <dianders@chromium.org>
>     Cc: Eric Anholt <eric@anholt.net>
>     Cc: Heiko Stuebner <heiko@sntech.de>
>     Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
>     Cc: Rob Herring <robh+dt@kernel.org>
>     Cc: Stéphane Marchesin <marcheu@chromium.org>
>     Cc: Thierry Reding <thierry.reding@gmail.com>
>     Cc: devicetree@vger.kernel.org
>     Cc: dri-devel@lists.freedesktop.org
>     Signed-off-by: Sean Paul <seanpaul@chromium.org>
>     Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>     Signed-off-by: Douglas Anderson <dianders@chromium.org>
>     Tested-by: Heiko Stuebner <heiko@sntech.de>
>     Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
>     Acked-by: Thierry Reding <thierry.reding@gmail.com>
>     Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
>     Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-2-dianders@chromium.org
> 
> Looking at the error message cited in the linked commit, the problem is
> that the Chunghwa panel has a fixed mode listed in the driver. However I
> don't see a reason why we can't get rid of that. The only place where I
> can find the compatible string for that used is for the Nexus 7, so we
> should be able to replace the fixed mode with the timings for that panel
> and remove the fixed mode.
> 
> The initial Chunghwa panel driver support doesn't seem to have been
> based on the Nexus 7, so I suppose if we make the above change we could
> technically be breaking some setup out there, but since we have no way
> of knowing which device this was on, or if anybody still has access, the
> best we can do is hope that nothing breaks and fix things up if somebody
> complains.

Sounds good. For the Chunghwa there is no other user than N7 in upstream
kernel, nothing to worry about. Indeed, it should be timing ranges and
not the fixed mode.

For the Hydis panel there is no definition in panel-simple, it needs to
be added. It also should be in a form of timing ranges, though I don't
see ranges in the datasheet, not sure where to get them.



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-07-22  1:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-14 14:38 LVDS panel compatible strings Thierry Reding
2023-07-14 15:00 ` Svyatoslav Ryhel
2023-07-14 15:16   ` Thierry Reding
2023-07-14 15:57     ` Svyatoslav Ryhel
2023-07-17  7:16       ` Thierry Reding
2023-07-17  7:25         ` Svyatoslav Ryhel
2023-07-17  8:08         ` Svyatoslav Ryhel
2023-07-17  8:50         ` Dmitry Osipenko
2023-07-17 13:25           ` Thierry Reding
2023-07-22  1:26             ` Dmitry Osipenko
2023-07-18 20:55   ` Maxim Schwalm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.