1440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
245af56bfSBjorn Andersson%YAML 1.2
345af56bfSBjorn Andersson---
445af56bfSBjorn Andersson$id: http://devicetree.org/schemas/display/msm/qcom,sc8280xp-mdss.yaml#
545af56bfSBjorn Andersson$schema: http://devicetree.org/meta-schemas/core.yaml#
645af56bfSBjorn Andersson
745af56bfSBjorn Anderssontitle: Qualcomm SC8280XP Mobile Display Subsystem
845af56bfSBjorn Andersson
945af56bfSBjorn Anderssonmaintainers:
1045af56bfSBjorn Andersson  - Bjorn Andersson <andersson@kernel.org>
1145af56bfSBjorn Andersson
1245af56bfSBjorn Anderssondescription:
1345af56bfSBjorn Andersson  Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates
1445af56bfSBjorn Andersson  sub-blocks like DPU display controller, DSI and DP interfaces etc.
1545af56bfSBjorn Andersson
1645af56bfSBjorn Andersson$ref: /schemas/display/msm/mdss-common.yaml#
1745af56bfSBjorn Andersson
1845af56bfSBjorn Anderssonproperties:
1945af56bfSBjorn Andersson  compatible:
2045af56bfSBjorn Andersson    const: qcom,sc8280xp-mdss
2145af56bfSBjorn Andersson
2245af56bfSBjorn Andersson  clocks:
2345af56bfSBjorn Andersson    items:
2445af56bfSBjorn Andersson      - description: Display AHB clock from gcc
2545af56bfSBjorn Andersson      - description: Display AHB clock from dispcc
2645af56bfSBjorn Andersson      - description: Display core clock
2745af56bfSBjorn Andersson
2845af56bfSBjorn Andersson  clock-names:
2945af56bfSBjorn Andersson    items:
3045af56bfSBjorn Andersson      - const: iface
3145af56bfSBjorn Andersson      - const: ahb
3245af56bfSBjorn Andersson      - const: core
3345af56bfSBjorn Andersson
3445af56bfSBjorn AnderssonpatternProperties:
3545af56bfSBjorn Andersson  "^display-controller@[0-9a-f]+$":
3645af56bfSBjorn Andersson    type: object
37*cee030efSRob Herring    additionalProperties: true
38*cee030efSRob Herring
3945af56bfSBjorn Andersson    properties:
4045af56bfSBjorn Andersson      compatible:
4145af56bfSBjorn Andersson        const: qcom,sc8280xp-dpu
4245af56bfSBjorn Andersson
437a7d1f21SDmitry Baryshkov  "^displayport-controller@[0-9a-f]+$":
447a7d1f21SDmitry Baryshkov    type: object
45*cee030efSRob Herring    additionalProperties: true
46*cee030efSRob Herring
477a7d1f21SDmitry Baryshkov    properties:
487a7d1f21SDmitry Baryshkov      compatible:
497a7d1f21SDmitry Baryshkov        enum:
507a7d1f21SDmitry Baryshkov          - qcom,sc8280xp-dp
517a7d1f21SDmitry Baryshkov          - qcom,sc8280xp-edp
527a7d1f21SDmitry Baryshkov
5345af56bfSBjorn AnderssonunevaluatedProperties: false
5445af56bfSBjorn Andersson
5545af56bfSBjorn Anderssonexamples:
5645af56bfSBjorn Andersson  - |
5745af56bfSBjorn Andersson    #include <dt-bindings/clock/qcom,dispcc-sc8280xp.h>
5845af56bfSBjorn Andersson    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
5945af56bfSBjorn Andersson    #include <dt-bindings/interrupt-controller/arm-gic.h>
6045af56bfSBjorn Andersson    #include <dt-bindings/interconnect/qcom,sc8280xp.h>
6145af56bfSBjorn Andersson    #include <dt-bindings/power/qcom-rpmpd.h>
6245af56bfSBjorn Andersson
6345af56bfSBjorn Andersson    display-subsystem@ae00000 {
6445af56bfSBjorn Andersson        compatible = "qcom,sc8280xp-mdss";
6545af56bfSBjorn Andersson        reg = <0x0ae00000 0x1000>;
6645af56bfSBjorn Andersson        reg-names = "mdss";
6745af56bfSBjorn Andersson
6845af56bfSBjorn Andersson        power-domains = <&dispcc0 MDSS_GDSC>;
6945af56bfSBjorn Andersson
7045af56bfSBjorn Andersson        clocks = <&gcc GCC_DISP_AHB_CLK>,
7145af56bfSBjorn Andersson                 <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
7245af56bfSBjorn Andersson                 <&dispcc0 DISP_CC_MDSS_MDP_CLK>;
7345af56bfSBjorn Andersson        clock-names = "iface",
7445af56bfSBjorn Andersson                      "ahb",
7545af56bfSBjorn Andersson                      "core";
7645af56bfSBjorn Andersson
7745af56bfSBjorn Andersson        resets = <&dispcc0 DISP_CC_MDSS_CORE_BCR>;
7845af56bfSBjorn Andersson
7945af56bfSBjorn Andersson        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
8045af56bfSBjorn Andersson        interrupt-controller;
8145af56bfSBjorn Andersson        #interrupt-cells = <1>;
8245af56bfSBjorn Andersson
8345af56bfSBjorn Andersson        interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
8445af56bfSBjorn Andersson                        <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>;
8545af56bfSBjorn Andersson        interconnect-names = "mdp0-mem", "mdp1-mem";
8645af56bfSBjorn Andersson
8745af56bfSBjorn Andersson        iommus = <&apps_smmu 0x1000 0x402>;
8845af56bfSBjorn Andersson
8945af56bfSBjorn Andersson        #address-cells = <1>;
9045af56bfSBjorn Andersson        #size-cells = <1>;
9145af56bfSBjorn Andersson        ranges;
9245af56bfSBjorn Andersson
9345af56bfSBjorn Andersson        display-controller@ae01000 {
9445af56bfSBjorn Andersson            compatible = "qcom,sc8280xp-dpu";
9545af56bfSBjorn Andersson            reg = <0x0ae01000 0x8f000>,
9645af56bfSBjorn Andersson            <0x0aeb0000 0x2008>;
9745af56bfSBjorn Andersson            reg-names = "mdp", "vbif";
9845af56bfSBjorn Andersson
9945af56bfSBjorn Andersson            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
10045af56bfSBjorn Andersson                     <&gcc GCC_DISP_SF_AXI_CLK>,
10145af56bfSBjorn Andersson                     <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
10245af56bfSBjorn Andersson                     <&dispcc0 DISP_CC_MDSS_MDP_LUT_CLK>,
10345af56bfSBjorn Andersson                     <&dispcc0 DISP_CC_MDSS_MDP_CLK>,
10445af56bfSBjorn Andersson                     <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>;
10545af56bfSBjorn Andersson            clock-names = "bus",
10645af56bfSBjorn Andersson                          "nrt_bus",
10745af56bfSBjorn Andersson                          "iface",
10845af56bfSBjorn Andersson                          "lut",
10945af56bfSBjorn Andersson                          "core",
11045af56bfSBjorn Andersson                          "vsync";
11145af56bfSBjorn Andersson
11245af56bfSBjorn Andersson            assigned-clocks = <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>;
11345af56bfSBjorn Andersson            assigned-clock-rates = <19200000>;
11445af56bfSBjorn Andersson
11545af56bfSBjorn Andersson            operating-points-v2 = <&mdss0_mdp_opp_table>;
11645af56bfSBjorn Andersson            power-domains = <&rpmhpd SC8280XP_MMCX>;
11745af56bfSBjorn Andersson
11845af56bfSBjorn Andersson            interrupt-parent = <&mdss0>;
11945af56bfSBjorn Andersson            interrupts = <0>;
12045af56bfSBjorn Andersson
12145af56bfSBjorn Andersson            ports {
12245af56bfSBjorn Andersson                #address-cells = <1>;
12345af56bfSBjorn Andersson                #size-cells = <0>;
12445af56bfSBjorn Andersson
12545af56bfSBjorn Andersson                port@0 {
12645af56bfSBjorn Andersson                    reg = <0>;
12745af56bfSBjorn Andersson                    endpoint {
12845af56bfSBjorn Andersson                        remote-endpoint = <&mdss0_dp0_in>;
12945af56bfSBjorn Andersson                    };
13045af56bfSBjorn Andersson                };
13145af56bfSBjorn Andersson
13245af56bfSBjorn Andersson                port@4 {
13345af56bfSBjorn Andersson                    reg = <4>;
13445af56bfSBjorn Andersson                    endpoint {
13545af56bfSBjorn Andersson                        remote-endpoint = <&mdss0_dp1_in>;
13645af56bfSBjorn Andersson                    };
13745af56bfSBjorn Andersson                };
13845af56bfSBjorn Andersson
13945af56bfSBjorn Andersson                port@5 {
14045af56bfSBjorn Andersson                    reg = <5>;
14145af56bfSBjorn Andersson                    endpoint {
14245af56bfSBjorn Andersson                        remote-endpoint = <&mdss0_dp3_in>;
14345af56bfSBjorn Andersson                    };
14445af56bfSBjorn Andersson                };
14545af56bfSBjorn Andersson
14645af56bfSBjorn Andersson                port@6 {
14745af56bfSBjorn Andersson                    reg = <6>;
14845af56bfSBjorn Andersson                    endpoint {
14945af56bfSBjorn Andersson                        remote-endpoint = <&mdss0_dp2_in>;
15045af56bfSBjorn Andersson                    };
15145af56bfSBjorn Andersson                };
15245af56bfSBjorn Andersson            };
15345af56bfSBjorn Andersson        };
15445af56bfSBjorn Andersson    };
15545af56bfSBjorn Andersson...
156