Unverified Commit ea8a12e3 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

dt-bindings: display: Turn lvds.yaml into a generic schema



The lvds.yaml file so far was both defining the generic LVDS properties
(such as data-mapping) that could be used for any LVDS sink, but also
the panel-lvds binding.

That last binding was to describe LVDS panels simple enough, and had a
number of other bindings using it as a base to specialise it further.

However, this situation makes it fairly hard to extend and reuse both
the generic parts, and the panel-lvds itself.

Let's remove the panel-lvds parts and leave only the generic LVDS
properties.

Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220127143045.310199-1-maxime@cerno.tech
parent 34554946
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ properties:
                  - vesa-24
                description: |
                  The color signals mapping order. See details in
                  Documentation/devicetree/bindings/display/panel/lvds.yaml
                  Documentation/devicetree/bindings/display/lvds.yaml

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
+4 −31
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/lvds.yaml#
$id: http://devicetree.org/schemas/display/lvds.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: LVDS Display Panel
title: LVDS Display Common Properties

maintainers:
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
@@ -13,8 +13,8 @@ maintainers:
description: |+
  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
  incompatible data link layers have been used over time to transmit image data
  to LVDS panels. This bindings supports display panels compatible with the
  following specifications.
  to LVDS devices. This bindings supports devices compatible with the following
  specifications.

  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
@@ -26,18 +26,7 @@ description: |+
  Device compatible with those specifications have been marketed under the
  FPD-Link and FlatLink brands.

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    contains:
      const: panel-lvds
    description:
      Shall contain "panel-lvds" in addition to a mandatory panel-specific
      compatible string defined in individual panel bindings. The "panel-lvds"
      value shall never be used on its own.

  data-mapping:
    enum:
      - jeida-18
@@ -96,22 +85,6 @@ properties:
      If set, reverse the bit order described in the data mappings below on all
      data lanes, transmitting bits for slots 6 to 0 instead of 0 to 6.

  port: true
  ports: true

required:
  - compatible
  - data-mapping
  - width-mm
  - height-mm
  - panel-timing

oneOf:
  - required:
      - port
  - required:
      - ports

additionalProperties: true

...
+17 −2
Original line number Diff line number Diff line
@@ -11,13 +11,23 @@ maintainers:
  - Thierry Reding <thierry.reding@gmail.com>

allOf:
  - $ref: lvds.yaml#
  - $ref: panel-common.yaml#
  - $ref: /schemas/display/lvds.yaml/#

select:
  properties:
    compatible:
      contains:
        const: advantech,idk-1110wr

  required:
    - compatible

properties:
  compatible:
    items:
      - const: advantech,idk-1110wr
      - {} # panel-lvds, but not listed here to avoid false select
      - const: panel-lvds

  data-mapping:
    const: jeida-24
@@ -35,6 +45,11 @@ additionalProperties: false

required:
  - compatible
  - data-mapping
  - width-mm
  - height-mm
  - panel-timing
  - port

examples:
  - |+
+21 −2
Original line number Diff line number Diff line
@@ -11,15 +11,26 @@ maintainers:
  - Thierry Reding <thierry.reding@gmail.com>

allOf:
  - $ref: lvds.yaml#
  - $ref: panel-common.yaml#
  - $ref: /schemas/display/lvds.yaml/#

select:
  properties:
    compatible:
      contains:
        const: innolux,ee101ia-01d

  required:
    - compatible

properties:
  compatible:
    items:
      - const: innolux,ee101ia-01d
      - {} # panel-lvds, but not listed here to avoid false select
      - const: panel-lvds

  backlight: true
  data-mapping: true
  enable-gpios: true
  power-supply: true
  width-mm: true
@@ -27,5 +38,13 @@ properties:
  panel-timing: true
  port: true

required:
  - compatible
  - data-mapping
  - width-mm
  - height-mm
  - panel-timing
  - port

additionalProperties: false
...
+17 −2
Original line number Diff line number Diff line
@@ -11,13 +11,23 @@ maintainers:
  - Thierry Reding <thierry.reding@gmail.com>

allOf:
  - $ref: lvds.yaml#
  - $ref: panel-common.yaml#
  - $ref: /schemas/display/lvds.yaml/#

select:
  properties:
    compatible:
      contains:
        const: mitsubishi,aa104xd12

  required:
    - compatible

properties:
  compatible:
    items:
      - const: mitsubishi,aa104xd12
      - {} # panel-lvds, but not listed here to avoid false select
      - const: panel-lvds

  vcc-supply:
    description: Reference to the regulator powering the panel VCC pins.
@@ -39,6 +49,11 @@ additionalProperties: false
required:
  - compatible
  - vcc-supply
  - data-mapping
  - width-mm
  - height-mm
  - panel-timing
  - port

examples:
  - |+
Loading