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

title: Qualcomm Display DPU on SC7180

maintainers:
  - Krishna Manikandan <quic_mkrishn@quicinc.com>

$ref: /schemas/display/msm/dpu-common.yaml#

properties:
  compatible:
    enum:
      - qcom,sc7180-dpu
      - qcom,sm6125-dpu
      - qcom,sm6350-dpu
      - qcom,sm6375-dpu

  reg:
    items:
      - description: Address offset and size for mdp register set
      - description: Address offset and size for vbif register set

  reg-names:
    items:
      - const: mdp
      - const: vbif

  clocks:
    minItems: 6
    items:
      - description: Display hf axi clock
      - description: Display ahb clock
      - description: Display rotator clock
      - description: Display lut clock
      - description: Display core clock
      - description: Display vsync clock
      - description: Display core throttle clock

  clock-names:
    minItems: 6
    items:
      - const: bus
      - const: iface
      - const: rot
      - const: lut
      - const: core
      - const: vsync
      - const: throttle

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names

unevaluatedProperties: false

allOf:
  - if:
      properties:
        compatible:
          enum:
            - qcom,sm6375-dpu
            - qcom,sm6125-dpu

    then:
      properties:
        clocks:
          minItems: 7

        clock-names:
          minItems: 7

examples:
  - |
    #include <dt-bindings/clock/qcom,dispcc-sc7180.h>
    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
    #include <dt-bindings/power/qcom-rpmpd.h>

    display-controller@ae01000 {
        compatible = "qcom,sc7180-dpu";
        reg = <0x0ae01000 0x8f000>,
              <0x0aeb0000 0x2008>;

        reg-names = "mdp", "vbif";

        clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
                 <&dispcc DISP_CC_MDSS_AHB_CLK>,
                 <&dispcc DISP_CC_MDSS_ROT_CLK>,
                 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
                 <&dispcc DISP_CC_MDSS_MDP_CLK>,
                 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
        clock-names = "bus", "iface", "rot", "lut", "core",
                      "vsync";

        interrupt-parent = <&mdss>;
        interrupts = <0>;
        power-domains = <&rpmhpd SC7180_CX>;
        operating-points-v2 = <&mdp_opp_table>;

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

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

            port@2 {
                reg = <2>;
                endpoint {
                    remote-endpoint = <&dp_in>;
                };
            };
        };
    };
...
