All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] dt-bindings: Introduce dual-link panels & panel-vendors
@ 2023-01-24 10:12 ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Hi all,

Microtips Technology Solutions USA, and Lincoln Technology Solutions are
2 display panel vendors, and the first 2 patches add their vendor
prefixes.

The third patch introduces a dt-binding for generic dual-link LVDS
panels. These panels do not have any documented constraints, except for
their timing characteristics. Further, these panels have 2 pixel-sinks.
In a dual-link connection between an LVDS encoder and the panel, one
sink accepts the odd set of LVDS pixels and the other, the even set.

The fourth patch introduces driver support for the 'panel-dual-lvds'
in the panel-lvds driver, by adding the compatible.

A lot of this has been based from the Advantech,idk-2121wr dual-link
panel[1] and Maxime's patches for generic LVDS panels[2] (which are
single-link by default.) and the discussions that happened before they
were finally merged.

Thank you!

[1]: https://patchwork.freedesktop.org/patch/357122/
[2]: https://patchwork.freedesktop.org/patch/471228/

Changes in V2:
==============
  - Rebased to latest linux-next.
  - Made dt-binding syntax corrections in Patch 3/4, based on comments
    by Krzysztof Kozlowski and Laurent Pinchart.

V1: https://lore.kernel.org/all/20230103064615.5311-1-a-bhatia1@ti.com/

Aradhya Bhatia (4):
  dt-bindings: vendor-prefixes: Add microtips
  dt-bindings: vendor-prefixes: Add lincolntech
  dt-bindings: panel: Introduce dual-link LVDS panel
  drm: panel-lvds: Introduce dual-link panels

 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   4 +
 MAINTAINERS                                   |   1 +
 drivers/gpu/drm/panel/panel-lvds.c            |   1 +
 4 files changed, 155 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

-- 
2.39.0


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

* [PATCH v2 0/4] dt-bindings: Introduce dual-link panels & panel-vendors
@ 2023-01-24 10:12 ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: Nishanth Menon, Devicetree List, Jayesh Choudhary, Jai Luthra,
	Vignesh Raghavendra, Devarsh Thakkar, Linux Kernel List,
	DRI Development List, Aradhya Bhatia, Linux Mediatek List,
	Linux C-SKY Arch List, Linux RISC-V List, Linux ARM Kernel List,
	Rahul T R

Hi all,

Microtips Technology Solutions USA, and Lincoln Technology Solutions are
2 display panel vendors, and the first 2 patches add their vendor
prefixes.

The third patch introduces a dt-binding for generic dual-link LVDS
panels. These panels do not have any documented constraints, except for
their timing characteristics. Further, these panels have 2 pixel-sinks.
In a dual-link connection between an LVDS encoder and the panel, one
sink accepts the odd set of LVDS pixels and the other, the even set.

The fourth patch introduces driver support for the 'panel-dual-lvds'
in the panel-lvds driver, by adding the compatible.

A lot of this has been based from the Advantech,idk-2121wr dual-link
panel[1] and Maxime's patches for generic LVDS panels[2] (which are
single-link by default.) and the discussions that happened before they
were finally merged.

Thank you!

[1]: https://patchwork.freedesktop.org/patch/357122/
[2]: https://patchwork.freedesktop.org/patch/471228/

Changes in V2:
==============
  - Rebased to latest linux-next.
  - Made dt-binding syntax corrections in Patch 3/4, based on comments
    by Krzysztof Kozlowski and Laurent Pinchart.

V1: https://lore.kernel.org/all/20230103064615.5311-1-a-bhatia1@ti.com/

Aradhya Bhatia (4):
  dt-bindings: vendor-prefixes: Add microtips
  dt-bindings: vendor-prefixes: Add lincolntech
  dt-bindings: panel: Introduce dual-link LVDS panel
  drm: panel-lvds: Introduce dual-link panels

 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   4 +
 MAINTAINERS                                   |   1 +
 drivers/gpu/drm/panel/panel-lvds.c            |   1 +
 4 files changed, 155 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

-- 
2.39.0


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

* [PATCH v2 0/4] dt-bindings: Introduce dual-link panels & panel-vendors
@ 2023-01-24 10:12 ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Hi all,

Microtips Technology Solutions USA, and Lincoln Technology Solutions are
2 display panel vendors, and the first 2 patches add their vendor
prefixes.

The third patch introduces a dt-binding for generic dual-link LVDS
panels. These panels do not have any documented constraints, except for
their timing characteristics. Further, these panels have 2 pixel-sinks.
In a dual-link connection between an LVDS encoder and the panel, one
sink accepts the odd set of LVDS pixels and the other, the even set.

The fourth patch introduces driver support for the 'panel-dual-lvds'
in the panel-lvds driver, by adding the compatible.

A lot of this has been based from the Advantech,idk-2121wr dual-link
panel[1] and Maxime's patches for generic LVDS panels[2] (which are
single-link by default.) and the discussions that happened before they
were finally merged.

Thank you!

[1]: https://patchwork.freedesktop.org/patch/357122/
[2]: https://patchwork.freedesktop.org/patch/471228/

Changes in V2:
==============
  - Rebased to latest linux-next.
  - Made dt-binding syntax corrections in Patch 3/4, based on comments
    by Krzysztof Kozlowski and Laurent Pinchart.

V1: https://lore.kernel.org/all/20230103064615.5311-1-a-bhatia1@ti.com/

Aradhya Bhatia (4):
  dt-bindings: vendor-prefixes: Add microtips
  dt-bindings: vendor-prefixes: Add lincolntech
  dt-bindings: panel: Introduce dual-link LVDS panel
  drm: panel-lvds: Introduce dual-link panels

 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   4 +
 MAINTAINERS                                   |   1 +
 drivers/gpu/drm/panel/panel-lvds.c            |   1 +
 4 files changed, 155 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

-- 
2.39.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v2 0/4] dt-bindings: Introduce dual-link panels & panel-vendors
@ 2023-01-24 10:12 ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Hi all,

Microtips Technology Solutions USA, and Lincoln Technology Solutions are
2 display panel vendors, and the first 2 patches add their vendor
prefixes.

The third patch introduces a dt-binding for generic dual-link LVDS
panels. These panels do not have any documented constraints, except for
their timing characteristics. Further, these panels have 2 pixel-sinks.
In a dual-link connection between an LVDS encoder and the panel, one
sink accepts the odd set of LVDS pixels and the other, the even set.

The fourth patch introduces driver support for the 'panel-dual-lvds'
in the panel-lvds driver, by adding the compatible.

A lot of this has been based from the Advantech,idk-2121wr dual-link
panel[1] and Maxime's patches for generic LVDS panels[2] (which are
single-link by default.) and the discussions that happened before they
were finally merged.

Thank you!

[1]: https://patchwork.freedesktop.org/patch/357122/
[2]: https://patchwork.freedesktop.org/patch/471228/

Changes in V2:
==============
  - Rebased to latest linux-next.
  - Made dt-binding syntax corrections in Patch 3/4, based on comments
    by Krzysztof Kozlowski and Laurent Pinchart.

V1: https://lore.kernel.org/all/20230103064615.5311-1-a-bhatia1@ti.com/

Aradhya Bhatia (4):
  dt-bindings: vendor-prefixes: Add microtips
  dt-bindings: vendor-prefixes: Add lincolntech
  dt-bindings: panel: Introduce dual-link LVDS panel
  drm: panel-lvds: Introduce dual-link panels

 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |   4 +
 MAINTAINERS                                   |   1 +
 drivers/gpu/drm/panel/panel-lvds.c            |   1 +
 4 files changed, 155 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

-- 
2.39.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add microtips
  2023-01-24 10:12 ` Aradhya Bhatia
  (?)
  (?)
@ 2023-01-24 10:12   ` Aradhya Bhatia
  -1 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Microtips Technology USA (microtips).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ce00135fd6d0..169a3d4210bb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -833,6 +833,8 @@ patternProperties:
     description: Microsoft Corporation
   "^microsys,.*":
     description: MicroSys Electronics GmbH
+  "^microtips,.*":
+    description: Microtips Technology USA
   "^mikroe,.*":
     description: MikroElektronika d.o.o.
   "^mikrotik,.*":
-- 
2.39.0


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

* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add microtips
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Microtips Technology USA (microtips).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ce00135fd6d0..169a3d4210bb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -833,6 +833,8 @@ patternProperties:
     description: Microsoft Corporation
   "^microsys,.*":
     description: MicroSys Electronics GmbH
+  "^microtips,.*":
+    description: Microtips Technology USA
   "^mikroe,.*":
     description: MikroElektronika d.o.o.
   "^mikrotik,.*":
-- 
2.39.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add microtips
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: Nishanth Menon, Devicetree List, Jayesh Choudhary, Jai Luthra,
	Vignesh Raghavendra, Devarsh Thakkar, Linux Kernel List,
	DRI Development List, Aradhya Bhatia, Linux Mediatek List,
	Linux C-SKY Arch List, Linux RISC-V List, Linux ARM Kernel List,
	Rahul T R

Add document vendor prefix for Microtips Technology USA (microtips).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ce00135fd6d0..169a3d4210bb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -833,6 +833,8 @@ patternProperties:
     description: Microsoft Corporation
   "^microsys,.*":
     description: MicroSys Electronics GmbH
+  "^microtips,.*":
+    description: Microtips Technology USA
   "^mikroe,.*":
     description: MikroElektronika d.o.o.
   "^mikrotik,.*":
-- 
2.39.0


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

* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add microtips
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Microtips Technology USA (microtips).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index ce00135fd6d0..169a3d4210bb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -833,6 +833,8 @@ patternProperties:
     description: Microsoft Corporation
   "^microsys,.*":
     description: MicroSys Electronics GmbH
+  "^microtips,.*":
+    description: Microtips Technology USA
   "^mikroe,.*":
     description: MikroElektronika d.o.o.
   "^mikrotik,.*":
-- 
2.39.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 2/4] dt-bindings: vendor-prefixes: Add lincolntech
  2023-01-24 10:12 ` Aradhya Bhatia
  (?)
  (?)
@ 2023-01-24 10:12   ` Aradhya Bhatia
  -1 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Lincoln Technology Solutions
(lincolntech).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 169a3d4210bb..347459dc5d1b 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -737,6 +737,8 @@ patternProperties:
     description: Lichee Pi
   "^linaro,.*":
     description: Linaro Limited
+  "^lincolntech,.*":
+    description: Lincoln Technology Solutions
   "^lineartechnology,.*":
     description: Linear Technology
   "^linksprite,.*":
-- 
2.39.0


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

* [PATCH v2 2/4] dt-bindings: vendor-prefixes: Add lincolntech
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Lincoln Technology Solutions
(lincolntech).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 169a3d4210bb..347459dc5d1b 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -737,6 +737,8 @@ patternProperties:
     description: Lichee Pi
   "^linaro,.*":
     description: Linaro Limited
+  "^lincolntech,.*":
+    description: Lincoln Technology Solutions
   "^lineartechnology,.*":
     description: Linear Technology
   "^linksprite,.*":
-- 
2.39.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v2 2/4] dt-bindings: vendor-prefixes: Add lincolntech
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: Nishanth Menon, Devicetree List, Jayesh Choudhary, Jai Luthra,
	Vignesh Raghavendra, Devarsh Thakkar, Linux Kernel List,
	DRI Development List, Aradhya Bhatia, Linux Mediatek List,
	Linux C-SKY Arch List, Linux RISC-V List, Linux ARM Kernel List,
	Rahul T R

Add document vendor prefix for Lincoln Technology Solutions
(lincolntech).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 169a3d4210bb..347459dc5d1b 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -737,6 +737,8 @@ patternProperties:
     description: Lichee Pi
   "^linaro,.*":
     description: Linaro Limited
+  "^lincolntech,.*":
+    description: Lincoln Technology Solutions
   "^lineartechnology,.*":
     description: Linear Technology
   "^linksprite,.*":
-- 
2.39.0


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

* [PATCH v2 2/4] dt-bindings: vendor-prefixes: Add lincolntech
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add document vendor prefix for Lincoln Technology Solutions
(lincolntech).

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 169a3d4210bb..347459dc5d1b 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -737,6 +737,8 @@ patternProperties:
     description: Lichee Pi
   "^linaro,.*":
     description: Linaro Limited
+  "^lincolntech,.*":
+    description: Lincoln Technology Solutions
   "^lineartechnology,.*":
     description: Linear Technology
   "^linksprite,.*":
-- 
2.39.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
  2023-01-24 10:12 ` Aradhya Bhatia
  (?)
  (?)
@ 2023-01-24 10:12   ` Aradhya Bhatia
  -1 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Add a new compatible, "panel-dual-lvds", and a dt-binding document for
these panels.

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 150 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
new file mode 100644
index 000000000000..e2ce1768e9a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic Dual-Link LVDS Display Panel
+
+maintainers:
+  - Aradhya Bhatia <a-bhatia1@ti.com>
+  - Thierry Reding <thierry.reding@gmail.com>
+
+description: |
+  A dual-LVDS interface is a dual-link connection with the even pixels
+  traveling on one link, and the odd pixels traveling on the other.
+
+allOf:
+  - $ref: panel-common.yaml#
+  - $ref: /schemas/display/lvds.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - lincolntech,lcd185-101ct
+          - microtips,mf-101hiebcaf0
+      - const: panel-dual-lvds
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for first set of LVDS pixels.
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+
+          dual-lvds-even-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for second set of LVDS pixels.
+
+        properties:
+          dual-lvds-even-pixels:
+            type: boolean
+
+          dual-lvds-odd-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-even-pixels]
+          - required: [dual-lvds-odd-pixels]
+
+    allOf:
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-odd-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-odd-pixels: false
+
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-even-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-even-pixels: false
+
+    required:
+      - port@0
+      - port@1
+
+  port: false
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - width-mm
+  - height-mm
+  - data-mapping
+  - panel-timing
+  - ports
+
+examples:
+  - |
+    panel {
+      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
+
+      width-mm = <217>;
+      height-mm = <136>;
+
+      data-mapping = "vesa-24";
+
+      panel-timing {
+        clock-frequency = <150275000>;
+        hactive = <1920>;
+        vactive = <1200>;
+        hfront-porch = <32>;
+        hsync-len = <52>;
+        hback-porch = <24>;
+        vfront-porch = <24>;
+        vsync-len = <8>;
+        vback-porch = <3>;
+        de-active = <1>;
+      };
+
+      ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+          reg = <0>;
+          dual-lvds-odd-pixels;
+          lcd_in0: endpoint {
+            remote-endpoint = <&oldi_out0>;
+          };
+        };
+
+        port@1 {
+          reg = <1>;
+          dual-lvds-even-pixels;
+          lcd_in1: endpoint {
+            remote-endpoint = <&oldi_out1>;
+          };
+        };
+      };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 5e18388b4579..6025bb024586 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
 S:	Maintained
 F:	drivers/gpu/drm/panel/panel-lvds.c
 F:	Documentation/devicetree/bindings/display/lvds.yaml
+F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
 F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
 
 DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
-- 
2.39.0


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

