code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/ilitek,ili9322.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ilitek ILI9322 TFT panel driver with SPI control bus

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

description: |
  This is a driver for 320x240 TFT panels, accepting a variety of input
  streams that get adapted and scaled to the panel. The panel output has
  960 TFT source driver pins and 240 TFT gate driver pins, VCOM, VCOML and
  VCOMH outputs.

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    items:
      - enum:
          - dlink,dir-685-panel
      - const: ilitek,ili9322

  reset-gpios: true
  port: true

  vcc-supply:
    description: Core voltage supply

  iovcc-supply:
    description: Voltage supply for the interface input/output signals

  vci-supply:
    description: Voltage supply for analog parts

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel: display@0 {
            compatible = "dlink,dir-685-panel", "ilitek,ili9322";
            reg = <0>;
            vcc-supply = <&vdisp>;
            iovcc-supply = <&vdisp>;
            vci-supply = <&vdisp>;

            port {
                panel_in: endpoint {
                    remote-endpoint = <&display_out>;
                };
            };
        };
    };

...


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

title: Ilitek-9341 Display Panel

maintainers:
  - Dillon Min <dillon.minfei@gmail.com>

description: |
  Ilitek ILI9341 TFT panel driver with SPI control bus
  This is a driver for 320x240 TFT panels, accepting a rgb input
  streams with 16 bits or 18 bits.

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    items:
      - enum:
          - adafruit,yx240qv29
          # ili9341 240*320 Color on stm32f429-disco board
          - st,sf-tc240t-9370-t
          - canaan,kd233-tft
      - const: ilitek,ili9341

  reg: true

  dc-gpios:
    maxItems: 1
    description: Display data/command selection (D/CX) of this DBI panel

  spi-3wire: true

  spi-max-frequency:
    const: 10000000

  port: true

  vci-supply:
    description: Analog voltage supply (2.5 .. 3.3V)

  vddi-supply:
    description: Voltage supply for interface logic (1.65 .. 3.3 V)

  vddi-led-supply:
    description: Voltage supply for the LED driver (1.65 .. 3.3 V)

unevaluatedProperties: false

required:
  - compatible
  - reg
  - dc-gpios

if:
  properties:
    compatible:
      contains:
        enum:
          - st,sf-tc240t-9370-t
then:
  required:
    - port

examples:
  - |+
    #include <dt-bindings/gpio/gpio.h>
    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel: display@0 {
            compatible = "st,sf-tc240t-9370-t",
                         "ilitek,ili9341";
            reg = <0>;
            spi-3wire;
            spi-max-frequency = <10000000>;
            dc-gpios = <&gpiod 13 0>;
            port {
                panel_in: endpoint {
                    remote-endpoint = <&display_out>;
                };
            };
        };
        display@1{
            compatible = "adafruit,yx240qv29", "ilitek,ili9341";
            reg = <1>;
            spi-max-frequency = <10000000>;
            dc-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
            rotation = <270>;
            backlight = <&backlight>;
        };
    };
...

repo_name: angery/linux


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/ilitek,ili9881c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ilitek ILI9881c based MIPI-DSI panels

maintainers:
  - Maxime Ripard <mripard@kernel.org>

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

properties:
  compatible:
    items:
      - enum:
          - bananapi,lhr050h41
          - feixin,k101-im2byl02
          - wanchanglong,w552946aba
      - const: ilitek,ili9881c

  backlight: true
  power-supply: true
  reg: true
  reset-gpios: true
  rotation: true

required:
  - compatible
  - power-supply
  - reg

additionalProperties: false

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

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

        panel@0 {
            compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
            reg = <0>;
            power-supply = <&reg_display>;
            reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL05 */
            backlight = <&pwm_bl>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/innolux,ee101ia-01d.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Innolux Corporation 10.1" EE101IA-01D WXGA (1280x800) LVDS panel

maintainers:
  - Heiko Stuebner <heiko.stuebner@bq.com>
  - Thierry Reding <thierry.reding@gmail.com>

allOf:
  - $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
      - const: panel-lvds

  backlight: true
  data-mapping: true
  enable-gpios: true
  power-supply: true
  width-mm: true
  height-mm: true
  panel-timing: true
  port: true

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

additionalProperties: false
...


code:
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/innolux,ej030na.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Innolux EJ030NA 3.0" (320x480 pixels) 24-bit TFT LCD panel

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: innolux,ej030na

  backlight: true
  port: true
  power-supply: true
  reg: true
  reset-gpios: true

required:
  - compatible
  - reg
  - power-supply
  - reset-gpios

unevaluatedProperties: false

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

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

        panel@0 {
            compatible = "innolux,ej030na";
            reg = <0>;

            spi-max-frequency = <10000000>;

            reset-gpios = <&gpe 4 GPIO_ACTIVE_LOW>;
            power-supply = <&lcd_power>;

            backlight = <&backlight>;

            port {
                panel_input: endpoint {
                    remote-endpoint = <&panel_output>;
                };
            };
        };
    };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/innolux,p097pfg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Innolux P097PFG 9.7" 1536x2048 TFT LCD panel

maintainers:
  - Lin Huang <hl@rock-chips.com>

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

properties:
  compatible:
    const: innolux,p097pfg

  backlight: true
  enable-gpios: true
  reg: true

  avdd-supply:
    description: The regulator that provides positive voltage

  avee-supply:
    description: The regulator that provides negative voltage

required:
  - compatible
  - reg
  - avdd-supply
  - avee-supply
  - enable-gpios

additionalProperties: false

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

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

        panel@0 {
            compatible = "innolux,p097pfg";
            reg = <0>;
            avdd-supply = <&avdd>;
            avee-supply = <&avee>;
            backlight = <&backlight>;
            enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/innolux,p120zdg-bf1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Innolux P120ZDG-BF1 12.02 inch eDP 2K display panel

maintainers:
  - Sandeep Panda <spanda@codeaurora.org>
  - Douglas Anderson <dianders@chromium.org>

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

properties:
  compatible:
    const: innolux,p120zdg-bf1

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

required:
  - compatible
  - power-supply

additionalProperties: false

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

    panel_edp: panel-edp {
        compatible = "innolux,p120zdg-bf1";
        enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>;
        power-supply = <&pm8916_l2>;
        backlight = <&backlight>;
        no-hpd;
    };

...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/jadard,jd9365da-h3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Jadard JD9365DA-HE WXGA DSI panel

maintainers:
  - Jagan Teki <jagan@edgeble.ai>

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

properties:
  compatible:
    items:
      - enum:
          - chongzhou,cz101b4001
      - const: jadard,jd9365da-h3

  reg: true

  vdd-supply:
    description: supply regulator for VDD, usually 3.3V

  vccio-supply:
    description: supply regulator for VCCIO, usually 1.8V

  reset-gpios: true

  backlight: true

  port: true

required:
  - compatible
  - reg
  - vdd-supply
  - vccio-supply
  - reset-gpios

additionalProperties: false

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

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

        panel@0 {
            compatible = "chongzhou,cz101b4001", "jadard,jd9365da-h3";
            reg = <0>;
            vdd-supply = <&lcd_3v3>;
            vccio-supply = <&vcca_1v8>;
            reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
            backlight = <&backlight>;

            port {
                mipi_in_panel: endpoint {
                    remote-endpoint = <&mipi_out_panel>;
                };
            };
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/jdi,lt070me05000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: JDI model LT070ME05000 1200x1920 7" DSI Panel

maintainers:
  - Vinay Simha BN <simhavcs@gmail.com>

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

properties:
  compatible:
    const: jdi,lt070me05000

  enable-gpios: true
  reg: true
  reset-gpios: true

  vddp-supply:
    description: |
      The regulator that provides the supply voltage Power IC supply (3-5V)

  iovcc-supply:
    description: |
      The regulator that provides the supply voltage IOVCC,
      power supply for LCM (1.8V)

  dcdc-en-gpios:
    maxItems: 1
    description: |
      phandle of the gpio for power ic line
      Power IC supply enable, High active

  port: true

required:
  - compatible
  - reg
  - vddp-supply
  - iovcc-supply
  - enable-gpios
  - reset-gpios
  - dcdc-en-gpios

additionalProperties: false

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

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

        panel@0 {
            compatible = "jdi,lt070me05000";
            reg = <0>;

            vddp-supply = <&pm8921_l17>;
            iovcc-supply = <&pm8921_lvs7>;

            enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>;
            dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/kingdisplay,kd035g6-54nt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: King Display KD035G6-54NT 3.5" (320x240 pixels) 24-bit TFT LCD panel

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: kingdisplay,kd035g6-54nt

  backlight: true
  port: true
  power-supply: true
  reg: true
  reset-gpios: true

  spi-3wire: true

required:
  - compatible
  - power-supply
  - reset-gpios

unevaluatedProperties: false

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

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

        panel@0 {
            compatible = "kingdisplay,kd035g6-54nt";
            reg = <0>;

            spi-max-frequency = <3125000>;
            spi-3wire;

            reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;

            backlight = <&backlight>;
            power-supply = <&ldo6>;

            port {
                panel_input: endpoint {
                    remote-endpoint = <&panel_output>;
                };
            };
        };
    };

...


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

title: Leadtek ltk035c5444t 3.5" (640x480 pixels) 24-bit IPS LCD panel

maintainers:
  - Paul Cercueil <paul@crapouillou.net>
  - Christophe Branchereau <cbranchereau@gmail.com>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: leadtek,ltk035c5444t

  backlight: true
  port: true
  power-supply: true
  reg: true
  reset-gpios: true

  spi-3wire: true

required:
  - compatible
  - power-supply
  - reset-gpios

unevaluatedProperties: false

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

    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "leadtek,ltk035c5444t";
            reg = <0>;

            spi-3wire;
            spi-max-frequency = <3125000>;

            reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;

            backlight = <&backlight>;
            power-supply = <&vcc>;

            port {
                panel_input: endpoint {
                    remote-endpoint = <&panel_output>;
                };
            };
        };
    };


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

