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

title: Sony Tulip Truly NT35521 5.24" 1280x720 MIPI-DSI Panel

maintainers:
  - Shawn Guo <shawn.guo@linaro.org>

description: |
  The Sony Tulip Truly NT35521 is a 5.24" 1280x720 MIPI-DSI panel, which
  can be found no Sony Xperia M4 phone.  The panel backlight is managed
  through DSI link.

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

properties:
  compatible:
    const: sony,tulip-truly-nt35521

  reg: true

  positive5-supply:
    description: Positive 5V supply

  negative5-supply:
    description: Negative 5V supply

  reset-gpios: true

  enable-gpios: true

  port: true

required:
  - compatible
  - reg
  - positive5-supply
  - negative5-supply
  - reset-gpios
  - enable-gpios
  - port

additionalProperties: false

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

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

        panel@0 {
            compatible = "sony,tulip-truly-nt35521";
            reg = <0>;
            positive5-supply = <&positive5_reg>;
            negative5-supply = <&negative5_reg>;
            reset-gpios = <&msmgpio 25 GPIO_ACTIVE_LOW>;
            enable-gpios = <&msmgpio 10 GPIO_ACTIVE_HIGH>;

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