* [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: Nishanth Menon, Devicetree List, Jayesh Choudhary, Jai Luthra,
	Vignesh Raghavendra, Devarsh Thakkar, Linux Kernel List,
	DRI Development List, Aradhya Bhatia, Linux Mediatek List,
	Linux C-SKY Arch List, Linux RISC-V List, Linux ARM Kernel List,
	Rahul T R

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Add a new compatible, "panel-dual-lvds", and a dt-binding document for
these panels.

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 150 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
new file mode 100644
index 000000000000..e2ce1768e9a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic Dual-Link LVDS Display Panel
+
+maintainers:
+  - Aradhya Bhatia <a-bhatia1@ti.com>
+  - Thierry Reding <thierry.reding@gmail.com>
+
+description: |
+  A dual-LVDS interface is a dual-link connection with the even pixels
+  traveling on one link, and the odd pixels traveling on the other.
+
+allOf:
+  - $ref: panel-common.yaml#
+  - $ref: /schemas/display/lvds.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - lincolntech,lcd185-101ct
+          - microtips,mf-101hiebcaf0
+      - const: panel-dual-lvds
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for first set of LVDS pixels.
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+
+          dual-lvds-even-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for second set of LVDS pixels.
+
+        properties:
+          dual-lvds-even-pixels:
+            type: boolean
+
+          dual-lvds-odd-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-even-pixels]
+          - required: [dual-lvds-odd-pixels]
+
+    allOf:
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-odd-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-odd-pixels: false
+
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-even-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-even-pixels: false
+
+    required:
+      - port@0
+      - port@1
+
+  port: false
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - width-mm
+  - height-mm
+  - data-mapping
+  - panel-timing
+  - ports
+
+examples:
+  - |
+    panel {
+      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
+
+      width-mm = <217>;
+      height-mm = <136>;
+
+      data-mapping = "vesa-24";
+
+      panel-timing {
+        clock-frequency = <150275000>;
+        hactive = <1920>;
+        vactive = <1200>;
+        hfront-porch = <32>;
+        hsync-len = <52>;
+        hback-porch = <24>;
+        vfront-porch = <24>;
+        vsync-len = <8>;
+        vback-porch = <3>;
+        de-active = <1>;
+      };
+
+      ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+          reg = <0>;
+          dual-lvds-odd-pixels;
+          lcd_in0: endpoint {
+            remote-endpoint = <&oldi_out0>;
+          };
+        };
+
+        port@1 {
+          reg = <1>;
+          dual-lvds-even-pixels;
+          lcd_in1: endpoint {
+            remote-endpoint = <&oldi_out1>;
+          };
+        };
+      };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 5e18388b4579..6025bb024586 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
 S:	Maintained
 F:	drivers/gpu/drm/panel/panel-lvds.c
 F:	Documentation/devicetree/bindings/display/lvds.yaml
+F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
 F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
 
 DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
-- 
2.39.0


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

* [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Add a new compatible, "panel-dual-lvds", and a dt-binding document for
these panels.

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 150 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
new file mode 100644
index 000000000000..e2ce1768e9a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic Dual-Link LVDS Display Panel
+
+maintainers:
+  - Aradhya Bhatia <a-bhatia1@ti.com>
+  - Thierry Reding <thierry.reding@gmail.com>
+
+description: |
+  A dual-LVDS interface is a dual-link connection with the even pixels
+  traveling on one link, and the odd pixels traveling on the other.
+
+allOf:
+  - $ref: panel-common.yaml#
+  - $ref: /schemas/display/lvds.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - lincolntech,lcd185-101ct
+          - microtips,mf-101hiebcaf0
+      - const: panel-dual-lvds
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for first set of LVDS pixels.
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+
+          dual-lvds-even-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for second set of LVDS pixels.
+
+        properties:
+          dual-lvds-even-pixels:
+            type: boolean
+
+          dual-lvds-odd-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-even-pixels]
+          - required: [dual-lvds-odd-pixels]
+
+    allOf:
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-odd-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-odd-pixels: false
+
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-even-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-even-pixels: false
+
+    required:
+      - port@0
+      - port@1
+
+  port: false
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - width-mm
+  - height-mm
+  - data-mapping
+  - panel-timing
+  - ports
+
+examples:
+  - |
+    panel {
+      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
+
+      width-mm = <217>;
+      height-mm = <136>;
+
+      data-mapping = "vesa-24";
+
+      panel-timing {
+        clock-frequency = <150275000>;
+        hactive = <1920>;
+        vactive = <1200>;
+        hfront-porch = <32>;
+        hsync-len = <52>;
+        hback-porch = <24>;
+        vfront-porch = <24>;
+        vsync-len = <8>;
+        vback-porch = <3>;
+        de-active = <1>;
+      };
+
+      ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+          reg = <0>;
+          dual-lvds-odd-pixels;
+          lcd_in0: endpoint {
+            remote-endpoint = <&oldi_out0>;
+          };
+        };
+
+        port@1 {
+          reg = <1>;
+          dual-lvds-even-pixels;
+          lcd_in1: endpoint {
+            remote-endpoint = <&oldi_out1>;
+          };
+        };
+      };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 5e18388b4579..6025bb024586 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
 S:	Maintained
 F:	drivers/gpu/drm/panel/panel-lvds.c
 F:	Documentation/devicetree/bindings/display/lvds.yaml
+F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
 F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
 
 DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
-- 
2.39.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Add a new compatible, "panel-dual-lvds", and a dt-binding document for
these panels.

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 150 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml

diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
new file mode 100644
index 000000000000..e2ce1768e9a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
@@ -0,0 +1,149 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic Dual-Link LVDS Display Panel
+
+maintainers:
+  - Aradhya Bhatia <a-bhatia1@ti.com>
+  - Thierry Reding <thierry.reding@gmail.com>
+
+description: |
+  A dual-LVDS interface is a dual-link connection with the even pixels
+  traveling on one link, and the odd pixels traveling on the other.
+
+allOf:
+  - $ref: panel-common.yaml#
+  - $ref: /schemas/display/lvds.yaml#
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - lincolntech,lcd185-101ct
+          - microtips,mf-101hiebcaf0
+      - const: panel-dual-lvds
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for first set of LVDS pixels.
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+
+          dual-lvds-even-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: The sink for second set of LVDS pixels.
+
+        properties:
+          dual-lvds-even-pixels:
+            type: boolean
+
+          dual-lvds-odd-pixels:
+            type: boolean
+
+        oneOf:
+          - required: [dual-lvds-even-pixels]
+          - required: [dual-lvds-odd-pixels]
+
+    allOf:
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-odd-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-odd-pixels: false
+
+      - if:
+          properties:
+            port@0:
+              required:
+                - dual-lvds-even-pixels
+        then:
+          properties:
+            port@1:
+              properties:
+                dual-lvds-even-pixels: false
+
+    required:
+      - port@0
+      - port@1
+
+  port: false
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - width-mm
+  - height-mm
+  - data-mapping
+  - panel-timing
+  - ports
+
+examples:
+  - |
+    panel {
+      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
+
+      width-mm = <217>;
+      height-mm = <136>;
+
+      data-mapping = "vesa-24";
+
+      panel-timing {
+        clock-frequency = <150275000>;
+        hactive = <1920>;
+        vactive = <1200>;
+        hfront-porch = <32>;
+        hsync-len = <52>;
+        hback-porch = <24>;
+        vfront-porch = <24>;
+        vsync-len = <8>;
+        vback-porch = <3>;
+        de-active = <1>;
+      };
+
+      ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+          reg = <0>;
+          dual-lvds-odd-pixels;
+          lcd_in0: endpoint {
+            remote-endpoint = <&oldi_out0>;
+          };
+        };
+
+        port@1 {
+          reg = <1>;
+          dual-lvds-even-pixels;
+          lcd_in1: endpoint {
+            remote-endpoint = <&oldi_out1>;
+          };
+        };
+      };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 5e18388b4579..6025bb024586 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
 S:	Maintained
 F:	drivers/gpu/drm/panel/panel-lvds.c
 F:	Documentation/devicetree/bindings/display/lvds.yaml
+F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
 F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
 
 DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
-- 
2.39.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 4/4] drm: panel-lvds: Introduce dual-link panels
  2023-01-24 10:12 ` Aradhya Bhatia
  (?)
  (?)
@ 2023-01-24 10:12   ` Aradhya Bhatia
  -1 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add a new compatible, "panel-dual-lvds".

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 drivers/gpu/drm/panel/panel-lvds.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index de8758c30e6e..bf6f84af0730 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -241,6 +241,7 @@ static int panel_lvds_remove(struct platform_device *pdev)
 
 static const struct of_device_id panel_lvds_of_table[] = {
 	{ .compatible = "panel-lvds", },
+	{ .compatible = "panel-dual-lvds", },
 	{ /* Sentinel */ },
 };
 
-- 
2.39.0


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

* [PATCH v2 4/4] drm: panel-lvds: Introduce dual-link panels
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add a new compatible, "panel-dual-lvds".

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 drivers/gpu/drm/panel/panel-lvds.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index de8758c30e6e..bf6f84af0730 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -241,6 +241,7 @@ static int panel_lvds_remove(struct platform_device *pdev)
 
 static const struct of_device_id panel_lvds_of_table[] = {
 	{ .compatible = "panel-lvds", },
+	{ .compatible = "panel-dual-lvds", },
 	{ /* Sentinel */ },
 };
 