title: Leadtek LTK050H3146W 5.0in 720x1280 DSI panel

maintainers:
  - Quentin Schulz <quentin.schulz@theobroma-systems.com>

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

properties:
  compatible:
    enum:
      - leadtek,ltk050h3146w
      - leadtek,ltk050h3146w-a2
  reg: true
  backlight: true
  reset-gpios: true
  iovcc-supply:
    description: regulator that supplies the iovcc voltage
  vci-supply:
    description: regulator that supplies the vci voltage

required:
  - compatible
  - reg
  - backlight
  - iovcc-supply
  - vci-supply

additionalProperties: false

examples:
  - |
    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "leadtek,ltk050h3146w";
            reg = <0>;
            backlight = <&backlight>;
            iovcc-supply = <&vcc_1v8>;
            vci-supply = <&vcc3v3_lcd>;
        };
    };

...


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

title: Leadtek LTK500HD1829 5.0in 720x1280 DSI panel

maintainers:
  - Heiko Stuebner <heiko.stuebner@theobroma-systems.com>

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

properties:
  compatible:
    const: leadtek,ltk500hd1829
  reg: true
  backlight: true
  reset-gpios: true
  iovcc-supply:
    description: regulator that supplies the iovcc voltage
  vcc-supply:
    description: regulator that supplies the vcc voltage

required:
  - compatible
  - reg
  - backlight
  - iovcc-supply
  - vcc-supply

additionalProperties: false

examples:
  - |
    dsi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
            compatible = "leadtek,ltk500hd1829";
            reg = <0>;
            backlight = <&backlight>;
            iovcc-supply = <&vcc_1v8>;
            vcc-supply = <&vcc_2v8>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/lg,lg4573.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: LG LG4573 TFT Liquid Crystal Display with SPI control bus

description: |
  The panel must obey the rules for a SPI slave device as specified in
  spi/spi-controller.yaml

maintainers:
  - Heiko Schocher <hs@denx.de>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: lg,lg4573

  reg: true

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        lcd_panel: display@0 {
            compatible = "lg,lg4573";
            spi-max-frequency = <10000000>;
            reg = <0>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/lgphilips,lb035q02.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: LG.Philips LB035Q02 Panel

maintainers:
  - Tomi Valkeinen <tomi.valkeinen@ti.com>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: lgphilips,lb035q02

  label: true
  enable-gpios: true
  port: true

  spi-cpha: true
  spi-cpol: true

required:
  - compatible
  - enable-gpios
  - port

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel: panel@0 {
            compatible = "lgphilips,lb035q02";
            reg = <0>;
            spi-max-frequency = <100000>;
            spi-cpol;
            spi-cpha;

            label = "lcd";

            enable-gpios = <&gpio7 7 0>;

            port {
                lcd_in: endpoint {
                    remote-endpoint = <&dpi_out>;
                };
            };
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/logicpd,type28.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Logic PD Type 28 4.3" WQVGA TFT LCD panel

maintainers:
  - Adam Ford <aford173@gmail.com>

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

properties:
  compatible:
    const: logicpd,type28

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

required:
  - compatible

additionalProperties: false

examples:
  - |
    lcd0: display {
      compatible = "logicpd,type28";
      enable-gpios = <&gpio5 27 0>;
      backlight = <&backlight>;
      port {
        lcd_in: endpoint {
          remote-endpoint = <&dpi_out>;
        };
      };
    };

...


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

title: Mantix MLAF057WE51-X 5.7" 720x1440 TFT LCD panel

maintainers:
  - Guido Günther <agx@sigxcpu.org>

description:
  Mantix MLAF057WE51 X is a 720x1440 TFT LCD panel connected using
  a MIPI-DSI video interface.

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

properties:
  compatible:
    enum:
      - mantix,mlaf057we51-x
      - ys,ys57pss36bh5gq

  port: true
  reg:
    maxItems: 1
    description: DSI virtual channel

  avdd-supply:
    description: Positive analog power supply

  avee-supply:
    description: Negative analog power supply

  vddi-supply:
    description: 1.8V I/O voltage supply

  reset-gpios: true

  mantix,tp-rstn-gpios:
    maxItems: 1
    description: second reset line that triggers DSI config load

  backlight: true

required:
  - compatible
  - reg
  - avdd-supply
  - avee-supply
  - vddi-supply
  - reset-gpios

additionalProperties: false

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

    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "mantix,mlaf057we51-x";
            reg = <0>;
            avdd-supply = <&reg_avdd>;
            avee-supply = <&reg_avee>;
            vddi-supply = <&reg_1v8_p>;
            reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
            mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
            backlight = <&backlight>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/mitsubishi,aa104xd12.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mitsubishi AA104XD12 10.4" XGA LVDS Display Panel

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  - Thierry Reding <thierry.reding@gmail.com>

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

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

  required:
    - compatible

properties:
  compatible:
    items:
      - const: mitsubishi,aa104xd12
      - const: panel-lvds

  vcc-supply:
    description: Reference to the regulator powering the panel VCC pins.

  data-mapping:
    const: jeida-24

  width-mm:
    const: 210

  height-mm:
    const: 158

  panel-timing: true
  port: true

additionalProperties: false

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

examples:
  - |+

    panel {
      compatible = "mitsubishi,aa104xd12", "panel-lvds";
      vcc-supply = <&vcc_3v3>;

      width-mm = <210>;
      height-mm = <158>;

      data-mapping = "jeida-24";

      panel-timing {
        /* 1024x768 @65Hz */
        clock-frequency = <65000000>;
        hactive = <1024>;
        vactive = <768>;
        hsync-len = <136>;
        hfront-porch = <20>;
        hback-porch = <160>;
        vfront-porch = <3>;
        vback-porch = <29>;
        vsync-len = <6>;
      };

      port {
        panel_in: endpoint {
          remote-endpoint = <&lvds_encoder>;
        };
      };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/mitsubishi,aa121td01.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mitsubishi AA121TD01 12.1" WXGA LVDS Display Panel

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  - Thierry Reding <thierry.reding@gmail.com>

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

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

  required:
    - compatible

properties:
  compatible:
    items:
      - const: mitsubishi,aa121td01
      - const: panel-lvds

  vcc-supply:
    description: Reference to the regulator powering the panel VCC pins.

  data-mapping:
    const: jeida-24

  width-mm:
    const: 261

  height-mm:
    const: 163

  panel-timing: true
  port: true

additionalProperties: false

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

examples:
  - |+
    panel {
      compatible = "mitsubishi,aa121td01", "panel-lvds";
      vcc-supply = <&vcc_3v3>;

      width-mm = <261>;
      height-mm = <163>;

      data-mapping = "jeida-24";

      panel-timing {
        /* 1280x800 @60Hz */
        clock-frequency = <71000000>;
        hactive = <1280>;
        vactive = <800>;
        hsync-len = <70>;
        hfront-porch = <20>;
        hback-porch = <70>;
        vsync-len = <5>;
        vfront-porch = <3>;
        vback-porch = <15>;
      };

      port {
        panel_in: endpoint {
          remote-endpoint = <&lvds_encoder>;
        };
      };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/nec,nl8048hl11.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NEC NL8048HL11 4.1" WVGA TFT LCD panel

description:
  The NEC NL8048HL11 is a 4.1" WVGA TFT LCD panel with a 24-bit RGB parallel
  data interface and an SPI control interface.

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: nec,nl8048hl11

  label: true
  port: true
  reg: true
  reset-gpios: true

  spi-max-frequency:
    maximum: 10000000

required:
  - compatible
  - reg
  - reset-gpios
  - port

unevaluatedProperties: false

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

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

      lcd_panel: panel@0 {
        compatible = "nec,nl8048hl11";
        reg = <0>;
        spi-max-frequency = <10000000>;

        reset-gpios = <&gpio7 7 GPIO_ACTIVE_LOW>;

        port {
          lcd_in: endpoint {
            remote-endpoint = <&dpi_out>;
          };
        };
      };
    };

...


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

title: NewVision NV3051D based LCD panel

description: |
  The NewVision NV3051D is a driver chip used to drive DSI panels. For now,
  this driver only supports the 640x480 panels found in the Anbernic RG353
  based devices.

maintainers:
  - Chris Morgan <macromorgan@hotmail.com>

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

properties:
  compatible:
    items:
      - enum:
          - anbernic,rg353p-panel
          - anbernic,rg353v-panel
      - const: newvision,nv3051d

  reg: true
  backlight: true
  port: true
  reset-gpios:
    description: Active low reset GPIO
  vdd-supply: true

required:
  - compatible
  - reg
  - backlight

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "anbernic,rg353p-panel", "newvision,nv3051d";
            reg = <0>;
            backlight = <&backlight>;
            reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
            vdd-supply = <&vcc3v3_lcd>;

            port {
                mipi_in_panel: endpoint {
                    remote-endpoint = <&mipi_out_panel>;
                };
            };
        };
    };

...


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

title: Novatek NT35510-based display panels

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

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

properties:
  compatible:
    items:
      - const: hydis,hva40wv1
      - const: novatek,nt35510
    description: This indicates the panel manufacturer of the panel
      that is in turn using the NT35510 panel driver. The compatible
      string determines how the NT35510 panel driver shall be configured
      to work with the indicated panel. The novatek,nt35510 compatible shall
      always be provided as a fallback.
  reg: true
  reset-gpios: true
  vdd-supply:
    description: regulator that supplies the vdd voltage
  vddi-supply:
    description: regulator that supplies the vddi voltage
  backlight: true

required:
  - compatible
  - reg

additionalProperties: false

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

    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "hydis,hva40wv1", "novatek,nt35510";
            reg = <0>;
            vdd-supply = <&ab8500_ldo_aux4_reg>;
            vddi-supply = <&ab8500_ldo_aux6_reg>;
            reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
            backlight = <&gpio_bl>;
        };
    };

