xref: /freebsd/sys/contrib/device-tree/Bindings/display/msm/qcom,sar2130p-mdss.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sar2130p-mdss.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: Qualcomm SAR2130P Display MDSS
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Dmitry Baryshkov <lumag@kernel.org>
11*ae5de77eSEmmanuel Vadot
12*ae5de77eSEmmanuel Vadotdescription:
13*ae5de77eSEmmanuel Vadot  SAR2310P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
14*ae5de77eSEmmanuel Vadot  DPU display controller, DSI and DP interfaces etc.
15*ae5de77eSEmmanuel Vadot
16*ae5de77eSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml#
17*ae5de77eSEmmanuel Vadot
18*ae5de77eSEmmanuel Vadotproperties:
19*ae5de77eSEmmanuel Vadot  compatible:
20*ae5de77eSEmmanuel Vadot    const: qcom,sar2130p-mdss
21*ae5de77eSEmmanuel Vadot
22*ae5de77eSEmmanuel Vadot  clocks:
23*ae5de77eSEmmanuel Vadot    items:
24*ae5de77eSEmmanuel Vadot      - description: Display MDSS AHB
25*ae5de77eSEmmanuel Vadot      - description: Display AHB
26*ae5de77eSEmmanuel Vadot      - description: Display hf AXI
27*ae5de77eSEmmanuel Vadot      - description: Display core
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot  iommus:
30*ae5de77eSEmmanuel Vadot    maxItems: 1
31*ae5de77eSEmmanuel Vadot
32*ae5de77eSEmmanuel Vadot  interconnects:
33*ae5de77eSEmmanuel Vadot    items:
34*ae5de77eSEmmanuel Vadot      - description: Interconnect path from mdp0 port to the data bus
35*ae5de77eSEmmanuel Vadot      - description: Interconnect path from CPU to the reg bus
36*ae5de77eSEmmanuel Vadot
37*ae5de77eSEmmanuel Vadot  interconnect-names:
38*ae5de77eSEmmanuel Vadot    items:
39*ae5de77eSEmmanuel Vadot      - const: mdp0-mem
40*ae5de77eSEmmanuel Vadot      - const: cpu-cfg
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel VadotpatternProperties:
43*ae5de77eSEmmanuel Vadot  "^display-controller@[0-9a-f]+$":
44*ae5de77eSEmmanuel Vadot    type: object
45*ae5de77eSEmmanuel Vadot    additionalProperties: true
46*ae5de77eSEmmanuel Vadot    properties:
47*ae5de77eSEmmanuel Vadot      compatible:
48*ae5de77eSEmmanuel Vadot        const: qcom,sar2130p-dpu
49*ae5de77eSEmmanuel Vadot
50*ae5de77eSEmmanuel Vadot  "^displayport-controller@[0-9a-f]+$":
51*ae5de77eSEmmanuel Vadot    type: object
52*ae5de77eSEmmanuel Vadot    additionalProperties: true
53*ae5de77eSEmmanuel Vadot    properties:
54*ae5de77eSEmmanuel Vadot      compatible:
55*ae5de77eSEmmanuel Vadot        contains:
56*ae5de77eSEmmanuel Vadot          const: qcom,sar2130p-dp
57*ae5de77eSEmmanuel Vadot
58*ae5de77eSEmmanuel Vadot  "^dsi@[0-9a-f]+$":
59*ae5de77eSEmmanuel Vadot    type: object
60*ae5de77eSEmmanuel Vadot    additionalProperties: true
61*ae5de77eSEmmanuel Vadot    properties:
62*ae5de77eSEmmanuel Vadot      compatible:
63*ae5de77eSEmmanuel Vadot        contains:
64*ae5de77eSEmmanuel Vadot          const: qcom,sar2130p-dsi-ctrl
65*ae5de77eSEmmanuel Vadot
66*ae5de77eSEmmanuel Vadot  "^phy@[0-9a-f]+$":
67*ae5de77eSEmmanuel Vadot    type: object
68*ae5de77eSEmmanuel Vadot    additionalProperties: true
69*ae5de77eSEmmanuel Vadot    properties:
70*ae5de77eSEmmanuel Vadot      compatible:
71*ae5de77eSEmmanuel Vadot        const: qcom,sar2130p-dsi-phy-5nm
72*ae5de77eSEmmanuel Vadot
73*ae5de77eSEmmanuel Vadotrequired:
74*ae5de77eSEmmanuel Vadot  - compatible
75*ae5de77eSEmmanuel Vadot
76*ae5de77eSEmmanuel VadotunevaluatedProperties: false
77*ae5de77eSEmmanuel Vadot
78*ae5de77eSEmmanuel Vadotexamples:
79*ae5de77eSEmmanuel Vadot  - |
80*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
81*ae5de77eSEmmanuel Vadot    #include <dt-bindings/power/qcom,rpmhpd.h>
82*ae5de77eSEmmanuel Vadot    #include <dt-bindings/phy/phy-qcom-qmp.h>
83*ae5de77eSEmmanuel Vadot
84*ae5de77eSEmmanuel Vadot    display-subsystem@ae00000 {
85*ae5de77eSEmmanuel Vadot        compatible = "qcom,sar2130p-mdss";
86*ae5de77eSEmmanuel Vadot        reg = <0x0ae00000 0x1000>;
87*ae5de77eSEmmanuel Vadot        reg-names = "mdss";
88*ae5de77eSEmmanuel Vadot
89*ae5de77eSEmmanuel Vadot        interconnects = <&mmss_noc_master_mdp &mc_virt_slave_ebi1>,
90*ae5de77eSEmmanuel Vadot                        <&gem_noc_master_appss_proc &config_noc_slave_display_cfg>;
91*ae5de77eSEmmanuel Vadot        interconnect-names = "mdp0-mem", "cpu-cfg";
92*ae5de77eSEmmanuel Vadot
93*ae5de77eSEmmanuel Vadot        resets = <&dispcc_disp_cc_mdss_core_bcr>;
94*ae5de77eSEmmanuel Vadot
95*ae5de77eSEmmanuel Vadot        power-domains = <&dispcc_mdss_gdsc>;
96*ae5de77eSEmmanuel Vadot
97*ae5de77eSEmmanuel Vadot        clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
98*ae5de77eSEmmanuel Vadot                 <&gcc_gcc_disp_ahb_clk>,
99*ae5de77eSEmmanuel Vadot                 <&gcc_gcc_disp_hf_axi_clk>,
100*ae5de77eSEmmanuel Vadot                 <&dispcc_disp_cc_mdss_mdp_clk>;
101*ae5de77eSEmmanuel Vadot        clock-names = "iface", "bus", "nrt_bus", "core";
102*ae5de77eSEmmanuel Vadot
103*ae5de77eSEmmanuel Vadot        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
104*ae5de77eSEmmanuel Vadot        interrupt-controller;
105*ae5de77eSEmmanuel Vadot        #interrupt-cells = <1>;
106*ae5de77eSEmmanuel Vadot
107*ae5de77eSEmmanuel Vadot        iommus = <&apps_smmu 0x1c00 0x2>;
108*ae5de77eSEmmanuel Vadot
109*ae5de77eSEmmanuel Vadot        #address-cells = <1>;
110*ae5de77eSEmmanuel Vadot        #size-cells = <1>;
111*ae5de77eSEmmanuel Vadot        ranges;
112*ae5de77eSEmmanuel Vadot
113*ae5de77eSEmmanuel Vadot        display-controller@ae01000 {
114*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dpu";
115*ae5de77eSEmmanuel Vadot            reg = <0x0ae01000 0x8f000>,
116*ae5de77eSEmmanuel Vadot                  <0x0aeb0000 0x2008>;
117*ae5de77eSEmmanuel Vadot            reg-names = "mdp", "vbif";
118*ae5de77eSEmmanuel Vadot
119*ae5de77eSEmmanuel Vadot            clocks = <&gcc_gcc_disp_ahb_clk>,
120*ae5de77eSEmmanuel Vadot                     <&gcc_gcc_disp_hf_axi_clk>,
121*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_ahb_clk>,
122*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_mdp_lut_clk>,
123*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_mdp_clk>,
124*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_vsync_clk>;
125*ae5de77eSEmmanuel Vadot            clock-names = "bus",
126*ae5de77eSEmmanuel Vadot                          "nrt_bus",
127*ae5de77eSEmmanuel Vadot                          "iface",
128*ae5de77eSEmmanuel Vadot                          "lut",
129*ae5de77eSEmmanuel Vadot                          "core",
130*ae5de77eSEmmanuel Vadot                          "vsync";
131*ae5de77eSEmmanuel Vadot
132*ae5de77eSEmmanuel Vadot            assigned-clocks = <&dispcc_disp_cc_mdss_vsync_clk>;
133*ae5de77eSEmmanuel Vadot            assigned-clock-rates = <19200000>;
134*ae5de77eSEmmanuel Vadot
135*ae5de77eSEmmanuel Vadot            operating-points-v2 = <&mdp_opp_table>;
136*ae5de77eSEmmanuel Vadot            power-domains = <&rpmhpd RPMHPD_MMCX>;
137*ae5de77eSEmmanuel Vadot
138*ae5de77eSEmmanuel Vadot            interrupt-parent = <&mdss>;
139*ae5de77eSEmmanuel Vadot            interrupts = <0>;
140*ae5de77eSEmmanuel Vadot
141*ae5de77eSEmmanuel Vadot            ports {
142*ae5de77eSEmmanuel Vadot                #address-cells = <1>;
143*ae5de77eSEmmanuel Vadot                #size-cells = <0>;
144*ae5de77eSEmmanuel Vadot
145*ae5de77eSEmmanuel Vadot                port@0 {
146*ae5de77eSEmmanuel Vadot                    reg = <0>;
147*ae5de77eSEmmanuel Vadot
148*ae5de77eSEmmanuel Vadot                    dpu_intf0_out: endpoint {
149*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&mdss_dp0_in>;
150*ae5de77eSEmmanuel Vadot                    };
151*ae5de77eSEmmanuel Vadot                };
152*ae5de77eSEmmanuel Vadot
153*ae5de77eSEmmanuel Vadot                port@1 {
154*ae5de77eSEmmanuel Vadot                    reg = <1>;
155*ae5de77eSEmmanuel Vadot
156*ae5de77eSEmmanuel Vadot                    dpu_intf1_out: endpoint {
157*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&mdss_dsi0_in>;
158*ae5de77eSEmmanuel Vadot                    };
159*ae5de77eSEmmanuel Vadot                };
160*ae5de77eSEmmanuel Vadot
161*ae5de77eSEmmanuel Vadot                port@2 {
162*ae5de77eSEmmanuel Vadot                    reg = <2>;
163*ae5de77eSEmmanuel Vadot
164*ae5de77eSEmmanuel Vadot                    dpu_intf2_out: endpoint {
165*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&mdss_dsi1_in>;
166*ae5de77eSEmmanuel Vadot                    };
167*ae5de77eSEmmanuel Vadot                };
168*ae5de77eSEmmanuel Vadot            };
169*ae5de77eSEmmanuel Vadot
170*ae5de77eSEmmanuel Vadot            mdp_opp_table: opp-table {
171*ae5de77eSEmmanuel Vadot                compatible = "operating-points-v2";
172*ae5de77eSEmmanuel Vadot
173*ae5de77eSEmmanuel Vadot                opp-200000000 {
174*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <200000000>;
175*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_low_svs>;
176*ae5de77eSEmmanuel Vadot                };
177*ae5de77eSEmmanuel Vadot
178*ae5de77eSEmmanuel Vadot                opp-325000000 {
179*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <325000000>;
180*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_svs>;
181*ae5de77eSEmmanuel Vadot                };
182*ae5de77eSEmmanuel Vadot
183*ae5de77eSEmmanuel Vadot                opp-375000000 {
184*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <375000000>;
185*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_svs_l1>;
186*ae5de77eSEmmanuel Vadot                };
187*ae5de77eSEmmanuel Vadot
188*ae5de77eSEmmanuel Vadot                opp-514000000 {
189*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <514000000>;
190*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_nom>;
191*ae5de77eSEmmanuel Vadot                };
192*ae5de77eSEmmanuel Vadot            };
193*ae5de77eSEmmanuel Vadot        };
194*ae5de77eSEmmanuel Vadot
195*ae5de77eSEmmanuel Vadot        displayport-controller@ae90000 {
196*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dp",
197*ae5de77eSEmmanuel Vadot                         "qcom,sm8350-dp";
198*ae5de77eSEmmanuel Vadot            reg = <0xae90000 0x200>,
199*ae5de77eSEmmanuel Vadot                  <0xae90200 0x200>,
200*ae5de77eSEmmanuel Vadot                  <0xae90400 0xc00>,
201*ae5de77eSEmmanuel Vadot                  <0xae91000 0x400>,
202*ae5de77eSEmmanuel Vadot                  <0xae91400 0x400>;
203*ae5de77eSEmmanuel Vadot
204*ae5de77eSEmmanuel Vadot            interrupt-parent = <&mdss>;
205*ae5de77eSEmmanuel Vadot            interrupts = <12>;
206*ae5de77eSEmmanuel Vadot            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
207*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_dptx0_aux_clk>,
208*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_dptx0_link_clk>,
209*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_dptx0_link_intf_clk>,
210*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_dptx0_pixel0_clk>;
211*ae5de77eSEmmanuel Vadot            clock-names = "core_iface",
212*ae5de77eSEmmanuel Vadot                          "core_aux",
213*ae5de77eSEmmanuel Vadot                          "ctrl_link",
214*ae5de77eSEmmanuel Vadot                          "ctrl_link_iface",
215*ae5de77eSEmmanuel Vadot                          "stream_pixel";
216*ae5de77eSEmmanuel Vadot
217*ae5de77eSEmmanuel Vadot            assigned-clocks = <&dispcc_disp_cc_mdss_dptx0_link_clk_src>,
218*ae5de77eSEmmanuel Vadot                              <&dispcc_disp_cc_mdss_dptx0_pixel0_clk_src>;
219*ae5de77eSEmmanuel Vadot            assigned-clock-parents = <&usb_dp_qmpphy_QMP_USB43DP_DP_LINK_CLK>,
220*ae5de77eSEmmanuel Vadot                                     <&usb_dp_qmpphy_QMP_USB43DP_DP_VCO_DIV_CLK>;
221*ae5de77eSEmmanuel Vadot
222*ae5de77eSEmmanuel Vadot            phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>;
223*ae5de77eSEmmanuel Vadot            phy-names = "dp";
224*ae5de77eSEmmanuel Vadot
225*ae5de77eSEmmanuel Vadot            #sound-dai-cells = <0>;
226*ae5de77eSEmmanuel Vadot
227*ae5de77eSEmmanuel Vadot            operating-points-v2 = <&dp_opp_table>;
228*ae5de77eSEmmanuel Vadot            power-domains = <&rpmhpd RPMHPD_MMCX>;
229*ae5de77eSEmmanuel Vadot
230*ae5de77eSEmmanuel Vadot            ports {
231*ae5de77eSEmmanuel Vadot                #address-cells = <1>;
232*ae5de77eSEmmanuel Vadot                #size-cells = <0>;
233*ae5de77eSEmmanuel Vadot
234*ae5de77eSEmmanuel Vadot                port@0 {
235*ae5de77eSEmmanuel Vadot                    reg = <0>;
236*ae5de77eSEmmanuel Vadot                    mdss_dp0_in: endpoint {
237*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&dpu_intf0_out>;
238*ae5de77eSEmmanuel Vadot                    };
239*ae5de77eSEmmanuel Vadot                };
240*ae5de77eSEmmanuel Vadot
241*ae5de77eSEmmanuel Vadot                port@1 {
242*ae5de77eSEmmanuel Vadot                    reg = <1>;
243*ae5de77eSEmmanuel Vadot                    mdss_dp0_out: endpoint {
244*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&usb_dp_qmpphy_dp_in>;
245*ae5de77eSEmmanuel Vadot                    };
246*ae5de77eSEmmanuel Vadot                };
247*ae5de77eSEmmanuel Vadot        };
248*ae5de77eSEmmanuel Vadot
249*ae5de77eSEmmanuel Vadot        dp_opp_table: opp-table {
250*ae5de77eSEmmanuel Vadot                compatible = "operating-points-v2";
251*ae5de77eSEmmanuel Vadot
252*ae5de77eSEmmanuel Vadot                opp-162000000 {
253*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <162000000>;
254*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_low_svs_d1>;
255*ae5de77eSEmmanuel Vadot                };
256*ae5de77eSEmmanuel Vadot
257*ae5de77eSEmmanuel Vadot                opp-270000000 {
258*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <270000000>;
259*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_low_svs>;
260*ae5de77eSEmmanuel Vadot                };
261*ae5de77eSEmmanuel Vadot
262*ae5de77eSEmmanuel Vadot                opp-540000000 {
263*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <540000000>;
264*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_svs_l1>;
265*ae5de77eSEmmanuel Vadot                };
266*ae5de77eSEmmanuel Vadot
267*ae5de77eSEmmanuel Vadot                opp-810000000 {
268*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <810000000>;
269*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_nom>;
270*ae5de77eSEmmanuel Vadot                };
271*ae5de77eSEmmanuel Vadot            };
272*ae5de77eSEmmanuel Vadot        };
273*ae5de77eSEmmanuel Vadot
274*ae5de77eSEmmanuel Vadot        dsi@ae94000 {
275*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dsi-ctrl",
276*ae5de77eSEmmanuel Vadot                         "qcom,mdss-dsi-ctrl";
277*ae5de77eSEmmanuel Vadot            reg = <0x0ae94000 0x400>;
278*ae5de77eSEmmanuel Vadot            reg-names = "dsi_ctrl";
279*ae5de77eSEmmanuel Vadot
280*ae5de77eSEmmanuel Vadot            interrupt-parent = <&mdss>;
281*ae5de77eSEmmanuel Vadot            interrupts = <4>;
282*ae5de77eSEmmanuel Vadot
283*ae5de77eSEmmanuel Vadot            clocks = <&dispcc_disp_cc_mdss_byte0_clk>,
284*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_byte0_intf_clk>,
285*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_pclk0_clk>,
286*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_esc0_clk>,
287*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_ahb_clk>,
288*ae5de77eSEmmanuel Vadot                     <&gcc_gcc_disp_hf_axi_clk>;
289*ae5de77eSEmmanuel Vadot            clock-names = "byte",
290*ae5de77eSEmmanuel Vadot                          "byte_intf",
291*ae5de77eSEmmanuel Vadot                          "pixel",
292*ae5de77eSEmmanuel Vadot                          "core",
293*ae5de77eSEmmanuel Vadot                          "iface",
294*ae5de77eSEmmanuel Vadot                          "bus";
295*ae5de77eSEmmanuel Vadot
296*ae5de77eSEmmanuel Vadot            assigned-clocks = <&dispcc_disp_cc_mdss_byte0_clk_src>,
297*ae5de77eSEmmanuel Vadot                              <&dispcc_disp_cc_mdss_pclk0_clk_src>;
298*ae5de77eSEmmanuel Vadot            assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
299*ae5de77eSEmmanuel Vadot
300*ae5de77eSEmmanuel Vadot            operating-points-v2 = <&dsi_opp_table>;
301*ae5de77eSEmmanuel Vadot            power-domains = <&rpmhpd RPMHPD_MMCX>;
302*ae5de77eSEmmanuel Vadot
303*ae5de77eSEmmanuel Vadot            phys = <&mdss_dsi0_phy>;
304*ae5de77eSEmmanuel Vadot            phy-names = "dsi";
305*ae5de77eSEmmanuel Vadot
306*ae5de77eSEmmanuel Vadot            #address-cells = <1>;
307*ae5de77eSEmmanuel Vadot            #size-cells = <0>;
308*ae5de77eSEmmanuel Vadot
309*ae5de77eSEmmanuel Vadot            ports {
310*ae5de77eSEmmanuel Vadot                #address-cells = <1>;
311*ae5de77eSEmmanuel Vadot                #size-cells = <0>;
312*ae5de77eSEmmanuel Vadot
313*ae5de77eSEmmanuel Vadot                port@0 {
314*ae5de77eSEmmanuel Vadot                    reg = <0>;
315*ae5de77eSEmmanuel Vadot
316*ae5de77eSEmmanuel Vadot                    mdss_dsi0_in: endpoint {
317*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&dpu_intf1_out>;
318*ae5de77eSEmmanuel Vadot                    };
319*ae5de77eSEmmanuel Vadot                };
320*ae5de77eSEmmanuel Vadot
321*ae5de77eSEmmanuel Vadot                port@1 {
322*ae5de77eSEmmanuel Vadot                    reg = <1>;
323*ae5de77eSEmmanuel Vadot
324*ae5de77eSEmmanuel Vadot                    mdss_dsi0_out: endpoint {
325*ae5de77eSEmmanuel Vadot                    };
326*ae5de77eSEmmanuel Vadot                };
327*ae5de77eSEmmanuel Vadot            };
328*ae5de77eSEmmanuel Vadot
329*ae5de77eSEmmanuel Vadot            dsi_opp_table: opp-table {
330*ae5de77eSEmmanuel Vadot                compatible = "operating-points-v2";
331*ae5de77eSEmmanuel Vadot
332*ae5de77eSEmmanuel Vadot                opp-187500000 {
333*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <187500000>;
334*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_low_svs>;
335*ae5de77eSEmmanuel Vadot                };
336*ae5de77eSEmmanuel Vadot
337*ae5de77eSEmmanuel Vadot                opp-300000000 {
338*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <300000000>;
339*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_svs>;
340*ae5de77eSEmmanuel Vadot                };
341*ae5de77eSEmmanuel Vadot
342*ae5de77eSEmmanuel Vadot                opp-358000000 {
343*ae5de77eSEmmanuel Vadot                    opp-hz = /bits/ 64 <358000000>;
344*ae5de77eSEmmanuel Vadot                    required-opps = <&rpmhpd_opp_svs_l1>;
345*ae5de77eSEmmanuel Vadot                };
346*ae5de77eSEmmanuel Vadot            };
347*ae5de77eSEmmanuel Vadot        };
348*ae5de77eSEmmanuel Vadot
349*ae5de77eSEmmanuel Vadot        mdss_dsi0_phy: phy@ae94400 {
350*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dsi-phy-5nm";
351*ae5de77eSEmmanuel Vadot            reg = <0x0ae95000 0x200>,
352*ae5de77eSEmmanuel Vadot                  <0x0ae95200 0x280>,
353*ae5de77eSEmmanuel Vadot                  <0x0ae95500 0x400>;
354*ae5de77eSEmmanuel Vadot            reg-names = "dsi_phy",
355*ae5de77eSEmmanuel Vadot                        "dsi_phy_lane",
356*ae5de77eSEmmanuel Vadot                        "dsi_pll";
357*ae5de77eSEmmanuel Vadot
358*ae5de77eSEmmanuel Vadot            #clock-cells = <1>;
359*ae5de77eSEmmanuel Vadot            #phy-cells = <0>;
360*ae5de77eSEmmanuel Vadot
361*ae5de77eSEmmanuel Vadot            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
362*ae5de77eSEmmanuel Vadot                     <&rpmhcc_rpmh_cxo_clk>;
363*ae5de77eSEmmanuel Vadot            clock-names = "iface", "ref";
364*ae5de77eSEmmanuel Vadot        };
365*ae5de77eSEmmanuel Vadot
366*ae5de77eSEmmanuel Vadot        dsi@ae96000 {
367*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dsi-ctrl",
368*ae5de77eSEmmanuel Vadot                         "qcom,mdss-dsi-ctrl";
369*ae5de77eSEmmanuel Vadot            reg = <0x0ae96000 0x400>;
370*ae5de77eSEmmanuel Vadot            reg-names = "dsi_ctrl";
371*ae5de77eSEmmanuel Vadot
372*ae5de77eSEmmanuel Vadot            interrupt-parent = <&mdss>;
373*ae5de77eSEmmanuel Vadot            interrupts = <5>;
374*ae5de77eSEmmanuel Vadot
375*ae5de77eSEmmanuel Vadot            clocks = <&dispcc_disp_cc_mdss_byte1_clk>,
376*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_byte1_intf_clk>,
377*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_pclk1_clk>,
378*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_esc1_clk>,
379*ae5de77eSEmmanuel Vadot                     <&dispcc_disp_cc_mdss_ahb_clk>,
380*ae5de77eSEmmanuel Vadot                     <&gcc_gcc_disp_hf_axi_clk>;
381*ae5de77eSEmmanuel Vadot            clock-names = "byte",
382*ae5de77eSEmmanuel Vadot                          "byte_intf",
383*ae5de77eSEmmanuel Vadot                          "pixel",
384*ae5de77eSEmmanuel Vadot                          "core",
385*ae5de77eSEmmanuel Vadot                          "iface",
386*ae5de77eSEmmanuel Vadot                          "bus";
387*ae5de77eSEmmanuel Vadot
388*ae5de77eSEmmanuel Vadot            assigned-clocks = <&dispcc_disp_cc_mdss_byte1_clk_src>,
389*ae5de77eSEmmanuel Vadot                              <&dispcc_disp_cc_mdss_pclk1_clk_src>;
390*ae5de77eSEmmanuel Vadot            assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
391*ae5de77eSEmmanuel Vadot
392*ae5de77eSEmmanuel Vadot            operating-points-v2 = <&dsi_opp_table>;
393*ae5de77eSEmmanuel Vadot            power-domains = <&rpmhpd RPMHPD_MMCX>;
394*ae5de77eSEmmanuel Vadot
395*ae5de77eSEmmanuel Vadot            phys = <&mdss_dsi1_phy>;
396*ae5de77eSEmmanuel Vadot            phy-names = "dsi";
397*ae5de77eSEmmanuel Vadot
398*ae5de77eSEmmanuel Vadot            #address-cells = <1>;
399*ae5de77eSEmmanuel Vadot            #size-cells = <0>;
400*ae5de77eSEmmanuel Vadot
401*ae5de77eSEmmanuel Vadot            ports {
402*ae5de77eSEmmanuel Vadot                #address-cells = <1>;
403*ae5de77eSEmmanuel Vadot                #size-cells = <0>;
404*ae5de77eSEmmanuel Vadot
405*ae5de77eSEmmanuel Vadot                port@0 {
406*ae5de77eSEmmanuel Vadot                    reg = <0>;
407*ae5de77eSEmmanuel Vadot
408*ae5de77eSEmmanuel Vadot                    mdss_dsi1_in: endpoint {
409*ae5de77eSEmmanuel Vadot                        remote-endpoint = <&dpu_intf2_out>;
410*ae5de77eSEmmanuel Vadot                    };
411*ae5de77eSEmmanuel Vadot                };
412*ae5de77eSEmmanuel Vadot
413*ae5de77eSEmmanuel Vadot                port@1 {
414*ae5de77eSEmmanuel Vadot                    reg = <1>;
415*ae5de77eSEmmanuel Vadot
416*ae5de77eSEmmanuel Vadot                    mdss_dsi1_out: endpoint {
417*ae5de77eSEmmanuel Vadot                    };
418*ae5de77eSEmmanuel Vadot                };
419*ae5de77eSEmmanuel Vadot            };
420*ae5de77eSEmmanuel Vadot        };
421*ae5de77eSEmmanuel Vadot
422*ae5de77eSEmmanuel Vadot        mdss_dsi1_phy: phy@ae97000 {
423*ae5de77eSEmmanuel Vadot            compatible = "qcom,sar2130p-dsi-phy-5nm";
424*ae5de77eSEmmanuel Vadot            reg = <0x0ae97000 0x200>,
425*ae5de77eSEmmanuel Vadot                  <0x0ae97200 0x280>,
426*ae5de77eSEmmanuel Vadot                  <0x0ae97500 0x400>;
427*ae5de77eSEmmanuel Vadot            reg-names = "dsi_phy",
428*ae5de77eSEmmanuel Vadot                        "dsi_phy_lane",
429*ae5de77eSEmmanuel Vadot                        "dsi_pll";
430*ae5de77eSEmmanuel Vadot
431*ae5de77eSEmmanuel Vadot            #clock-cells = <1>;
432*ae5de77eSEmmanuel Vadot            #phy-cells = <0>;
433*ae5de77eSEmmanuel Vadot
434*ae5de77eSEmmanuel Vadot            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
435*ae5de77eSEmmanuel Vadot                     <&rpmhcc_rpmh_cxo_clk>;
436*ae5de77eSEmmanuel Vadot            clock-names = "iface", "ref";
437*ae5de77eSEmmanuel Vadot        };
438*ae5de77eSEmmanuel Vadot    };
439*ae5de77eSEmmanuel Vadot...
440