[PATCH v3 08/15] dt-bindings: display: Document dual-link LVDS display common properties

Liu Ying posted 15 patches 1 month ago
There is a newer version of this series
[PATCH v3 08/15] dt-bindings: display: Document dual-link LVDS display common properties
Posted by Liu Ying 1 month ago
Dual-link LVDS displays receive odd pixels and even pixels separately from
dual LVDS links.  One link receives odd pixels and the other receives even
pixels.  Some of those displays may also use only one LVDS link to receive
all pixels, being odd and even agnostic.  Document common properties for
those displays by extending LVDS display common properties defined in
lvds.yaml.

Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
---
v3:
* New patch.  (Dmitry)

 .../bindings/display/lvds-dual-ports.yaml     | 76 +++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/lvds-dual-ports.yaml

diff --git a/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
new file mode 100644
index 000000000000..0ac4c06d0a17
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dual-link LVDS Display Common Properties
+
+maintainers:
+  - Liu Ying <victor.liu@nxp.com>
+
+description: |
+  This binding documents common properties for LVDS displays with dual LVDS
+  links. It extends LVDS display common properties defined in lvds.yaml.
+
+  Dual-link LVDS displays receive odd pixels and even pixels separately from
+  the dual LVDS links. One link receives odd pixels and the other receives
+  even pixels. Some of those displays may also use only one LVDS link to
+  receive all pixels, being odd and even agnostic.
+
+allOf:
+  - $ref: lvds.yaml#
+
+properties:
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: the first LVDS input link
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+            description: the first LVDS input link for odd pixels
+
+          dual-lvds-even-pixels:
+            type: boolean
+            description: the first LVDS input link for even pixels
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+          - properties:
+              dual-lvds-odd-pixels: false
+              dual-lvds-even-pixels: false
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description: the second LVDS input link
+
+        properties:
+          dual-lvds-odd-pixels:
+            type: boolean
+            description: the second LVDS input link for odd pixels
+
+          dual-lvds-even-pixels:
+            type: boolean
+            description: the second LVDS input link for even pixels
+
+        oneOf:
+          - required: [dual-lvds-odd-pixels]
+          - required: [dual-lvds-even-pixels]
+          - properties:
+              dual-lvds-odd-pixels: false
+              dual-lvds-even-pixels: false
+
+required:
+  - ports
+
+additionalProperties: true
+
+...
-- 
2.34.1
Re: [PATCH v3 08/15] dt-bindings: display: Document dual-link LVDS display common properties
Posted by Krzysztof Kozlowski 1 month ago
On Mon, Oct 21, 2024 at 02:44:39PM +0800, Liu Ying wrote:
> Dual-link LVDS displays receive odd pixels and even pixels separately from
> dual LVDS links.  One link receives odd pixels and the other receives even
> pixels.  Some of those displays may also use only one LVDS link to receive
> all pixels, being odd and even agnostic.  Document common properties for
> those displays by extending LVDS display common properties defined in
> lvds.yaml.
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> ---
> v3:
> * New patch.  (Dmitry)
> 
>  .../bindings/display/lvds-dual-ports.yaml     | 76 +++++++++++++++++++
>  1 file changed, 76 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> new file mode 100644
> index 000000000000..0ac4c06d0a17
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Dual-link LVDS Display Common Properties
> +
> +maintainers:
> +  - Liu Ying <victor.liu@nxp.com>
> +
> +description: |
> +  This binding documents common properties for LVDS displays with dual LVDS

s/This binding documents//

But anyway there is a binding for common properties used in dual-link
panels: panel-common-dual. How is it different? Why this is not suitable
there? Why entirely different file name?

Best regards,
Krzysztof
Re: [PATCH v3 08/15] dt-bindings: display: Document dual-link LVDS display common properties
Posted by Liu Ying 1 month ago
On 10/21/2024, Krzysztof Kozlowski wrote:
> On Mon, Oct 21, 2024 at 02:44:39PM +0800, Liu Ying wrote:
>> Dual-link LVDS displays receive odd pixels and even pixels separately from
>> dual LVDS links.  One link receives odd pixels and the other receives even
>> pixels.  Some of those displays may also use only one LVDS link to receive
>> all pixels, being odd and even agnostic.  Document common properties for
>> those displays by extending LVDS display common properties defined in
>> lvds.yaml.
>>
>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>> ---
>> v3:
>> * New patch.  (Dmitry)
>>
>>  .../bindings/display/lvds-dual-ports.yaml     | 76 +++++++++++++++++++
>>  1 file changed, 76 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
>> new file mode 100644
>> index 000000000000..0ac4c06d0a17
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
>> @@ -0,0 +1,76 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Dual-link LVDS Display Common Properties
>> +
>> +maintainers:
>> +  - Liu Ying <victor.liu@nxp.com>
>> +
>> +description: |
>> +  This binding documents common properties for LVDS displays with dual LVDS
> 
> s/This binding documents//

Ack.

> 
> But anyway there is a binding for common properties used in dual-link
> panels: panel-common-dual. How is it different? Why this is not suitable
> there? Why entirely different file name?

This one references lvds.yaml, which allows data-mapping and data-mirror.
They are not something common for dual-link panels.

Also, this one is supposed to cover all dual-link LVDS displays including
display panels and display bridges, while pane-common-dual.yaml is for
panels only.

> 
> Best regards,
> Krzysztof
> 

-- 
Regards,
Liu Ying
Re: [PATCH v3 08/15] dt-bindings: display: Document dual-link LVDS display common properties
Posted by Rob Herring 1 month ago
On Mon, Oct 21, 2024 at 04:19:52PM +0800, Liu Ying wrote:
> On 10/21/2024, Krzysztof Kozlowski wrote:
> > On Mon, Oct 21, 2024 at 02:44:39PM +0800, Liu Ying wrote:
> >> Dual-link LVDS displays receive odd pixels and even pixels separately from
> >> dual LVDS links.  One link receives odd pixels and the other receives even
> >> pixels.  Some of those displays may also use only one LVDS link to receive
> >> all pixels, being odd and even agnostic.  Document common properties for
> >> those displays by extending LVDS display common properties defined in
> >> lvds.yaml.
> >>
> >> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> >> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> >> ---
> >> v3:
> >> * New patch.  (Dmitry)
> >>
> >>  .../bindings/display/lvds-dual-ports.yaml     | 76 +++++++++++++++++++
> >>  1 file changed, 76 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> >>
> >> diff --git a/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> >> new file mode 100644
> >> index 000000000000..0ac4c06d0a17
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> >> @@ -0,0 +1,76 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Dual-link LVDS Display Common Properties
> >> +
> >> +maintainers:
> >> +  - Liu Ying <victor.liu@nxp.com>
> >> +
> >> +description: |
> >> +  This binding documents common properties for LVDS displays with dual LVDS
> > 
> > s/This binding documents//
> 
> Ack.
> 
> > 
> > But anyway there is a binding for common properties used in dual-link
> > panels: panel-common-dual. How is it different? Why this is not suitable
> > there? Why entirely different file name?
> 
> This one references lvds.yaml, which allows data-mapping and data-mirror.
> They are not something common for dual-link panels.
> 
> Also, this one is supposed to cover all dual-link LVDS displays including
> display panels and display bridges, while pane-common-dual.yaml is for
> panels only.

That's all fine, but refactor what is there, don't just duplicate 
things.

If we have the same property name defined (with a type) in 2 or more 
places, then that's a problem.

Rob