xref: /openbmc/linux/Documentation/devicetree/bindings/display/msm/qcom,sm8450-mdss.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
20eda3c6cSDmitry Baryshkov%YAML 1.2
30eda3c6cSDmitry Baryshkov---
40eda3c6cSDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sm8450-mdss.yaml#
50eda3c6cSDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
60eda3c6cSDmitry Baryshkov
70eda3c6cSDmitry Baryshkovtitle: Qualcomm SM8450 Display MDSS
80eda3c6cSDmitry Baryshkov
90eda3c6cSDmitry Baryshkovmaintainers:
100eda3c6cSDmitry Baryshkov  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
110eda3c6cSDmitry Baryshkov
120eda3c6cSDmitry Baryshkovdescription:
130eda3c6cSDmitry Baryshkov  SM8450 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
140eda3c6cSDmitry Baryshkov  DPU display controller, DSI and DP interfaces etc.
150eda3c6cSDmitry Baryshkov
160eda3c6cSDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml#
170eda3c6cSDmitry Baryshkov
180eda3c6cSDmitry Baryshkovproperties:
190eda3c6cSDmitry Baryshkov  compatible:
200eda3c6cSDmitry Baryshkov    const: qcom,sm8450-mdss
210eda3c6cSDmitry Baryshkov
220eda3c6cSDmitry Baryshkov  clocks:
230eda3c6cSDmitry Baryshkov    items:
240eda3c6cSDmitry Baryshkov      - description: Display AHB
250eda3c6cSDmitry Baryshkov      - description: Display hf AXI
260eda3c6cSDmitry Baryshkov      - description: Display sf AXI
270eda3c6cSDmitry Baryshkov      - description: Display core
280eda3c6cSDmitry Baryshkov
290eda3c6cSDmitry Baryshkov  iommus:
300eda3c6cSDmitry Baryshkov    maxItems: 1
310eda3c6cSDmitry Baryshkov
320eda3c6cSDmitry Baryshkov  interconnects:
330eda3c6cSDmitry Baryshkov    maxItems: 2
340eda3c6cSDmitry Baryshkov
350eda3c6cSDmitry Baryshkov  interconnect-names:
360eda3c6cSDmitry Baryshkov    maxItems: 2
370eda3c6cSDmitry Baryshkov
380eda3c6cSDmitry BaryshkovpatternProperties:
390eda3c6cSDmitry Baryshkov  "^display-controller@[0-9a-f]+$":
400eda3c6cSDmitry Baryshkov    type: object
410eda3c6cSDmitry Baryshkov    properties:
420eda3c6cSDmitry Baryshkov      compatible:
430eda3c6cSDmitry Baryshkov        const: qcom,sm8450-dpu
440eda3c6cSDmitry Baryshkov
45df64c86eSNeil Armstrong  "^displayport-controller@[0-9a-f]+$":
46df64c86eSNeil Armstrong    type: object
47df64c86eSNeil Armstrong    properties:
48df64c86eSNeil Armstrong      compatible:
49df64c86eSNeil Armstrong        items:
50df64c86eSNeil Armstrong          - const: qcom,sm8450-dp
51df64c86eSNeil Armstrong          - const: qcom,sm8350-dp
52df64c86eSNeil Armstrong
530eda3c6cSDmitry Baryshkov  "^dsi@[0-9a-f]+$":
540eda3c6cSDmitry Baryshkov    type: object
550eda3c6cSDmitry Baryshkov    properties:
560eda3c6cSDmitry Baryshkov      compatible:
570c0f65c6SBryan O'Donoghue        items:
580c0f65c6SBryan O'Donoghue          - const: qcom,sm8450-dsi-ctrl
590c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
600eda3c6cSDmitry Baryshkov
610eda3c6cSDmitry Baryshkov  "^phy@[0-9a-f]+$":
620eda3c6cSDmitry Baryshkov    type: object
630eda3c6cSDmitry Baryshkov    properties:
640eda3c6cSDmitry Baryshkov      compatible:
6545d96836SNeil Armstrong        const: qcom,sm8450-dsi-phy-5nm
660eda3c6cSDmitry Baryshkov
670eda3c6cSDmitry Baryshkovrequired:
680eda3c6cSDmitry Baryshkov  - compatible
690eda3c6cSDmitry Baryshkov
700eda3c6cSDmitry BaryshkovunevaluatedProperties: false
710eda3c6cSDmitry Baryshkov
720eda3c6cSDmitry Baryshkovexamples:
730eda3c6cSDmitry Baryshkov  - |
740eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,sm8450-dispcc.h>
750eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,gcc-sm8450.h>
760eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,rpmh.h>
770eda3c6cSDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
780eda3c6cSDmitry Baryshkov    #include <dt-bindings/interconnect/qcom,sm8450.h>
79014f3272SRohit Agarwal    #include <dt-bindings/power/qcom,rpmhpd.h>
800eda3c6cSDmitry Baryshkov
810eda3c6cSDmitry Baryshkov    display-subsystem@ae00000 {
820eda3c6cSDmitry Baryshkov        compatible = "qcom,sm8450-mdss";
830eda3c6cSDmitry Baryshkov        reg = <0x0ae00000 0x1000>;
840eda3c6cSDmitry Baryshkov        reg-names = "mdss";
850eda3c6cSDmitry Baryshkov
860eda3c6cSDmitry Baryshkov        interconnects = <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
870eda3c6cSDmitry Baryshkov                        <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>;
880eda3c6cSDmitry Baryshkov        interconnect-names = "mdp0-mem", "mdp1-mem";
890eda3c6cSDmitry Baryshkov
900eda3c6cSDmitry Baryshkov        resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
910eda3c6cSDmitry Baryshkov
920eda3c6cSDmitry Baryshkov        power-domains = <&dispcc MDSS_GDSC>;
930eda3c6cSDmitry Baryshkov
940eda3c6cSDmitry Baryshkov        clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
950eda3c6cSDmitry Baryshkov                 <&gcc GCC_DISP_HF_AXI_CLK>,
960eda3c6cSDmitry Baryshkov                 <&gcc GCC_DISP_SF_AXI_CLK>,
970eda3c6cSDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_MDP_CLK>;
980eda3c6cSDmitry Baryshkov        clock-names = "iface", "bus", "nrt_bus", "core";
990eda3c6cSDmitry Baryshkov
1000eda3c6cSDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1010eda3c6cSDmitry Baryshkov        interrupt-controller;
1020eda3c6cSDmitry Baryshkov        #interrupt-cells = <1>;
1030eda3c6cSDmitry Baryshkov
1040eda3c6cSDmitry Baryshkov        iommus = <&apps_smmu 0x2800 0x402>;
1050eda3c6cSDmitry Baryshkov
1060eda3c6cSDmitry Baryshkov        #address-cells = <1>;
1070eda3c6cSDmitry Baryshkov        #size-cells = <1>;
1080eda3c6cSDmitry Baryshkov        ranges;
1090eda3c6cSDmitry Baryshkov
1100eda3c6cSDmitry Baryshkov        display-controller@ae01000 {
1110eda3c6cSDmitry Baryshkov            compatible = "qcom,sm8450-dpu";
1120eda3c6cSDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
1130eda3c6cSDmitry Baryshkov                  <0x0aeb0000 0x2008>;
1140eda3c6cSDmitry Baryshkov            reg-names = "mdp", "vbif";
1150eda3c6cSDmitry Baryshkov
1160eda3c6cSDmitry Baryshkov            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1170eda3c6cSDmitry Baryshkov                    <&gcc GCC_DISP_SF_AXI_CLK>,
1180eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_AHB_CLK>,
1190eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1200eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_MDP_CLK>,
1210eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1220eda3c6cSDmitry Baryshkov            clock-names = "bus",
1230eda3c6cSDmitry Baryshkov                          "nrt_bus",
1240eda3c6cSDmitry Baryshkov                          "iface",
1250eda3c6cSDmitry Baryshkov                          "lut",
1260eda3c6cSDmitry Baryshkov                          "core",
1270eda3c6cSDmitry Baryshkov                          "vsync";
1280eda3c6cSDmitry Baryshkov
1290eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1300eda3c6cSDmitry Baryshkov            assigned-clock-rates = <19200000>;
1310eda3c6cSDmitry Baryshkov
1320eda3c6cSDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
133014f3272SRohit Agarwal            power-domains = <&rpmhpd RPMHPD_MMCX>;
1340eda3c6cSDmitry Baryshkov
1350eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
1360eda3c6cSDmitry Baryshkov            interrupts = <0>;
1370eda3c6cSDmitry Baryshkov
1380eda3c6cSDmitry Baryshkov            ports {
1390eda3c6cSDmitry Baryshkov                #address-cells = <1>;
1400eda3c6cSDmitry Baryshkov                #size-cells = <0>;
1410eda3c6cSDmitry Baryshkov
1420eda3c6cSDmitry Baryshkov                port@0 {
1430eda3c6cSDmitry Baryshkov                    reg = <0>;
1440eda3c6cSDmitry Baryshkov                    dpu_intf1_out: endpoint {
1450eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dsi0_in>;
1460eda3c6cSDmitry Baryshkov                    };
1470eda3c6cSDmitry Baryshkov                };
1480eda3c6cSDmitry Baryshkov
1490eda3c6cSDmitry Baryshkov                port@1 {
1500eda3c6cSDmitry Baryshkov                    reg = <1>;
1510eda3c6cSDmitry Baryshkov                    dpu_intf2_out: endpoint {
1520eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dsi1_in>;
1530eda3c6cSDmitry Baryshkov                    };
1540eda3c6cSDmitry Baryshkov                };
1550eda3c6cSDmitry Baryshkov            };
1560eda3c6cSDmitry Baryshkov
1570eda3c6cSDmitry Baryshkov            mdp_opp_table: opp-table {
1580eda3c6cSDmitry Baryshkov                compatible = "operating-points-v2";
1590eda3c6cSDmitry Baryshkov
1600eda3c6cSDmitry Baryshkov                opp-172000000{
1610eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <172000000>;
1620eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs_d1>;
1630eda3c6cSDmitry Baryshkov                };
1640eda3c6cSDmitry Baryshkov
1650eda3c6cSDmitry Baryshkov                opp-200000000 {
1660eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <200000000>;
1670eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
1680eda3c6cSDmitry Baryshkov                };
1690eda3c6cSDmitry Baryshkov
1700eda3c6cSDmitry Baryshkov                opp-325000000 {
1710eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <325000000>;
1720eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
1730eda3c6cSDmitry Baryshkov                };
1740eda3c6cSDmitry Baryshkov
1750eda3c6cSDmitry Baryshkov                opp-375000000 {
1760eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <375000000>;
1770eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
1780eda3c6cSDmitry Baryshkov                };
1790eda3c6cSDmitry Baryshkov
1800eda3c6cSDmitry Baryshkov                opp-500000000 {
1810eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <500000000>;
1820eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
1830eda3c6cSDmitry Baryshkov                };
1840eda3c6cSDmitry Baryshkov            };
1850eda3c6cSDmitry Baryshkov        };
1860eda3c6cSDmitry Baryshkov
1870eda3c6cSDmitry Baryshkov        dsi@ae94000 {
1880c0f65c6SBryan O'Donoghue            compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1890eda3c6cSDmitry Baryshkov            reg = <0x0ae94000 0x400>;
1900eda3c6cSDmitry Baryshkov            reg-names = "dsi_ctrl";
1910eda3c6cSDmitry Baryshkov
1920eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
1930eda3c6cSDmitry Baryshkov            interrupts = <4>;
1940eda3c6cSDmitry Baryshkov
1950eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1960eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1970eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1980eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1990eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
2000eda3c6cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
2010eda3c6cSDmitry Baryshkov            clock-names = "byte",
2020eda3c6cSDmitry Baryshkov                          "byte_intf",
2030eda3c6cSDmitry Baryshkov                          "pixel",
2040eda3c6cSDmitry Baryshkov                          "core",
2050eda3c6cSDmitry Baryshkov                          "iface",
2060eda3c6cSDmitry Baryshkov                          "bus";
2070eda3c6cSDmitry Baryshkov
2080eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
2090eda3c6cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
2100eda3c6cSDmitry Baryshkov            assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
2110eda3c6cSDmitry Baryshkov
2120eda3c6cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
213014f3272SRohit Agarwal            power-domains = <&rpmhpd RPMHPD_MMCX>;
2140eda3c6cSDmitry Baryshkov
2150eda3c6cSDmitry Baryshkov            phys = <&dsi0_phy>;
2160eda3c6cSDmitry Baryshkov            phy-names = "dsi";
2170eda3c6cSDmitry Baryshkov
2180eda3c6cSDmitry Baryshkov            #address-cells = <1>;
2190eda3c6cSDmitry Baryshkov            #size-cells = <0>;
2200eda3c6cSDmitry Baryshkov
2210eda3c6cSDmitry Baryshkov            ports {
2220eda3c6cSDmitry Baryshkov                #address-cells = <1>;
2230eda3c6cSDmitry Baryshkov                #size-cells = <0>;
2240eda3c6cSDmitry Baryshkov
2250eda3c6cSDmitry Baryshkov                port@0 {
2260eda3c6cSDmitry Baryshkov                    reg = <0>;
2270eda3c6cSDmitry Baryshkov                    dsi0_in: endpoint {
2280eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
2290eda3c6cSDmitry Baryshkov                    };
2300eda3c6cSDmitry Baryshkov                };
2310eda3c6cSDmitry Baryshkov
2320eda3c6cSDmitry Baryshkov                port@1 {
2330eda3c6cSDmitry Baryshkov                    reg = <1>;
2340eda3c6cSDmitry Baryshkov                    dsi0_out: endpoint {
2350eda3c6cSDmitry Baryshkov                    };
2360eda3c6cSDmitry Baryshkov                };
2370eda3c6cSDmitry Baryshkov            };
2380eda3c6cSDmitry Baryshkov
2390eda3c6cSDmitry Baryshkov            dsi_opp_table: opp-table {
2400eda3c6cSDmitry Baryshkov                compatible = "operating-points-v2";
2410eda3c6cSDmitry Baryshkov
2420eda3c6cSDmitry Baryshkov                opp-160310000{
2430eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <160310000>;
2440eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs_d1>;
2450eda3c6cSDmitry Baryshkov                };
2460eda3c6cSDmitry Baryshkov
2470eda3c6cSDmitry Baryshkov                opp-187500000 {
2480eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
2490eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
2500eda3c6cSDmitry Baryshkov                };
2510eda3c6cSDmitry Baryshkov
2520eda3c6cSDmitry Baryshkov                opp-300000000 {
2530eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
2540eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
2550eda3c6cSDmitry Baryshkov                };
2560eda3c6cSDmitry Baryshkov
2570eda3c6cSDmitry Baryshkov                opp-358000000 {
2580eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
2590eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
2600eda3c6cSDmitry Baryshkov                };
2610eda3c6cSDmitry Baryshkov            };
2620eda3c6cSDmitry Baryshkov        };
2630eda3c6cSDmitry Baryshkov
2640eda3c6cSDmitry Baryshkov        dsi0_phy: phy@ae94400 {
26545d96836SNeil Armstrong            compatible = "qcom,sm8450-dsi-phy-5nm";
2660eda3c6cSDmitry Baryshkov            reg = <0x0ae94400 0x200>,
2670eda3c6cSDmitry Baryshkov                  <0x0ae94600 0x280>,
2680eda3c6cSDmitry Baryshkov                  <0x0ae94900 0x260>;
2690eda3c6cSDmitry Baryshkov            reg-names = "dsi_phy",
2700eda3c6cSDmitry Baryshkov                        "dsi_phy_lane",
2710eda3c6cSDmitry Baryshkov                        "dsi_pll";
2720eda3c6cSDmitry Baryshkov
2730eda3c6cSDmitry Baryshkov            #clock-cells = <1>;
2740eda3c6cSDmitry Baryshkov            #phy-cells = <0>;
2750eda3c6cSDmitry Baryshkov
2760eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2770eda3c6cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
2780eda3c6cSDmitry Baryshkov            clock-names = "iface", "ref";
2790eda3c6cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
2800eda3c6cSDmitry Baryshkov        };
2810eda3c6cSDmitry Baryshkov
2820eda3c6cSDmitry Baryshkov        dsi@ae96000 {
2830c0f65c6SBryan O'Donoghue            compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2840eda3c6cSDmitry Baryshkov            reg = <0x0ae96000 0x400>;
2850eda3c6cSDmitry Baryshkov            reg-names = "dsi_ctrl";
2860eda3c6cSDmitry Baryshkov
2870eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
2880eda3c6cSDmitry Baryshkov            interrupts = <5>;
2890eda3c6cSDmitry Baryshkov
2900eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
2910eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
2920eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
2930eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC1_CLK>,
2940eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
2950eda3c6cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
2960eda3c6cSDmitry Baryshkov            clock-names = "byte",
2970eda3c6cSDmitry Baryshkov                          "byte_intf",
2980eda3c6cSDmitry Baryshkov                          "pixel",
2990eda3c6cSDmitry Baryshkov                          "core",
3000eda3c6cSDmitry Baryshkov                          "iface",
3010eda3c6cSDmitry Baryshkov                          "bus";
3020eda3c6cSDmitry Baryshkov
3030eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
3040eda3c6cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
3050eda3c6cSDmitry Baryshkov            assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
3060eda3c6cSDmitry Baryshkov
3070eda3c6cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
308014f3272SRohit Agarwal            power-domains = <&rpmhpd RPMHPD_MMCX>;
3090eda3c6cSDmitry Baryshkov
3100eda3c6cSDmitry Baryshkov            phys = <&dsi1_phy>;
3110eda3c6cSDmitry Baryshkov            phy-names = "dsi";
3120eda3c6cSDmitry Baryshkov
3130eda3c6cSDmitry Baryshkov            #address-cells = <1>;
3140eda3c6cSDmitry Baryshkov            #size-cells = <0>;
3150eda3c6cSDmitry Baryshkov
3160eda3c6cSDmitry Baryshkov            ports {
3170eda3c6cSDmitry Baryshkov                #address-cells = <1>;
3180eda3c6cSDmitry Baryshkov                #size-cells = <0>;
3190eda3c6cSDmitry Baryshkov
3200eda3c6cSDmitry Baryshkov                port@0 {
3210eda3c6cSDmitry Baryshkov                    reg = <0>;
3220eda3c6cSDmitry Baryshkov                    dsi1_in: endpoint {
3230eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf2_out>;
3240eda3c6cSDmitry Baryshkov                    };
3250eda3c6cSDmitry Baryshkov                };
3260eda3c6cSDmitry Baryshkov
3270eda3c6cSDmitry Baryshkov                port@1 {
3280eda3c6cSDmitry Baryshkov                    reg = <1>;
3290eda3c6cSDmitry Baryshkov                    dsi1_out: endpoint {
3300eda3c6cSDmitry Baryshkov                    };
3310eda3c6cSDmitry Baryshkov                };
3320eda3c6cSDmitry Baryshkov            };
3330eda3c6cSDmitry Baryshkov        };
3340eda3c6cSDmitry Baryshkov
3350eda3c6cSDmitry Baryshkov        dsi1_phy: phy@ae96400 {
33645d96836SNeil Armstrong            compatible = "qcom,sm8450-dsi-phy-5nm";
3370eda3c6cSDmitry Baryshkov            reg = <0x0ae96400 0x200>,
3380eda3c6cSDmitry Baryshkov                  <0x0ae96600 0x280>,
3390eda3c6cSDmitry Baryshkov                  <0x0ae96900 0x260>;
3400eda3c6cSDmitry Baryshkov            reg-names = "dsi_phy",
3410eda3c6cSDmitry Baryshkov                        "dsi_phy_lane",
3420eda3c6cSDmitry Baryshkov                        "dsi_pll";
3430eda3c6cSDmitry Baryshkov
3440eda3c6cSDmitry Baryshkov            #clock-cells = <1>;
3450eda3c6cSDmitry Baryshkov            #phy-cells = <0>;
3460eda3c6cSDmitry Baryshkov
3470eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3480eda3c6cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
3490eda3c6cSDmitry Baryshkov            clock-names = "iface", "ref";
3500eda3c6cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
3510eda3c6cSDmitry Baryshkov        };
3520eda3c6cSDmitry Baryshkov    };
3530eda3c6cSDmitry Baryshkov...
354