-- 
2.39.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v2 4/4] drm: panel-lvds: Introduce dual-link panels
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: Nishanth Menon, Devicetree List, Jayesh Choudhary, Jai Luthra,
	Vignesh Raghavendra, Devarsh Thakkar, Linux Kernel List,
	DRI Development List, Aradhya Bhatia, Linux Mediatek List,
	Linux C-SKY Arch List, Linux RISC-V List, Linux ARM Kernel List,
	Rahul T R

Add a new compatible, "panel-dual-lvds".

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 drivers/gpu/drm/panel/panel-lvds.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index de8758c30e6e..bf6f84af0730 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -241,6 +241,7 @@ static int panel_lvds_remove(struct platform_device *pdev)
 
 static const struct of_device_id panel_lvds_of_table[] = {
 	{ .compatible = "panel-lvds", },
+	{ .compatible = "panel-dual-lvds", },
 	{ /* Sentinel */ },
 };
 
-- 
2.39.0


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

* [PATCH v2 4/4] drm: panel-lvds: Introduce dual-link panels
@ 2023-01-24 10:12   ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-01-24 10:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha,
	David Airlie, Daniel Vetter, Laurent Pinchart, Thierry Reding,
	Sam Ravnborg, Maxime Ripard, Liam Girdwood, Mark Brown,
	Lad Prabhakar, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Matthias Brugger, Guo Ren
  Cc: DRI Development List, Devicetree List, Linux Kernel List,
	Linux RISC-V List, Linux ARM Kernel List, Linux Mediatek List,
	Linux C-SKY Arch List, Nishanth Menon, Vignesh Raghavendra,
	Rahul T R, Devarsh Thakkar, Jai Luthra, Jayesh Choudhary,
	Aradhya Bhatia

Add a new compatible, "panel-dual-lvds".

Dual-link LVDS interfaces have 2 links, with even pixels traveling on
one link, and odd pixels on the other. These panels are also generic in
nature, with no documented constraints, much like their single-link
counterparts, "panel-lvds".

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
 drivers/gpu/drm/panel/panel-lvds.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index de8758c30e6e..bf6f84af0730 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -241,6 +241,7 @@ static int panel_lvds_remove(struct platform_device *pdev)
 
 static const struct of_device_id panel_lvds_of_table[] = {
 	{ .compatible = "panel-lvds", },
+	{ .compatible = "panel-dual-lvds", },
 	{ /* Sentinel */ },
 };
 
-- 
2.39.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
  2023-01-24 10:12   ` Aradhya Bhatia
  (?)
  (?)
@ 2023-01-30 17:04     ` Rob Herring
  -1 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2023-01-30 17:04 UTC (permalink / raw)
  To: Aradhya Bhatia
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
> one link, and odd pixels on the other. These panels are also generic in
> nature, with no documented constraints, much like their single-link
> counterparts, "panel-lvds".
> 
> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
> these panels.
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>  .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 150 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> new file mode 100644
> index 000000000000..e2ce1768e9a3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> @@ -0,0 +1,149 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic Dual-Link LVDS Display Panel
> +
> +maintainers:
> +  - Aradhya Bhatia <a-bhatia1@ti.com>
> +  - Thierry Reding <thierry.reding@gmail.com>
> +
> +description: |
> +  A dual-LVDS interface is a dual-link connection with the even pixels
> +  traveling on one link, and the odd pixels traveling on the other.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +  - $ref: /schemas/display/lvds.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - lincolntech,lcd185-101ct
> +          - microtips,mf-101hiebcaf0
> +      - const: panel-dual-lvds

Why do we need a new compatible? You have ports and properties to see if 
the panel is dual link.

We already have dual link LVDS supported in advantech,idk-2121wr.yaml 
which says is compatible with 'panel-lvds', so that decision has already 
been made. The hint was you added the compatible match to the driver 
with 0 other changes needed.

That schema is missing type definitions and constraints for 
dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some 
changes to add those.

> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for first set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for second set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-even-pixels]
> +          - required: [dual-lvds-odd-pixels]
> +
> +    allOf:
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-odd-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-odd-pixels: false
> +
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-even-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-even-pixels: false
> +
> +    required:
> +      - port@0
> +      - port@1
> +
> +  port: false
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - width-mm
> +  - height-mm
> +  - data-mapping
> +  - panel-timing
> +  - ports
> +
> +examples:
> +  - |
> +    panel {
> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
> +
> +      width-mm = <217>;
> +      height-mm = <136>;
> +
> +      data-mapping = "vesa-24";
> +
> +      panel-timing {
> +        clock-frequency = <150275000>;
> +        hactive = <1920>;
> +        vactive = <1200>;
> +        hfront-porch = <32>;
> +        hsync-len = <52>;
> +        hback-porch = <24>;
> +        vfront-porch = <24>;
> +        vsync-len = <8>;
> +        vback-porch = <3>;
> +        de-active = <1>;
> +      };
> +
> +      ports {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        port@0 {
> +          reg = <0>;
> +          dual-lvds-odd-pixels;
> +          lcd_in0: endpoint {
> +            remote-endpoint = <&oldi_out0>;
> +          };
> +        };
> +
> +        port@1 {
> +          reg = <1>;
> +          dual-lvds-even-pixels;
> +          lcd_in1: endpoint {
> +            remote-endpoint = <&oldi_out1>;
> +          };
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5e18388b4579..6025bb024586 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>  S:	Maintained
>  F:	drivers/gpu/drm/panel/panel-lvds.c
>  F:	Documentation/devicetree/bindings/display/lvds.yaml
> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>  F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>  
>  DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
> -- 
> 2.39.0
> 

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-30 17:04     ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2023-01-30 17:04 UTC (permalink / raw)
  To: Aradhya Bhatia
  Cc: Nishanth Menon, Vignesh Raghavendra, Devarsh Thakkar,
	DRI Development List, Linux Kernel List, Thierry Reding, Guo Ren,
	Laurent Pinchart, Krzysztof Kozlowski, Linux RISC-V List,
	Sam Ravnborg, Linux C-SKY Arch List, Devicetree List, Albert Ou,
	Jai Luthra, Rahul T R, Lad Prabhakar, Mark Brown,
	Linux Mediatek List, Maxime Ripard, Paul Walmsley,
	Matthias Brugger, Linux ARM Kernel List, Jayesh Choudhary,
	Tomi Valkeinen, Liam Girdwood, Palmer Dabbelt, Jyri Sarha

On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
> one link, and odd pixels on the other. These panels are also generic in
> nature, with no documented constraints, much like their single-link
> counterparts, "panel-lvds".
> 
> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
> these panels.
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>  .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 150 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> new file mode 100644
> index 000000000000..e2ce1768e9a3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> @@ -0,0 +1,149 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic Dual-Link LVDS Display Panel
> +
> +maintainers:
> +  - Aradhya Bhatia <a-bhatia1@ti.com>
> +  - Thierry Reding <thierry.reding@gmail.com>
> +
> +description: |
> +  A dual-LVDS interface is a dual-link connection with the even pixels
> +  traveling on one link, and the odd pixels traveling on the other.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +  - $ref: /schemas/display/lvds.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - lincolntech,lcd185-101ct
> +          - microtips,mf-101hiebcaf0
> +      - const: panel-dual-lvds

Why do we need a new compatible? You have ports and properties to see if 
the panel is dual link.

We already have dual link LVDS supported in advantech,idk-2121wr.yaml 
which says is compatible with 'panel-lvds', so that decision has already 
been made. The hint was you added the compatible match to the driver 
with 0 other changes needed.

That schema is missing type definitions and constraints for 
dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some 
changes to add those.

> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for first set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for second set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-even-pixels]
> +          - required: [dual-lvds-odd-pixels]
> +
> +    allOf:
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-odd-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-odd-pixels: false
> +
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-even-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-even-pixels: false
> +
> +    required:
> +      - port@0
> +      - port@1
> +
> +  port: false
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - width-mm
> +  - height-mm
> +  - data-mapping
> +  - panel-timing
> +  - ports
> +
> +examples:
> +  - |
> +    panel {
> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
> +
> +      width-mm = <217>;
> +      height-mm = <136>;
> +
> +      data-mapping = "vesa-24";
> +
> +      panel-timing {
> +        clock-frequency = <150275000>;
> +        hactive = <1920>;
> +        vactive = <1200>;
> +        hfront-porch = <32>;
> +        hsync-len = <52>;
> +        hback-porch = <24>;
> +        vfront-porch = <24>;
> +        vsync-len = <8>;
> +        vback-porch = <3>;
> +        de-active = <1>;
> +      };
> +
> +      ports {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        port@0 {
> +          reg = <0>;
> +          dual-lvds-odd-pixels;
> +          lcd_in0: endpoint {
> +            remote-endpoint = <&oldi_out0>;
> +          };
> +        };
> +
> +        port@1 {
> +          reg = <1>;
> +          dual-lvds-even-pixels;
> +          lcd_in1: endpoint {
> +            remote-endpoint = <&oldi_out1>;
> +          };
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5e18388b4579..6025bb024586 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>  S:	Maintained
>  F:	drivers/gpu/drm/panel/panel-lvds.c
>  F:	Documentation/devicetree/bindings/display/lvds.yaml
> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>  F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>  
>  DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
> -- 
> 2.39.0
> 

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-30 17:04     ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2023-01-30 17:04 UTC (permalink / raw)
  To: Aradhya Bhatia
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
> one link, and odd pixels on the other. These panels are also generic in
> nature, with no documented constraints, much like their single-link
> counterparts, "panel-lvds".
> 
> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
> these panels.
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>  .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 150 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> new file mode 100644
> index 000000000000..e2ce1768e9a3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> @@ -0,0 +1,149 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic Dual-Link LVDS Display Panel
> +
> +maintainers:
> +  - Aradhya Bhatia <a-bhatia1@ti.com>
> +  - Thierry Reding <thierry.reding@gmail.com>
> +
> +description: |
> +  A dual-LVDS interface is a dual-link connection with the even pixels
> +  traveling on one link, and the odd pixels traveling on the other.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +  - $ref: /schemas/display/lvds.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - lincolntech,lcd185-101ct
> +          - microtips,mf-101hiebcaf0
> +      - const: panel-dual-lvds

Why do we need a new compatible? You have ports and properties to see if 
the panel is dual link.

We already have dual link LVDS supported in advantech,idk-2121wr.yaml 
which says is compatible with 'panel-lvds', so that decision has already 
been made. The hint was you added the compatible match to the driver 
with 0 other changes needed.

That schema is missing type definitions and constraints for 
dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some 
changes to add those.

> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for first set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for second set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-even-pixels]
> +          - required: [dual-lvds-odd-pixels]
> +
> +    allOf:
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-odd-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-odd-pixels: false
> +
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-even-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-even-pixels: false
> +
> +    required:
> +      - port@0
> +      - port@1
> +
> +  port: false
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - width-mm
> +  - height-mm
> +  - data-mapping
> +  - panel-timing
> +  - ports
> +
> +examples:
> +  - |
> +    panel {
> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
> +
> +      width-mm = <217>;
> +      height-mm = <136>;
> +
> +      data-mapping = "vesa-24";
> +
> +      panel-timing {
> +        clock-frequency = <150275000>;
> +        hactive = <1920>;
> +        vactive = <1200>;
> +        hfront-porch = <32>;
> +        hsync-len = <52>;
> +        hback-porch = <24>;
> +        vfront-porch = <24>;
> +        vsync-len = <8>;
> +        vback-porch = <3>;
> +        de-active = <1>;
> +      };
> +
> +      ports {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        port@0 {
> +          reg = <0>;
> +          dual-lvds-odd-pixels;
> +          lcd_in0: endpoint {
> +            remote-endpoint = <&oldi_out0>;
> +          };
> +        };
> +
> +        port@1 {
> +          reg = <1>;
> +          dual-lvds-even-pixels;
> +          lcd_in1: endpoint {
> +            remote-endpoint = <&oldi_out1>;
> +          };
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5e18388b4579..6025bb024586 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>  S:	Maintained
>  F:	drivers/gpu/drm/panel/panel-lvds.c
>  F:	Documentation/devicetree/bindings/display/lvds.yaml
> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>  F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>  
>  DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
> -- 
> 2.39.0
> 

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-01-30 17:04     ` Rob Herring
  0 siblings, 0 replies; 28+ messages in thread
From: Rob Herring @ 2023-01-30 17:04 UTC (permalink / raw)
  To: Aradhya Bhatia
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
> one link, and odd pixels on the other. These panels are also generic in
> nature, with no documented constraints, much like their single-link
> counterparts, "panel-lvds".
> 
> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
> these panels.
> 
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
>  .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>  MAINTAINERS                                   |   1 +
>  2 files changed, 150 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> new file mode 100644
> index 000000000000..e2ce1768e9a3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
> @@ -0,0 +1,149 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic Dual-Link LVDS Display Panel
> +
> +maintainers:
> +  - Aradhya Bhatia <a-bhatia1@ti.com>
> +  - Thierry Reding <thierry.reding@gmail.com>
> +
> +description: |
> +  A dual-LVDS interface is a dual-link connection with the even pixels
> +  traveling on one link, and the odd pixels traveling on the other.
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +  - $ref: /schemas/display/lvds.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - lincolntech,lcd185-101ct
> +          - microtips,mf-101hiebcaf0
> +      - const: panel-dual-lvds

Why do we need a new compatible? You have ports and properties to see if 
the panel is dual link.

We already have dual link LVDS supported in advantech,idk-2121wr.yaml 
which says is compatible with 'panel-lvds', so that decision has already 
been made. The hint was you added the compatible match to the driver 
with 0 other changes needed.

That schema is missing type definitions and constraints for 
dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some 
changes to add those.

> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for first set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: The sink for second set of LVDS pixels.
> +
> +        properties:
> +          dual-lvds-even-pixels:
> +            type: boolean
> +
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +
> +        oneOf:
> +          - required: [dual-lvds-even-pixels]
> +          - required: [dual-lvds-odd-pixels]
> +
> +    allOf:
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-odd-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-odd-pixels: false
> +
> +      - if:
> +          properties:
> +            port@0:
> +              required:
> +                - dual-lvds-even-pixels
> +        then:
> +          properties:
> +            port@1:
> +              properties:
> +                dual-lvds-even-pixels: false
> +
> +    required:
> +      - port@0
> +      - port@1
> +
> +  port: false
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - width-mm
> +  - height-mm
> +  - data-mapping
> +  - panel-timing
> +  - ports
> +
> +examples:
> +  - |
> +    panel {
> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
> +
> +      width-mm = <217>;
> +      height-mm = <136>;
> +
> +      data-mapping = "vesa-24";
> +
> +      panel-timing {
> +        clock-frequency = <150275000>;
> +        hactive = <1920>;
> +        vactive = <1200>;
> +        hfront-porch = <32>;
> +        hsync-len = <52>;
> +        hback-porch = <24>;
> +        vfront-porch = <24>;
> +        vsync-len = <8>;
> +        vback-porch = <3>;
> +        de-active = <1>;
> +      };
> +
> +      ports {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        port@0 {
> +          reg = <0>;
> +          dual-lvds-odd-pixels;
> +          lcd_in0: endpoint {
> +            remote-endpoint = <&oldi_out0>;
> +          };
> +        };
> +
> +        port@1 {
> +          reg = <1>;
> +          dual-lvds-even-pixels;
> +          lcd_in1: endpoint {
> +            remote-endpoint = <&oldi_out1>;
> +          };
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5e18388b4579..6025bb024586 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>  S:	Maintained
>  F:	drivers/gpu/drm/panel/panel-lvds.c
>  F:	Documentation/devicetree/bindings/display/lvds.yaml
> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>  F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>  
>  DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
> -- 
> 2.39.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
  2023-01-30 17:04     ` Rob Herring
  (?)
  (?)
@ 2023-02-03  6:21       ` Aradhya Bhatia
  -1 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-02-03  6:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Nishanth Menon, Vignesh Raghavendra, Devarsh Thakkar,
	DRI Development List, Linux Kernel List, Thierry Reding, Guo Ren,
	Laurent Pinchart, Krzysztof Kozlowski, Linux RISC-V List,
	Sam Ravnborg, Linux C-SKY Arch List, Devicetree List, Albert Ou,
	Jai Luthra, Rahul T R, Lad Prabhakar, Mark Brown,
	Linux Mediatek List, Maxime Ripard, Paul Walmsley,
	Matthias Brugger, Linux ARM Kernel List, Jayesh Choudhary,
	Tomi Valkeinen, Liam Girdwood, Palmer Dabbelt, Jyri Sarha

Hi Rob,

On 30-Jan-23 22:34, Rob Herring wrote:
> On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
>> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
>> one link, and odd pixels on the other. These panels are also generic in
>> nature, with no documented constraints, much like their single-link
>> counterparts, "panel-lvds".
>>
>> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
>> these panels.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> ---
>>   .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>>   MAINTAINERS                                   |   1 +
>>   2 files changed, 150 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> new file mode 100644
>> index 000000000000..e2ce1768e9a3
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> @@ -0,0 +1,149 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic Dual-Link LVDS Display Panel
>> +
>> +maintainers:
>> +  - Aradhya Bhatia <a-bhatia1@ti.com>
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +
>> +description: |
>> +  A dual-LVDS interface is a dual-link connection with the even pixels
>> +  traveling on one link, and the odd pixels traveling on the other.
>> +
>> +allOf:
>> +  - $ref: panel-common.yaml#
>> +  - $ref: /schemas/display/lvds.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - lincolntech,lcd185-101ct
>> +          - microtips,mf-101hiebcaf0
>> +      - const: panel-dual-lvds
> 
> Why do we need a new compatible? You have ports and properties to see if
> the panel is dual link.

Do you mean to say that we can have a generic dual-link panel
dt-binding, which will allow others to add their own dual-link panel
compatibles, but instead with the mandatory compatible "panel-lvds"?

> 
> We already have dual link LVDS supported in advantech,idk-2121wr.yaml
> which says is compatible with 'panel-lvds', so that decision has already
> been made. The hint was you added the compatible match to the driver
> with 0 other changes needed.
> 

The code which represents the HW difference between the 2 types of
panels was merged in drm/drm_of.c along with the advantech binding.

And a dual-link panel can still be made to work as single-link, as Tomi
had pointed out in the previous series[1]. So, it wouldn't be wrong to
say that a dual-link panel is panel-lvds.

The reason I have been pushing for a new compatible and binding is
because the 2nd sink in dual-lvds panels make them different enough
their from single link counterparts. At the very least, we should have
different bindings for the both of them, for ease of maintenance in
future, when more properties will get added. So, if you indeed are
suggesting that we have a separate dt-binding for these panels, but not
a new generic compatible, then I can get behind that.

And If we do go that way, I think one of your suggestions on advantech
dt-binding series[2] also gets relevant here.

oneOf:
  - required: [ports]
  - required: [port]

This way, we can have dual-lvds panels support single link mode as well.

> That schema is missing type definitions and constraints for
> dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some
> changes to add those.

You are right. AFAIK, the the advantech,idk-2121wr panel is also a
generic model. Which is why, these patches started out as a renaming of
the advantech binding and making the properties generic. But the diff
got bigger and I decided to make a new file.

The idea for future work, now, is to merge the "advantech,idk-2121wr"
compatible along with other panel specific compatibles in this binding.


Regards
Aradhya


[1]: https://lore.kernel.org/all/808e831f-4282-0e58-ebb2-2f556aaeaca4@ideasonboard.com/
[2]: https://lore.kernel.org/all/CAL_Jsq+5FMHK4W4UQU24g+rm3CLjnhRcB29skygRB++GaJyM0A@mail.gmail.com/

> 
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port@0:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for first set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-odd-pixels]
>> +          - required: [dual-lvds-even-pixels]
>> +
>> +      port@1:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for second set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-even-pixels]
>> +          - required: [dual-lvds-odd-pixels]
>> +
>> +    allOf:
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-odd-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-odd-pixels: false
>> +
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-even-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-even-pixels: false
>> +
>> +    required:
>> +      - port@0
>> +      - port@1
>> +
>> +  port: false
>> +
>> +unevaluatedProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - width-mm
>> +  - height-mm
>> +  - data-mapping
>> +  - panel-timing
>> +  - ports
>> +
>> +examples:
>> +  - |
>> +    panel {
>> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
>> +
>> +      width-mm = <217>;
>> +      height-mm = <136>;
>> +
>> +      data-mapping = "vesa-24";
>> +
>> +      panel-timing {
>> +        clock-frequency = <150275000>;
>> +        hactive = <1920>;
>> +        vactive = <1200>;
>> +        hfront-porch = <32>;
>> +        hsync-len = <52>;
>> +        hback-porch = <24>;
>> +        vfront-porch = <24>;
>> +        vsync-len = <8>;
>> +        vback-porch = <3>;
>> +        de-active = <1>;
>> +      };
>> +
>> +      ports {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        port@0 {
>> +          reg = <0>;
>> +          dual-lvds-odd-pixels;
>> +          lcd_in0: endpoint {
>> +            remote-endpoint = <&oldi_out0>;
>> +          };
>> +        };
>> +
>> +        port@1 {
>> +          reg = <1>;
>> +          dual-lvds-even-pixels;
>> +          lcd_in1: endpoint {
>> +            remote-endpoint = <&oldi_out1>;
>> +          };
>> +        };
>> +      };
>> +    };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 5e18388b4579..6025bb024586 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>>   S:	Maintained
>>   F:	drivers/gpu/drm/panel/panel-lvds.c
>>   F:	Documentation/devicetree/bindings/display/lvds.yaml
>> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>   F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>>   
>>   DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
>> -- 
>> 2.39.0
>>

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-02-03  6:21       ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-02-03  6:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

Hi Rob,

On 30-Jan-23 22:34, Rob Herring wrote:
> On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
>> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
>> one link, and odd pixels on the other. These panels are also generic in
>> nature, with no documented constraints, much like their single-link
>> counterparts, "panel-lvds".
>>
>> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
>> these panels.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> ---
>>   .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>>   MAINTAINERS                                   |   1 +
>>   2 files changed, 150 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> new file mode 100644
>> index 000000000000..e2ce1768e9a3
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> @@ -0,0 +1,149 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic Dual-Link LVDS Display Panel
>> +
>> +maintainers:
>> +  - Aradhya Bhatia <a-bhatia1@ti.com>
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +
>> +description: |
>> +  A dual-LVDS interface is a dual-link connection with the even pixels
>> +  traveling on one link, and the odd pixels traveling on the other.
>> +
>> +allOf:
>> +  - $ref: panel-common.yaml#
>> +  - $ref: /schemas/display/lvds.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - lincolntech,lcd185-101ct
>> +          - microtips,mf-101hiebcaf0
>> +      - const: panel-dual-lvds
> 
> Why do we need a new compatible? You have ports and properties to see if
> the panel is dual link.

Do you mean to say that we can have a generic dual-link panel
dt-binding, which will allow others to add their own dual-link panel
compatibles, but instead with the mandatory compatible "panel-lvds"?

> 
> We already have dual link LVDS supported in advantech,idk-2121wr.yaml
> which says is compatible with 'panel-lvds', so that decision has already
> been made. The hint was you added the compatible match to the driver
> with 0 other changes needed.
> 

The code which represents the HW difference between the 2 types of
panels was merged in drm/drm_of.c along with the advantech binding.

And a dual-link panel can still be made to work as single-link, as Tomi
had pointed out in the previous series[1]. So, it wouldn't be wrong to
say that a dual-link panel is panel-lvds.

The reason I have been pushing for a new compatible and binding is
because the 2nd sink in dual-lvds panels make them different enough
their from single link counterparts. At the very least, we should have
different bindings for the both of them, for ease of maintenance in
future, when more properties will get added. So, if you indeed are
suggesting that we have a separate dt-binding for these panels, but not
a new generic compatible, then I can get behind that.

And If we do go that way, I think one of your suggestions on advantech
dt-binding series[2] also gets relevant here.

oneOf:
  - required: [ports]
  - required: [port]

This way, we can have dual-lvds panels support single link mode as well.

> That schema is missing type definitions and constraints for
> dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some
> changes to add those.

You are right. AFAIK, the the advantech,idk-2121wr panel is also a
generic model. Which is why, these patches started out as a renaming of
the advantech binding and making the properties generic. But the diff
got bigger and I decided to make a new file.

The idea for future work, now, is to merge the "advantech,idk-2121wr"
compatible along with other panel specific compatibles in this binding.


Regards
Aradhya


[1]: https://lore.kernel.org/all/808e831f-4282-0e58-ebb2-2f556aaeaca4@ideasonboard.com/
[2]: https://lore.kernel.org/all/CAL_Jsq+5FMHK4W4UQU24g+rm3CLjnhRcB29skygRB++GaJyM0A@mail.gmail.com/

> 
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port@0:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for first set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-odd-pixels]
>> +          - required: [dual-lvds-even-pixels]
>> +
>> +      port@1:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for second set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-even-pixels]
>> +          - required: [dual-lvds-odd-pixels]
>> +
>> +    allOf:
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-odd-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-odd-pixels: false
>> +
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-even-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-even-pixels: false
>> +
>> +    required:
>> +      - port@0
>> +      - port@1
>> +
>> +  port: false
>> +
>> +unevaluatedProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - width-mm
>> +  - height-mm
>> +  - data-mapping
>> +  - panel-timing
>> +  - ports
>> +
>> +examples:
>> +  - |
>> +    panel {
>> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
>> +
>> +      width-mm = <217>;
>> +      height-mm = <136>;
>> +
>> +      data-mapping = "vesa-24";
>> +
>> +      panel-timing {
>> +        clock-frequency = <150275000>;
>> +        hactive = <1920>;
>> +        vactive = <1200>;
>> +        hfront-porch = <32>;
>> +        hsync-len = <52>;
>> +        hback-porch = <24>;
>> +        vfront-porch = <24>;
>> +        vsync-len = <8>;
>> +        vback-porch = <3>;
>> +        de-active = <1>;
>> +      };
>> +
>> +      ports {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        port@0 {
>> +          reg = <0>;
>> +          dual-lvds-odd-pixels;
>> +          lcd_in0: endpoint {
>> +            remote-endpoint = <&oldi_out0>;
>> +          };
>> +        };
>> +
>> +        port@1 {
>> +          reg = <1>;
>> +          dual-lvds-even-pixels;
>> +          lcd_in1: endpoint {
>> +            remote-endpoint = <&oldi_out1>;
>> +          };
>> +        };
>> +      };
>> +    };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 5e18388b4579..6025bb024586 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>>   S:	Maintained
>>   F:	drivers/gpu/drm/panel/panel-lvds.c
>>   F:	Documentation/devicetree/bindings/display/lvds.yaml
>> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>   F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>>   
>>   DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
>> -- 
>> 2.39.0
>>

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-02-03  6:21       ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-02-03  6:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

Hi Rob,

On 30-Jan-23 22:34, Rob Herring wrote:
> On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
>> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
>> one link, and odd pixels on the other. These panels are also generic in
>> nature, with no documented constraints, much like their single-link
>> counterparts, "panel-lvds".
>>
>> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
>> these panels.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> ---
>>   .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>>   MAINTAINERS                                   |   1 +
>>   2 files changed, 150 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> new file mode 100644
>> index 000000000000..e2ce1768e9a3
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> @@ -0,0 +1,149 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic Dual-Link LVDS Display Panel
>> +
>> +maintainers:
>> +  - Aradhya Bhatia <a-bhatia1@ti.com>
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +
>> +description: |
>> +  A dual-LVDS interface is a dual-link connection with the even pixels
>> +  traveling on one link, and the odd pixels traveling on the other.
>> +
>> +allOf:
>> +  - $ref: panel-common.yaml#
>> +  - $ref: /schemas/display/lvds.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - lincolntech,lcd185-101ct
>> +          - microtips,mf-101hiebcaf0
>> +      - const: panel-dual-lvds
> 
> Why do we need a new compatible? You have ports and properties to see if
> the panel is dual link.

Do you mean to say that we can have a generic dual-link panel
dt-binding, which will allow others to add their own dual-link panel
compatibles, but instead with the mandatory compatible "panel-lvds"?

> 
> We already have dual link LVDS supported in advantech,idk-2121wr.yaml
> which says is compatible with 'panel-lvds', so that decision has already
> been made. The hint was you added the compatible match to the driver
> with 0 other changes needed.
> 

The code which represents the HW difference between the 2 types of
panels was merged in drm/drm_of.c along with the advantech binding.

And a dual-link panel can still be made to work as single-link, as Tomi
had pointed out in the previous series[1]. So, it wouldn't be wrong to
say that a dual-link panel is panel-lvds.

The reason I have been pushing for a new compatible and binding is
because the 2nd sink in dual-lvds panels make them different enough
their from single link counterparts. At the very least, we should have
different bindings for the both of them, for ease of maintenance in
future, when more properties will get added. So, if you indeed are
suggesting that we have a separate dt-binding for these panels, but not
a new generic compatible, then I can get behind that.

And If we do go that way, I think one of your suggestions on advantech
dt-binding series[2] also gets relevant here.

oneOf:
  - required: [ports]
  - required: [port]

This way, we can have dual-lvds panels support single link mode as well.

> That schema is missing type definitions and constraints for
> dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some
> changes to add those.

You are right. AFAIK, the the advantech,idk-2121wr panel is also a
generic model. Which is why, these patches started out as a renaming of
the advantech binding and making the properties generic. But the diff
got bigger and I decided to make a new file.

The idea for future work, now, is to merge the "advantech,idk-2121wr"
compatible along with other panel specific compatibles in this binding.


Regards
Aradhya


[1]: https://lore.kernel.org/all/808e831f-4282-0e58-ebb2-2f556aaeaca4@ideasonboard.com/
[2]: https://lore.kernel.org/all/CAL_Jsq+5FMHK4W4UQU24g+rm3CLjnhRcB29skygRB++GaJyM0A@mail.gmail.com/

> 
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port@0:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for first set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-odd-pixels]
>> +          - required: [dual-lvds-even-pixels]
>> +
>> +      port@1:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for second set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-even-pixels]
>> +          - required: [dual-lvds-odd-pixels]
>> +
>> +    allOf:
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-odd-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-odd-pixels: false
>> +
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-even-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-even-pixels: false
>> +
>> +    required:
>> +      - port@0
>> +      - port@1
>> +
>> +  port: false
>> +
>> +unevaluatedProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - width-mm
>> +  - height-mm
>> +  - data-mapping
>> +  - panel-timing
>> +  - ports
>> +
>> +examples:
>> +  - |
>> +    panel {
>> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
>> +
>> +      width-mm = <217>;
>> +      height-mm = <136>;
>> +
>> +      data-mapping = "vesa-24";
>> +
>> +      panel-timing {
>> +        clock-frequency = <150275000>;
>> +        hactive = <1920>;
>> +        vactive = <1200>;
>> +        hfront-porch = <32>;
>> +        hsync-len = <52>;
>> +        hback-porch = <24>;
>> +        vfront-porch = <24>;
>> +        vsync-len = <8>;
>> +        vback-porch = <3>;
>> +        de-active = <1>;
>> +      };
>> +
>> +      ports {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        port@0 {
>> +          reg = <0>;
>> +          dual-lvds-odd-pixels;
>> +          lcd_in0: endpoint {
>> +            remote-endpoint = <&oldi_out0>;
>> +          };
>> +        };
>> +
>> +        port@1 {
>> +          reg = <1>;
>> +          dual-lvds-even-pixels;
>> +          lcd_in1: endpoint {
>> +            remote-endpoint = <&oldi_out1>;
>> +          };
>> +        };
>> +      };
>> +    };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 5e18388b4579..6025bb024586 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>>   S:	Maintained
>>   F:	drivers/gpu/drm/panel/panel-lvds.c
>>   F:	Documentation/devicetree/bindings/display/lvds.yaml
>> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>   F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>>   
>>   DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
>> -- 
>> 2.39.0
>>

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel
@ 2023-02-03  6:21       ` Aradhya Bhatia
  0 siblings, 0 replies; 28+ messages in thread
From: Aradhya Bhatia @ 2023-02-03  6:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Tomi Valkeinen, Jyri Sarha, David Airlie,
	Daniel Vetter, Laurent Pinchart, Thierry Reding, Sam Ravnborg,
	Maxime Ripard, Liam Girdwood, Mark Brown, Lad Prabhakar,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Matthias Brugger,
	Guo Ren, DRI Development List, Devicetree List,
	Linux Kernel List, Linux RISC-V List, Linux ARM Kernel List,
	Linux Mediatek List, Linux C-SKY Arch List, Nishanth Menon,
	Vignesh Raghavendra, Rahul T R, Devarsh Thakkar, Jai Luthra,
	Jayesh Choudhary

Hi Rob,

On 30-Jan-23 22:34, Rob Herring wrote:
> On Tue, Jan 24, 2023 at 03:42:37PM +0530, Aradhya Bhatia wrote:
>> Dual-link LVDS interfaces have 2 links, with even pixels traveling on
>> one link, and odd pixels on the other. These panels are also generic in
>> nature, with no documented constraints, much like their single-link
>> counterparts, "panel-lvds".
>>
>> Add a new compatible, "panel-dual-lvds", and a dt-binding document for
>> these panels.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> ---
>>   .../display/panel/panel-dual-lvds.yaml        | 149 ++++++++++++++++++
>>   MAINTAINERS                                   |   1 +
>>   2 files changed, 150 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> new file mode 100644
>> index 000000000000..e2ce1768e9a3
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>> @@ -0,0 +1,149 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/panel/panel-dual-lvds.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic Dual-Link LVDS Display Panel
>> +
>> +maintainers:
>> +  - Aradhya Bhatia <a-bhatia1@ti.com>
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +
>> +description: |
>> +  A dual-LVDS interface is a dual-link connection with the even pixels
>> +  traveling on one link, and the odd pixels traveling on the other.
>> +
>> +allOf:
>> +  - $ref: panel-common.yaml#
>> +  - $ref: /schemas/display/lvds.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - lincolntech,lcd185-101ct
>> +          - microtips,mf-101hiebcaf0
>> +      - const: panel-dual-lvds
> 
> Why do we need a new compatible? You have ports and properties to see if
> the panel is dual link.

Do you mean to say that we can have a generic dual-link panel
dt-binding, which will allow others to add their own dual-link panel
compatibles, but instead with the mandatory compatible "panel-lvds"?

> 
> We already have dual link LVDS supported in advantech,idk-2121wr.yaml
> which says is compatible with 'panel-lvds', so that decision has already
> been made. The hint was you added the compatible match to the driver
> with 0 other changes needed.
> 

The code which represents the HW difference between the 2 types of
panels was merged in drm/drm_of.c along with the advantech binding.

And a dual-link panel can still be made to work as single-link, as Tomi
had pointed out in the previous series[1]. So, it wouldn't be wrong to
say that a dual-link panel is panel-lvds.

The reason I have been pushing for a new compatible and binding is
because the 2nd sink in dual-lvds panels make them different enough
their from single link counterparts. At the very least, we should have
different bindings for the both of them, for ease of maintenance in
future, when more properties will get added. So, if you indeed are
suggesting that we have a separate dt-binding for these panels, but not
a new generic compatible, then I can get behind that.

And If we do go that way, I think one of your suggestions on advantech
dt-binding series[2] also gets relevant here.

oneOf:
  - required: [ports]
  - required: [port]

This way, we can have dual-lvds panels support single link mode as well.

> That schema is missing type definitions and constraints for
> dual-lvds-odd-pixels/dual-lvds-even-pixels so there does need to be some
> changes to add those.

You are right. AFAIK, the the advantech,idk-2121wr panel is also a
generic model. Which is why, these patches started out as a renaming of
the advantech binding and making the properties generic. But the diff
got bigger and I decided to make a new file.

The idea for future work, now, is to merge the "advantech,idk-2121wr"
compatible along with other panel specific compatibles in this binding.


Regards
Aradhya


[1]: https://lore.kernel.org/all/808e831f-4282-0e58-ebb2-2f556aaeaca4@ideasonboard.com/
[2]: https://lore.kernel.org/all/CAL_Jsq+5FMHK4W4UQU24g+rm3CLjnhRcB29skygRB++GaJyM0A@mail.gmail.com/

> 
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port@0:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for first set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-odd-pixels]
>> +          - required: [dual-lvds-even-pixels]
>> +
>> +      port@1:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description: The sink for second set of LVDS pixels.
>> +
>> +        properties:
>> +          dual-lvds-even-pixels:
>> +            type: boolean
>> +
>> +          dual-lvds-odd-pixels:
>> +            type: boolean
>> +
>> +        oneOf:
>> +          - required: [dual-lvds-even-pixels]
>> +          - required: [dual-lvds-odd-pixels]
>> +
>> +    allOf:
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-odd-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-odd-pixels: false
>> +
>> +      - if:
>> +          properties:
>> +            port@0:
>> +              required:
>> +                - dual-lvds-even-pixels
>> +        then:
>> +          properties:
>> +            port@1:
>> +              properties:
>> +                dual-lvds-even-pixels: false
>> +
>> +    required:
>> +      - port@0
>> +      - port@1
>> +
>> +  port: false
>> +
>> +unevaluatedProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - width-mm
>> +  - height-mm
>> +  - data-mapping
>> +  - panel-timing
>> +  - ports
>> +
>> +examples:
>> +  - |
>> +    panel {
>> +      compatible = "microtips,mf-101hiebcaf0", "panel-dual-lvds";
>> +
>> +      width-mm = <217>;
>> +      height-mm = <136>;
>> +
>> +      data-mapping = "vesa-24";
>> +
>> +      panel-timing {
>> +        clock-frequency = <150275000>;
>> +        hactive = <1920>;
>> +        vactive = <1200>;
>> +        hfront-porch = <32>;
>> +        hsync-len = <52>;
>> +        hback-porch = <24>;
>> +        vfront-porch = <24>;
>> +        vsync-len = <8>;
>> +        vback-porch = <3>;
>> +        de-active = <1>;
>> +      };
>> +
>> +      ports {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        port@0 {
>> +          reg = <0>;
>> +          dual-lvds-odd-pixels;
>> +          lcd_in0: endpoint {
>> +            remote-endpoint = <&oldi_out0>;
>> +          };
>> +        };
>> +
>> +        port@1 {
>> +          reg = <1>;
>> +          dual-lvds-even-pixels;
>> +          lcd_in1: endpoint {
>> +            remote-endpoint = <&oldi_out1>;
>> +          };
>> +        };
>> +      };
>> +    };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 5e18388b4579..6025bb024586 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -6461,6 +6461,7 @@ T:	git git://anongit.freedesktop.org/drm/drm-misc
>>   S:	Maintained
>>   F:	drivers/gpu/drm/panel/panel-lvds.c
>>   F:	Documentation/devicetree/bindings/display/lvds.yaml
>> +F:	Documentation/devicetree/bindings/display/panel/panel-dual-lvds.yaml
>>   F:	Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
>>   
>>   DRM DRIVER FOR MANTIX MLAF057WE51 PANELS
>> -- 
>> 2.39.0
>>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-02-03  6:23 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-24 10:12 [PATCH v2 0/4] dt-bindings: Introduce dual-link panels & panel-vendors Aradhya Bhatia
2023-01-24 10:12 ` Aradhya Bhatia
2023-01-24 10:12 ` Aradhya Bhatia
2023-01-24 10:12 ` Aradhya Bhatia
2023-01-24 10:12 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add microtips Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12 ` [PATCH v2 2/4] dt-bindings: vendor-prefixes: Add lincolntech Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12 ` [PATCH v2 3/4] dt-bindings: panel: Introduce dual-link LVDS panel Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-30 17:04   ` Rob Herring
2023-01-30 17:04     ` Rob Herring
2023-01-30 17:04     ` Rob Herring
2023-01-30 17:04     ` Rob Herring
2023-02-03  6:21     ` Aradhya Bhatia
2023-02-03  6:21       ` Aradhya Bhatia
2023-02-03  6:21       ` Aradhya Bhatia
2023-02-03  6:21       ` Aradhya Bhatia
2023-01-24 10:12 ` [PATCH v2 4/4] drm: panel-lvds: Introduce dual-link panels Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia
2023-01-24 10:12   ` Aradhya Bhatia

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.