...


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

title: Novatek NT35950-based display panels

maintainers:
  - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>

description: |
  The nt35950 IC from Novatek is a Driver IC used to drive MIPI-DSI panels,
  with Static RAM for content retention in command mode and also supports
  video mode with VESA Frame Buffer Compression or Display Stream Compression
  on single, or dual dsi port(s).
  This DDIC is also capable of upscaling an input image to the panel's native
  resolution, for example it can upscale a 1920x1080 input to 3840x2160 with
  either bilinear interpolation or pixel duplication.

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

properties:
  compatible:
    items:
      - enum:
          - sharp,ls055d1sx04
      - const: novatek,nt35950
    description: This indicates the panel manufacturer of the panel
      that is in turn using the NT35950 panel driver. The compatible
      string determines how the NT35950 panel driver shall be configured
      to work with the indicated panel. The novatek,nt35950 compatible shall
      always be provided as a fallback.

  reset-gpios:
    maxItems: 1
    description: phandle of gpio for reset line - This should be 8mA, gpio
      can be configured using mux, pinctrl, pinctrl-names (active high)

  avdd-supply:
    description: positive boost supply regulator
  avee-supply:
    description: negative boost supply regulator
  dvdd-supply:
    description: regulator that supplies the digital voltage
  vddio-supply:
    description: regulator that supplies the I/O voltage

  backlight: true
  ports: true
  reg: true

required:
  - compatible
  - reg
  - reset-gpios
  - avdd-supply
  - avee-supply
  - dvdd-supply
  - vddio-supply

additionalProperties: false

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

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

        panel@0 {
            compatible = "sharp,ls055d1sx04", "novatek,nt35950";
            reg = <0>;

            backlight = <&pmi8998_wled>;
            reset-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;

            avdd-supply = <&lab>;
            avee-supply = <&ibb>;
            dvdd-supply = <&disp_dvdd_vreg>;
            vddio-supply = <&vreg_l14a_1p85>;

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

                port@0 {
                    reg = <0>;
                    panel_in0: endpoint {
                        remote-endpoint = <&dsi0_out>;
                    };
                };

                port@1 {
                    reg = <1>;
                    panel_in1: endpoint {
                        remote-endpoint = <&dsi1_out>;
                    };
                };
            };
        };
    };

...


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

title: Novatek NT36672A based DSI display Panels

maintainers:
  - Sumit Semwal <sumit.semwal@linaro.org>

description: |
  The nt36672a IC from Novatek is a generic DSI Panel IC used to drive dsi
  panels.
  Right now, support is added only for a Tianma FHD+ LCD display panel with a
  resolution of 1080x2246. It is a video mode DSI panel.

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

properties:
  compatible:
    items:
      - enum:
          - tianma,fhd-video
      - const: novatek,nt36672a
    description: This indicates the panel manufacturer of the panel that is
      in turn using the NT36672A panel driver. This compatible string
      determines how the NT36672A panel driver is configured for the indicated
      panel. The novatek,nt36672a compatible shall always be provided as a fallback.

  reset-gpios:
    maxItems: 1
    description: phandle of gpio for reset line - This should be 8mA, gpio
      can be configured using mux, pinctrl, pinctrl-names (active high)

  vddi0-supply:
    description: phandle of the regulator that provides the supply voltage
      Power IC supply

  vddpos-supply:
    description: phandle of the positive boost supply regulator

  vddneg-supply:
    description: phandle of the negative boost supply regulator

  reg: true
  port: true
  backlight: true

required:
  - compatible
  - reg
  - vddi0-supply
  - vddpos-supply
  - vddneg-supply
  - reset-gpios
  - port

unevaluatedProperties: false

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

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

        panel@0 {
            compatible = "tianma,fhd-video", "novatek,nt36672a";
            reg = <0>;
            vddi0-supply = <&vreg_l14a_1p88>;
            vddpos-supply = <&lab>;
            vddneg-supply = <&ibb>;

            backlight = <&pmi8998_wled>;
            reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;

            port {
                tianma_nt36672a_in_0: endpoint {
                    remote-endpoint = <&dsi0_out>;
                };
            };
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/olimex,lcd-olinuxino.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Binding for Olimex Ltd. LCD-OLinuXino bridge panel.

maintainers:
  - Stefan Mavrodiev <stefan@olimex.com>

description: |
  This device can be used as bridge between a host controller and LCD panels.
  Currently supported LCDs are:
    - LCD-OLinuXino-4.3TS
    - LCD-OLinuXino-5
    - LCD-OLinuXino-7
    - LCD-OLinuXino-10

  The panel itself contains:
    - AT24C16C EEPROM holding panel identification and timing requirements
    - AR1021 resistive touch screen controller (optional)
    - FT5x6 capacitive touch screnn controller (optional)
    - GT911/GT928 capacitive touch screen controller (optional)

  The above chips share same I2C bus. The EEPROM is factory preprogrammed with
  device information (id, serial, etc.) and timing requirements.

  Touchscreen bingings can be found in these files:
    - input/touchscreen/goodix.yaml
    - input/touchscreen/edt-ft5x06.txt
    - input/touchscreen/ar1021.txt

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

properties:
  compatible:
    const: olimex,lcd-olinuxino

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

required:
  - compatible
  - reg
  - power-supply

additionalProperties: false

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

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

        panel@50 {
            compatible = "olimex,lcd-olinuxino";
            reg = <0x50>;
            power-supply = <&reg_vcc5v0>;
            enable-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>;
            backlight = <&backlight>;
        };
    };

...


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

title: Orise Tech OTM8009A 3.97" 480x800 TFT LCD panel (MIPI-DSI video mode)

maintainers:
  - Philippe CORNU <philippe.cornu@foss.st.com>

description: |
             The Orise Tech OTM8009A is a 3.97" 480x800 TFT LCD panel connected using
             a MIPI-DSI video interface. Its backlight is managed through the DSI link.
allOf:
  - $ref: panel-common.yaml#

properties:

  compatible:
    const: orisetech,otm8009a

  reg:
    maxItems: 1
    description: DSI virtual channel

  enable-gpios: true
  port: true
  power-supply: true

  reset-gpios:
    maxItems: 1

additionalProperties: false

required:
  - compatible
  - reg

examples:
  - |
    dsi {
      #address-cells = <1>;
      #size-cells = <0>;
      panel@0 {
        compatible = "orisetech,otm8009a";
        reg = <0>;
        reset-gpios = <&gpiof 15 0>;
        power-supply = <&v1v8>;
      };
    };
...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/panel-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common Properties for Display Panels

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

description: |
  This document defines device tree properties common to several classes of
  display panels. It doesn't constitue 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.

properties:
  # Descriptive Properties
  width-mm:
    description:
      Specifies the width of the physical area where images are displayed. This
      property is expressed in millimeters and rounded to the closest unit.

  height-mm:
    description:
      Specifies the height of the physical area where images are displayed. This
      property is expressed in millimeters and rounded to the closest unit.

  label:
    description: |
      The label property specifies a symbolic name for the panel as a
      string suitable for use by humans. It typically contains a name inscribed
      on the system (e.g. as an affixed label) or specified in the system's
      documentation (e.g. in the user's manual).

      If no such name exists, and unless the property is mandatory according to
      device tree bindings, it shall rather be omitted than constructed of
      non-descriptive information. For instance an LCD panel in a system that
      contains a single panel shall not be labelled "LCD" if that name is not
      inscribed on the system or used in a descriptive fashion in system
      documentation.

  rotation:
    description:
      Display rotation in degrees counter clockwise (0,90,180,270)
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 90, 180, 270]

  # Display Timings
  panel-timing:
    description:
      Most display panels are restricted to a single resolution and
      require specific display timings. The panel-timing subnode expresses those
      timings.
    $ref: panel-timing.yaml#

  display-timings:
    description:
      Some display panels support several resolutions with different timings.
      The display-timings bindings supports specifying several timings and
      optionally specifying which is the native mode.
    $ref: display-timings.yaml#

  # Connectivity
  port:
    $ref: /schemas/graph.yaml#/properties/port

  ddc-i2c-bus:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Some panels expose EDID information through an I2C-compatible
      bus such as DDC2 or E-DDC. For such panels the ddc-i2c-bus contains a
      phandle to the system I2C controller connected to that bus.

  no-hpd:
    type: boolean
    description:
      This panel is supposed to communicate that it's ready via HPD
      (hot plug detect) signal, but the signal isn't hooked up so we should
      hardcode the max delay from the panel spec when powering up the panel.

  hpd-gpios:
    maxItems: 1
    description:
      If Hot Plug Detect (HPD) is connected to a GPIO in the system rather
      than a dedicated HPD pin the pin can be specified here.

  # Control I/Os

  # Many display panels can be controlled through pins driven by GPIOs. The nature
  # and timing of those control signals are device-specific and left for panel
  # device tree bindings to specify. The following GPIO specifiers can however be
  # used for panels that implement compatible control signals.

  enable-gpios:
    maxItems: 1
    description: |
      Specifier for a GPIO connected to the panel enable control signal. The
      enable signal is active high and enables operation of the panel. This
      property can also be used for panels implementing an active low power down
      signal, which is a negated version of the enable signal. Active low enable
      signals (or active high power down signals) can be supported by inverting
      the GPIO specifier polarity flag.

      Note that the enable signal control panel operation only and must not be
      confused with a backlight enable signal.

  reset-gpios:
    maxItems: 1
    description:
      Specifier for a GPIO connected to the panel reset control signal.
      The reset signal is active low and resets the panel internal logic
      while active. Active high reset signals can be supported by inverting the
      GPIO specifier polarity flag.

  te-gpios:
    maxItems: 1
    description:
      GPIO spec for the tearing effect synchronization signal.
      The tearing effect signal is active high. Active low signals can be
      supported by inverting the GPIO specifier polarity flag.

  # Power
  power-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 power-supply property specifies the supply powering the panel as a
      phandle to a regulator.

  # Backlight

  # Most display panels include a backlight. Some of them also include a backlight
  # controller exposed through a control bus such as I2C or DSI. Others expose
  # backlight control through GPIO, PWM or other signals connected to an external
  # backlight controller.

  backlight:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      For panels whose backlight is controlled by an external backlight
      controller, this property contains a phandle that references the
      controller.

