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

title: Samsung SOFEF00 AMOLED DDIC

description: The SOFEF00 is display driver IC with connected panel.

maintainers:
  - David Heidelberg <david@ixit.cz>

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

properties:
  compatible:
    items:
      - enum:
            # Samsung 6.01 inch, 1080x2160 pixels, 18:9 ratio
          - samsung,sofef00-ams601nt22
            # Samsung 6.28 inch, 1080x2280 pixels, 19:9 ratio
          - samsung,sofef00-ams628nw01
      - const: samsung,sofef00

  reg:
    maxItems: 1

  poc-supply:
    description: POC regulator

  vci-supply:
    description: VCI regulator

  vddio-supply:
    description: VDD regulator

required:
  - compatible
  - reset-gpios
  - poc-supply
  - vci-supply
  - vddio-supply

unevaluatedProperties: false

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

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

        panel@0 {
            compatible = "samsung,sofef00-ams628nw01", "samsung,sofef00";
            reg = <0>;

            vddio-supply = <&vreg_l14a_1p88>;
            vci-supply = <&s2dos05_buck1>;
            poc-supply = <&s2dos05_ldo1>;

            te-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;

            pinctrl-0 = <&panel_active>;
            pinctrl-1 = <&panel_suspend>;
            pinctrl-names = "default", "sleep";

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

...
