# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/jdi,lpm102a188a.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: JDI LPM102A188A 2560x1800 10.2" DSI Panel

maintainers:
  - Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>

description: |
  This panel requires a dual-channel DSI host to operate. It supports two modes:
  - left-right: each channel drives the left or right half of the screen
  - even-odd: each channel drives the even or odd lines of the screen

  Each of the DSI channels controls a separate DSI peripheral. The peripheral
  driven by the first link (DSI-LINK1) is considered the primary peripheral
  and controls the device. The 'link2' property contains a phandle to the
  peripheral driven by the second link (DSI-LINK2).

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

properties:
  compatible:
    const: jdi,lpm102a188a

  reg:
    maxItems: 1

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

  ddi-supply:
    description: The regulator that provides IOVCC (1.8V).

  link2:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      phandle to the DSI peripheral on the secondary link. Note that the
      presence of this property marks the containing node as DSI-LINK1.

required:
  - compatible
  - reg

if:
  required:
    - link2
then:
  required:
    - power-supply
    - ddi-supply
    - enable-gpios
    - reset-gpios

additionalProperties: false

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

    dsia: dsi@54300000 {
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x0 0x54300000 0x0 0x00040000>;

        link2: panel@0 {
            compatible = "jdi,lpm102a188a";
            reg = <0>;
        };
    };

    dsib: dsi@54400000{
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x0 0x54400000 0x0 0x00040000>;
        nvidia,ganged-mode = <&dsia>;

        link1: panel@0 {
            compatible = "jdi,lpm102a188a";
            reg = <0>;
            power-supply = <&pplcd_vdd>;
            ddi-supply = <&pp1800_lcdio>;
            enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
            link2 = <&link2>;
            backlight = <&backlight>;
        };
    };

...
