xref: /linux/Documentation/devicetree/bindings/display/msm/qcom,sc8180x-mdss.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*fd5c9b3cSDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*fd5c9b3cSDmitry Baryshkov%YAML 1.2
3*fd5c9b3cSDmitry Baryshkov---
4*fd5c9b3cSDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sc8180x-mdss.yaml#
5*fd5c9b3cSDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
6*fd5c9b3cSDmitry Baryshkov
7*fd5c9b3cSDmitry Baryshkovtitle: Qualcomm SC8180X Display MDSS
8*fd5c9b3cSDmitry Baryshkov
9*fd5c9b3cSDmitry Baryshkovmaintainers:
10*fd5c9b3cSDmitry Baryshkov  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
11*fd5c9b3cSDmitry Baryshkov
12*fd5c9b3cSDmitry Baryshkovdescription:
13*fd5c9b3cSDmitry Baryshkov  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
14*fd5c9b3cSDmitry Baryshkov  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
15*fd5c9b3cSDmitry Baryshkov  bindings of MDSS are mentioned for SC8180X target.
16*fd5c9b3cSDmitry Baryshkov
17*fd5c9b3cSDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml#
18*fd5c9b3cSDmitry Baryshkov
19*fd5c9b3cSDmitry Baryshkovproperties:
20*fd5c9b3cSDmitry Baryshkov  compatible:
21*fd5c9b3cSDmitry Baryshkov    items:
22*fd5c9b3cSDmitry Baryshkov      - const: qcom,sc8180x-mdss
23*fd5c9b3cSDmitry Baryshkov
24*fd5c9b3cSDmitry Baryshkov  clocks:
25*fd5c9b3cSDmitry Baryshkov    items:
26*fd5c9b3cSDmitry Baryshkov      - description: Display AHB clock from gcc
27*fd5c9b3cSDmitry Baryshkov      - description: Display hf axi clock
28*fd5c9b3cSDmitry Baryshkov      - description: Display sf axi clock
29*fd5c9b3cSDmitry Baryshkov      - description: Display core clock
30*fd5c9b3cSDmitry Baryshkov
31*fd5c9b3cSDmitry Baryshkov  clock-names:
32*fd5c9b3cSDmitry Baryshkov    items:
33*fd5c9b3cSDmitry Baryshkov      - const: iface
34*fd5c9b3cSDmitry Baryshkov      - const: bus
35*fd5c9b3cSDmitry Baryshkov      - const: nrt_bus
36*fd5c9b3cSDmitry Baryshkov      - const: core
37*fd5c9b3cSDmitry Baryshkov
38*fd5c9b3cSDmitry Baryshkov  iommus:
39*fd5c9b3cSDmitry Baryshkov    maxItems: 1
40*fd5c9b3cSDmitry Baryshkov
41*fd5c9b3cSDmitry Baryshkov  interconnects:
42*fd5c9b3cSDmitry Baryshkov    maxItems: 3
43*fd5c9b3cSDmitry Baryshkov
44*fd5c9b3cSDmitry Baryshkov  interconnect-names:
45*fd5c9b3cSDmitry Baryshkov    maxItems: 3
46*fd5c9b3cSDmitry Baryshkov
47*fd5c9b3cSDmitry BaryshkovpatternProperties:
48*fd5c9b3cSDmitry Baryshkov  "^display-controller@[0-9a-f]+$":
49*fd5c9b3cSDmitry Baryshkov    type: object
50*fd5c9b3cSDmitry Baryshkov    additionalProperties: true
51*fd5c9b3cSDmitry Baryshkov
52*fd5c9b3cSDmitry Baryshkov    properties:
53*fd5c9b3cSDmitry Baryshkov      compatible:
54*fd5c9b3cSDmitry Baryshkov        const: qcom,sc8180x-dpu
55*fd5c9b3cSDmitry Baryshkov
56*fd5c9b3cSDmitry Baryshkov  "^displayport-controller@[0-9a-f]+$":
57*fd5c9b3cSDmitry Baryshkov    type: object
58*fd5c9b3cSDmitry Baryshkov    additionalProperties: true
59*fd5c9b3cSDmitry Baryshkov
60*fd5c9b3cSDmitry Baryshkov    properties:
61*fd5c9b3cSDmitry Baryshkov      compatible:
62*fd5c9b3cSDmitry Baryshkov        enum:
63*fd5c9b3cSDmitry Baryshkov          - qcom,sc8180x-dp
64*fd5c9b3cSDmitry Baryshkov          - qcom,sc8180x-edp
65*fd5c9b3cSDmitry Baryshkov
66*fd5c9b3cSDmitry Baryshkov  "^dsi@[0-9a-f]+$":
67*fd5c9b3cSDmitry Baryshkov    type: object
68*fd5c9b3cSDmitry Baryshkov    additionalProperties: true
69*fd5c9b3cSDmitry Baryshkov
70*fd5c9b3cSDmitry Baryshkov    properties:
71*fd5c9b3cSDmitry Baryshkov      compatible:
72*fd5c9b3cSDmitry Baryshkov        contains:
73*fd5c9b3cSDmitry Baryshkov          const: qcom,sc8180x-dsi-ctrl
74*fd5c9b3cSDmitry Baryshkov
75*fd5c9b3cSDmitry Baryshkov  "^phy@[0-9a-f]+$":
76*fd5c9b3cSDmitry Baryshkov    type: object
77*fd5c9b3cSDmitry Baryshkov    additionalProperties: true
78*fd5c9b3cSDmitry Baryshkov
79*fd5c9b3cSDmitry Baryshkov    properties:
80*fd5c9b3cSDmitry Baryshkov      compatible:
81*fd5c9b3cSDmitry Baryshkov        const: qcom,dsi-phy-7nm
82*fd5c9b3cSDmitry Baryshkov
83*fd5c9b3cSDmitry BaryshkovunevaluatedProperties: false
84*fd5c9b3cSDmitry Baryshkov
85*fd5c9b3cSDmitry Baryshkovexamples:
86*fd5c9b3cSDmitry Baryshkov  - |
87*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,dispcc-sm8250.h>
88*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,gcc-sc8180x.h>
89*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,rpmh.h>
90*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
91*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/interconnect/qcom,sc8180x.h>
92*fd5c9b3cSDmitry Baryshkov    #include <dt-bindings/power/qcom-rpmpd.h>
93*fd5c9b3cSDmitry Baryshkov
94*fd5c9b3cSDmitry Baryshkov    display-subsystem@ae00000 {
95*fd5c9b3cSDmitry Baryshkov        compatible = "qcom,sc8180x-mdss";
96*fd5c9b3cSDmitry Baryshkov        reg = <0x0ae00000 0x1000>;
97*fd5c9b3cSDmitry Baryshkov        reg-names = "mdss";
98*fd5c9b3cSDmitry Baryshkov
99*fd5c9b3cSDmitry Baryshkov        interconnects = <&mmss_noc MASTER_MDP_PORT0 &mc_virt SLAVE_EBI_CH0>,
100*fd5c9b3cSDmitry Baryshkov                        <&mmss_noc MASTER_MDP_PORT1 &mc_virt SLAVE_EBI_CH0>,
101*fd5c9b3cSDmitry Baryshkov                        <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_DISPLAY_CFG>;
102*fd5c9b3cSDmitry Baryshkov        interconnect-names = "mdp0-mem",
103*fd5c9b3cSDmitry Baryshkov                             "mdp1-mem",
104*fd5c9b3cSDmitry Baryshkov                             "cpu-cfg";
105*fd5c9b3cSDmitry Baryshkov
106*fd5c9b3cSDmitry Baryshkov        power-domains = <&dispcc MDSS_GDSC>;
107*fd5c9b3cSDmitry Baryshkov
108*fd5c9b3cSDmitry Baryshkov        clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
109*fd5c9b3cSDmitry Baryshkov                 <&gcc GCC_DISP_HF_AXI_CLK>,
110*fd5c9b3cSDmitry Baryshkov                 <&gcc GCC_DISP_SF_AXI_CLK>,
111*fd5c9b3cSDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_MDP_CLK>;
112*fd5c9b3cSDmitry Baryshkov        clock-names = "iface", "bus", "nrt_bus", "core";
113*fd5c9b3cSDmitry Baryshkov
114*fd5c9b3cSDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
115*fd5c9b3cSDmitry Baryshkov        interrupt-controller;
116*fd5c9b3cSDmitry Baryshkov        #interrupt-cells = <1>;
117*fd5c9b3cSDmitry Baryshkov
118*fd5c9b3cSDmitry Baryshkov        iommus = <&apps_smmu 0x800 0x420>;
119*fd5c9b3cSDmitry Baryshkov
120*fd5c9b3cSDmitry Baryshkov        #address-cells = <1>;
121*fd5c9b3cSDmitry Baryshkov        #size-cells = <1>;
122*fd5c9b3cSDmitry Baryshkov        ranges;
123*fd5c9b3cSDmitry Baryshkov
124*fd5c9b3cSDmitry Baryshkov        display-controller@ae01000 {
125*fd5c9b3cSDmitry Baryshkov            compatible = "qcom,sc8180x-dpu";
126*fd5c9b3cSDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
127*fd5c9b3cSDmitry Baryshkov                  <0x0aeb0000 0x2008>;
128*fd5c9b3cSDmitry Baryshkov            reg-names = "mdp", "vbif";
129*fd5c9b3cSDmitry Baryshkov
130*fd5c9b3cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
131*fd5c9b3cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>,
132*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_CLK>,
133*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_VSYNC_CLK>,
134*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ROT_CLK>,
135*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>;
136*fd5c9b3cSDmitry Baryshkov            clock-names = "iface",
137*fd5c9b3cSDmitry Baryshkov                          "bus",
138*fd5c9b3cSDmitry Baryshkov                          "core",
139*fd5c9b3cSDmitry Baryshkov                          "vsync",
140*fd5c9b3cSDmitry Baryshkov                          "rot",
141*fd5c9b3cSDmitry Baryshkov                          "lut";
142*fd5c9b3cSDmitry Baryshkov
143*fd5c9b3cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
144*fd5c9b3cSDmitry Baryshkov            assigned-clock-rates = <19200000>;
145*fd5c9b3cSDmitry Baryshkov
146*fd5c9b3cSDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
147*fd5c9b3cSDmitry Baryshkov            power-domains = <&rpmhpd SC8180X_MMCX>;
148*fd5c9b3cSDmitry Baryshkov
149*fd5c9b3cSDmitry Baryshkov            interrupt-parent = <&mdss>;
150*fd5c9b3cSDmitry Baryshkov            interrupts = <0>;
151*fd5c9b3cSDmitry Baryshkov
152*fd5c9b3cSDmitry Baryshkov            ports {
153*fd5c9b3cSDmitry Baryshkov                #address-cells = <1>;
154*fd5c9b3cSDmitry Baryshkov                #size-cells = <0>;
155*fd5c9b3cSDmitry Baryshkov
156*fd5c9b3cSDmitry Baryshkov                port@0 {
157*fd5c9b3cSDmitry Baryshkov                    reg = <0>;
158*fd5c9b3cSDmitry Baryshkov                    dpu_intf1_out: endpoint {
159*fd5c9b3cSDmitry Baryshkov                        remote-endpoint = <&dsi0_in>;
160*fd5c9b3cSDmitry Baryshkov                    };
161*fd5c9b3cSDmitry Baryshkov                };
162*fd5c9b3cSDmitry Baryshkov
163*fd5c9b3cSDmitry Baryshkov                port@1 {
164*fd5c9b3cSDmitry Baryshkov                    reg = <1>;
165*fd5c9b3cSDmitry Baryshkov                    dpu_intf2_out: endpoint {
166*fd5c9b3cSDmitry Baryshkov                        remote-endpoint = <&dsi1_in>;
167*fd5c9b3cSDmitry Baryshkov                    };
168*fd5c9b3cSDmitry Baryshkov                };
169*fd5c9b3cSDmitry Baryshkov            };
170*fd5c9b3cSDmitry Baryshkov
171*fd5c9b3cSDmitry Baryshkov            mdp_opp_table: opp-table {
172*fd5c9b3cSDmitry Baryshkov                compatible = "operating-points-v2";
173*fd5c9b3cSDmitry Baryshkov
174*fd5c9b3cSDmitry Baryshkov                opp-171428571 {
175*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <171428571>;
176*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
177*fd5c9b3cSDmitry Baryshkov                };
178*fd5c9b3cSDmitry Baryshkov
179*fd5c9b3cSDmitry Baryshkov                opp-300000000 {
180*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
181*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
182*fd5c9b3cSDmitry Baryshkov                };
183*fd5c9b3cSDmitry Baryshkov
184*fd5c9b3cSDmitry Baryshkov                opp-345000000 {
185*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <345000000>;
186*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
187*fd5c9b3cSDmitry Baryshkov                };
188*fd5c9b3cSDmitry Baryshkov
189*fd5c9b3cSDmitry Baryshkov                opp-460000000 {
190*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <460000000>;
191*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
192*fd5c9b3cSDmitry Baryshkov                };
193*fd5c9b3cSDmitry Baryshkov            };
194*fd5c9b3cSDmitry Baryshkov        };
195*fd5c9b3cSDmitry Baryshkov
196*fd5c9b3cSDmitry Baryshkov        dsi@ae94000 {
197*fd5c9b3cSDmitry Baryshkov            compatible = "qcom,sc8180x-dsi-ctrl",
198*fd5c9b3cSDmitry Baryshkov                         "qcom,mdss-dsi-ctrl";
199*fd5c9b3cSDmitry Baryshkov            reg = <0x0ae94000 0x400>;
200*fd5c9b3cSDmitry Baryshkov            reg-names = "dsi_ctrl";
201*fd5c9b3cSDmitry Baryshkov
202*fd5c9b3cSDmitry Baryshkov            interrupt-parent = <&mdss>;
203*fd5c9b3cSDmitry Baryshkov            interrupts = <4>;
204*fd5c9b3cSDmitry Baryshkov
205*fd5c9b3cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
206*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
207*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
208*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
209*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
210*fd5c9b3cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
211*fd5c9b3cSDmitry Baryshkov            clock-names = "byte",
212*fd5c9b3cSDmitry Baryshkov                          "byte_intf",
213*fd5c9b3cSDmitry Baryshkov                          "pixel",
214*fd5c9b3cSDmitry Baryshkov                          "core",
215*fd5c9b3cSDmitry Baryshkov                          "iface",
216*fd5c9b3cSDmitry Baryshkov                          "bus";
217*fd5c9b3cSDmitry Baryshkov
218*fd5c9b3cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
219*fd5c9b3cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
220*fd5c9b3cSDmitry Baryshkov            assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
221*fd5c9b3cSDmitry Baryshkov
222*fd5c9b3cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
223*fd5c9b3cSDmitry Baryshkov            power-domains = <&rpmhpd SC8180X_MMCX>;
224*fd5c9b3cSDmitry Baryshkov
225*fd5c9b3cSDmitry Baryshkov            phys = <&dsi0_phy>;
226*fd5c9b3cSDmitry Baryshkov            phy-names = "dsi";
227*fd5c9b3cSDmitry Baryshkov
228*fd5c9b3cSDmitry Baryshkov            #address-cells = <1>;
229*fd5c9b3cSDmitry Baryshkov            #size-cells = <0>;
230*fd5c9b3cSDmitry Baryshkov
231*fd5c9b3cSDmitry Baryshkov            ports {
232*fd5c9b3cSDmitry Baryshkov                #address-cells = <1>;
233*fd5c9b3cSDmitry Baryshkov                #size-cells = <0>;
234*fd5c9b3cSDmitry Baryshkov
235*fd5c9b3cSDmitry Baryshkov                port@0 {
236*fd5c9b3cSDmitry Baryshkov                    reg = <0>;
237*fd5c9b3cSDmitry Baryshkov                    dsi0_in: endpoint {
238*fd5c9b3cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
239*fd5c9b3cSDmitry Baryshkov                    };
240*fd5c9b3cSDmitry Baryshkov                };
241*fd5c9b3cSDmitry Baryshkov
242*fd5c9b3cSDmitry Baryshkov                port@1 {
243*fd5c9b3cSDmitry Baryshkov                    reg = <1>;
244*fd5c9b3cSDmitry Baryshkov                    dsi0_out: endpoint {
245*fd5c9b3cSDmitry Baryshkov                    };
246*fd5c9b3cSDmitry Baryshkov                };
247*fd5c9b3cSDmitry Baryshkov            };
248*fd5c9b3cSDmitry Baryshkov
249*fd5c9b3cSDmitry Baryshkov            dsi_opp_table: opp-table {
250*fd5c9b3cSDmitry Baryshkov                compatible = "operating-points-v2";
251*fd5c9b3cSDmitry Baryshkov
252*fd5c9b3cSDmitry Baryshkov                opp-187500000 {
253*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
254*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
255*fd5c9b3cSDmitry Baryshkov                };
256*fd5c9b3cSDmitry Baryshkov
257*fd5c9b3cSDmitry Baryshkov                opp-300000000 {
258*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
259*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
260*fd5c9b3cSDmitry Baryshkov                };
261*fd5c9b3cSDmitry Baryshkov
262*fd5c9b3cSDmitry Baryshkov                opp-358000000 {
263*fd5c9b3cSDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
264*fd5c9b3cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
265*fd5c9b3cSDmitry Baryshkov                };
266*fd5c9b3cSDmitry Baryshkov            };
267*fd5c9b3cSDmitry Baryshkov        };
268*fd5c9b3cSDmitry Baryshkov
269*fd5c9b3cSDmitry Baryshkov        dsi0_phy: phy@ae94400 {
270*fd5c9b3cSDmitry Baryshkov            compatible = "qcom,dsi-phy-7nm";
271*fd5c9b3cSDmitry Baryshkov            reg = <0x0ae94400 0x200>,
272*fd5c9b3cSDmitry Baryshkov                  <0x0ae94600 0x280>,
273*fd5c9b3cSDmitry Baryshkov                  <0x0ae94900 0x260>;
274*fd5c9b3cSDmitry Baryshkov            reg-names = "dsi_phy",
275*fd5c9b3cSDmitry Baryshkov                        "dsi_phy_lane",
276*fd5c9b3cSDmitry Baryshkov                        "dsi_pll";
277*fd5c9b3cSDmitry Baryshkov
278*fd5c9b3cSDmitry Baryshkov            #clock-cells = <1>;
279*fd5c9b3cSDmitry Baryshkov            #phy-cells = <0>;
280*fd5c9b3cSDmitry Baryshkov
281*fd5c9b3cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
282*fd5c9b3cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
283*fd5c9b3cSDmitry Baryshkov            clock-names = "iface", "ref";
284*fd5c9b3cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
285*fd5c9b3cSDmitry Baryshkov        };
286*fd5c9b3cSDmitry Baryshkov
287*fd5c9b3cSDmitry Baryshkov        dsi@ae96000 {
288*fd5c9b3cSDmitry Baryshkov            compatible = "qcom,sc8180x-dsi-ctrl",
289*fd5c9b3cSDmitry Baryshkov                         "qcom,mdss-dsi-ctrl";
290*fd5c9b3cSDmitry Baryshkov            reg = <0x0ae96000 0x400>;
291*fd5c9b3cSDmitry Baryshkov            reg-names = "dsi_ctrl";
292*fd5c9b3cSDmitry Baryshkov
293*fd5c9b3cSDmitry Baryshkov            interrupt-parent = <&mdss>;
294*fd5c9b3cSDmitry Baryshkov            interrupts = <5>;
295*fd5c9b3cSDmitry Baryshkov
296*fd5c9b3cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
297*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
298*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
299*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC1_CLK>,
300*fd5c9b3cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
301*fd5c9b3cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
302*fd5c9b3cSDmitry Baryshkov            clock-names = "byte",
303*fd5c9b3cSDmitry Baryshkov                          "byte_intf",
304*fd5c9b3cSDmitry Baryshkov                          "pixel",
305*fd5c9b3cSDmitry Baryshkov                          "core",
306*fd5c9b3cSDmitry Baryshkov                          "iface",
307*fd5c9b3cSDmitry Baryshkov                          "bus";
308*fd5c9b3cSDmitry Baryshkov
309*fd5c9b3cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
310*fd5c9b3cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
311*fd5c9b3cSDmitry Baryshkov            assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
312*fd5c9b3cSDmitry Baryshkov
313*fd5c9b3cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
314*fd5c9b3cSDmitry Baryshkov            power-domains = <&rpmhpd SC8180X_MMCX>;
315*fd5c9b3cSDmitry Baryshkov
316*fd5c9b3cSDmitry Baryshkov            phys = <&dsi1_phy>;
317*fd5c9b3cSDmitry Baryshkov            phy-names = "dsi";
318*fd5c9b3cSDmitry Baryshkov
319*fd5c9b3cSDmitry Baryshkov            #address-cells = <1>;
320*fd5c9b3cSDmitry Baryshkov            #size-cells = <0>;
321*fd5c9b3cSDmitry Baryshkov
322*fd5c9b3cSDmitry Baryshkov            ports {
323*fd5c9b3cSDmitry Baryshkov                #address-cells = <1>;
324*fd5c9b3cSDmitry Baryshkov                #size-cells = <0>;
325*fd5c9b3cSDmitry Baryshkov
326*fd5c9b3cSDmitry Baryshkov                port@0 {
327*fd5c9b3cSDmitry Baryshkov                    reg = <0>;
328*fd5c9b3cSDmitry Baryshkov                    dsi1_in: endpoint {
329*fd5c9b3cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf2_out>;
330*fd5c9b3cSDmitry Baryshkov                    };
331*fd5c9b3cSDmitry Baryshkov                };
332*fd5c9b3cSDmitry Baryshkov
333*fd5c9b3cSDmitry Baryshkov                port@1 {
334*fd5c9b3cSDmitry Baryshkov                    reg = <1>;
335*fd5c9b3cSDmitry Baryshkov                    dsi1_out: endpoint {
336*fd5c9b3cSDmitry Baryshkov                    };
337*fd5c9b3cSDmitry Baryshkov                };
338*fd5c9b3cSDmitry Baryshkov            };
339*fd5c9b3cSDmitry Baryshkov        };
340*fd5c9b3cSDmitry Baryshkov
341*fd5c9b3cSDmitry Baryshkov        dsi1_phy: phy@ae96400 {
342*fd5c9b3cSDmitry Baryshkov            compatible = "qcom,dsi-phy-7nm";
343*fd5c9b3cSDmitry Baryshkov            reg = <0x0ae96400 0x200>,
344*fd5c9b3cSDmitry Baryshkov                  <0x0ae96600 0x280>,
345*fd5c9b3cSDmitry Baryshkov                  <0x0ae96900 0x260>;
346*fd5c9b3cSDmitry Baryshkov            reg-names = "dsi_phy",
347*fd5c9b3cSDmitry Baryshkov                        "dsi_phy_lane",
348*fd5c9b3cSDmitry Baryshkov                        "dsi_pll";
349*fd5c9b3cSDmitry Baryshkov
350*fd5c9b3cSDmitry Baryshkov            #clock-cells = <1>;
351*fd5c9b3cSDmitry Baryshkov            #phy-cells = <0>;
352*fd5c9b3cSDmitry Baryshkov
353*fd5c9b3cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
354*fd5c9b3cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
355*fd5c9b3cSDmitry Baryshkov            clock-names = "iface", "ref";
356*fd5c9b3cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
357*fd5c9b3cSDmitry Baryshkov        };
358*fd5c9b3cSDmitry Baryshkov    };
359*fd5c9b3cSDmitry Baryshkov...
360