xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/msm/qcom,sc8280xp-mdss.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2cb7aa33aSEmmanuel Vadot%YAML 1.2
3cb7aa33aSEmmanuel Vadot---
4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sc8280xp-mdss.yaml#
5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: Qualcomm SC8280XP Mobile Display Subsystem
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadotmaintainers:
10cb7aa33aSEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel Vadotdescription:
13cb7aa33aSEmmanuel Vadot  Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates
14cb7aa33aSEmmanuel Vadot  sub-blocks like DPU display controller, DSI and DP interfaces etc.
15cb7aa33aSEmmanuel Vadot
16cb7aa33aSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml#
17cb7aa33aSEmmanuel Vadot
18cb7aa33aSEmmanuel Vadotproperties:
19cb7aa33aSEmmanuel Vadot  compatible:
20cb7aa33aSEmmanuel Vadot    const: qcom,sc8280xp-mdss
21cb7aa33aSEmmanuel Vadot
22cb7aa33aSEmmanuel Vadot  clocks:
23cb7aa33aSEmmanuel Vadot    items:
24cb7aa33aSEmmanuel Vadot      - description: Display AHB clock from gcc
25cb7aa33aSEmmanuel Vadot      - description: Display AHB clock from dispcc
26cb7aa33aSEmmanuel Vadot      - description: Display core clock
27cb7aa33aSEmmanuel Vadot
28cb7aa33aSEmmanuel Vadot  clock-names:
29cb7aa33aSEmmanuel Vadot    items:
30cb7aa33aSEmmanuel Vadot      - const: iface
31cb7aa33aSEmmanuel Vadot      - const: ahb
32cb7aa33aSEmmanuel Vadot      - const: core
33cb7aa33aSEmmanuel Vadot
34cb7aa33aSEmmanuel VadotpatternProperties:
35cb7aa33aSEmmanuel Vadot  "^display-controller@[0-9a-f]+$":
36cb7aa33aSEmmanuel Vadot    type: object
37*84943d6fSEmmanuel Vadot    additionalProperties: true
38*84943d6fSEmmanuel Vadot
39cb7aa33aSEmmanuel Vadot    properties:
40cb7aa33aSEmmanuel Vadot      compatible:
41cb7aa33aSEmmanuel Vadot        const: qcom,sc8280xp-dpu
42cb7aa33aSEmmanuel Vadot
43cb7aa33aSEmmanuel Vadot  "^displayport-controller@[0-9a-f]+$":
44cb7aa33aSEmmanuel Vadot    type: object
45*84943d6fSEmmanuel Vadot    additionalProperties: true
46*84943d6fSEmmanuel Vadot
47cb7aa33aSEmmanuel Vadot    properties:
48cb7aa33aSEmmanuel Vadot      compatible:
49cb7aa33aSEmmanuel Vadot        enum:
50cb7aa33aSEmmanuel Vadot          - qcom,sc8280xp-dp
51cb7aa33aSEmmanuel Vadot          - qcom,sc8280xp-edp
52cb7aa33aSEmmanuel Vadot
53cb7aa33aSEmmanuel VadotunevaluatedProperties: false
54cb7aa33aSEmmanuel Vadot
55cb7aa33aSEmmanuel Vadotexamples:
56cb7aa33aSEmmanuel Vadot  - |
57cb7aa33aSEmmanuel Vadot    #include <dt-bindings/clock/qcom,dispcc-sc8280xp.h>
58cb7aa33aSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
59cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
60cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interconnect/qcom,sc8280xp.h>
61cb7aa33aSEmmanuel Vadot    #include <dt-bindings/power/qcom-rpmpd.h>
62cb7aa33aSEmmanuel Vadot
63cb7aa33aSEmmanuel Vadot    display-subsystem@ae00000 {
64cb7aa33aSEmmanuel Vadot        compatible = "qcom,sc8280xp-mdss";
65cb7aa33aSEmmanuel Vadot        reg = <0x0ae00000 0x1000>;
66cb7aa33aSEmmanuel Vadot        reg-names = "mdss";
67cb7aa33aSEmmanuel Vadot
68cb7aa33aSEmmanuel Vadot        power-domains = <&dispcc0 MDSS_GDSC>;
69cb7aa33aSEmmanuel Vadot
70cb7aa33aSEmmanuel Vadot        clocks = <&gcc GCC_DISP_AHB_CLK>,
71cb7aa33aSEmmanuel Vadot                 <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
72cb7aa33aSEmmanuel Vadot                 <&dispcc0 DISP_CC_MDSS_MDP_CLK>;
73cb7aa33aSEmmanuel Vadot        clock-names = "iface",
74cb7aa33aSEmmanuel Vadot                      "ahb",
75cb7aa33aSEmmanuel Vadot                      "core";
76cb7aa33aSEmmanuel Vadot
77cb7aa33aSEmmanuel Vadot        resets = <&dispcc0 DISP_CC_MDSS_CORE_BCR>;
78cb7aa33aSEmmanuel Vadot
79cb7aa33aSEmmanuel Vadot        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
80cb7aa33aSEmmanuel Vadot        interrupt-controller;
81cb7aa33aSEmmanuel Vadot        #interrupt-cells = <1>;
82cb7aa33aSEmmanuel Vadot
83cb7aa33aSEmmanuel Vadot        interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
84cb7aa33aSEmmanuel Vadot                        <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>;
85cb7aa33aSEmmanuel Vadot        interconnect-names = "mdp0-mem", "mdp1-mem";
86cb7aa33aSEmmanuel Vadot
87cb7aa33aSEmmanuel Vadot        iommus = <&apps_smmu 0x1000 0x402>;
88cb7aa33aSEmmanuel Vadot
89cb7aa33aSEmmanuel Vadot        #address-cells = <1>;
90cb7aa33aSEmmanuel Vadot        #size-cells = <1>;
91cb7aa33aSEmmanuel Vadot        ranges;
92cb7aa33aSEmmanuel Vadot
93cb7aa33aSEmmanuel Vadot        display-controller@ae01000 {
94cb7aa33aSEmmanuel Vadot            compatible = "qcom,sc8280xp-dpu";
95cb7aa33aSEmmanuel Vadot            reg = <0x0ae01000 0x8f000>,
96cb7aa33aSEmmanuel Vadot            <0x0aeb0000 0x2008>;
97cb7aa33aSEmmanuel Vadot            reg-names = "mdp", "vbif";
98cb7aa33aSEmmanuel Vadot
99cb7aa33aSEmmanuel Vadot            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
100cb7aa33aSEmmanuel Vadot                     <&gcc GCC_DISP_SF_AXI_CLK>,
101cb7aa33aSEmmanuel Vadot                     <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
102cb7aa33aSEmmanuel Vadot                     <&dispcc0 DISP_CC_MDSS_MDP_LUT_CLK>,
103cb7aa33aSEmmanuel Vadot                     <&dispcc0 DISP_CC_MDSS_MDP_CLK>,
104cb7aa33aSEmmanuel Vadot                     <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>;
105cb7aa33aSEmmanuel Vadot            clock-names = "bus",
106cb7aa33aSEmmanuel Vadot                          "nrt_bus",
107cb7aa33aSEmmanuel Vadot                          "iface",
108cb7aa33aSEmmanuel Vadot                          "lut",
109cb7aa33aSEmmanuel Vadot                          "core",
110cb7aa33aSEmmanuel Vadot                          "vsync";
111cb7aa33aSEmmanuel Vadot
112cb7aa33aSEmmanuel Vadot            assigned-clocks = <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>;
113cb7aa33aSEmmanuel Vadot            assigned-clock-rates = <19200000>;
114cb7aa33aSEmmanuel Vadot
115cb7aa33aSEmmanuel Vadot            operating-points-v2 = <&mdss0_mdp_opp_table>;
116cb7aa33aSEmmanuel Vadot            power-domains = <&rpmhpd SC8280XP_MMCX>;
117cb7aa33aSEmmanuel Vadot
118cb7aa33aSEmmanuel Vadot            interrupt-parent = <&mdss0>;
119cb7aa33aSEmmanuel Vadot            interrupts = <0>;
120cb7aa33aSEmmanuel Vadot
121cb7aa33aSEmmanuel Vadot            ports {
122cb7aa33aSEmmanuel Vadot                #address-cells = <1>;
123cb7aa33aSEmmanuel Vadot                #size-cells = <0>;
124cb7aa33aSEmmanuel Vadot
125cb7aa33aSEmmanuel Vadot                port@0 {
126cb7aa33aSEmmanuel Vadot                    reg = <0>;
127cb7aa33aSEmmanuel Vadot                    endpoint {
128cb7aa33aSEmmanuel Vadot                        remote-endpoint = <&mdss0_dp0_in>;
129cb7aa33aSEmmanuel Vadot                    };
130cb7aa33aSEmmanuel Vadot                };
131cb7aa33aSEmmanuel Vadot
132cb7aa33aSEmmanuel Vadot                port@4 {
133cb7aa33aSEmmanuel Vadot                    reg = <4>;
134cb7aa33aSEmmanuel Vadot                    endpoint {
135cb7aa33aSEmmanuel Vadot                        remote-endpoint = <&mdss0_dp1_in>;
136cb7aa33aSEmmanuel Vadot                    };
137cb7aa33aSEmmanuel Vadot                };
138cb7aa33aSEmmanuel Vadot
139cb7aa33aSEmmanuel Vadot                port@5 {
140cb7aa33aSEmmanuel Vadot                    reg = <5>;
141cb7aa33aSEmmanuel Vadot                    endpoint {
142cb7aa33aSEmmanuel Vadot                        remote-endpoint = <&mdss0_dp3_in>;
143cb7aa33aSEmmanuel Vadot                    };
144cb7aa33aSEmmanuel Vadot                };
145cb7aa33aSEmmanuel Vadot
146cb7aa33aSEmmanuel Vadot                port@6 {
147cb7aa33aSEmmanuel Vadot                    reg = <6>;
148cb7aa33aSEmmanuel Vadot                    endpoint {
149cb7aa33aSEmmanuel Vadot                        remote-endpoint = <&mdss0_dp2_in>;
150cb7aa33aSEmmanuel Vadot                    };
151cb7aa33aSEmmanuel Vadot                };
152cb7aa33aSEmmanuel Vadot            };
153cb7aa33aSEmmanuel Vadot        };
154cb7aa33aSEmmanuel Vadot    };
155cb7aa33aSEmmanuel Vadot...
156