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

title: Common Properties for DSI Display Panels

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

description: |
  This document defines device tree properties common to DSI, Display
  Serial Interface controllers and attached panels. It doesn't constitute
  a device tree binding specification by itself but is meant to be referenced
  by device tree bindings.

  When referenced from panel device tree bindings the properties defined in
  this document are defined as follows. The panel device tree bindings are
  responsible for defining whether each property is required or optional.

  Notice: this binding concerns DSI panels connected directly to a master
  without any intermediate port graph to the panel. Each DSI master
  can control one to four virtual channels to one panel. Each virtual
  channel should have a node "panel" for their virtual channel with their
  reg-property set to the virtual channel number, usually there is just
  one virtual channel, number 0.

properties:
  $nodename:
    pattern: "^dsi-controller(@.*)?$"

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^panel@[0-3]$":
    description: Panels connected to the DSI link
    type: object

    properties:
      reg:
        minimum: 0
        maximum: 3
        description:
          The virtual channel number of a DSI peripheral. Must be in the range
          from 0 to 3, as DSI uses a 2-bit addressing scheme. Some DSI
          peripherals respond to more than a single virtual channel. In that
          case the reg property can take multiple entries, one for each virtual
          channel that the peripheral responds to.

      clock-master:
        type: boolean
        description:
           Should be enabled if the host is being used in conjunction with
           another DSI host to drive the same peripheral. Hardware supporting
           such a configuration generally requires the data on both the busses
           to be driven by the same clock. Only the DSI host instance
           controlling this clock should contain this property.

      enforce-video-mode:
        type: boolean
        description:
          The best option is usually to run a panel in command mode, as this
          gives better control over the panel hardware. However for different
          reasons like broken hardware, missing features or testing, it may be
          useful to be able to force a command mode-capable panel into video
          mode.

    required:
      - reg

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    dsi-controller@a0351000 {
        reg = <0xa0351000 0x1000>;
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "sony,acx424akp";
            reg = <0>;
            vddi-supply = <&ab8500_ldo_aux1_reg>;
            reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
        };
    };

...