dependencies:
  width-mm: [ height-mm ]
  height-mm: [ width-mm ]

additionalProperties: true

...


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

title: Generic MIPI DPI Panel

maintainers:
  - Sam Ravnborg <sam@ravnborg.org>

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

properties:
  compatible:
    description:
      Shall contain a panel specific compatible and "panel-dpi"
      in that order.
    items:
      - {}
      - const: panel-dpi

  backlight: true
  enable-gpios: true
  height-mm: true
  label: true
  panel-timing: true
  port: true
  power-supply: true
  reset-gpios: true
  width-mm: true

required:
  - panel-timing
  - power-supply

additionalProperties: false

examples:
  - |
    panel {
        compatible = "startek,startek-kd050c", "panel-dpi";
        label = "osddisplay";
        power-supply = <&vcc_supply>;
        backlight = <&backlight>;

        port {
            lcd_in: endpoint {
                remote-endpoint = <&dpi_out>;
            };
        };
        panel-timing {
            clock-frequency = <9200000>;
            hactive = <800>;
            vactive = <480>;
            hfront-porch = <8>;
            hback-porch = <4>;
            hsync-len = <41>;
            vback-porch = <2>;
            vfront-porch = <4>;
            vsync-len = <10>;

            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <1>;
            pixelclk-active = <1>;
        };
    };

...


code:
# 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>;
        };
    };

...


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

title: Probeable (via DP AUX / EDID) eDP Panels with simple poweron sequences

maintainers:
  - Douglas Anderson <dianders@chromium.org>

description: |
  This binding file can be used to indicate that an eDP panel is connected
  to a Embedded DisplayPort AUX bus (see display/dp-aux-bus.yaml) without
  actually specifying exactly what panel is connected. This is useful for
  the case that more than one different panel could be connected to the
  board, either for second-sourcing purposes or to support multiple SKUs
  with different LCDs that hook up to a common board.

  As per above, a requirement for using this binding is that the panel is
  represented under the DP AUX bus. This means that we can use any
  information provided by the DP AUX bus (including the EDID) to identify
  the panel. We can use this to identify display size, resolution, and
  timings among other things.

  One piece of information about eDP panels that is typically _not_
  provided anywhere on the DP AUX bus is the power sequencing timings.
  This is the reason why, historically, we've always had to explicitly
  list eDP panels. We solve that here with two tricks. The "worst case"
  power on timings for any panels expected to be connected to a board are
  specified in these bindings. Once we've powered on, it's expected that
  the operating system will lookup the panel in a table (based on EDID
  information) to figure out other power sequencing timings.

  eDP panels in general can have somewhat arbitrary power sequencing
  requirements. However, even though it's arbitrary in general, the
  vast majority of panel datasheets have a power sequence diagram that
  looks the exactly the same as every other panel. Each panel datasheet
  cares about different timings in this diagram but the fact that the
  diagram is so similar means we can come up with a single driver to
  handle it.

  These diagrams all look roughly like this, sometimes labeled with
  slightly different numbers / lines but all pretty much the same
  sequence. This is because much of this diagram comes straight from
  the eDP Standard.

                __________________________________________________
  Vdd       ___/:                                                :\____       /
          _/    :                                                :     \_____/
           :<T1>:<T2>:                                 :<--T10-->:<T11>:<T12>:
                :    +-----------------------+---------+---------+
  eDP     -----------+ Black video           | Src vid | Blk vid +
  Display       :    +-----------------------+---------+---------+
                :     _______________________:_________:_________:
  HPD           :<T3>|                       :         :         |
          ___________|                       :         :         |_____________
                     :                       :         :         :
  Sink               +-----------------------:---------:---------+
  AUX CH  -----------+ AUX Ch operational    :         :         +-------------
                     +-----------------------:---------:---------+
                     :                       :         :         :
                     :<T4>:             :<T7>:         :         :
  Src main                +------+------+--------------+---------+
  lnk data----------------+LnkTrn| Idle |Valid vid data| Idle/off+-------------
                          +------+------+--------------+---------+
                          : <T5> :<-T6->:<-T8->:       :
                                               :__:<T9>:
  LED_EN                                       |  |
          _____________________________________|  |____________________________
                                               :  :
                                     __________:__:_
  PWM                               |          :  : |
          __________________________|          :  : |__________________________
                                    :          :  : :
                       _____________:__________:__:_:______
  Bklight         ____/:            :          :  : :     :\____
  power   _______/     :<---T13---->:          :  : :<T16>:     \______________
  (Vbl)          :<T17>:<---------T14--------->:  :<-T15->:<T18>:

  The above looks fairly complex but, as per above, each panel only cares
  about a subset of those timings.

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

properties:
  compatible:
    const: edp-panel

  hpd-reliable-delay-ms:
    description:
      A fixed amount of time that must be waited after powering on the
      panel's power-supply before the HPD signal is a reliable way to know
      when the AUX channel is ready. This is useful for panels that glitch
      the HPD at the start of power-on. This value is not needed if HPD is
      always reliable for all panels that might be connected.

  hpd-absent-delay-ms:
    description:
      The panel specifies that HPD will be asserted this many milliseconds
      from power on (timing T3 in the diagram above). If we have no way to
      measure HPD then a fixed delay of this many milliseconds can be used.
      This can also be used as a timeout when waiting for HPD. Does not
      include the hpd-reliable-delay, so if hpd-reliable-delay was 80 ms
      and hpd-absent-delay was 200 ms then we'd do a fixed 80 ms delay and
      then we know HPD would assert in the next 120 ms. This value is not
      needed if HPD hooked up, either through a GPIO in the panel node or
      hooked up directly to the eDP controller.

  backlight: true
  enable-gpios: true
  port: true
  power-supply: true
  no-hpd: true
  hpd-gpios: true

additionalProperties: false

required:
  - compatible
  - power-supply

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

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

      bridge@2d {
        compatible = "ti,sn65dsi86";
        reg = <0x2d>;

        interrupt-parent = <&tlmm>;
        interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;

        enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;

        vpll-supply = <&src_pp1800_s4a>;
        vccio-supply = <&src_pp1800_s4a>;
        vcca-supply = <&src_pp1200_l2a>;
        vcc-supply = <&src_pp1200_l2a>;

        clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
        clock-names = "refclk";

        no-hpd;

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

          port@0 {
            reg = <0>;
            endpoint {
              remote-endpoint = <&dsi0_out>;
            };
          };

          port@1 {
            reg = <1>;
            sn65dsi86_out: endpoint {
              remote-endpoint = <&panel_in_edp>;
            };
          };
        };

        aux-bus {
          panel {
            compatible = "edp-panel";
            power-supply = <&pp3300_dx_edp>;
            backlight = <&backlight>;
            hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>;
            hpd-reliable-delay-ms = <15>;

            port {
              panel_in_edp: endpoint {
                remote-endpoint = <&sn65dsi86_out>;
              };
            };
          };
        };
      };
    };


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

title: Generic LVDS Display Panel Device Tree Bindings

maintainers:
  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  - Thierry Reding <thierry.reding@gmail.com>

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

select:
  properties:
    compatible:
      contains:
        const: panel-lvds

  not:
    properties:
      compatible:
        contains:
          enum:
            - advantech,idk-1110wr
            - advantech,idk-2121wr
            - innolux,ee101ia-01d
            - mitsubishi,aa104xd12
            - mitsubishi,aa121td01
            - sgd,gktw70sdae4se

  required:
    - compatible

properties:
  compatible:
    items:
      - enum:
          - auo,b101ew05
          - tbs,a711-panel

      - const: panel-lvds

unevaluatedProperties: false

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

...


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

title: MIPI DBI SPI Panel

maintainers:
  - Noralf Trønnes <noralf@tronnes.org>

