# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/panel-simple-lvds-dual-ports.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Simple LVDS panels with one power supply and dual LVDS ports

maintainers:
  - Liu Ying <victor.liu@nxp.com>
  - Thierry Reding <thierry.reding@gmail.com>
  - Sam Ravnborg <sam@ravnborg.org>

description: |
  This binding file is a collection of the LVDS panels that
  has dual LVDS ports and requires only a single power-supply.
  The first port receives odd pixels, and the second port receives even pixels.
  There are optionally a backlight and an enable GPIO.
  The panel may use an OF graph binding for the association to the display,
  or it may be a direct child node of the display.

  If the panel is more advanced a dedicated binding file is required.

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

properties:

  compatible:
    enum:
    # compatible must be listed in alphabetical order, ordered by compatible.
    # The description in the comment is mandatory for each compatible.

        # AU Optronics Corporation 13.3" FHD (1920x1080) TFT LCD panel
      - auo,g133han01
        # AU Optronics Corporation 15.6" FHD (1920x1080) TFT LCD panel
      - auo,g156han04
        # AU Optronics Corporation 18.5" FHD (1920x1080) TFT LCD panel
      - auo,g185han01
        # AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel
      - auo,g190ean01
        # Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x 1200) LVDS TFT LCD panel
      - koe,tx26d202vm0bwa
        # NLT Technologies, Ltd. 15.6" FHD (1920x1080) LVDS TFT LCD panel
      - nlt,nl192108ac18-02d

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: The first sink port.

        properties:
          dual-lvds-odd-pixels:
            type: boolean
            description: The first sink port for odd pixels.

        required:
          - dual-lvds-odd-pixels

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: The second sink port.

        properties:
          dual-lvds-even-pixels:
            type: boolean
            description: The second sink port for even pixels.

        required:
          - dual-lvds-even-pixels

    required:
      - port@0
      - port@1

  backlight: true
  enable-gpios: true
  power-supply: true

additionalProperties: false

required:
  - compatible
  - ports
  - power-supply

examples:
  - |
    panel: panel-lvds {
      compatible = "koe,tx26d202vm0bwa";
      power-supply = <&vdd_lcd_reg>;

      ports {
        #address-cells = <1>;
        #size-cells = <0>;

        port@0 {
          dual-lvds-odd-pixels;
          reg = <0>;

          panel_lvds0_in: endpoint {
            remote-endpoint = <&lvds0_out>;
          };
        };

        port@1 {
          dual-lvds-even-pixels;
          reg = <1>;

          panel_lvds1_in: endpoint {
            remote-endpoint = <&lvds1_out>;
          };
        };
      };
    };
