xref: /openbmc/linux/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml (revision 4b32e46638c2969c1e2b50b02dd2a23bf7033052)
12c44a993SDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
22c44a993SDmitry Baryshkov%YAML 1.2
32c44a993SDmitry Baryshkov---
42c44a993SDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sc7280-mdss.yaml#
52c44a993SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
62c44a993SDmitry Baryshkov
72c44a993SDmitry Baryshkovtitle: Qualcomm SC7280 Display MDSS
82c44a993SDmitry Baryshkov
92c44a993SDmitry Baryshkovmaintainers:
102c44a993SDmitry Baryshkov  - Krishna Manikandan <quic_mkrishn@quicinc.com>
112c44a993SDmitry Baryshkov
122c44a993SDmitry Baryshkovdescription:
132c44a993SDmitry Baryshkov  Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates
142c44a993SDmitry Baryshkov  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
152c44a993SDmitry Baryshkov  bindings of MDSS are mentioned for SC7280.
162c44a993SDmitry Baryshkov
172c44a993SDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml#
182c44a993SDmitry Baryshkov
192c44a993SDmitry Baryshkovproperties:
202c44a993SDmitry Baryshkov  compatible:
212c44a993SDmitry Baryshkov    const: qcom,sc7280-mdss
222c44a993SDmitry Baryshkov
232c44a993SDmitry Baryshkov  clocks:
242c44a993SDmitry Baryshkov    items:
252c44a993SDmitry Baryshkov      - description: Display AHB clock from gcc
262c44a993SDmitry Baryshkov      - description: Display AHB clock from dispcc
272c44a993SDmitry Baryshkov      - description: Display core clock
282c44a993SDmitry Baryshkov
292c44a993SDmitry Baryshkov  clock-names:
302c44a993SDmitry Baryshkov    items:
312c44a993SDmitry Baryshkov      - const: iface
322c44a993SDmitry Baryshkov      - const: ahb
332c44a993SDmitry Baryshkov      - const: core
342c44a993SDmitry Baryshkov
352c44a993SDmitry Baryshkov  iommus:
362c44a993SDmitry Baryshkov    maxItems: 1
372c44a993SDmitry Baryshkov
382c44a993SDmitry Baryshkov  interconnects:
392c44a993SDmitry Baryshkov    maxItems: 1
402c44a993SDmitry Baryshkov
412c44a993SDmitry Baryshkov  interconnect-names:
422c44a993SDmitry Baryshkov    maxItems: 1
432c44a993SDmitry Baryshkov
442c44a993SDmitry BaryshkovpatternProperties:
452c44a993SDmitry Baryshkov  "^display-controller@[0-9a-f]+$":
462c44a993SDmitry Baryshkov    type: object
472c44a993SDmitry Baryshkov    properties:
482c44a993SDmitry Baryshkov      compatible:
492c44a993SDmitry Baryshkov        const: qcom,sc7280-dpu
502c44a993SDmitry Baryshkov
51*4b32e466SDmitry Baryshkov  "^displayport-controller@[0-9a-f]+$":
52*4b32e466SDmitry Baryshkov    type: object
53*4b32e466SDmitry Baryshkov    properties:
54*4b32e466SDmitry Baryshkov      compatible:
55*4b32e466SDmitry Baryshkov        const: qcom,sc7280-dp
56*4b32e466SDmitry Baryshkov
57*4b32e466SDmitry Baryshkov  "^dsi@[0-9a-f]+$":
58*4b32e466SDmitry Baryshkov    type: object
59*4b32e466SDmitry Baryshkov    properties:
60*4b32e466SDmitry Baryshkov      compatible:
61*4b32e466SDmitry Baryshkov        const: qcom,mdss-dsi-ctrl
62*4b32e466SDmitry Baryshkov
63*4b32e466SDmitry Baryshkov  "^edp@[0-9a-f]+$":
64*4b32e466SDmitry Baryshkov    type: object
65*4b32e466SDmitry Baryshkov    properties:
66*4b32e466SDmitry Baryshkov      compatible:
67*4b32e466SDmitry Baryshkov        const: qcom,sc7280-edp
68*4b32e466SDmitry Baryshkov
69*4b32e466SDmitry Baryshkov  "^phy@[0-9a-f]+$":
70*4b32e466SDmitry Baryshkov    type: object
71*4b32e466SDmitry Baryshkov    properties:
72*4b32e466SDmitry Baryshkov      compatible:
73*4b32e466SDmitry Baryshkov        enum:
74*4b32e466SDmitry Baryshkov          - qcom,sc7280-dsi-phy-7nm
75*4b32e466SDmitry Baryshkov          - qcom,sc7280-edp-phy
76*4b32e466SDmitry Baryshkov
772c44a993SDmitry BaryshkovunevaluatedProperties: false
782c44a993SDmitry Baryshkov
792c44a993SDmitry Baryshkovexamples:
802c44a993SDmitry Baryshkov  - |
812c44a993SDmitry Baryshkov    #include <dt-bindings/clock/qcom,dispcc-sc7280.h>
822c44a993SDmitry Baryshkov    #include <dt-bindings/clock/qcom,gcc-sc7280.h>
83*4b32e466SDmitry Baryshkov    #include <dt-bindings/clock/qcom,rpmh.h>
842c44a993SDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
852c44a993SDmitry Baryshkov    #include <dt-bindings/interconnect/qcom,sc7280.h>
862c44a993SDmitry Baryshkov    #include <dt-bindings/power/qcom-rpmpd.h>
872c44a993SDmitry Baryshkov
882c44a993SDmitry Baryshkov    display-subsystem@ae00000 {
892c44a993SDmitry Baryshkov        #address-cells = <1>;
902c44a993SDmitry Baryshkov        #size-cells = <1>;
912c44a993SDmitry Baryshkov        compatible = "qcom,sc7280-mdss";
922c44a993SDmitry Baryshkov        reg = <0xae00000 0x1000>;
932c44a993SDmitry Baryshkov        reg-names = "mdss";
942c44a993SDmitry Baryshkov        power-domains = <&dispcc DISP_CC_MDSS_CORE_GDSC>;
952c44a993SDmitry Baryshkov        clocks = <&gcc GCC_DISP_AHB_CLK>,
962c44a993SDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_AHB_CLK>,
972c44a993SDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_MDP_CLK>;
982c44a993SDmitry Baryshkov        clock-names = "iface",
992c44a993SDmitry Baryshkov                      "ahb",
1002c44a993SDmitry Baryshkov                      "core";
1012c44a993SDmitry Baryshkov
1022c44a993SDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1032c44a993SDmitry Baryshkov        interrupt-controller;
1042c44a993SDmitry Baryshkov        #interrupt-cells = <1>;
1052c44a993SDmitry Baryshkov
1062c44a993SDmitry Baryshkov        interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>;
1072c44a993SDmitry Baryshkov        interconnect-names = "mdp0-mem";
1082c44a993SDmitry Baryshkov
1092c44a993SDmitry Baryshkov        iommus = <&apps_smmu 0x900 0x402>;
1102c44a993SDmitry Baryshkov        ranges;
1112c44a993SDmitry Baryshkov
1122c44a993SDmitry Baryshkov        display-controller@ae01000 {
1132c44a993SDmitry Baryshkov            compatible = "qcom,sc7280-dpu";
1142c44a993SDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
1152c44a993SDmitry Baryshkov                  <0x0aeb0000 0x2008>;
1162c44a993SDmitry Baryshkov
1172c44a993SDmitry Baryshkov            reg-names = "mdp", "vbif";
1182c44a993SDmitry Baryshkov
1192c44a993SDmitry Baryshkov            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1202c44a993SDmitry Baryshkov                     <&gcc GCC_DISP_SF_AXI_CLK>,
1212c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
1222c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1232c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_CLK>,
1242c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1252c44a993SDmitry Baryshkov            clock-names = "bus",
1262c44a993SDmitry Baryshkov                          "nrt_bus",
1272c44a993SDmitry Baryshkov                          "iface",
1282c44a993SDmitry Baryshkov                          "lut",
1292c44a993SDmitry Baryshkov                          "core",
1302c44a993SDmitry Baryshkov                          "vsync";
1312c44a993SDmitry Baryshkov
1322c44a993SDmitry Baryshkov            interrupt-parent = <&mdss>;
1332c44a993SDmitry Baryshkov            interrupts = <0>;
1342c44a993SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
1352c44a993SDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
1362c44a993SDmitry Baryshkov
1372c44a993SDmitry Baryshkov            ports {
1382c44a993SDmitry Baryshkov                #address-cells = <1>;
1392c44a993SDmitry Baryshkov                #size-cells = <0>;
1402c44a993SDmitry Baryshkov
1412c44a993SDmitry Baryshkov                port@0 {
1422c44a993SDmitry Baryshkov                    reg = <0>;
1432c44a993SDmitry Baryshkov                    dpu_intf1_out: endpoint {
1442c44a993SDmitry Baryshkov                        remote-endpoint = <&dsi0_in>;
1452c44a993SDmitry Baryshkov                    };
1462c44a993SDmitry Baryshkov                };
1472c44a993SDmitry Baryshkov
1482c44a993SDmitry Baryshkov                port@1 {
1492c44a993SDmitry Baryshkov                    reg = <1>;
1502c44a993SDmitry Baryshkov                    dpu_intf5_out: endpoint {
1512c44a993SDmitry Baryshkov                        remote-endpoint = <&edp_in>;
1522c44a993SDmitry Baryshkov                    };
1532c44a993SDmitry Baryshkov                };
154*4b32e466SDmitry Baryshkov
155*4b32e466SDmitry Baryshkov                port@2 {
156*4b32e466SDmitry Baryshkov                    reg = <2>;
157*4b32e466SDmitry Baryshkov                    dpu_intf0_out: endpoint {
158*4b32e466SDmitry Baryshkov                        remote-endpoint = <&dp_in>;
159*4b32e466SDmitry Baryshkov                    };
160*4b32e466SDmitry Baryshkov                };
161*4b32e466SDmitry Baryshkov            };
162*4b32e466SDmitry Baryshkov        };
163*4b32e466SDmitry Baryshkov
164*4b32e466SDmitry Baryshkov        dsi@ae94000 {
165*4b32e466SDmitry Baryshkov            compatible = "qcom,mdss-dsi-ctrl";
166*4b32e466SDmitry Baryshkov            reg = <0x0ae94000 0x400>;
167*4b32e466SDmitry Baryshkov            reg-names = "dsi_ctrl";
168*4b32e466SDmitry Baryshkov
169*4b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
170*4b32e466SDmitry Baryshkov            interrupts = <4>;
171*4b32e466SDmitry Baryshkov
172*4b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
173*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
174*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
175*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
176*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
177*4b32e466SDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
178*4b32e466SDmitry Baryshkov            clock-names = "byte",
179*4b32e466SDmitry Baryshkov                          "byte_intf",
180*4b32e466SDmitry Baryshkov                          "pixel",
181*4b32e466SDmitry Baryshkov                          "core",
182*4b32e466SDmitry Baryshkov                          "iface",
183*4b32e466SDmitry Baryshkov                          "bus";
184*4b32e466SDmitry Baryshkov
185*4b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
186*4b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
187*4b32e466SDmitry Baryshkov            assigned-clock-parents = <&mdss_dsi_phy 0>, <&mdss_dsi_phy 1>;
188*4b32e466SDmitry Baryshkov
189*4b32e466SDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
190*4b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
191*4b32e466SDmitry Baryshkov
192*4b32e466SDmitry Baryshkov            phys = <&mdss_dsi_phy>;
193*4b32e466SDmitry Baryshkov            phy-names = "dsi";
194*4b32e466SDmitry Baryshkov
195*4b32e466SDmitry Baryshkov            #address-cells = <1>;
196*4b32e466SDmitry Baryshkov            #size-cells = <0>;
197*4b32e466SDmitry Baryshkov
198*4b32e466SDmitry Baryshkov            ports {
199*4b32e466SDmitry Baryshkov                #address-cells = <1>;
200*4b32e466SDmitry Baryshkov                #size-cells = <0>;
201*4b32e466SDmitry Baryshkov
202*4b32e466SDmitry Baryshkov                port@0 {
203*4b32e466SDmitry Baryshkov                    reg = <0>;
204*4b32e466SDmitry Baryshkov                    dsi0_in: endpoint {
205*4b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
206*4b32e466SDmitry Baryshkov                    };
207*4b32e466SDmitry Baryshkov                };
208*4b32e466SDmitry Baryshkov
209*4b32e466SDmitry Baryshkov                port@1 {
210*4b32e466SDmitry Baryshkov                    reg = <1>;
211*4b32e466SDmitry Baryshkov                    dsi0_out: endpoint {
212*4b32e466SDmitry Baryshkov                    };
213*4b32e466SDmitry Baryshkov                };
214*4b32e466SDmitry Baryshkov            };
215*4b32e466SDmitry Baryshkov
216*4b32e466SDmitry Baryshkov            dsi_opp_table: opp-table {
217*4b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
218*4b32e466SDmitry Baryshkov
219*4b32e466SDmitry Baryshkov                opp-187500000 {
220*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
221*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
222*4b32e466SDmitry Baryshkov                };
223*4b32e466SDmitry Baryshkov
224*4b32e466SDmitry Baryshkov                opp-300000000 {
225*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
226*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
227*4b32e466SDmitry Baryshkov                };
228*4b32e466SDmitry Baryshkov
229*4b32e466SDmitry Baryshkov                opp-358000000 {
230*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
231*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
232*4b32e466SDmitry Baryshkov                };
233*4b32e466SDmitry Baryshkov            };
234*4b32e466SDmitry Baryshkov        };
235*4b32e466SDmitry Baryshkov
236*4b32e466SDmitry Baryshkov        mdss_dsi_phy: phy@ae94400 {
237*4b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-dsi-phy-7nm";
238*4b32e466SDmitry Baryshkov            reg = <0x0ae94400 0x200>,
239*4b32e466SDmitry Baryshkov                  <0x0ae94600 0x280>,
240*4b32e466SDmitry Baryshkov                  <0x0ae94900 0x280>;
241*4b32e466SDmitry Baryshkov            reg-names = "dsi_phy",
242*4b32e466SDmitry Baryshkov                        "dsi_phy_lane",
243*4b32e466SDmitry Baryshkov                        "dsi_pll";
244*4b32e466SDmitry Baryshkov
245*4b32e466SDmitry Baryshkov            #clock-cells = <1>;
246*4b32e466SDmitry Baryshkov            #phy-cells = <0>;
247*4b32e466SDmitry Baryshkov
248*4b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
249*4b32e466SDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
250*4b32e466SDmitry Baryshkov            clock-names = "iface", "ref";
251*4b32e466SDmitry Baryshkov
252*4b32e466SDmitry Baryshkov            vdds-supply = <&vreg_dsi_supply>;
253*4b32e466SDmitry Baryshkov        };
254*4b32e466SDmitry Baryshkov
255*4b32e466SDmitry Baryshkov        edp@aea0000 {
256*4b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-edp";
257*4b32e466SDmitry Baryshkov            pinctrl-names = "default";
258*4b32e466SDmitry Baryshkov            pinctrl-0 = <&edp_hot_plug_det>;
259*4b32e466SDmitry Baryshkov
260*4b32e466SDmitry Baryshkov            reg = <0xaea0000 0x200>,
261*4b32e466SDmitry Baryshkov                  <0xaea0200 0x200>,
262*4b32e466SDmitry Baryshkov                  <0xaea0400 0xc00>,
263*4b32e466SDmitry Baryshkov                  <0xaea1000 0x400>;
264*4b32e466SDmitry Baryshkov
265*4b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
266*4b32e466SDmitry Baryshkov            interrupts = <14>;
267*4b32e466SDmitry Baryshkov
268*4b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
269*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_AUX_CLK>,
270*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_LINK_CLK>,
271*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_LINK_INTF_CLK>,
272*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK>;
273*4b32e466SDmitry Baryshkov            clock-names = "core_iface",
274*4b32e466SDmitry Baryshkov                          "core_aux",
275*4b32e466SDmitry Baryshkov                          "ctrl_link",
276*4b32e466SDmitry Baryshkov                          "ctrl_link_iface",
277*4b32e466SDmitry Baryshkov                          "stream_pixel";
278*4b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_EDP_LINK_CLK_SRC>,
279*4b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK_SRC>;
280*4b32e466SDmitry Baryshkov            assigned-clock-parents = <&mdss_edp_phy 0>, <&mdss_edp_phy 1>;
281*4b32e466SDmitry Baryshkov
282*4b32e466SDmitry Baryshkov            phys = <&mdss_edp_phy>;
283*4b32e466SDmitry Baryshkov            phy-names = "dp";
284*4b32e466SDmitry Baryshkov
285*4b32e466SDmitry Baryshkov            operating-points-v2 = <&edp_opp_table>;
286*4b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
287*4b32e466SDmitry Baryshkov
288*4b32e466SDmitry Baryshkov            ports {
289*4b32e466SDmitry Baryshkov                #address-cells = <1>;
290*4b32e466SDmitry Baryshkov                #size-cells = <0>;
291*4b32e466SDmitry Baryshkov
292*4b32e466SDmitry Baryshkov                port@0 {
293*4b32e466SDmitry Baryshkov                    reg = <0>;
294*4b32e466SDmitry Baryshkov                    edp_in: endpoint {
295*4b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf5_out>;
296*4b32e466SDmitry Baryshkov                    };
297*4b32e466SDmitry Baryshkov                };
298*4b32e466SDmitry Baryshkov
299*4b32e466SDmitry Baryshkov                port@1 {
300*4b32e466SDmitry Baryshkov                    reg = <1>;
301*4b32e466SDmitry Baryshkov                    mdss_edp_out: endpoint { };
302*4b32e466SDmitry Baryshkov                };
303*4b32e466SDmitry Baryshkov            };
304*4b32e466SDmitry Baryshkov
305*4b32e466SDmitry Baryshkov            edp_opp_table: opp-table {
306*4b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
307*4b32e466SDmitry Baryshkov
308*4b32e466SDmitry Baryshkov                opp-160000000 {
309*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <160000000>;
310*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
311*4b32e466SDmitry Baryshkov                };
312*4b32e466SDmitry Baryshkov
313*4b32e466SDmitry Baryshkov                opp-270000000 {
314*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <270000000>;
315*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
316*4b32e466SDmitry Baryshkov                };
317*4b32e466SDmitry Baryshkov
318*4b32e466SDmitry Baryshkov                opp-540000000 {
319*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <540000000>;
320*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
321*4b32e466SDmitry Baryshkov                };
322*4b32e466SDmitry Baryshkov
323*4b32e466SDmitry Baryshkov                opp-810000000 {
324*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <810000000>;
325*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
326*4b32e466SDmitry Baryshkov                };
327*4b32e466SDmitry Baryshkov            };
328*4b32e466SDmitry Baryshkov        };
329*4b32e466SDmitry Baryshkov
330*4b32e466SDmitry Baryshkov        mdss_edp_phy: phy@aec2a00 {
331*4b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-edp-phy";
332*4b32e466SDmitry Baryshkov
333*4b32e466SDmitry Baryshkov            reg = <0xaec2a00 0x19c>,
334*4b32e466SDmitry Baryshkov                  <0xaec2200 0xa0>,
335*4b32e466SDmitry Baryshkov                  <0xaec2600 0xa0>,
336*4b32e466SDmitry Baryshkov                  <0xaec2000 0x1c0>;
337*4b32e466SDmitry Baryshkov
338*4b32e466SDmitry Baryshkov            clocks = <&rpmhcc RPMH_CXO_CLK>,
339*4b32e466SDmitry Baryshkov                     <&gcc GCC_EDP_CLKREF_EN>;
340*4b32e466SDmitry Baryshkov            clock-names = "aux",
341*4b32e466SDmitry Baryshkov                          "cfg_ahb";
342*4b32e466SDmitry Baryshkov
343*4b32e466SDmitry Baryshkov            #clock-cells = <1>;
344*4b32e466SDmitry Baryshkov            #phy-cells = <0>;
345*4b32e466SDmitry Baryshkov        };
346*4b32e466SDmitry Baryshkov
347*4b32e466SDmitry Baryshkov        displayport-controller@ae90000 {
348*4b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-dp";
349*4b32e466SDmitry Baryshkov
350*4b32e466SDmitry Baryshkov            reg = <0xae90000 0x200>,
351*4b32e466SDmitry Baryshkov                  <0xae90200 0x200>,
352*4b32e466SDmitry Baryshkov                  <0xae90400 0xc00>,
353*4b32e466SDmitry Baryshkov                  <0xae91000 0x400>,
354*4b32e466SDmitry Baryshkov                  <0xae91400 0x400>;
355*4b32e466SDmitry Baryshkov
356*4b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
357*4b32e466SDmitry Baryshkov            interrupts = <12>;
358*4b32e466SDmitry Baryshkov
359*4b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
360*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
361*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
362*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
363*4b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
364*4b32e466SDmitry Baryshkov            clock-names = "core_iface",
365*4b32e466SDmitry Baryshkov                          "core_aux",
366*4b32e466SDmitry Baryshkov                          "ctrl_link",
367*4b32e466SDmitry Baryshkov                          "ctrl_link_iface",
368*4b32e466SDmitry Baryshkov                          "stream_pixel";
369*4b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
370*4b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
371*4b32e466SDmitry Baryshkov            assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
372*4b32e466SDmitry Baryshkov            phys = <&dp_phy>;
373*4b32e466SDmitry Baryshkov            phy-names = "dp";
374*4b32e466SDmitry Baryshkov
375*4b32e466SDmitry Baryshkov            operating-points-v2 = <&dp_opp_table>;
376*4b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
377*4b32e466SDmitry Baryshkov
378*4b32e466SDmitry Baryshkov            #sound-dai-cells = <0>;
379*4b32e466SDmitry Baryshkov
380*4b32e466SDmitry Baryshkov            ports {
381*4b32e466SDmitry Baryshkov                #address-cells = <1>;
382*4b32e466SDmitry Baryshkov                #size-cells = <0>;
383*4b32e466SDmitry Baryshkov
384*4b32e466SDmitry Baryshkov                port@0 {
385*4b32e466SDmitry Baryshkov                    reg = <0>;
386*4b32e466SDmitry Baryshkov                    dp_in: endpoint {
387*4b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf0_out>;
388*4b32e466SDmitry Baryshkov                    };
389*4b32e466SDmitry Baryshkov                };
390*4b32e466SDmitry Baryshkov
391*4b32e466SDmitry Baryshkov                port@1 {
392*4b32e466SDmitry Baryshkov                    reg = <1>;
393*4b32e466SDmitry Baryshkov                    dp_out: endpoint { };
394*4b32e466SDmitry Baryshkov                };
395*4b32e466SDmitry Baryshkov            };
396*4b32e466SDmitry Baryshkov
397*4b32e466SDmitry Baryshkov            dp_opp_table: opp-table {
398*4b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
399*4b32e466SDmitry Baryshkov
400*4b32e466SDmitry Baryshkov                opp-160000000 {
401*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <160000000>;
402*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
403*4b32e466SDmitry Baryshkov                };
404*4b32e466SDmitry Baryshkov
405*4b32e466SDmitry Baryshkov                opp-270000000 {
406*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <270000000>;
407*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
408*4b32e466SDmitry Baryshkov                };
409*4b32e466SDmitry Baryshkov
410*4b32e466SDmitry Baryshkov                opp-540000000 {
411*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <540000000>;
412*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
413*4b32e466SDmitry Baryshkov                };
414*4b32e466SDmitry Baryshkov
415*4b32e466SDmitry Baryshkov                opp-810000000 {
416*4b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <810000000>;
417*4b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
418*4b32e466SDmitry Baryshkov                };
4192c44a993SDmitry Baryshkov            };
4202c44a993SDmitry Baryshkov        };
4212c44a993SDmitry Baryshkov    };
4222c44a993SDmitry Baryshkov...
423