xref: /openbmc/linux/Documentation/devicetree/bindings/display/msm/qcom,sm8450-mdss.yaml (revision 440b075bd2b52c481aa240a0afeac700b436850d)
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
450eda3c6cSDmitry Baryshkov  "^dsi@[0-9a-f]+$":
460eda3c6cSDmitry Baryshkov    type: object
470eda3c6cSDmitry Baryshkov    properties:
480eda3c6cSDmitry Baryshkov      compatible:
490c0f65c6SBryan O'Donoghue        items:
500c0f65c6SBryan O'Donoghue          - const: qcom,sm8450-dsi-ctrl
510c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
520eda3c6cSDmitry Baryshkov
530eda3c6cSDmitry Baryshkov  "^phy@[0-9a-f]+$":
540eda3c6cSDmitry Baryshkov    type: object
550eda3c6cSDmitry Baryshkov    properties:
560eda3c6cSDmitry Baryshkov      compatible:
5745d96836SNeil Armstrong        const: qcom,sm8450-dsi-phy-5nm
580eda3c6cSDmitry Baryshkov
590eda3c6cSDmitry Baryshkovrequired:
600eda3c6cSDmitry Baryshkov  - compatible
610eda3c6cSDmitry Baryshkov
620eda3c6cSDmitry BaryshkovunevaluatedProperties: false
630eda3c6cSDmitry Baryshkov
640eda3c6cSDmitry Baryshkovexamples:
650eda3c6cSDmitry Baryshkov  - |
660eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,sm8450-dispcc.h>
670eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,gcc-sm8450.h>
680eda3c6cSDmitry Baryshkov    #include <dt-bindings/clock/qcom,rpmh.h>
690eda3c6cSDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
700eda3c6cSDmitry Baryshkov    #include <dt-bindings/interconnect/qcom,sm8450.h>
710eda3c6cSDmitry Baryshkov    #include <dt-bindings/power/qcom-rpmpd.h>
720eda3c6cSDmitry Baryshkov
730eda3c6cSDmitry Baryshkov    display-subsystem@ae00000 {
740eda3c6cSDmitry Baryshkov        compatible = "qcom,sm8450-mdss";
750eda3c6cSDmitry Baryshkov        reg = <0x0ae00000 0x1000>;
760eda3c6cSDmitry Baryshkov        reg-names = "mdss";
770eda3c6cSDmitry Baryshkov
780eda3c6cSDmitry Baryshkov        interconnects = <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>,
790eda3c6cSDmitry Baryshkov                        <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>;
800eda3c6cSDmitry Baryshkov        interconnect-names = "mdp0-mem", "mdp1-mem";
810eda3c6cSDmitry Baryshkov
820eda3c6cSDmitry Baryshkov        resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
830eda3c6cSDmitry Baryshkov
840eda3c6cSDmitry Baryshkov        power-domains = <&dispcc MDSS_GDSC>;
850eda3c6cSDmitry Baryshkov
860eda3c6cSDmitry Baryshkov        clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
870eda3c6cSDmitry Baryshkov                 <&gcc GCC_DISP_HF_AXI_CLK>,
880eda3c6cSDmitry Baryshkov                 <&gcc GCC_DISP_SF_AXI_CLK>,
890eda3c6cSDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_MDP_CLK>;
900eda3c6cSDmitry Baryshkov        clock-names = "iface", "bus", "nrt_bus", "core";
910eda3c6cSDmitry Baryshkov
920eda3c6cSDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
930eda3c6cSDmitry Baryshkov        interrupt-controller;
940eda3c6cSDmitry Baryshkov        #interrupt-cells = <1>;
950eda3c6cSDmitry Baryshkov
960eda3c6cSDmitry Baryshkov        iommus = <&apps_smmu 0x2800 0x402>;
970eda3c6cSDmitry Baryshkov
980eda3c6cSDmitry Baryshkov        #address-cells = <1>;
990eda3c6cSDmitry Baryshkov        #size-cells = <1>;
1000eda3c6cSDmitry Baryshkov        ranges;
1010eda3c6cSDmitry Baryshkov
1020eda3c6cSDmitry Baryshkov        display-controller@ae01000 {
1030eda3c6cSDmitry Baryshkov            compatible = "qcom,sm8450-dpu";
1040eda3c6cSDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
1050eda3c6cSDmitry Baryshkov                  <0x0aeb0000 0x2008>;
1060eda3c6cSDmitry Baryshkov            reg-names = "mdp", "vbif";
1070eda3c6cSDmitry Baryshkov
1080eda3c6cSDmitry Baryshkov            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1090eda3c6cSDmitry Baryshkov                    <&gcc GCC_DISP_SF_AXI_CLK>,
1100eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_AHB_CLK>,
1110eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1120eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_MDP_CLK>,
1130eda3c6cSDmitry Baryshkov                    <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1140eda3c6cSDmitry Baryshkov            clock-names = "bus",
1150eda3c6cSDmitry Baryshkov                          "nrt_bus",
1160eda3c6cSDmitry Baryshkov                          "iface",
1170eda3c6cSDmitry Baryshkov                          "lut",
1180eda3c6cSDmitry Baryshkov                          "core",
1190eda3c6cSDmitry Baryshkov                          "vsync";
1200eda3c6cSDmitry Baryshkov
1210eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1220eda3c6cSDmitry Baryshkov            assigned-clock-rates = <19200000>;
1230eda3c6cSDmitry Baryshkov
1240eda3c6cSDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
1250eda3c6cSDmitry Baryshkov            power-domains = <&rpmhpd SM8450_MMCX>;
1260eda3c6cSDmitry Baryshkov
1270eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
1280eda3c6cSDmitry Baryshkov            interrupts = <0>;
1290eda3c6cSDmitry Baryshkov
1300eda3c6cSDmitry Baryshkov            ports {
1310eda3c6cSDmitry Baryshkov                #address-cells = <1>;
1320eda3c6cSDmitry Baryshkov                #size-cells = <0>;
1330eda3c6cSDmitry Baryshkov
1340eda3c6cSDmitry Baryshkov                port@0 {
1350eda3c6cSDmitry Baryshkov                    reg = <0>;
1360eda3c6cSDmitry Baryshkov                    dpu_intf1_out: endpoint {
1370eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dsi0_in>;
1380eda3c6cSDmitry Baryshkov                    };
1390eda3c6cSDmitry Baryshkov                };
1400eda3c6cSDmitry Baryshkov
1410eda3c6cSDmitry Baryshkov                port@1 {
1420eda3c6cSDmitry Baryshkov                    reg = <1>;
1430eda3c6cSDmitry Baryshkov                    dpu_intf2_out: endpoint {
1440eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dsi1_in>;
1450eda3c6cSDmitry Baryshkov                    };
1460eda3c6cSDmitry Baryshkov                };
1470eda3c6cSDmitry Baryshkov            };
1480eda3c6cSDmitry Baryshkov
1490eda3c6cSDmitry Baryshkov            mdp_opp_table: opp-table {
1500eda3c6cSDmitry Baryshkov                compatible = "operating-points-v2";
1510eda3c6cSDmitry Baryshkov
1520eda3c6cSDmitry Baryshkov                opp-172000000{
1530eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <172000000>;
1540eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs_d1>;
1550eda3c6cSDmitry Baryshkov                };
1560eda3c6cSDmitry Baryshkov
1570eda3c6cSDmitry Baryshkov                opp-200000000 {
1580eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <200000000>;
1590eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
1600eda3c6cSDmitry Baryshkov                };
1610eda3c6cSDmitry Baryshkov
1620eda3c6cSDmitry Baryshkov                opp-325000000 {
1630eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <325000000>;
1640eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
1650eda3c6cSDmitry Baryshkov                };
1660eda3c6cSDmitry Baryshkov
1670eda3c6cSDmitry Baryshkov                opp-375000000 {
1680eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <375000000>;
1690eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
1700eda3c6cSDmitry Baryshkov                };
1710eda3c6cSDmitry Baryshkov
1720eda3c6cSDmitry Baryshkov                opp-500000000 {
1730eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <500000000>;
1740eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
1750eda3c6cSDmitry Baryshkov                };
1760eda3c6cSDmitry Baryshkov            };
1770eda3c6cSDmitry Baryshkov        };
1780eda3c6cSDmitry Baryshkov
1790eda3c6cSDmitry Baryshkov        dsi@ae94000 {
1800c0f65c6SBryan O'Donoghue            compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1810eda3c6cSDmitry Baryshkov            reg = <0x0ae94000 0x400>;
1820eda3c6cSDmitry Baryshkov            reg-names = "dsi_ctrl";
1830eda3c6cSDmitry Baryshkov
1840eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
1850eda3c6cSDmitry Baryshkov            interrupts = <4>;
1860eda3c6cSDmitry Baryshkov
1870eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1880eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1890eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1900eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1910eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
1920eda3c6cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
1930eda3c6cSDmitry Baryshkov            clock-names = "byte",
1940eda3c6cSDmitry Baryshkov                          "byte_intf",
1950eda3c6cSDmitry Baryshkov                          "pixel",
1960eda3c6cSDmitry Baryshkov                          "core",
1970eda3c6cSDmitry Baryshkov                          "iface",
1980eda3c6cSDmitry Baryshkov                          "bus";
1990eda3c6cSDmitry Baryshkov
2000eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
2010eda3c6cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
2020eda3c6cSDmitry Baryshkov            assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
2030eda3c6cSDmitry Baryshkov
2040eda3c6cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
2050eda3c6cSDmitry Baryshkov            power-domains = <&rpmhpd SM8450_MMCX>;
2060eda3c6cSDmitry Baryshkov
2070eda3c6cSDmitry Baryshkov            phys = <&dsi0_phy>;
2080eda3c6cSDmitry Baryshkov            phy-names = "dsi";
2090eda3c6cSDmitry Baryshkov
2100eda3c6cSDmitry Baryshkov            #address-cells = <1>;
2110eda3c6cSDmitry Baryshkov            #size-cells = <0>;
2120eda3c6cSDmitry Baryshkov
2130eda3c6cSDmitry Baryshkov            ports {
2140eda3c6cSDmitry Baryshkov                #address-cells = <1>;
2150eda3c6cSDmitry Baryshkov                #size-cells = <0>;
2160eda3c6cSDmitry Baryshkov
2170eda3c6cSDmitry Baryshkov                port@0 {
2180eda3c6cSDmitry Baryshkov                    reg = <0>;
2190eda3c6cSDmitry Baryshkov                    dsi0_in: endpoint {
2200eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
2210eda3c6cSDmitry Baryshkov                    };
2220eda3c6cSDmitry Baryshkov                };
2230eda3c6cSDmitry Baryshkov
2240eda3c6cSDmitry Baryshkov                port@1 {
2250eda3c6cSDmitry Baryshkov                    reg = <1>;
2260eda3c6cSDmitry Baryshkov                    dsi0_out: endpoint {
2270eda3c6cSDmitry Baryshkov                    };
2280eda3c6cSDmitry Baryshkov                };
2290eda3c6cSDmitry Baryshkov            };
2300eda3c6cSDmitry Baryshkov
2310eda3c6cSDmitry Baryshkov            dsi_opp_table: opp-table {
2320eda3c6cSDmitry Baryshkov                compatible = "operating-points-v2";
2330eda3c6cSDmitry Baryshkov
2340eda3c6cSDmitry Baryshkov                opp-160310000{
2350eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <160310000>;
2360eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs_d1>;
2370eda3c6cSDmitry Baryshkov                };
2380eda3c6cSDmitry Baryshkov
2390eda3c6cSDmitry Baryshkov                opp-187500000 {
2400eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
2410eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
2420eda3c6cSDmitry Baryshkov                };
2430eda3c6cSDmitry Baryshkov
2440eda3c6cSDmitry Baryshkov                opp-300000000 {
2450eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
2460eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
2470eda3c6cSDmitry Baryshkov                };
2480eda3c6cSDmitry Baryshkov
2490eda3c6cSDmitry Baryshkov                opp-358000000 {
2500eda3c6cSDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
2510eda3c6cSDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
2520eda3c6cSDmitry Baryshkov                };
2530eda3c6cSDmitry Baryshkov            };
2540eda3c6cSDmitry Baryshkov        };
2550eda3c6cSDmitry Baryshkov
2560eda3c6cSDmitry Baryshkov        dsi0_phy: phy@ae94400 {
25745d96836SNeil Armstrong            compatible = "qcom,sm8450-dsi-phy-5nm";
2580eda3c6cSDmitry Baryshkov            reg = <0x0ae94400 0x200>,
2590eda3c6cSDmitry Baryshkov                  <0x0ae94600 0x280>,
2600eda3c6cSDmitry Baryshkov                  <0x0ae94900 0x260>;
2610eda3c6cSDmitry Baryshkov            reg-names = "dsi_phy",
2620eda3c6cSDmitry Baryshkov                        "dsi_phy_lane",
2630eda3c6cSDmitry Baryshkov                        "dsi_pll";
2640eda3c6cSDmitry Baryshkov
2650eda3c6cSDmitry Baryshkov            #clock-cells = <1>;
2660eda3c6cSDmitry Baryshkov            #phy-cells = <0>;
2670eda3c6cSDmitry Baryshkov
2680eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2690eda3c6cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
2700eda3c6cSDmitry Baryshkov            clock-names = "iface", "ref";
2710eda3c6cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
2720eda3c6cSDmitry Baryshkov        };
2730eda3c6cSDmitry Baryshkov
2740eda3c6cSDmitry Baryshkov        dsi@ae96000 {
2750c0f65c6SBryan O'Donoghue            compatible = "qcom,sm8450-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2760eda3c6cSDmitry Baryshkov            reg = <0x0ae96000 0x400>;
2770eda3c6cSDmitry Baryshkov            reg-names = "dsi_ctrl";
2780eda3c6cSDmitry Baryshkov
2790eda3c6cSDmitry Baryshkov            interrupt-parent = <&mdss>;
2800eda3c6cSDmitry Baryshkov            interrupts = <5>;
2810eda3c6cSDmitry Baryshkov
2820eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
2830eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
2840eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
2850eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC1_CLK>,
2860eda3c6cSDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
2870eda3c6cSDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
2880eda3c6cSDmitry Baryshkov            clock-names = "byte",
2890eda3c6cSDmitry Baryshkov                          "byte_intf",
2900eda3c6cSDmitry Baryshkov                          "pixel",
2910eda3c6cSDmitry Baryshkov                          "core",
2920eda3c6cSDmitry Baryshkov                          "iface",
2930eda3c6cSDmitry Baryshkov                          "bus";
2940eda3c6cSDmitry Baryshkov
2950eda3c6cSDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
2960eda3c6cSDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
2970eda3c6cSDmitry Baryshkov            assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
2980eda3c6cSDmitry Baryshkov
2990eda3c6cSDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
3000eda3c6cSDmitry Baryshkov            power-domains = <&rpmhpd SM8450_MMCX>;
3010eda3c6cSDmitry Baryshkov
3020eda3c6cSDmitry Baryshkov            phys = <&dsi1_phy>;
3030eda3c6cSDmitry Baryshkov            phy-names = "dsi";
3040eda3c6cSDmitry Baryshkov
3050eda3c6cSDmitry Baryshkov            #address-cells = <1>;
3060eda3c6cSDmitry Baryshkov            #size-cells = <0>;
3070eda3c6cSDmitry Baryshkov
3080eda3c6cSDmitry Baryshkov            ports {
3090eda3c6cSDmitry Baryshkov                #address-cells = <1>;
3100eda3c6cSDmitry Baryshkov                #size-cells = <0>;
3110eda3c6cSDmitry Baryshkov
3120eda3c6cSDmitry Baryshkov                port@0 {
3130eda3c6cSDmitry Baryshkov                    reg = <0>;
3140eda3c6cSDmitry Baryshkov                    dsi1_in: endpoint {
3150eda3c6cSDmitry Baryshkov                        remote-endpoint = <&dpu_intf2_out>;
3160eda3c6cSDmitry Baryshkov                    };
3170eda3c6cSDmitry Baryshkov                };
3180eda3c6cSDmitry Baryshkov
3190eda3c6cSDmitry Baryshkov                port@1 {
3200eda3c6cSDmitry Baryshkov                    reg = <1>;
3210eda3c6cSDmitry Baryshkov                    dsi1_out: endpoint {
3220eda3c6cSDmitry Baryshkov                    };
3230eda3c6cSDmitry Baryshkov                };
3240eda3c6cSDmitry Baryshkov            };
3250eda3c6cSDmitry Baryshkov        };
3260eda3c6cSDmitry Baryshkov
3270eda3c6cSDmitry Baryshkov        dsi1_phy: phy@ae96400 {
32845d96836SNeil Armstrong            compatible = "qcom,sm8450-dsi-phy-5nm";
3290eda3c6cSDmitry Baryshkov            reg = <0x0ae96400 0x200>,
3300eda3c6cSDmitry Baryshkov                  <0x0ae96600 0x280>,
3310eda3c6cSDmitry Baryshkov                  <0x0ae96900 0x260>;
3320eda3c6cSDmitry Baryshkov            reg-names = "dsi_phy",
3330eda3c6cSDmitry Baryshkov                        "dsi_phy_lane",
3340eda3c6cSDmitry Baryshkov                        "dsi_pll";
3350eda3c6cSDmitry Baryshkov
3360eda3c6cSDmitry Baryshkov            #clock-cells = <1>;
3370eda3c6cSDmitry Baryshkov            #phy-cells = <0>;
3380eda3c6cSDmitry Baryshkov
3390eda3c6cSDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3400eda3c6cSDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
3410eda3c6cSDmitry Baryshkov            clock-names = "iface", "ref";
3420eda3c6cSDmitry Baryshkov            vdds-supply = <&vreg_dsi_phy>;
3430eda3c6cSDmitry Baryshkov        };
3440eda3c6cSDmitry Baryshkov    };
3450eda3c6cSDmitry Baryshkov...
346