# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: DSI command mode panels

maintainers:
  - Tomi Valkeinen <tomi.valkeinen@ti.com>
  - Sebastian Reichel <sre@kernel.org>

description: |
  This binding file is a collection of the DSI panels that
  are usually driven in command mode. If no backlight is
  referenced via the optional backlight property, the DSI
  panel is assumed to have native backlight support.
  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.

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

properties:

  compatible:
    items:
      - enum:
          - motorola,droid4-panel        # Panel from Motorola Droid4 phone
          - nokia,himalaya               # Panel from Nokia N950 phone
          - tpo,taal                     # Panel from OMAP4 SDP board
      - const: panel-dsi-cm              # Generic DSI command mode panel compatible fallback

  reg:
    maxItems: 1
    description: DSI virtual channel

  vddi-supply:
    description:
      Display panels require power to be supplied. While several panels need
      more than one power supply with panel-specific constraints governing the
      order and timings of the power supplies, in many cases a single power
      supply is sufficient, either because the panel has a single power rail, or
      because all its power rails can be driven by the same supply. In that case
      the vddi-supply property specifies the supply powering the panel as a
      phandle to a regulator.

  vpnl-supply:
    description:
      When the display panel needs a second power supply, this property can be
      used in addition to vddi-supply. Both supplies will be enabled at the
      same time before the panel is being accessed.

  width-mm: true
  height-mm: true
  label: true
  rotation: true
  panel-timing: true
  port: true
  reset-gpios: true
  te-gpios: true
  backlight: true

additionalProperties: false

required:
  - compatible
  - reg

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

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

        panel@0 {
            compatible = "tpo,taal", "panel-dsi-cm";
            reg = <0>;
            reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
        };
    };

...