description: |
  This binding is for display panels using a MIPI DBI compatible controller
  in SPI mode.

  The MIPI Alliance Standard for Display Bus Interface defines the electrical
  and logical interfaces for display controllers historically used in mobile
  phones. The standard defines 4 display architecture types and this binding is
  for type 1 which has full frame memory. There are 3 interface types in the
  standard and type C is the serial interface.

  The standard defines the following interface signals for type C:
  - Power:
    - Vdd: Power supply for display module
    - Vddi: Logic level supply for interface signals
    Combined into one in this binding called: power-supply
  - Interface:
    - CSx: Chip select
    - SCL: Serial clock
    - Dout: Serial out
    - Din: Serial in
    - SDA: Bidrectional in/out
    - D/CX: Data/command selection, high=data, low=command
      Called dc-gpios in this binding.
    - RESX: Reset when low
      Called reset-gpios in this binding.

  The type C interface has 3 options:

    - Option 1: 9-bit mode and D/CX as the 9th bit
      |              Command              |  the next command or following data  |
      |<0><D7><D6><D5><D4><D3><D2><D1><D0>|<D/CX><D7><D6><D5><D4><D3><D2><D1><D0>|

    - Option 2: 16-bit mode and D/CX as a 9th bit
      |              Command or data                              |
      |<X><X><X><X><X><X><X><D/CX><D7><D6><D5><D4><D3><D2><D1><D0>|

    - Option 3: 8-bit mode and D/CX as a separate interface line
      |        Command or data         |
      |<D7><D6><D5><D4><D3><D2><D1><D0>|

  The panel resolution is specified using the panel-timing node properties
  hactive (width) and vactive (height). The other mandatory panel-timing
  properties should be set to zero except clock-frequency which can be
  optionally set to inform about the actual pixel clock frequency.

  If the panel is wired to the controller at an offset specify this using
  hback-porch (x-offset) and vback-porch (y-offset).

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    items:
      - enum:
          - sainsmart18
      - const: panel-mipi-dbi-spi

  write-only:
    type: boolean
    description:
      Controller is not readable (ie. Din (MISO on the SPI interface) is not
      wired up).

  dc-gpios:
    maxItems: 1
    description: |
      Controller data/command selection (D/CX) in 4-line SPI mode.
      If not set, the controller is in 3-line SPI mode.

required:
  - compatible
  - reg
  - width-mm
  - height-mm
  - panel-timing

unevaluatedProperties: false

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

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

        display@0{
            compatible = "sainsmart18", "panel-mipi-dbi-spi";
            reg = <0>;
            spi-max-frequency = <40000000>;

            dc-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
            write-only;

            backlight = <&backlight>;

            width-mm = <35>;
            height-mm = <28>;

            panel-timing {
                hactive = <160>;
                vactive = <128>;
                hback-porch = <0>;
                vback-porch = <0>;
                clock-frequency = <0>;
                hfront-porch = <0>;
                hsync-len = <0>;
                vfront-porch = <0>;
                vsync-len = <0>;
            };
        };
    };

...


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

title: Simple DSI panels with a single power-supply

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Sam Ravnborg <sam@ravnborg.org>

description: |
  This binding file is a collection of the DSI panels that
  requires only a single power-supply.
  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 8.0" WUXGA TFT LCD panel
      - auo,b080uan01
        # Boe Corporation 8.0" WUXGA TFT LCD panel
      - boe,tv080wum-nl0
        # Innolux P079ZCA 7.85" 768x1024 TFT LCD panel
      - innolux,p079zca
        # JDI FHD_R63452 1080x1920 5.2" IPS LCD Panel
      - jdi,fhd-r63452
        # Khadas TS050 5" 1080x1920 LCD panel
      - khadas,ts050
        # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel
      - kingdisplay,kd097d04
        # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel
      - lg,acx467akm-7
        # LG Corporation 7" WXGA TFT LCD panel
      - lg,ld070wx3-sl01
        # One Stop Displays OSD101T2587-53TS 10.1" 1920x1200 panel
      - osddisplays,osd101t2587-53ts
        # Panasonic 10" WUXGA TFT LCD panel
      - panasonic,vvx10f004b00
        # Panasonic 10" WUXGA TFT LCD panel
      - panasonic,vvx10f034n00
        # Samsung s6e3fc2x01 1080x2340 AMOLED panel
      - samsung,s6e3fc2x01
        # Samsung sofef00 1080x2280 AMOLED panel
      - samsung,sofef00
        # Shangai Top Display Optoelectronics 7" TL070WSH30 1024x600 TFT LCD panel
      - tdo,tl070wsh30

  reg:
    maxItems: 1
    description: DSI virtual channel

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

additionalProperties: false

required:
  - compatible
  - power-supply
  - reg

examples:
  - |
    dsi {
      #address-cells = <1>;
      #size-cells = <0>;
      panel@0 {
        compatible = "panasonic,vvx10f034n00";
        reg = <0>;
        power-supply = <&vcc_lcd_reg>;

        port {
          panel: endpoint {
            remote-endpoint = <&ltdc_out>;
          };
        };
      };
    };


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

title: Simple panels with one power supply

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Sam Ravnborg <sam@ravnborg.org>

