xref: /linux/Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml (revision 1c9982b4961334c1edb0745a04cabd34bc2de675)
16b938401SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
26b938401SKrzysztof Kozlowski%YAML 1.2
36b938401SKrzysztof Kozlowski---
46b938401SKrzysztof Kozlowski$id: http://devicetree.org/schemas/display/msm/qcom,sm8750-mdss.yaml#
56b938401SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
66b938401SKrzysztof Kozlowski
76b938401SKrzysztof Kozlowskititle: Qualcomm SM8750 Display MDSS
86b938401SKrzysztof Kozlowski
96b938401SKrzysztof Kozlowskimaintainers:
10bcc357c8SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
116b938401SKrzysztof Kozlowski
126b938401SKrzysztof Kozlowskidescription:
13*4355b13dSKrzysztof Kozlowski  SM8750 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
146b938401SKrzysztof Kozlowski  DPU display controller, DSI and DP interfaces etc.
156b938401SKrzysztof Kozlowski
166b938401SKrzysztof Kozlowski$ref: /schemas/display/msm/mdss-common.yaml#
176b938401SKrzysztof Kozlowski
186b938401SKrzysztof Kozlowskiproperties:
196b938401SKrzysztof Kozlowski  compatible:
206b938401SKrzysztof Kozlowski    const: qcom,sm8750-mdss
216b938401SKrzysztof Kozlowski
226b938401SKrzysztof Kozlowski  clocks:
236b938401SKrzysztof Kozlowski    items:
246b938401SKrzysztof Kozlowski      - description: Display AHB
256b938401SKrzysztof Kozlowski      - description: Display hf AXI
266b938401SKrzysztof Kozlowski      - description: Display core
276b938401SKrzysztof Kozlowski
286b938401SKrzysztof Kozlowski  iommus:
296b938401SKrzysztof Kozlowski    maxItems: 1
306b938401SKrzysztof Kozlowski
316b938401SKrzysztof Kozlowski  interconnects:
326b938401SKrzysztof Kozlowski    items:
336b938401SKrzysztof Kozlowski      - description: Interconnect path from mdp0 port to the data bus
346b938401SKrzysztof Kozlowski      - description: Interconnect path from CPU to the reg bus
356b938401SKrzysztof Kozlowski
366b938401SKrzysztof Kozlowski  interconnect-names:
376b938401SKrzysztof Kozlowski    items:
386b938401SKrzysztof Kozlowski      - const: mdp0-mem
396b938401SKrzysztof Kozlowski      - const: cpu-cfg
406b938401SKrzysztof Kozlowski
416b938401SKrzysztof KozlowskipatternProperties:
426b938401SKrzysztof Kozlowski  "^display-controller@[0-9a-f]+$":
436b938401SKrzysztof Kozlowski    type: object
446b938401SKrzysztof Kozlowski    additionalProperties: true
456b938401SKrzysztof Kozlowski    properties:
466b938401SKrzysztof Kozlowski      compatible:
476b938401SKrzysztof Kozlowski        const: qcom,sm8750-dpu
486b938401SKrzysztof Kozlowski
496b938401SKrzysztof Kozlowski  "^displayport-controller@[0-9a-f]+$":
506b938401SKrzysztof Kozlowski    type: object
516b938401SKrzysztof Kozlowski    additionalProperties: true
526b938401SKrzysztof Kozlowski    properties:
536b938401SKrzysztof Kozlowski      compatible:
546b938401SKrzysztof Kozlowski        contains:
556b938401SKrzysztof Kozlowski          const: qcom,sm8750-dp
566b938401SKrzysztof Kozlowski
576b938401SKrzysztof Kozlowski  "^dsi@[0-9a-f]+$":
586b938401SKrzysztof Kozlowski    type: object
596b938401SKrzysztof Kozlowski    additionalProperties: true
606b938401SKrzysztof Kozlowski    properties:
616b938401SKrzysztof Kozlowski      compatible:
626b938401SKrzysztof Kozlowski        contains:
636b938401SKrzysztof Kozlowski          const: qcom,sm8750-dsi-ctrl
646b938401SKrzysztof Kozlowski
656b938401SKrzysztof Kozlowski  "^phy@[0-9a-f]+$":
666b938401SKrzysztof Kozlowski    type: object
676b938401SKrzysztof Kozlowski    additionalProperties: true
686b938401SKrzysztof Kozlowski    properties:
696b938401SKrzysztof Kozlowski      compatible:
706b938401SKrzysztof Kozlowski        const: qcom,sm8750-dsi-phy-3nm
716b938401SKrzysztof Kozlowski
726b938401SKrzysztof Kozlowskirequired:
736b938401SKrzysztof Kozlowski  - compatible
746b938401SKrzysztof Kozlowski
756b938401SKrzysztof KozlowskiunevaluatedProperties: false
766b938401SKrzysztof Kozlowski
776b938401SKrzysztof Kozlowskiexamples:
786b938401SKrzysztof Kozlowski  - |
796b938401SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
806b938401SKrzysztof Kozlowski    #include <dt-bindings/interconnect/qcom,icc.h>
816b938401SKrzysztof Kozlowski    #include <dt-bindings/interconnect/qcom,sm8750-rpmh.h>
826b938401SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
836b938401SKrzysztof Kozlowski    #include <dt-bindings/phy/phy-qcom-qmp.h>
846b938401SKrzysztof Kozlowski    #include <dt-bindings/power/qcom,rpmhpd.h>
856b938401SKrzysztof Kozlowski
866b938401SKrzysztof Kozlowski    display-subsystem@ae00000 {
876b938401SKrzysztof Kozlowski            compatible = "qcom,sm8750-mdss";
886b938401SKrzysztof Kozlowski            reg = <0x0ae00000 0x1000>;
896b938401SKrzysztof Kozlowski            reg-names = "mdss";
906b938401SKrzysztof Kozlowski
916b938401SKrzysztof Kozlowski            interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
926b938401SKrzysztof Kozlowski
936b938401SKrzysztof Kozlowski            clocks = <&disp_cc_mdss_ahb_clk>,
946b938401SKrzysztof Kozlowski                     <&gcc_disp_hf_axi_clk>,
956b938401SKrzysztof Kozlowski                     <&disp_cc_mdss_mdp_clk>;
966b938401SKrzysztof Kozlowski
976b938401SKrzysztof Kozlowski            interconnects = <&mmss_noc MASTER_MDP QCOM_ICC_TAG_ALWAYS
986b938401SKrzysztof Kozlowski                             &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
996b938401SKrzysztof Kozlowski                            <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1006b938401SKrzysztof Kozlowski                             &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
1016b938401SKrzysztof Kozlowski            interconnect-names = "mdp0-mem",
1026b938401SKrzysztof Kozlowski                                 "cpu-cfg";
1036b938401SKrzysztof Kozlowski
1046b938401SKrzysztof Kozlowski            resets = <&disp_cc_mdss_core_bcr>;
1056b938401SKrzysztof Kozlowski
1066b938401SKrzysztof Kozlowski            power-domains = <&mdss_gdsc>;
1076b938401SKrzysztof Kozlowski
1086b938401SKrzysztof Kozlowski            iommus = <&apps_smmu 0x800 0x2>;
1096b938401SKrzysztof Kozlowski
1106b938401SKrzysztof Kozlowski            interrupt-controller;
1116b938401SKrzysztof Kozlowski            #interrupt-cells = <1>;
1126b938401SKrzysztof Kozlowski
1136b938401SKrzysztof Kozlowski            #address-cells = <1>;
1146b938401SKrzysztof Kozlowski            #size-cells = <1>;
1156b938401SKrzysztof Kozlowski            ranges;
1166b938401SKrzysztof Kozlowski
1176b938401SKrzysztof Kozlowski            display-controller@ae01000 {
1186b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dpu";
1196b938401SKrzysztof Kozlowski                reg = <0x0ae01000 0x93000>,
1206b938401SKrzysztof Kozlowski                      <0x0aeb0000 0x2008>;
1216b938401SKrzysztof Kozlowski                reg-names = "mdp",
1226b938401SKrzysztof Kozlowski                            "vbif";
1236b938401SKrzysztof Kozlowski
1246b938401SKrzysztof Kozlowski                interrupts-extended = <&mdss 0>;
1256b938401SKrzysztof Kozlowski
1266b938401SKrzysztof Kozlowski                clocks = <&gcc_disp_hf_axi_clk>,
1276b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_ahb_clk>,
1286b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_mdp_lut_clk>,
1296b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_mdp_clk>,
1306b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_vsync_clk>;
1316b938401SKrzysztof Kozlowski                clock-names = "nrt_bus",
1326b938401SKrzysztof Kozlowski                              "iface",
1336b938401SKrzysztof Kozlowski                              "lut",
1346b938401SKrzysztof Kozlowski                              "core",
1356b938401SKrzysztof Kozlowski                              "vsync";
1366b938401SKrzysztof Kozlowski
1376b938401SKrzysztof Kozlowski                assigned-clocks = <&disp_cc_mdss_vsync_clk>;
1386b938401SKrzysztof Kozlowski                assigned-clock-rates = <19200000>;
1396b938401SKrzysztof Kozlowski
1406b938401SKrzysztof Kozlowski                operating-points-v2 = <&mdp_opp_table>;
1416b938401SKrzysztof Kozlowski
1426b938401SKrzysztof Kozlowski                power-domains = <&rpmhpd RPMHPD_MMCX>;
1436b938401SKrzysztof Kozlowski
1446b938401SKrzysztof Kozlowski                ports {
1456b938401SKrzysztof Kozlowski                    #address-cells = <1>;
1466b938401SKrzysztof Kozlowski                    #size-cells = <0>;
1476b938401SKrzysztof Kozlowski
1486b938401SKrzysztof Kozlowski                    port@0 {
1496b938401SKrzysztof Kozlowski                        reg = <0>;
1506b938401SKrzysztof Kozlowski
1516b938401SKrzysztof Kozlowski                        dpu_intf1_out: endpoint {
1526b938401SKrzysztof Kozlowski                            remote-endpoint = <&mdss_dsi0_in>;
1536b938401SKrzysztof Kozlowski                        };
1546b938401SKrzysztof Kozlowski                    };
1556b938401SKrzysztof Kozlowski
1566b938401SKrzysztof Kozlowski                    port@1 {
1576b938401SKrzysztof Kozlowski                        reg = <1>;
1586b938401SKrzysztof Kozlowski
1596b938401SKrzysztof Kozlowski                        dpu_intf2_out: endpoint {
1606b938401SKrzysztof Kozlowski                            remote-endpoint = <&mdss_dsi1_in>;
1616b938401SKrzysztof Kozlowski                        };
1626b938401SKrzysztof Kozlowski                    };
1636b938401SKrzysztof Kozlowski
1646b938401SKrzysztof Kozlowski                    port@2 {
1656b938401SKrzysztof Kozlowski                        reg = <2>;
1666b938401SKrzysztof Kozlowski
1676b938401SKrzysztof Kozlowski                        dpu_intf0_out: endpoint {
1686b938401SKrzysztof Kozlowski                            remote-endpoint = <&mdss_dp0_in>;
1696b938401SKrzysztof Kozlowski                        };
1706b938401SKrzysztof Kozlowski                    };
1716b938401SKrzysztof Kozlowski                };
1726b938401SKrzysztof Kozlowski
1736b938401SKrzysztof Kozlowski                mdp_opp_table: opp-table {
1746b938401SKrzysztof Kozlowski                    compatible = "operating-points-v2";
1756b938401SKrzysztof Kozlowski
1766b938401SKrzysztof Kozlowski                    opp-207000000 {
1776b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <207000000>;
1786b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_low_svs>;
1796b938401SKrzysztof Kozlowski                    };
1806b938401SKrzysztof Kozlowski
1816b938401SKrzysztof Kozlowski                    opp-337000000 {
1826b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <337000000>;
1836b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_svs>;
1846b938401SKrzysztof Kozlowski                    };
1856b938401SKrzysztof Kozlowski
1866b938401SKrzysztof Kozlowski                    opp-417000000 {
1876b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <417000000>;
1886b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_svs_l1>;
1896b938401SKrzysztof Kozlowski                    };
1906b938401SKrzysztof Kozlowski
1916b938401SKrzysztof Kozlowski                    opp-532000000 {
1926b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <532000000>;
1936b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_nom>;
1946b938401SKrzysztof Kozlowski                    };
1956b938401SKrzysztof Kozlowski
1966b938401SKrzysztof Kozlowski                    opp-575000000 {
1976b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <575000000>;
1986b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_nom_l1>;
1996b938401SKrzysztof Kozlowski                    };
2006b938401SKrzysztof Kozlowski                };
2016b938401SKrzysztof Kozlowski            };
2026b938401SKrzysztof Kozlowski
2036b938401SKrzysztof Kozlowski            dsi@ae94000 {
2046b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2056b938401SKrzysztof Kozlowski                reg = <0x0ae94000 0x400>;
2066b938401SKrzysztof Kozlowski                reg-names = "dsi_ctrl";
2076b938401SKrzysztof Kozlowski
2086b938401SKrzysztof Kozlowski                interrupts-extended = <&mdss 4>;
2096b938401SKrzysztof Kozlowski
2106b938401SKrzysztof Kozlowski                clocks = <&disp_cc_mdss_byte0_clk>,
2116b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_byte0_intf_clk>,
2126b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_pclk0_clk>,
2136b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_esc0_clk>,
2146b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_ahb_clk>,
2156b938401SKrzysztof Kozlowski                         <&gcc_disp_hf_axi_clk>,
2166b938401SKrzysztof Kozlowski                         <&mdss_dsi0_phy 1>,
2176b938401SKrzysztof Kozlowski                         <&mdss_dsi0_phy 0>,
2186b938401SKrzysztof Kozlowski                         <&disp_cc_esync0_clk>,
2196b938401SKrzysztof Kozlowski                         <&disp_cc_osc_clk>,
2206b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_byte0_clk_src>,
2216b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_pclk0_clk_src>;
2226b938401SKrzysztof Kozlowski                clock-names = "byte",
2236b938401SKrzysztof Kozlowski                              "byte_intf",
2246b938401SKrzysztof Kozlowski                              "pixel",
2256b938401SKrzysztof Kozlowski                              "core",
2266b938401SKrzysztof Kozlowski                              "iface",
2276b938401SKrzysztof Kozlowski                              "bus",
2286b938401SKrzysztof Kozlowski                              "dsi_pll_pixel",
2296b938401SKrzysztof Kozlowski                              "dsi_pll_byte",
2306b938401SKrzysztof Kozlowski                              "esync",
2316b938401SKrzysztof Kozlowski                              "osc",
2326b938401SKrzysztof Kozlowski                              "byte_src",
2336b938401SKrzysztof Kozlowski                              "pixel_src";
2346b938401SKrzysztof Kozlowski
2356b938401SKrzysztof Kozlowski                operating-points-v2 = <&mdss_dsi_opp_table>;
2366b938401SKrzysztof Kozlowski
2376b938401SKrzysztof Kozlowski                power-domains = <&rpmhpd RPMHPD_MMCX>;
2386b938401SKrzysztof Kozlowski
2396b938401SKrzysztof Kozlowski                phys = <&mdss_dsi0_phy>;
2406b938401SKrzysztof Kozlowski                phy-names = "dsi";
2416b938401SKrzysztof Kozlowski
2426b938401SKrzysztof Kozlowski                vdda-supply = <&vreg_l3g_1p2>;
2436b938401SKrzysztof Kozlowski
2446b938401SKrzysztof Kozlowski                #address-cells = <1>;
2456b938401SKrzysztof Kozlowski                #size-cells = <0>;
2466b938401SKrzysztof Kozlowski
2476b938401SKrzysztof Kozlowski                ports {
2486b938401SKrzysztof Kozlowski                    #address-cells = <1>;
2496b938401SKrzysztof Kozlowski                    #size-cells = <0>;
2506b938401SKrzysztof Kozlowski
2516b938401SKrzysztof Kozlowski                    port@0 {
2526b938401SKrzysztof Kozlowski                        reg = <0>;
2536b938401SKrzysztof Kozlowski
2546b938401SKrzysztof Kozlowski                        mdss_dsi0_in: endpoint {
2556b938401SKrzysztof Kozlowski                            remote-endpoint = <&dpu_intf1_out>;
2566b938401SKrzysztof Kozlowski                        };
2576b938401SKrzysztof Kozlowski                    };
2586b938401SKrzysztof Kozlowski
2596b938401SKrzysztof Kozlowski                    port@1 {
2606b938401SKrzysztof Kozlowski                        reg = <1>;
2616b938401SKrzysztof Kozlowski
2626b938401SKrzysztof Kozlowski                        mdss_dsi0_out: endpoint {
2636b938401SKrzysztof Kozlowski                            remote-endpoint = <&panel0_in>;
2646b938401SKrzysztof Kozlowski                            data-lanes = <0 1 2 3>;
2656b938401SKrzysztof Kozlowski                        };
2666b938401SKrzysztof Kozlowski                    };
2676b938401SKrzysztof Kozlowski                };
2686b938401SKrzysztof Kozlowski
2696b938401SKrzysztof Kozlowski                mdss_dsi_opp_table: opp-table {
2706b938401SKrzysztof Kozlowski                    compatible = "operating-points-v2";
2716b938401SKrzysztof Kozlowski
2726b938401SKrzysztof Kozlowski                    opp-187500000 {
2736b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <187500000>;
2746b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_low_svs>;
2756b938401SKrzysztof Kozlowski                    };
2766b938401SKrzysztof Kozlowski
2776b938401SKrzysztof Kozlowski                    opp-300000000 {
2786b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <300000000>;
2796b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_svs>;
2806b938401SKrzysztof Kozlowski                    };
2816b938401SKrzysztof Kozlowski
2826b938401SKrzysztof Kozlowski                    opp-358000000 {
2836b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <358000000>;
2846b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_svs_l1>;
2856b938401SKrzysztof Kozlowski                    };
2866b938401SKrzysztof Kozlowski                };
2876b938401SKrzysztof Kozlowski            };
2886b938401SKrzysztof Kozlowski
2896b938401SKrzysztof Kozlowski            mdss_dsi0_phy: phy@ae95000 {
2906b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dsi-phy-3nm";
2916b938401SKrzysztof Kozlowski                reg = <0x0ae95000 0x200>,
2926b938401SKrzysztof Kozlowski                      <0x0ae95200 0x280>,
2936b938401SKrzysztof Kozlowski                      <0x0ae95500 0x400>;
2946b938401SKrzysztof Kozlowski                reg-names = "dsi_phy",
2956b938401SKrzysztof Kozlowski                            "dsi_phy_lane",
2966b938401SKrzysztof Kozlowski                            "dsi_pll";
2976b938401SKrzysztof Kozlowski
2986b938401SKrzysztof Kozlowski                clocks = <&disp_cc_mdss_ahb_clk>,
2996b938401SKrzysztof Kozlowski                         <&rpmhcc RPMH_CXO_CLK>;
3006b938401SKrzysztof Kozlowski                clock-names = "iface",
3016b938401SKrzysztof Kozlowski                              "ref";
3026b938401SKrzysztof Kozlowski
3036b938401SKrzysztof Kozlowski                vdds-supply = <&vreg_l3i_0p88>;
3046b938401SKrzysztof Kozlowski
3056b938401SKrzysztof Kozlowski                #clock-cells = <1>;
3066b938401SKrzysztof Kozlowski                #phy-cells = <0>;
3076b938401SKrzysztof Kozlowski            };
3086b938401SKrzysztof Kozlowski
3096b938401SKrzysztof Kozlowski            dsi@ae96000 {
3106b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3116b938401SKrzysztof Kozlowski                reg = <0x0ae96000 0x400>;
3126b938401SKrzysztof Kozlowski                reg-names = "dsi_ctrl";
3136b938401SKrzysztof Kozlowski
3146b938401SKrzysztof Kozlowski                interrupts-extended = <&mdss 5>;
3156b938401SKrzysztof Kozlowski
3166b938401SKrzysztof Kozlowski                clocks = <&disp_cc_mdss_byte1_clk>,
3176b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_byte1_intf_clk>,
3186b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_pclk1_clk>,
3196b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_esc1_clk>,
3206b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_ahb_clk>,
3216b938401SKrzysztof Kozlowski                         <&gcc_disp_hf_axi_clk>,
3226b938401SKrzysztof Kozlowski                         <&mdss_dsi1_phy 1>,
3236b938401SKrzysztof Kozlowski                         <&mdss_dsi1_phy 0>,
3246b938401SKrzysztof Kozlowski                         <&disp_cc_esync1_clk>,
3256b938401SKrzysztof Kozlowski                         <&disp_cc_osc_clk>,
3266b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_byte1_clk_src>,
3276b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_pclk1_clk_src>;
3286b938401SKrzysztof Kozlowski                clock-names = "byte",
3296b938401SKrzysztof Kozlowski                              "byte_intf",
3306b938401SKrzysztof Kozlowski                              "pixel",
3316b938401SKrzysztof Kozlowski                              "core",
3326b938401SKrzysztof Kozlowski                              "iface",
3336b938401SKrzysztof Kozlowski                              "bus",
3346b938401SKrzysztof Kozlowski                              "dsi_pll_pixel",
3356b938401SKrzysztof Kozlowski                              "dsi_pll_byte",
3366b938401SKrzysztof Kozlowski                              "esync",
3376b938401SKrzysztof Kozlowski                              "osc",
3386b938401SKrzysztof Kozlowski                              "byte_src",
3396b938401SKrzysztof Kozlowski                              "pixel_src";
3406b938401SKrzysztof Kozlowski
3416b938401SKrzysztof Kozlowski                operating-points-v2 = <&mdss_dsi_opp_table>;
3426b938401SKrzysztof Kozlowski
3436b938401SKrzysztof Kozlowski                power-domains = <&rpmhpd RPMHPD_MMCX>;
3446b938401SKrzysztof Kozlowski
3456b938401SKrzysztof Kozlowski                phys = <&mdss_dsi1_phy>;
3466b938401SKrzysztof Kozlowski                phy-names = "dsi";
3476b938401SKrzysztof Kozlowski
3486b938401SKrzysztof Kozlowski                #address-cells = <1>;
3496b938401SKrzysztof Kozlowski                #size-cells = <0>;
3506b938401SKrzysztof Kozlowski
3516b938401SKrzysztof Kozlowski                ports {
3526b938401SKrzysztof Kozlowski                    #address-cells = <1>;
3536b938401SKrzysztof Kozlowski                    #size-cells = <0>;
3546b938401SKrzysztof Kozlowski
3556b938401SKrzysztof Kozlowski                    port@0 {
3566b938401SKrzysztof Kozlowski                        reg = <0>;
3576b938401SKrzysztof Kozlowski
3586b938401SKrzysztof Kozlowski                        mdss_dsi1_in: endpoint {
3596b938401SKrzysztof Kozlowski                            remote-endpoint = <&dpu_intf2_out>;
3606b938401SKrzysztof Kozlowski                        };
3616b938401SKrzysztof Kozlowski                    };
3626b938401SKrzysztof Kozlowski
3636b938401SKrzysztof Kozlowski                    port@1 {
3646b938401SKrzysztof Kozlowski                        reg = <1>;
3656b938401SKrzysztof Kozlowski
3666b938401SKrzysztof Kozlowski                        mdss_dsi1_out: endpoint {
3676b938401SKrzysztof Kozlowski                        };
3686b938401SKrzysztof Kozlowski                    };
3696b938401SKrzysztof Kozlowski                };
3706b938401SKrzysztof Kozlowski            };
3716b938401SKrzysztof Kozlowski
3726b938401SKrzysztof Kozlowski            mdss_dsi1_phy: phy@ae97000 {
3736b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dsi-phy-3nm";
3746b938401SKrzysztof Kozlowski                reg = <0x0ae97000 0x200>,
3756b938401SKrzysztof Kozlowski                      <0x0ae97200 0x280>,
3766b938401SKrzysztof Kozlowski                      <0x0ae97500 0x400>;
3776b938401SKrzysztof Kozlowski                reg-names = "dsi_phy",
3786b938401SKrzysztof Kozlowski                            "dsi_phy_lane",
3796b938401SKrzysztof Kozlowski                            "dsi_pll";
3806b938401SKrzysztof Kozlowski
3816b938401SKrzysztof Kozlowski                clocks = <&disp_cc_mdss_ahb_clk>,
3826b938401SKrzysztof Kozlowski                         <&rpmhcc RPMH_CXO_CLK>;
3836b938401SKrzysztof Kozlowski                clock-names = "iface",
3846b938401SKrzysztof Kozlowski                              "ref";
3856b938401SKrzysztof Kozlowski
3866b938401SKrzysztof Kozlowski                #clock-cells = <1>;
3876b938401SKrzysztof Kozlowski                #phy-cells = <0>;
3886b938401SKrzysztof Kozlowski            };
3896b938401SKrzysztof Kozlowski
3906b938401SKrzysztof Kozlowski            displayport-controller@af54000 {
3916b938401SKrzysztof Kozlowski                compatible = "qcom,sm8750-dp", "qcom,sm8650-dp";
3926b938401SKrzysztof Kozlowski                reg = <0xaf54000 0x104>,
3936b938401SKrzysztof Kozlowski                      <0xaf54200 0xc0>,
3946b938401SKrzysztof Kozlowski                      <0xaf55000 0x770>,
3956b938401SKrzysztof Kozlowski                      <0xaf56000 0x9c>,
3966b938401SKrzysztof Kozlowski                      <0xaf57000 0x9c>;
3976b938401SKrzysztof Kozlowski
3986b938401SKrzysztof Kozlowski                interrupts-extended = <&mdss 12>;
3996b938401SKrzysztof Kozlowski
4006b938401SKrzysztof Kozlowski                clocks = <&disp_cc_mdss_ahb_clk>,
4016b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_dptx0_aux_clk>,
4026b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_dptx0_link_clk>,
4036b938401SKrzysztof Kozlowski                         <&disp_cc_mdss_dptx0_link_intf_clk>,
4049be5c479SAbhinav Kumar                         <&disp_cc_mdss_dptx0_pixel0_clk>,
4059be5c479SAbhinav Kumar                         <&disp_cc_mdss_dptx0_pixel1_clk>;
4066b938401SKrzysztof Kozlowski                clock-names = "core_iface",
4076b938401SKrzysztof Kozlowski                              "core_aux",
4086b938401SKrzysztof Kozlowski                              "ctrl_link",
4096b938401SKrzysztof Kozlowski                              "ctrl_link_iface",
4109be5c479SAbhinav Kumar                              "stream_pixel",
4119be5c479SAbhinav Kumar                              "stream_1_pixel";
4126b938401SKrzysztof Kozlowski
4136b938401SKrzysztof Kozlowski                assigned-clocks = <&disp_cc_mdss_dptx0_link_clk_src>,
4149be5c479SAbhinav Kumar                                  <&disp_cc_mdss_dptx0_pixel0_clk_src>,
4159be5c479SAbhinav Kumar                                  <&disp_cc_mdss_dptx0_pixel1_clk_src>;
4166b938401SKrzysztof Kozlowski                assigned-clock-parents = <&usb_dp_qmpphy QMP_USB43DP_DP_LINK_CLK>,
4179be5c479SAbhinav Kumar                                         <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
4186b938401SKrzysztof Kozlowski                                         <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
4196b938401SKrzysztof Kozlowski
4206b938401SKrzysztof Kozlowski                operating-points-v2 = <&dp_opp_table>;
4216b938401SKrzysztof Kozlowski
4226b938401SKrzysztof Kozlowski                power-domains = <&rpmhpd RPMHPD_MMCX>;
4236b938401SKrzysztof Kozlowski
4246b938401SKrzysztof Kozlowski                phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>;
4256b938401SKrzysztof Kozlowski                phy-names = "dp";
4266b938401SKrzysztof Kozlowski
4276b938401SKrzysztof Kozlowski                #sound-dai-cells = <0>;
4286b938401SKrzysztof Kozlowski
4296b938401SKrzysztof Kozlowski                dp_opp_table: opp-table {
4306b938401SKrzysztof Kozlowski                    compatible = "operating-points-v2";
4316b938401SKrzysztof Kozlowski
4326b938401SKrzysztof Kozlowski                    opp-192000000 {
4336b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <192000000>;
4346b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_low_svs_d1>;
4356b938401SKrzysztof Kozlowski                    };
4366b938401SKrzysztof Kozlowski
4376b938401SKrzysztof Kozlowski                    opp-270000000 {
4386b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <270000000>;
4396b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_low_svs>;
4406b938401SKrzysztof Kozlowski                    };
4416b938401SKrzysztof Kozlowski
4426b938401SKrzysztof Kozlowski                    opp-540000000 {
4436b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <540000000>;
4446b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_svs_l1>;
4456b938401SKrzysztof Kozlowski                    };
4466b938401SKrzysztof Kozlowski
4476b938401SKrzysztof Kozlowski                    opp-810000000 {
4486b938401SKrzysztof Kozlowski                        opp-hz = /bits/ 64 <810000000>;
4496b938401SKrzysztof Kozlowski                        required-opps = <&rpmhpd_opp_nom>;
4506b938401SKrzysztof Kozlowski                    };
4516b938401SKrzysztof Kozlowski                };
4526b938401SKrzysztof Kozlowski
4536b938401SKrzysztof Kozlowski                ports {
4546b938401SKrzysztof Kozlowski                    #address-cells = <1>;
4556b938401SKrzysztof Kozlowski                    #size-cells = <0>;
4566b938401SKrzysztof Kozlowski
4576b938401SKrzysztof Kozlowski                    port@0 {
4586b938401SKrzysztof Kozlowski                        reg = <0>;
4596b938401SKrzysztof Kozlowski
4606b938401SKrzysztof Kozlowski                        mdss_dp0_in: endpoint {
4616b938401SKrzysztof Kozlowski                            remote-endpoint = <&dpu_intf0_out>;
4626b938401SKrzysztof Kozlowski                        };
4636b938401SKrzysztof Kozlowski                    };
4646b938401SKrzysztof Kozlowski
4656b938401SKrzysztof Kozlowski                    port@1 {
4666b938401SKrzysztof Kozlowski                        reg = <1>;
4676b938401SKrzysztof Kozlowski
4686b938401SKrzysztof Kozlowski                        mdss_dp0_out: endpoint {
4696b938401SKrzysztof Kozlowski                            remote-endpoint = <&usb_dp_qmpphy_dp_in>;
4706b938401SKrzysztof Kozlowski                        };
4716b938401SKrzysztof Kozlowski                    };
4726b938401SKrzysztof Kozlowski                };
4736b938401SKrzysztof Kozlowski            };
4746b938401SKrzysztof Kozlowski        };
475