xref: /linux/Documentation/devicetree/bindings/display/msm/qcom,sar2130p-mdss.yaml (revision 40288c9206c17eb66a603262e06a58d300d0f279)
13096209bSDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
23096209bSDmitry Baryshkov%YAML 1.2
33096209bSDmitry Baryshkov---
43096209bSDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sar2130p-mdss.yaml#
53096209bSDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
63096209bSDmitry Baryshkov
73096209bSDmitry Baryshkovtitle: Qualcomm SAR2130P Display MDSS
83096209bSDmitry Baryshkov
93096209bSDmitry Baryshkovmaintainers:
103096209bSDmitry Baryshkov  - Dmitry Baryshkov <lumag@kernel.org>
113096209bSDmitry Baryshkov
123096209bSDmitry Baryshkovdescription:
133096209bSDmitry Baryshkov  SAR2310P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
143096209bSDmitry Baryshkov  DPU display controller, DSI and DP interfaces etc.
153096209bSDmitry Baryshkov
163096209bSDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml#
173096209bSDmitry Baryshkov
183096209bSDmitry Baryshkovproperties:
193096209bSDmitry Baryshkov  compatible:
203096209bSDmitry Baryshkov    const: qcom,sar2130p-mdss
213096209bSDmitry Baryshkov
223096209bSDmitry Baryshkov  clocks:
233096209bSDmitry Baryshkov    items:
243096209bSDmitry Baryshkov      - description: Display MDSS AHB
253096209bSDmitry Baryshkov      - description: Display AHB
263096209bSDmitry Baryshkov      - description: Display hf AXI
273096209bSDmitry Baryshkov      - description: Display core
283096209bSDmitry Baryshkov
293096209bSDmitry Baryshkov  iommus:
303096209bSDmitry Baryshkov    maxItems: 1
313096209bSDmitry Baryshkov
323096209bSDmitry Baryshkov  interconnects:
333096209bSDmitry Baryshkov    items:
343096209bSDmitry Baryshkov      - description: Interconnect path from mdp0 port to the data bus
353096209bSDmitry Baryshkov      - description: Interconnect path from CPU to the reg bus
363096209bSDmitry Baryshkov
373096209bSDmitry Baryshkov  interconnect-names:
383096209bSDmitry Baryshkov    items:
393096209bSDmitry Baryshkov      - const: mdp0-mem
403096209bSDmitry Baryshkov      - const: cpu-cfg
413096209bSDmitry Baryshkov
423096209bSDmitry BaryshkovpatternProperties:
433096209bSDmitry Baryshkov  "^display-controller@[0-9a-f]+$":
443096209bSDmitry Baryshkov    type: object
453096209bSDmitry Baryshkov    additionalProperties: true
463096209bSDmitry Baryshkov    properties:
473096209bSDmitry Baryshkov      compatible:
483096209bSDmitry Baryshkov        const: qcom,sar2130p-dpu
493096209bSDmitry Baryshkov
503096209bSDmitry Baryshkov  "^displayport-controller@[0-9a-f]+$":
513096209bSDmitry Baryshkov    type: object
523096209bSDmitry Baryshkov    additionalProperties: true
533096209bSDmitry Baryshkov    properties:
543096209bSDmitry Baryshkov      compatible:
553096209bSDmitry Baryshkov        contains:
563096209bSDmitry Baryshkov          const: qcom,sar2130p-dp
573096209bSDmitry Baryshkov
583096209bSDmitry Baryshkov  "^dsi@[0-9a-f]+$":
593096209bSDmitry Baryshkov    type: object
603096209bSDmitry Baryshkov    additionalProperties: true
613096209bSDmitry Baryshkov    properties:
623096209bSDmitry Baryshkov      compatible:
633096209bSDmitry Baryshkov        contains:
643096209bSDmitry Baryshkov          const: qcom,sar2130p-dsi-ctrl
653096209bSDmitry Baryshkov
663096209bSDmitry Baryshkov  "^phy@[0-9a-f]+$":
673096209bSDmitry Baryshkov    type: object
683096209bSDmitry Baryshkov    additionalProperties: true
693096209bSDmitry Baryshkov    properties:
703096209bSDmitry Baryshkov      compatible:
713096209bSDmitry Baryshkov        const: qcom,sar2130p-dsi-phy-5nm
723096209bSDmitry Baryshkov
733096209bSDmitry Baryshkovrequired:
743096209bSDmitry Baryshkov  - compatible
753096209bSDmitry Baryshkov
763096209bSDmitry BaryshkovunevaluatedProperties: false
773096209bSDmitry Baryshkov
783096209bSDmitry Baryshkovexamples:
793096209bSDmitry Baryshkov  - |
803096209bSDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
813096209bSDmitry Baryshkov    #include <dt-bindings/power/qcom,rpmhpd.h>
823096209bSDmitry Baryshkov    #include <dt-bindings/phy/phy-qcom-qmp.h>
833096209bSDmitry Baryshkov
843096209bSDmitry Baryshkov    display-subsystem@ae00000 {
853096209bSDmitry Baryshkov        compatible = "qcom,sar2130p-mdss";
863096209bSDmitry Baryshkov        reg = <0x0ae00000 0x1000>;
873096209bSDmitry Baryshkov        reg-names = "mdss";
883096209bSDmitry Baryshkov
893096209bSDmitry Baryshkov        interconnects = <&mmss_noc_master_mdp &mc_virt_slave_ebi1>,
903096209bSDmitry Baryshkov                        <&gem_noc_master_appss_proc &config_noc_slave_display_cfg>;
913096209bSDmitry Baryshkov        interconnect-names = "mdp0-mem", "cpu-cfg";
923096209bSDmitry Baryshkov
933096209bSDmitry Baryshkov        resets = <&dispcc_disp_cc_mdss_core_bcr>;
943096209bSDmitry Baryshkov
953096209bSDmitry Baryshkov        power-domains = <&dispcc_mdss_gdsc>;
963096209bSDmitry Baryshkov
973096209bSDmitry Baryshkov        clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
983096209bSDmitry Baryshkov                 <&gcc_gcc_disp_ahb_clk>,
993096209bSDmitry Baryshkov                 <&gcc_gcc_disp_hf_axi_clk>,
1003096209bSDmitry Baryshkov                 <&dispcc_disp_cc_mdss_mdp_clk>;
1013096209bSDmitry Baryshkov        clock-names = "iface", "bus", "nrt_bus", "core";
1023096209bSDmitry Baryshkov
1033096209bSDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1043096209bSDmitry Baryshkov        interrupt-controller;
1053096209bSDmitry Baryshkov        #interrupt-cells = <1>;
1063096209bSDmitry Baryshkov
1073096209bSDmitry Baryshkov        iommus = <&apps_smmu 0x1c00 0x2>;
1083096209bSDmitry Baryshkov
1093096209bSDmitry Baryshkov        #address-cells = <1>;
1103096209bSDmitry Baryshkov        #size-cells = <1>;
1113096209bSDmitry Baryshkov        ranges;
1123096209bSDmitry Baryshkov
1133096209bSDmitry Baryshkov        display-controller@ae01000 {
1143096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dpu";
1153096209bSDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
1163096209bSDmitry Baryshkov                  <0x0aeb0000 0x2008>;
1173096209bSDmitry Baryshkov            reg-names = "mdp", "vbif";
1183096209bSDmitry Baryshkov
1193096209bSDmitry Baryshkov            clocks = <&gcc_gcc_disp_ahb_clk>,
1203096209bSDmitry Baryshkov                     <&gcc_gcc_disp_hf_axi_clk>,
1213096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_ahb_clk>,
1223096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_mdp_lut_clk>,
1233096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_mdp_clk>,
1243096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_vsync_clk>;
1253096209bSDmitry Baryshkov            clock-names = "bus",
1263096209bSDmitry Baryshkov                          "nrt_bus",
1273096209bSDmitry Baryshkov                          "iface",
1283096209bSDmitry Baryshkov                          "lut",
1293096209bSDmitry Baryshkov                          "core",
1303096209bSDmitry Baryshkov                          "vsync";
1313096209bSDmitry Baryshkov
1323096209bSDmitry Baryshkov            assigned-clocks = <&dispcc_disp_cc_mdss_vsync_clk>;
1333096209bSDmitry Baryshkov            assigned-clock-rates = <19200000>;
1343096209bSDmitry Baryshkov
1353096209bSDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
1363096209bSDmitry Baryshkov            power-domains = <&rpmhpd RPMHPD_MMCX>;
1373096209bSDmitry Baryshkov
1383096209bSDmitry Baryshkov            interrupt-parent = <&mdss>;
1393096209bSDmitry Baryshkov            interrupts = <0>;
1403096209bSDmitry Baryshkov
1413096209bSDmitry Baryshkov            ports {
1423096209bSDmitry Baryshkov                #address-cells = <1>;
1433096209bSDmitry Baryshkov                #size-cells = <0>;
1443096209bSDmitry Baryshkov
1453096209bSDmitry Baryshkov                port@0 {
1463096209bSDmitry Baryshkov                    reg = <0>;
1473096209bSDmitry Baryshkov
1483096209bSDmitry Baryshkov                    dpu_intf0_out: endpoint {
1493096209bSDmitry Baryshkov                        remote-endpoint = <&mdss_dp0_in>;
1503096209bSDmitry Baryshkov                    };
1513096209bSDmitry Baryshkov                };
1523096209bSDmitry Baryshkov
1533096209bSDmitry Baryshkov                port@1 {
1543096209bSDmitry Baryshkov                    reg = <1>;
1553096209bSDmitry Baryshkov
1563096209bSDmitry Baryshkov                    dpu_intf1_out: endpoint {
1573096209bSDmitry Baryshkov                        remote-endpoint = <&mdss_dsi0_in>;
1583096209bSDmitry Baryshkov                    };
1593096209bSDmitry Baryshkov                };
1603096209bSDmitry Baryshkov
1613096209bSDmitry Baryshkov                port@2 {
1623096209bSDmitry Baryshkov                    reg = <2>;
1633096209bSDmitry Baryshkov
1643096209bSDmitry Baryshkov                    dpu_intf2_out: endpoint {
1653096209bSDmitry Baryshkov                        remote-endpoint = <&mdss_dsi1_in>;
1663096209bSDmitry Baryshkov                    };
1673096209bSDmitry Baryshkov                };
1683096209bSDmitry Baryshkov            };
1693096209bSDmitry Baryshkov
1703096209bSDmitry Baryshkov            mdp_opp_table: opp-table {
1713096209bSDmitry Baryshkov                compatible = "operating-points-v2";
1723096209bSDmitry Baryshkov
1733096209bSDmitry Baryshkov                opp-200000000 {
1743096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <200000000>;
1753096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
1763096209bSDmitry Baryshkov                };
1773096209bSDmitry Baryshkov
1783096209bSDmitry Baryshkov                opp-325000000 {
1793096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <325000000>;
1803096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
1813096209bSDmitry Baryshkov                };
1823096209bSDmitry Baryshkov
1833096209bSDmitry Baryshkov                opp-375000000 {
1843096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <375000000>;
1853096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
1863096209bSDmitry Baryshkov                };
1873096209bSDmitry Baryshkov
1883096209bSDmitry Baryshkov                opp-514000000 {
1893096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <514000000>;
1903096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
1913096209bSDmitry Baryshkov                };
1923096209bSDmitry Baryshkov            };
1933096209bSDmitry Baryshkov        };
1943096209bSDmitry Baryshkov
1953096209bSDmitry Baryshkov        displayport-controller@ae90000 {
1963096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dp",
1973096209bSDmitry Baryshkov                         "qcom,sm8350-dp";
1983096209bSDmitry Baryshkov            reg = <0xae90000 0x200>,
1993096209bSDmitry Baryshkov                  <0xae90200 0x200>,
2003096209bSDmitry Baryshkov                  <0xae90400 0xc00>,
2013096209bSDmitry Baryshkov                  <0xae91000 0x400>,
2023096209bSDmitry Baryshkov                  <0xae91400 0x400>;
2033096209bSDmitry Baryshkov
2043096209bSDmitry Baryshkov            interrupt-parent = <&mdss>;
2053096209bSDmitry Baryshkov            interrupts = <12>;
2063096209bSDmitry Baryshkov            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
2073096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_dptx0_aux_clk>,
2083096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_dptx0_link_clk>,
2093096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_dptx0_link_intf_clk>,
210*9be5c479SAbhinav Kumar                     <&dispcc_disp_cc_mdss_dptx0_pixel0_clk>,
211*9be5c479SAbhinav Kumar                     <&dispcc_disp_cc_mdss_dptx0_pixel1_clk>;
2123096209bSDmitry Baryshkov            clock-names = "core_iface",
2133096209bSDmitry Baryshkov                          "core_aux",
2143096209bSDmitry Baryshkov                          "ctrl_link",
2153096209bSDmitry Baryshkov                          "ctrl_link_iface",
216*9be5c479SAbhinav Kumar                          "stream_pixel",
217*9be5c479SAbhinav Kumar                          "stream_1_pixel";
2183096209bSDmitry Baryshkov
2193096209bSDmitry Baryshkov            assigned-clocks = <&dispcc_disp_cc_mdss_dptx0_link_clk_src>,
220*9be5c479SAbhinav Kumar                              <&dispcc_disp_cc_mdss_dptx0_pixel0_clk_src>,
221*9be5c479SAbhinav Kumar                              <&dispcc_disp_cc_mdss_dptx0_pixel1_clk_src>;
2223096209bSDmitry Baryshkov            assigned-clock-parents = <&usb_dp_qmpphy_QMP_USB43DP_DP_LINK_CLK>,
223*9be5c479SAbhinav Kumar                                     <&usb_dp_qmpphy_QMP_USB43DP_DP_VCO_DIV_CLK>,
2243096209bSDmitry Baryshkov                                     <&usb_dp_qmpphy_QMP_USB43DP_DP_VCO_DIV_CLK>;
2253096209bSDmitry Baryshkov
2263096209bSDmitry Baryshkov            phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>;
2273096209bSDmitry Baryshkov            phy-names = "dp";
2283096209bSDmitry Baryshkov
2293096209bSDmitry Baryshkov            #sound-dai-cells = <0>;
2303096209bSDmitry Baryshkov
2313096209bSDmitry Baryshkov            operating-points-v2 = <&dp_opp_table>;
2323096209bSDmitry Baryshkov            power-domains = <&rpmhpd RPMHPD_MMCX>;
2333096209bSDmitry Baryshkov
2343096209bSDmitry Baryshkov            ports {
2353096209bSDmitry Baryshkov                #address-cells = <1>;
2363096209bSDmitry Baryshkov                #size-cells = <0>;
2373096209bSDmitry Baryshkov
2383096209bSDmitry Baryshkov                port@0 {
2393096209bSDmitry Baryshkov                    reg = <0>;
2403096209bSDmitry Baryshkov                    mdss_dp0_in: endpoint {
2413096209bSDmitry Baryshkov                        remote-endpoint = <&dpu_intf0_out>;
2423096209bSDmitry Baryshkov                    };
2433096209bSDmitry Baryshkov                };
2443096209bSDmitry Baryshkov
2453096209bSDmitry Baryshkov                port@1 {
2463096209bSDmitry Baryshkov                    reg = <1>;
2473096209bSDmitry Baryshkov                    mdss_dp0_out: endpoint {
2483096209bSDmitry Baryshkov                        remote-endpoint = <&usb_dp_qmpphy_dp_in>;
2493096209bSDmitry Baryshkov                    };
2503096209bSDmitry Baryshkov                };
2513096209bSDmitry Baryshkov            };
2523096209bSDmitry Baryshkov
2533096209bSDmitry Baryshkov            dp_opp_table: opp-table {
2543096209bSDmitry Baryshkov                compatible = "operating-points-v2";
2553096209bSDmitry Baryshkov
2563096209bSDmitry Baryshkov                opp-162000000 {
2573096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <162000000>;
2583096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs_d1>;
2593096209bSDmitry Baryshkov                };
2603096209bSDmitry Baryshkov
2613096209bSDmitry Baryshkov                opp-270000000 {
2623096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <270000000>;
2633096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
2643096209bSDmitry Baryshkov                };
2653096209bSDmitry Baryshkov
2663096209bSDmitry Baryshkov                opp-540000000 {
2673096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <540000000>;
2683096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
2693096209bSDmitry Baryshkov                };
2703096209bSDmitry Baryshkov
2713096209bSDmitry Baryshkov                opp-810000000 {
2723096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <810000000>;
2733096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
2743096209bSDmitry Baryshkov                };
2753096209bSDmitry Baryshkov            };
2763096209bSDmitry Baryshkov        };
2773096209bSDmitry Baryshkov
2783096209bSDmitry Baryshkov        dsi@ae94000 {
2793096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dsi-ctrl",
2803096209bSDmitry Baryshkov                         "qcom,mdss-dsi-ctrl";
2813096209bSDmitry Baryshkov            reg = <0x0ae94000 0x400>;
2823096209bSDmitry Baryshkov            reg-names = "dsi_ctrl";
2833096209bSDmitry Baryshkov
2843096209bSDmitry Baryshkov            interrupt-parent = <&mdss>;
2853096209bSDmitry Baryshkov            interrupts = <4>;
2863096209bSDmitry Baryshkov
2873096209bSDmitry Baryshkov            clocks = <&dispcc_disp_cc_mdss_byte0_clk>,
2883096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_byte0_intf_clk>,
2893096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_pclk0_clk>,
2903096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_esc0_clk>,
2913096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_ahb_clk>,
2923096209bSDmitry Baryshkov                     <&gcc_gcc_disp_hf_axi_clk>;
2933096209bSDmitry Baryshkov            clock-names = "byte",
2943096209bSDmitry Baryshkov                          "byte_intf",
2953096209bSDmitry Baryshkov                          "pixel",
2963096209bSDmitry Baryshkov                          "core",
2973096209bSDmitry Baryshkov                          "iface",
2983096209bSDmitry Baryshkov                          "bus";
2993096209bSDmitry Baryshkov
3003096209bSDmitry Baryshkov            assigned-clocks = <&dispcc_disp_cc_mdss_byte0_clk_src>,
3013096209bSDmitry Baryshkov                              <&dispcc_disp_cc_mdss_pclk0_clk_src>;
3023096209bSDmitry Baryshkov            assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
3033096209bSDmitry Baryshkov
3043096209bSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
3053096209bSDmitry Baryshkov            power-domains = <&rpmhpd RPMHPD_MMCX>;
3063096209bSDmitry Baryshkov
3073096209bSDmitry Baryshkov            phys = <&mdss_dsi0_phy>;
3083096209bSDmitry Baryshkov            phy-names = "dsi";
3093096209bSDmitry Baryshkov
3103096209bSDmitry Baryshkov            #address-cells = <1>;
3113096209bSDmitry Baryshkov            #size-cells = <0>;
3123096209bSDmitry Baryshkov
3133096209bSDmitry Baryshkov            ports {
3143096209bSDmitry Baryshkov                #address-cells = <1>;
3153096209bSDmitry Baryshkov                #size-cells = <0>;
3163096209bSDmitry Baryshkov
3173096209bSDmitry Baryshkov                port@0 {
3183096209bSDmitry Baryshkov                    reg = <0>;
3193096209bSDmitry Baryshkov
3203096209bSDmitry Baryshkov                    mdss_dsi0_in: endpoint {
3213096209bSDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
3223096209bSDmitry Baryshkov                    };
3233096209bSDmitry Baryshkov                };
3243096209bSDmitry Baryshkov
3253096209bSDmitry Baryshkov                port@1 {
3263096209bSDmitry Baryshkov                    reg = <1>;
3273096209bSDmitry Baryshkov
3283096209bSDmitry Baryshkov                    mdss_dsi0_out: endpoint {
3293096209bSDmitry Baryshkov                    };
3303096209bSDmitry Baryshkov                };
3313096209bSDmitry Baryshkov            };
3323096209bSDmitry Baryshkov
3333096209bSDmitry Baryshkov            dsi_opp_table: opp-table {
3343096209bSDmitry Baryshkov                compatible = "operating-points-v2";
3353096209bSDmitry Baryshkov
3363096209bSDmitry Baryshkov                opp-187500000 {
3373096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
3383096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
3393096209bSDmitry Baryshkov                };
3403096209bSDmitry Baryshkov
3413096209bSDmitry Baryshkov                opp-300000000 {
3423096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
3433096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
3443096209bSDmitry Baryshkov                };
3453096209bSDmitry Baryshkov
3463096209bSDmitry Baryshkov                opp-358000000 {
3473096209bSDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
3483096209bSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
3493096209bSDmitry Baryshkov                };
3503096209bSDmitry Baryshkov            };
3513096209bSDmitry Baryshkov        };
3523096209bSDmitry Baryshkov
3533096209bSDmitry Baryshkov        mdss_dsi0_phy: phy@ae94400 {
3543096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dsi-phy-5nm";
3553096209bSDmitry Baryshkov            reg = <0x0ae95000 0x200>,
3563096209bSDmitry Baryshkov                  <0x0ae95200 0x280>,
3573096209bSDmitry Baryshkov                  <0x0ae95500 0x400>;
3583096209bSDmitry Baryshkov            reg-names = "dsi_phy",
3593096209bSDmitry Baryshkov                        "dsi_phy_lane",
3603096209bSDmitry Baryshkov                        "dsi_pll";
3613096209bSDmitry Baryshkov
3623096209bSDmitry Baryshkov            #clock-cells = <1>;
3633096209bSDmitry Baryshkov            #phy-cells = <0>;
3643096209bSDmitry Baryshkov
3653096209bSDmitry Baryshkov            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
3663096209bSDmitry Baryshkov                     <&rpmhcc_rpmh_cxo_clk>;
3673096209bSDmitry Baryshkov            clock-names = "iface", "ref";
3683096209bSDmitry Baryshkov        };
3693096209bSDmitry Baryshkov
3703096209bSDmitry Baryshkov        dsi@ae96000 {
3713096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dsi-ctrl",
3723096209bSDmitry Baryshkov                         "qcom,mdss-dsi-ctrl";
3733096209bSDmitry Baryshkov            reg = <0x0ae96000 0x400>;
3743096209bSDmitry Baryshkov            reg-names = "dsi_ctrl";
3753096209bSDmitry Baryshkov
3763096209bSDmitry Baryshkov            interrupt-parent = <&mdss>;
3773096209bSDmitry Baryshkov            interrupts = <5>;
3783096209bSDmitry Baryshkov
3793096209bSDmitry Baryshkov            clocks = <&dispcc_disp_cc_mdss_byte1_clk>,
3803096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_byte1_intf_clk>,
3813096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_pclk1_clk>,
3823096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_esc1_clk>,
3833096209bSDmitry Baryshkov                     <&dispcc_disp_cc_mdss_ahb_clk>,
3843096209bSDmitry Baryshkov                     <&gcc_gcc_disp_hf_axi_clk>;
3853096209bSDmitry Baryshkov            clock-names = "byte",
3863096209bSDmitry Baryshkov                          "byte_intf",
3873096209bSDmitry Baryshkov                          "pixel",
3883096209bSDmitry Baryshkov                          "core",
3893096209bSDmitry Baryshkov                          "iface",
3903096209bSDmitry Baryshkov                          "bus";
3913096209bSDmitry Baryshkov
3923096209bSDmitry Baryshkov            assigned-clocks = <&dispcc_disp_cc_mdss_byte1_clk_src>,
3933096209bSDmitry Baryshkov                              <&dispcc_disp_cc_mdss_pclk1_clk_src>;
3943096209bSDmitry Baryshkov            assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
3953096209bSDmitry Baryshkov
3963096209bSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
3973096209bSDmitry Baryshkov            power-domains = <&rpmhpd RPMHPD_MMCX>;
3983096209bSDmitry Baryshkov
3993096209bSDmitry Baryshkov            phys = <&mdss_dsi1_phy>;
4003096209bSDmitry Baryshkov            phy-names = "dsi";
4013096209bSDmitry Baryshkov
4023096209bSDmitry Baryshkov            #address-cells = <1>;
4033096209bSDmitry Baryshkov            #size-cells = <0>;
4043096209bSDmitry Baryshkov
4053096209bSDmitry Baryshkov            ports {
4063096209bSDmitry Baryshkov                #address-cells = <1>;
4073096209bSDmitry Baryshkov                #size-cells = <0>;
4083096209bSDmitry Baryshkov
4093096209bSDmitry Baryshkov                port@0 {
4103096209bSDmitry Baryshkov                    reg = <0>;
4113096209bSDmitry Baryshkov
4123096209bSDmitry Baryshkov                    mdss_dsi1_in: endpoint {
4133096209bSDmitry Baryshkov                        remote-endpoint = <&dpu_intf2_out>;
4143096209bSDmitry Baryshkov                    };
4153096209bSDmitry Baryshkov                };
4163096209bSDmitry Baryshkov
4173096209bSDmitry Baryshkov                port@1 {
4183096209bSDmitry Baryshkov                    reg = <1>;
4193096209bSDmitry Baryshkov
4203096209bSDmitry Baryshkov                    mdss_dsi1_out: endpoint {
4213096209bSDmitry Baryshkov                    };
4223096209bSDmitry Baryshkov                };
4233096209bSDmitry Baryshkov            };
4243096209bSDmitry Baryshkov        };
4253096209bSDmitry Baryshkov
4263096209bSDmitry Baryshkov        mdss_dsi1_phy: phy@ae97000 {
4273096209bSDmitry Baryshkov            compatible = "qcom,sar2130p-dsi-phy-5nm";
4283096209bSDmitry Baryshkov            reg = <0x0ae97000 0x200>,
4293096209bSDmitry Baryshkov                  <0x0ae97200 0x280>,
4303096209bSDmitry Baryshkov                  <0x0ae97500 0x400>;
4313096209bSDmitry Baryshkov            reg-names = "dsi_phy",
4323096209bSDmitry Baryshkov                        "dsi_phy_lane",
4333096209bSDmitry Baryshkov                        "dsi_pll";
4343096209bSDmitry Baryshkov
4353096209bSDmitry Baryshkov            #clock-cells = <1>;
4363096209bSDmitry Baryshkov            #phy-cells = <0>;
4373096209bSDmitry Baryshkov
4383096209bSDmitry Baryshkov            clocks = <&dispcc_disp_cc_mdss_ahb_clk>,
4393096209bSDmitry Baryshkov                     <&rpmhcc_rpmh_cxo_clk>;
4403096209bSDmitry Baryshkov            clock-names = "iface", "ref";
4413096209bSDmitry Baryshkov        };
4423096209bSDmitry Baryshkov    };
4433096209bSDmitry Baryshkov...
444