description: |
  This binding file is a collection of the simple (dumb) panels that
  requires only a single power-supply.
  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.

        # Ampire AM-1280800N3TZQW-T00H 10.1" WQVGA TFT LCD panel
      - ampire,am-1280800n3tzqw-t00h
        # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel
      - ampire,am-480272h3tmqw-t01h
        # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel
      - ampire,am800480r3tmqwa1h
        # Ampire AM-800600P5TMQW-TB8H 8.0" SVGA TFT LCD panel
      - ampire,am800600p5tmqw-tb8h
        # AU Optronics Corporation 10.1" WSVGA TFT LCD panel
      - auo,b101aw03
        # AU Optronics Corporation 10.1" WSVGA TFT LCD panel
      - auo,b101ean01
        # AU Optronics Corporation 10.1" WXGA TFT LCD panel
      - auo,b101xtn01
        # AUO B116XAK01 eDP TFT LCD panel
      - auo,b116xa01
        # AU Optronics Corporation 11.6" HD (1366x768) color TFT-LCD panel
      - auo,b116xw03
        # AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel
      - auo,b133han05
        # AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel
      - auo,b133htn01
        # AU Optronics Corporation 13.3" WXGA (1366x768) TFT LCD panel
      - auo,b133xtn01
        # AU Optronics Corporation 14.0" FHD (1920x1080) color TFT-LCD panel
      - auo,b140han06
        # AU Optronics Corporation 7.0" FHD (800 x 480) TFT LCD panel
      - auo,g070vvn01
        # AU Optronics Corporation 10.1" (1280x800) color TFT LCD panel
      - auo,g101evn010
        # AU Optronics Corporation 10.4" (800x600) color TFT LCD panel
      - auo,g104sn02
        # AU Optronics Corporation 12.1" (1280x800) TFT LCD panel
      - auo,g121ean01
        # AU Optronics Corporation 13.3" FHD (1920x1080) TFT LCD panel
      - auo,g133han01
        # AU Optronics Corporation 15.6" (1366x768) TFT LCD panel
      - auo,g156xtn01
        # AU Optronics Corporation 18.5" FHD (1920x1080) TFT LCD panel
      - auo,g185han01
        # AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel
      - auo,g190ean01
        # AU Optronics Corporation 31.5" FHD (1920x1080) TFT LCD panel
      - auo,p320hvn03
        # AU Optronics Corporation 21.5" FHD (1920x1080) color TFT LCD panel
      - auo,t215hvn01
        # Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
      - avic,tm070ddh03
        # BOE HV070WSA-100 7.01" WSVGA TFT LCD panel
      - boe,hv070wsa-100
        # BOE OPTOELECTRONICS TECHNOLOGY 10.1" WXGA TFT LCD panel
      - boe,nv101wxmn51
        # BOE NV133FHM-N61 13.3" FHD (1920x1080) TFT LCD Panel
      - boe,nv110wtm-n61
        # BOE NV110WTM-N61 11.0" 2160x1440 TFT LCD Panel
      - boe,nv133fhm-n61
        # BOE NV133FHM-N62 13.3" FHD (1920x1080) TFT LCD Panel
      - boe,nv133fhm-n62
        # BOE NV140FHM-N49 14.0" FHD a-Si FT panel
      - boe,nv140fhmn49
        # CDTech(H.K.) Electronics Limited 4.3" 480x272 color TFT-LCD panel
      - cdtech,s043wq26h-ct7
        # CDTech(H.K.) Electronics Limited 7" WSVGA (1024x600) TFT LCD Panel
      - cdtech,s070pws19hp-fc21
        # CDTech(H.K.) Electronics Limited 7" WVGA (800x480) TFT LCD Panel
      - cdtech,s070swv29hg-dc44
        # CDTech(H.K.) Electronics Limited 7" 800x480 color TFT-LCD panel
      - cdtech,s070wv95-ct16
        # Chefree CH101OLHLWH-002 10.1" (1280x800) color TFT LCD panel
      - chefree,ch101olhlwh-002
        # Chunghwa Picture Tubes Ltd. 7" WXGA TFT LCD panel
      - chunghwa,claa070wp03xg
        # Chunghwa Picture Tubes Ltd. 10.1" WXGA TFT LCD panel
      - chunghwa,claa101wa01a
        # Chunghwa Picture Tubes Ltd. 10.1" WXGA TFT LCD panel
      - chunghwa,claa101wb01
        # Chunghwa Picture Tubes Ltd. 10.1" WXGA TFT LCD panel
      - chunghwa,claa101wb03
        # DataImage, Inc. 4.3" WQVGA (480x272) TFT LCD panel with 24-bit parallel interface.
      - dataimage,fg040346dsswbg04
        # DataImage, Inc. 10.1" WXGA (1280×800) TFT LCD panel
      - dataimage,fg1001l0dsswmg01
        # DataImage, Inc. 7" WVGA (800x480) TFT LCD panel with 24-bit parallel interface.
      - dataimage,scf0700c48ggu18
        # DLC Display Co. DLC1010GIG 10.1" WXGA TFT LCD Panel
      - dlc,dlc1010gig
        # Emerging Display Technology Corp. 3.5" QVGA TFT LCD panel
      - edt,et035012dm6
        # Emerging Display Technology Corp. 5.7" VGA TFT LCD panel
      - edt,et057090dhu
      - edt,et070080dh6
        # Emerging Display Technology Corp. 3.5" WVGA TFT LCD panel with
        # capacitive multitouch
      - edt,etm0350g0dh6
        # Emerging Display Technology Corp. 480x272 TFT Display with capacitive touch
      - edt,etm043080dh6gp
        # Emerging Display Technology Corp. 480x272 TFT Display
      - edt,etm0430g0dh6
        # Emerging Display Technology Corp. WVGA TFT Display with capacitive touch
        # Same as ETM0700G0DH6 but with inverted pixel clock.
      - edt,etm070080bdh6
        # Emerging Display Technology Corp. WVGA TFT Display with capacitive touch
        # Same timings as the ETM0700G0DH6, but with resistive touch.
      - edt,etm070080dh6
        # Emerging Display Technology Corp. WVGA TFT Display with capacitive touch
        # Same display as the ETM0700G0BDH6, but with changed hardware for the
        # backlight and the touch interface.
      - edt,etm070080edh6
      - edt,etm0700g0bdh6
        # Emerging Display Technology Corp. WVGA TFT Display with capacitive touch
      - edt,etm0700g0dh6
      - edt,etm0700g0edh6
        # Emerging Display Technology Corp. LVDS WSVGA TFT Display with capacitive touch
      - edt,etml0700y5dha
        # Emerging Display Technology Corp. 5.7" VGA TFT LCD panel with
        # capacitive touch
      - edt,etmv570g2dhu
        # E Ink VB3300-KCA
      - eink,vb3300-kca
        # Evervision Electronics Co. Ltd. VGG804821 5.0" WVGA TFT LCD Panel
      - evervision,vgg804821
        # Foxlink Group 5" WVGA TFT LCD panel
      - foxlink,fl500wvr00-a0t
        # Frida FRD350H54004 3.5" QVGA TFT LCD panel
      - frida,frd350h54004
        # FriendlyELEC HD702E 800x1280 LCD panel
      - friendlyarm,hd702e
        # GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
      - giantplus,gpg48273qs5
        # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel
      - giantplus,gpm940b0
        # HannStar Display Corp. HSD070PWW1 7.0" WXGA TFT LCD panel
      - hannstar,hsd070pww1
        # HannStar Display Corp. HSD100PXN1 10.1" XGA LVDS panel
      - hannstar,hsd100pxn1
        # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel
      - hannstar,hsd101pww2
        # Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
      - hit,tx23d38vm0caa
        # InfoVision Optoelectronics M133NWF4 R0 13.3" FHD (1920x1080) TFT LCD panel
      - ivo,m133nwf4-r0
        # Innolux AT043TN24 4.3" WQVGA TFT LCD panel
      - innolux,at043tn24
        # Innolux AT070TN92 7.0" WQVGA TFT LCD panel
      - innolux,at070tn92
        # Innolux G070Y2-L01 7" WVGA (800x480) TFT LCD panel
      - innolux,g070y2-l01
        # Innolux G070Y2-T02 7" WVGA (800x480) TFT LCD TTL panel
      - innolux,g070y2-t02
        # Innolux Corporation 10.1" G101ICE-L01 WXGA (1280x800) LVDS panel
      - innolux,g101ice-l01
        # Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel
      - innolux,g121i1-l01
        # Innolux Corporation 12.1" G121X1-L03 XGA (1024x768) TFT LCD panel
      - innolux,g121x1-l03
        # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel
      - innolux,n116bca-ea1
        # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel
      - innolux,n116bge
        # InnoLux 13.3" FHD (1920x1080) eDP TFT LCD panel
      - innolux,n125hce-gn1
        # InnoLux 15.6" WXGA TFT LCD panel
      - innolux,n156bge-l21
        # Innolux Corporation 7.0" WSVGA (1024x600) TFT LCD panel
      - innolux,zj070na-01p
        # King & Display KD116N21-30NV-A010 eDP TFT LCD panel
      - kingdisplay,kd116n21-30nv-a010
        # Kaohsiung Opto-Electronics Inc. 5.7" QVGA (320 x 240) TFT LCD panel
      - koe,tx14d24vm1bpa
        # Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x 1200) LVDS TFT LCD panel
      - koe,tx26d202vm0bwa
        # Kaohsiung Opto-Electronics. TX31D200VM0BAA 12.3" HSXGA LVDS panel
      - koe,tx31d200vm0baa
        # Kyocera Corporation 7" WVGA (800x480) transmissive color TFT
      - kyo,tcg070wvlq
        # Kyocera Corporation 12.1" XGA (1024x768) TFT LCD panel
      - kyo,tcg121xglp
        # LeMaker BL035-RGB-002 3.5" QVGA TFT LCD panel
      - lemaker,bl035-rgb-002
        # LG 7" (800x480 pixels) TFT LCD panel
      - lg,lb070wv8
        # LG Corporation 5" HD TFT LCD panel
      - lg,lh500wx1-sd03
        # LG LP079QX1-SP0V 7.9" (1536x2048 pixels) TFT LCD panel
      - lg,lp079qx1-sp0v
        # LG 9.7" (2048x1536 pixels) TFT LCD panel
      - lg,lp097qx1-spa1
        # LG 12.0" (1920x1280 pixels) TFT LCD panel
      - lg,lp120up1
        # LG 12.9" (2560x1700 pixels) TFT LCD panel
      - lg,lp129qe
        # Logic Technologies LT161010-2NHC 7" WVGA TFT Cap Touch Module
      - logictechno,lt161010-2nhc
        # Logic Technologies LT161010-2NHR 7" WVGA TFT Resistive Touch Module
      - logictechno,lt161010-2nhr
        # Logic Technologies LT170410-2WHC 10.1" 1280x800 IPS TFT Cap Touch Mod.
      - logictechno,lt170410-2whc
        # Logic Technologies LTTD800x480 L2RT 7" 800x480 TFT Resistive Touch Module
      - logictechno,lttd800480070-l2rt
        # Logic Technologies LTTD800480070-L6WH-RT 7” 800x480 TFT Resistive Touch Module
      - logictechno,lttd800480070-l6wh-rt
        # Mitsubishi "AA070MC01 7.0" WVGA TFT LCD panel
      - mitsubishi,aa070mc01-ca1
        # Multi-Inno Technology Co.,Ltd MI0700S4T-6 7" 800x480 TFT Resistive Touch Module
      - multi-inno,mi0700s4t-6
        # Multi-Inno Technology Co.,Ltd MI0800FT-9 8" 800x600 TFT Resistive Touch Module
      - multi-inno,mi0800ft-9
        # Multi-Inno Technology Co.,Ltd MI1010AIT-1CP 10.1" 1280x800 LVDS IPS Cap Touch Mod.
      - multi-inno,mi1010ait-1cp
        # NEC LCD Technologies, Ltd. 12.1" WXGA (1280x800) LVDS TFT LCD panel
      - nec,nl12880bc20-05
        # NEC LCD Technologies,Ltd. WQVGA TFT LCD panel
      - nec,nl4827hc19-05b
        # Netron-DY E231732 7.0" WSVGA TFT LCD panel
      - netron-dy,e231732
        # NewEast Optoelectronics CO., LTD WJFH116008A eDP TFT LCD panel
      - neweast,wjfh116008a
        # Newhaven Display International 480 x 272 TFT LCD panel
      - newhaven,nhd-4.3-480272ef-atxl
        # NLT Technologies, Ltd. 15.6" FHD (1920x1080) LVDS TFT LCD panel
      - nlt,nl192108ac18-02d
        # New Vision Display 7.0" 800 RGB x 480 TFT LCD panel
      - nvd,9128
        # OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
      - okaya,rs800480t-7x0gp
        # Olimex 4.3" TFT LCD panel
      - olimex,lcd-olinuxino-43-ts
        # On Tat Industrial Company 7" DPI TFT panel.
      - ontat,yx700wv03
        # OrtusTech COM37H3M05DTC Blanview 3.7" VGA portrait TFT-LCD panel
      - ortustech,com37h3m05dtc
        # OrtusTech COM37H3M99DTC Blanview 3.7" VGA portrait TFT-LCD panel
      - ortustech,com37h3m99dtc
        # OrtusTech COM43H4M85ULC Blanview 3.7" TFT-LCD panel
      - ortustech,com43h4m85ulc
        # OSD Displays OSD070T1718-19TS 7" WVGA TFT LCD panel
      - osddisplays,osd070t1718-19ts
        # One Stop Displays OSD101T2045-53TS 10.1" 1920x1200 panel
      - osddisplays,osd101t2045-53ts
        # POWERTIP PH800480T013-IDF2 7.0" WVGA TFT LCD panel
      - powertip,ph800480t013-idf02
        # QiaoDian XianShi Corporation 4"3 TFT LCD panel
      - qiaodian,qd43003c0-40
        # Shenzhen QiShenglong Industrialist Co., Ltd. Gopher 2b 4.3" 480(RGB)x272 TFT LCD panel
      - qishenglong,gopher2b-lcd
        # Rocktech Displays Ltd. RK101II01D-CT 10.1" TFT 1280x800
      - rocktech,rk101ii01d-ct
        # Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
      - rocktech,rk070er9427
        # Samsung 13.3" FHD (1920x1080 pixels) eDP AMOLED panel
      - samsung,atna33xc20
        # Samsung 12.2" (2560x1600 pixels) TFT LCD panel
      - samsung,lsn122dl01-c01
        # Samsung Electronics 10.1" WXGA (1280x800) TFT LCD panel
      - samsung,ltl101al01
        # Samsung Electronics 10.1" WSVGA TFT LCD panel
      - samsung,ltn101nt05
        # Samsung Electronics 14" WXGA (1366x768) TFT LCD panel
      - samsung,ltn140at29-301
        # Satoz SAT050AT40H12R2 5.0" WVGA TFT LCD panel
      - satoz,sat050at40h12r2
        # Sharp LQ035Q7DB03 3.5" QVGA TFT LCD panel
      - sharp,lq035q7db03
        # Sharp LQ070Y3DG3B 7.0" WVGA landscape TFT LCD panel
      - sharp,lq070y3dg3b
        # Sharp Display Corp. LQ101K1LY04 10.07" WXGA TFT LCD panel
      - sharp,lq101k1ly04
        # Sharp 12.3" (2400x1600 pixels) TFT LCD panel
      - sharp,lq123p1jx31
        # Sharp 14" (1920x1080 pixels) TFT LCD panel
      - sharp,lq140m1jw46
        # Sharp LS020B1DD01D 2.0" HQVGA TFT LCD panel
      - sharp,ls020b1dd01d
        # Shelly SCA07010-BFN-LNN 7.0" WVGA TFT LCD panel
      - shelly,sca07010-bfn-lnn
        # Starry KR070PE2T 7" WVGA TFT LCD panel
      - starry,kr070pe2t
        # Starry 12.2" (1920x1200 pixels) TFT LCD panel
      - starry,kr122ea0sra
        # Startek KD070WVFPA043-C069A 7" TFT LCD panel
      - startek,kd070wvfpa
        # Team Source Display Technology TST043015CMHX 4.3" WQVGA TFT LCD panel
      - team-source-display,tst043015cmhx
        # Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel
      - tianma,tm070jdhg30
        # Tianma Micro-electronics TM070JVHG33 7.0" WXGA TFT LCD panel
      - tianma,tm070jvhg33
        # Tianma Micro-electronics TM070RVHG71 7.0" WXGA TFT LCD panel
      - tianma,tm070rvhg71
        # Toshiba 8.9" WXGA (1280x768) TFT LCD panel
      - toshiba,lt089ac29000
        # TPK U.S.A. LLC Fusion 7" 800 x 480 (WVGA) LCD panel with capacitive touch
      - tpk,f07a-0102
        # TPK U.S.A. LLC Fusion 10.1" 1024 x 600 (WSVGA) LCD panel with capacitive touch
      - tpk,f10a-0102
        # United Radiant Technology UMSH-8596MD-xT 7.0" WVGA TFT LCD panel
        # Supported are LVDS versions (-11T, -19T) and parallel ones
        # (-T, -1T, -7T, -20T).
      - urt,umsh-8596md-t
      - urt,umsh-8596md-1t
      - urt,umsh-8596md-7t
      - urt,umsh-8596md-11t
      - urt,umsh-8596md-19t
      - urt,umsh-8596md-20t
        # Vivax TPC-9150 tablet 9.0" WSVGA TFT LCD panel
      - vivax,tpc9150-panel
        # VXT 800x480 color TFT LCD panel
      - vxt,vl050-8048nt-c01
        # Winstar Display Corporation 3.5" QVGA (320x240) TFT LCD panel
      - winstar,wf35ltiacd
        # Yes Optoelectronics YTC700TLAG-05-201C 7" TFT LCD panel
      - yes-optoelectronics,ytc700tlag-05-201c

  backlight: true
  ddc-i2c-bus: true
  enable-gpios: true
  port: true
  power-supply: true
  no-hpd: true
  hpd-gpios: true

additionalProperties: false

required:
  - compatible
  - power-supply

examples:
  - |
    panel_rgb: panel-rgb {
      compatible = "ampire,am-480272h3tmqw-t01h";
      power-supply = <&vcc_lcd_reg>;

      port {
        panel_in_rgb: endpoint {
          remote-endpoint = <&ltdc_out_rgb>;
        };
      };
    };


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

title: panel timing bindings

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Sam Ravnborg <sam@ravnborg.org>

description: |
  There are different ways of describing the timing data of a panel. The
  devicetree representation corresponds to the one commonly found in datasheets
  for panels.

  The parameters are defined as seen in the following illustration.

  +----------+-------------------------------------+----------+-------+
  |          |        ^                            |          |       |
  |          |        |vback_porch                 |          |       |
  |          |        v                            |          |       |
  +----------#######################################----------+-------+
  |          #        ^                            #          |       |
  |          #        |                            #          |       |
  |  hback   #        |                            #  hfront  | hsync |
  |   porch  #        |       hactive              #  porch   |  len  |
  |<-------->#<-------+--------------------------->#<-------->|<----->|
  |          #        |                            #          |       |
  |          #        |vactive                     #          |       |
  |          #        |                            #          |       |
  |          #        v                            #          |       |
  +----------#######################################----------+-------+
  |          |        ^                            |          |       |
  |          |        |vfront_porch                |          |       |
  |          |        v                            |          |       |
  +----------+-------------------------------------+----------+-------+
  |          |        ^                            |          |       |
  |          |        |vsync_len                   |          |       |
  |          |        v                            |          |       |
  +----------+-------------------------------------+----------+-------+

  The following is the panel timings shown with time on the x-axis.
  This matches the timing diagrams often found in data sheets.

              Active                 Front           Sync           Back
              Region                 Porch                          Porch
  <-----------------------><----------------><-------------><-------------->
    //////////////////////|
   ////////////////////// |
  //////////////////////  |..................               ................
                                             _______________

  Timing can be specified either as a typical value or as a tuple
  of min, typ, max values.

properties:

  clock-frequency:
    description: Panel clock in Hz

  hactive:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Horizontal panel resolution in pixels

  vactive:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Vertical panel resolution in pixels

  hfront-porch:
    description: Horizontal front porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  hback-porch:
    description: Horizontal back porch timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  hsync-len:
    description: Horizontal sync length panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  vfront-porch:
    description: Vertical front porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  vback-porch:
    description: Vertical back porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  vsync-len:
    description: Vertical sync length panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  hsync-active:
    description: |
      Horizontal sync pulse.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  vsync-active:
    description: |
      Vertical sync pulse.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  de-active:
    description: |
      Data enable.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  pixelclk-active:
    description: |
      Data driving on rising or falling edge.
      Use 0 to drive pixel data on falling edge and
      sample data on rising edge.
      Use 1 to drive pixel data on rising edge and
      sample data on falling edge
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  syncclk-active:
    description: |
      Drive sync on rising or sample sync on falling edge.
      If not specified then the setup is as specified by pixelclk-active.
      Use 0 to drive sync on falling edge and
      sample sync on rising edge of pixel clock.
      Use 1 to drive sync on rising edge and
      sample sync on falling edge of pixel clock
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  interlaced:
    type: boolean
    description: Enable interlaced mode

  doublescan:
    type: boolean
    description: Enable double scan mode

  doubleclk:
    type: boolean
    description: Enable double clock mode

required:
  - clock-frequency
  - hactive
  - vactive
  - hfront-porch
  - hback-porch
  - hsync-len
  - vfront-porch
  - vback-porch
  - vsync-len

additionalProperties: false

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/pda,91-00156-a0.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: PDA 91-00156-A0 5.0" WVGA TFT LCD panel

maintainers:
  - Cristian Birsan <cristian.birsan@microchip.com>
  - Thierry Reding <thierry.reding@gmail.com>

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

properties:
  compatible:
    const: pda,91-00156-a0

  power-supply: true
  backlight: true
  port: true

additionalProperties: false

required:
  - compatible
  - power-supply
  - backlight

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/raspberrypi,7inch-touchscreen.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: The official 7" (800x480) Raspberry Pi touchscreen

maintainers:
  - Eric Anholt <eric@anholt.net>
  - Thierry Reding <thierry.reding@gmail.com>

description: |+
  This DSI panel contains:

  - TC358762 DSI->DPI bridge
  - Atmel microcontroller on I2C for power sequencing the DSI bridge and
    controlling backlight
  - Touchscreen controller on I2C for touch input

  and this binding covers the DSI display parts but not its touch input.

properties:
  compatible:
    const: raspberrypi,7inch-touchscreen-panel

  reg:
    const: 0x45

  port: true

required:
  - compatible
  - reg
  - port

additionalProperties: false

examples:
  - |+
    dsi1: dsi {
      #address-cells = <1>;
      #size-cells = <0>;

      port {
        dsi_out_port: endpoint {
          remote-endpoint = <&panel_dsi_port>;
        };
      };
    };

    i2c_dsi: i2c {
      compatible = "i2c-gpio";
      #address-cells = <1>;
      #size-cells = <0>;
      scl-gpios = <&gpio 28 0>;
      sda-gpios = <&gpio 29 0>;

      lcd@45 {
        compatible = "raspberrypi,7inch-touchscreen-panel";
        reg = <0x45>;

        port {
          panel_dsi_port: endpoint {
            remote-endpoint = <&dsi_out_port>;
          };
        };
      };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/raydium,rm67191.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Raydium RM67171 OLED LCD panel with MIPI-DSI protocol

maintainers:
  - Robert Chiras <robert.chiras@nxp.com>

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

properties:
  compatible:
    const: raydium,rm67191

  reg: true
  port: true
  reset-gpios: true
  width-mm: true
  height-mm: true

  dsi-lanes:
    description: Number of DSI lanes to be used must be <3> or <4>
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [3, 4]

  v3p3-supply:
    description: phandle to 3.3V regulator that powers the VDD_3V3 pin

  v1p8-supply:
    description: phandle to 1.8V regulator that powers the VDD_1V8 pin

  video-mode:
    description: |
      0 - burst-mode
      1 - non-burst with sync event
      2 - non-burst with sync pulse
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]

required:
  - compatible
  - reg
  - dsi-lanes
  - port

additionalProperties: false

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

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

        panel@0 {
            compatible = "raydium,rm67191";
            reg = <0>;
            reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
            dsi-lanes = <4>;
            width-mm = <68>;
            height-mm = <121>;
            video-mode = <1>;

            port {
                panel_in: endpoint {
                    remote-endpoint = <&mipi_out>;
                };
            };
        };
    };

...


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

title: Raydium Semiconductor Corporation RM68200 5.5" 720p MIPI-DSI TFT LCD panel

maintainers:
  - Philippe CORNU <philippe.cornu@foss.st.com>

description: |
  The Raydium Semiconductor Corporation RM68200 is a 5.5" 720x1280 TFT LCD
  panel connected using a MIPI-DSI video interface.

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

properties:

  compatible:
    const: raydium,rm68200

  reg:
    maxItems: 1
    description: DSI virtual channel

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

  reset-gpios:
    maxItems: 1

additionalProperties: false

required:
  - compatible
  - power-supply
  - reg

examples:
  - |
    dsi {
      #address-cells = <1>;
      #size-cells = <0>;
      panel@0 {
        compatible = "raydium,rm68200";
        reg = <0>;
        reset-gpios = <&gpiof 15 0>;
        power-supply = <&v1v8>;
        backlight = <&pwm_backlight>;
      };
    };
...


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

title: Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel

maintainers:
  - Ondrej Jirman <megi@xff.cz>
  - Guido Gŭnther <agx@sigxcpu.org>

description:
  Rocktech JH057N00900 is a 720x1440 TFT LCD panel
  connected using a MIPI-DSI video interface.

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

properties:
  compatible:
    enum:
      # Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
      - rocktech,jh057n00900
      # Xingbangda XBD599 5.99" 720x1440 TFT LCD panel
      - xingbangda,xbd599

  port: true
  reg:
    maxItems: 1
    description: DSI virtual channel

  vcc-supply:
    description: Panel power supply

  iovcc-supply:
    description: I/O voltage supply

  reset-gpios: true

  backlight: true

required:
  - compatible
  - reg
  - vcc-supply
  - iovcc-supply
  - reset-gpios

additionalProperties: false

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

    dsi {
        #address-cells = <1>;
        #size-cells = <0>;
        panel@0 {
            compatible = "rocktech,jh057n00900";
            reg = <0>;
            vcc-supply = <&reg_2v8_p>;
            iovcc-supply = <&reg_1v8_p>;
            reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
            backlight = <&backlight>;
        };
    };

...


code:
# SPDX-License-Identifier: (GPL-2.0+ OR X11)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/ronbo,rb070d30.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ronbo RB070D30 DSI Display Panel

maintainers:
  - Maxime Ripard <mripard@kernel.org>

properties:
  compatible:
    const: ronbo,rb070d30

  reg:
    description: MIPI-DSI virtual channel

  power-gpios:
    description: GPIO used for the power pin
    maxItems: 1

  reset-gpios:
    description: GPIO used for the reset pin
    maxItems: 1

  shlr-gpios:
    description: GPIO used for the shlr pin (horizontal flip)
    maxItems: 1

  updn-gpios:
    description: GPIO used for the updn pin (vertical flip)
    maxItems: 1

  vcc-lcd-supply:
    description: Power regulator

  backlight:
    description: Backlight used by the panel
    $ref: "/schemas/types.yaml#/definitions/phandle"

required:
  - compatible
  - power-gpios
  - reg
  - reset-gpios
  - shlr-gpios
  - updn-gpios
  - vcc-lcd-supply

additionalProperties: false


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/samsung,amoled-mipi-dsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung AMOLED MIPI-DSI panels

maintainers:
  - Hoegeun Kwon <hoegeun.kwon@samsung.com>

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

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,s6e3ha2
              - samsung,s6e3hf2
    then:
      required:
        - enable-gpios

properties:
  compatible:
    enum:
        # Samsung S6E63J0X03 1.63" 320x320 AMOLED panel
      - samsung,s6e63j0x03
        # Samsung S6E3HA2 5.7" 1440x2560 AMOLED panel
      - samsung,s6e3ha2
        # Samsung S6E3HF2 5.65" 1600x2560 AMOLED panel
      - samsung,s6e3hf2

  reg: true
  reset-gpios: true
  enable-gpios: true
  te-gpios: true

  vdd3-supply:
    description: I/O voltage supply

  vci-supply:
    description: voltage supply for analog circuits

required:
  - compatible
  - reg
  - vdd3-supply
  - vci-supply
  - reset-gpios

additionalProperties: false

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

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

        panel@0 {
            compatible = "samsung,s6e3ha2";
            reg = <0>;
            vdd3-supply = <&ldo27_reg>;
            vci-supply = <&ldo28_reg>;
            reset-gpios = <&gpg0 0 GPIO_ACTIVE_LOW>;
            enable-gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>;
            te-gpios = <&gpf1 3 GPIO_ACTIVE_HIGH>;
        };
    };

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/samsung,ld9040.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus

maintainers:
  - Andrzej Hajda <a.hajda@samsung.com>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: samsung,ld9040

  display-timings: true
  port: true
  reg: true
  reset-gpios: true

  vdd3-supply:
    description: core voltage supply

  vci-supply:
    description: voltage supply for analog circuits

  power-on-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: delay after turning regulators on [ms]

  reset-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: delay after reset sequence [ms]

  panel-width-mm:
    description: physical panel width [mm]

  panel-height-mm:
    description: physical panel height [mm]

  spi-cpha: true
  spi-cpol: true

required:
  - compatible
  - reg
  - vdd3-supply
  - vci-supply
  - reset-gpios
  - display-timings

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        lcd@0 {
            compatible = "samsung,ld9040";

            reg = <0>;
            vdd3-supply = <&ldo7_reg>;
            vci-supply = <&ldo17_reg>;
            reset-gpios = <&gpy4 5 0>;
            spi-max-frequency = <1200000>;
            spi-cpol;
            spi-cpha;
            power-on-delay = <10>;
            reset-delay = <10>;
            panel-width-mm = <90>;
            panel-height-mm = <154>;

            display-timings {
                timing {
                    clock-frequency = <23492370>;
                    hactive = <480>;
                    vactive = <800>;
                    hback-porch = <16>;
                    hfront-porch = <16>;
                    vback-porch = <2>;
                    vfront-porch = <28>;
                    hsync-len = <2>;
                    vsync-len = <1>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    de-active = <0>;
                    pixelclk-active = <0>;
                };
            };

            port {
                lcd_ep: endpoint {
                    remote-endpoint = <&fimd_dpi_ep>;
                };
            };
        };
    };

...


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

title: Samsung LMS380KF01 display panel

description: The LMS380KF01 is a 480x800 DPI display panel from Samsung Mobile
  Displays (SMD) utilizing the WideChips WS2401 display controller. It can be
  used with internal or external backlight control.

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

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    const: samsung,lms380kf01

  reg: true

  interrupts:
    description: provides an optional ESD (electrostatic discharge)
      interrupt that signals abnormalities in the display hardware.
      This can also be raised for other reasons like erroneous
      configuration.
    maxItems: 1

  reset-gpios: true

  vci-supply:
    description: regulator that supplies the VCI analog voltage
      usually around 3.0 V

  vccio-supply:
    description: regulator that supplies the VCCIO voltage usually
      around 1.8 V

  backlight: true

  spi-cpha: true

  spi-cpol: true

  spi-max-frequency:
    maximum: 1200000

  port: true

required:
  - compatible
  - reg
  - spi-cpha
  - spi-cpol
  - port

unevaluatedProperties: false

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

    spi {
        compatible = "spi-gpio";
        sck-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
        miso-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
        mosi-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
        cs-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
        num-chipselects = <1>;
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
            compatible = "samsung,lms380kf01";
            spi-max-frequency = <1200000>;
            spi-cpha;
            spi-cpol;
            reg = <0>;
            vci-supply = <&lcd_3v0_reg>;
            vccio-supply = <&lcd_1v8_reg>;
            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
            interrupt-parent = <&gpio>;
            interrupts = <5 IRQ_TYPE_EDGE_RISING>;

            port {
                panel_in: endpoint {
                    remote-endpoint = <&display_out>;
                };
            };
        };
    };

...