xref: /openbmc/linux/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml (revision e96150a6dc146779fc67a9a016339d861b5ec05a)
12c44a993SDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
22c44a993SDmitry Baryshkov%YAML 1.2
32c44a993SDmitry Baryshkov---
42c44a993SDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sc7280-mdss.yaml#
52c44a993SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
62c44a993SDmitry Baryshkov
72c44a993SDmitry Baryshkovtitle: Qualcomm SC7280 Display MDSS
82c44a993SDmitry Baryshkov
92c44a993SDmitry Baryshkovmaintainers:
102c44a993SDmitry Baryshkov  - Krishna Manikandan <quic_mkrishn@quicinc.com>
112c44a993SDmitry Baryshkov
122c44a993SDmitry Baryshkovdescription:
132c44a993SDmitry Baryshkov  Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates
142c44a993SDmitry Baryshkov  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
152c44a993SDmitry Baryshkov  bindings of MDSS are mentioned for SC7280.
162c44a993SDmitry Baryshkov
172c44a993SDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml#
182c44a993SDmitry Baryshkov
192c44a993SDmitry Baryshkovproperties:
202c44a993SDmitry Baryshkov  compatible:
212c44a993SDmitry Baryshkov    const: qcom,sc7280-mdss
222c44a993SDmitry Baryshkov
232c44a993SDmitry Baryshkov  clocks:
242c44a993SDmitry Baryshkov    items:
252c44a993SDmitry Baryshkov      - description: Display AHB clock from gcc
262c44a993SDmitry Baryshkov      - description: Display AHB clock from dispcc
272c44a993SDmitry Baryshkov      - description: Display core clock
282c44a993SDmitry Baryshkov
292c44a993SDmitry Baryshkov  clock-names:
302c44a993SDmitry Baryshkov    items:
312c44a993SDmitry Baryshkov      - const: iface
322c44a993SDmitry Baryshkov      - const: ahb
332c44a993SDmitry Baryshkov      - const: core
342c44a993SDmitry Baryshkov
352c44a993SDmitry Baryshkov  iommus:
362c44a993SDmitry Baryshkov    maxItems: 1
372c44a993SDmitry Baryshkov
382c44a993SDmitry Baryshkov  interconnects:
392c44a993SDmitry Baryshkov    maxItems: 1
402c44a993SDmitry Baryshkov
412c44a993SDmitry Baryshkov  interconnect-names:
422c44a993SDmitry Baryshkov    maxItems: 1
432c44a993SDmitry Baryshkov
442c44a993SDmitry BaryshkovpatternProperties:
452c44a993SDmitry Baryshkov  "^display-controller@[0-9a-f]+$":
462c44a993SDmitry Baryshkov    type: object
472c44a993SDmitry Baryshkov    properties:
482c44a993SDmitry Baryshkov      compatible:
492c44a993SDmitry Baryshkov        const: qcom,sc7280-dpu
502c44a993SDmitry Baryshkov
514b32e466SDmitry Baryshkov  "^displayport-controller@[0-9a-f]+$":
524b32e466SDmitry Baryshkov    type: object
534b32e466SDmitry Baryshkov    properties:
544b32e466SDmitry Baryshkov      compatible:
554b32e466SDmitry Baryshkov        const: qcom,sc7280-dp
564b32e466SDmitry Baryshkov
574b32e466SDmitry Baryshkov  "^dsi@[0-9a-f]+$":
584b32e466SDmitry Baryshkov    type: object
594b32e466SDmitry Baryshkov    properties:
604b32e466SDmitry Baryshkov      compatible:
614b32e466SDmitry Baryshkov        const: qcom,mdss-dsi-ctrl
624b32e466SDmitry Baryshkov
634b32e466SDmitry Baryshkov  "^edp@[0-9a-f]+$":
644b32e466SDmitry Baryshkov    type: object
654b32e466SDmitry Baryshkov    properties:
664b32e466SDmitry Baryshkov      compatible:
674b32e466SDmitry Baryshkov        const: qcom,sc7280-edp
684b32e466SDmitry Baryshkov
694b32e466SDmitry Baryshkov  "^phy@[0-9a-f]+$":
704b32e466SDmitry Baryshkov    type: object
714b32e466SDmitry Baryshkov    properties:
724b32e466SDmitry Baryshkov      compatible:
734b32e466SDmitry Baryshkov        enum:
744b32e466SDmitry Baryshkov          - qcom,sc7280-dsi-phy-7nm
754b32e466SDmitry Baryshkov          - qcom,sc7280-edp-phy
764b32e466SDmitry Baryshkov
77*e96150a6SDmitry Baryshkovrequired:
78*e96150a6SDmitry Baryshkov  - compatible
79*e96150a6SDmitry Baryshkov
802c44a993SDmitry BaryshkovunevaluatedProperties: false
812c44a993SDmitry Baryshkov
822c44a993SDmitry Baryshkovexamples:
832c44a993SDmitry Baryshkov  - |
842c44a993SDmitry Baryshkov    #include <dt-bindings/clock/qcom,dispcc-sc7280.h>
852c44a993SDmitry Baryshkov    #include <dt-bindings/clock/qcom,gcc-sc7280.h>
864b32e466SDmitry Baryshkov    #include <dt-bindings/clock/qcom,rpmh.h>
872c44a993SDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
882c44a993SDmitry Baryshkov    #include <dt-bindings/interconnect/qcom,sc7280.h>
892c44a993SDmitry Baryshkov    #include <dt-bindings/power/qcom-rpmpd.h>
902c44a993SDmitry Baryshkov
912c44a993SDmitry Baryshkov    display-subsystem@ae00000 {
922c44a993SDmitry Baryshkov        #address-cells = <1>;
932c44a993SDmitry Baryshkov        #size-cells = <1>;
942c44a993SDmitry Baryshkov        compatible = "qcom,sc7280-mdss";
952c44a993SDmitry Baryshkov        reg = <0xae00000 0x1000>;
962c44a993SDmitry Baryshkov        reg-names = "mdss";
972c44a993SDmitry Baryshkov        power-domains = <&dispcc DISP_CC_MDSS_CORE_GDSC>;
982c44a993SDmitry Baryshkov        clocks = <&gcc GCC_DISP_AHB_CLK>,
992c44a993SDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1002c44a993SDmitry Baryshkov                 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1012c44a993SDmitry Baryshkov        clock-names = "iface",
1022c44a993SDmitry Baryshkov                      "ahb",
1032c44a993SDmitry Baryshkov                      "core";
1042c44a993SDmitry Baryshkov
1052c44a993SDmitry Baryshkov        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1062c44a993SDmitry Baryshkov        interrupt-controller;
1072c44a993SDmitry Baryshkov        #interrupt-cells = <1>;
1082c44a993SDmitry Baryshkov
1092c44a993SDmitry Baryshkov        interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>;
1102c44a993SDmitry Baryshkov        interconnect-names = "mdp0-mem";
1112c44a993SDmitry Baryshkov
1122c44a993SDmitry Baryshkov        iommus = <&apps_smmu 0x900 0x402>;
1132c44a993SDmitry Baryshkov        ranges;
1142c44a993SDmitry Baryshkov
1152c44a993SDmitry Baryshkov        display-controller@ae01000 {
1162c44a993SDmitry Baryshkov            compatible = "qcom,sc7280-dpu";
1172c44a993SDmitry Baryshkov            reg = <0x0ae01000 0x8f000>,
1182c44a993SDmitry Baryshkov                  <0x0aeb0000 0x2008>;
1192c44a993SDmitry Baryshkov
1202c44a993SDmitry Baryshkov            reg-names = "mdp", "vbif";
1212c44a993SDmitry Baryshkov
1222c44a993SDmitry Baryshkov            clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1232c44a993SDmitry Baryshkov                     <&gcc GCC_DISP_SF_AXI_CLK>,
1242c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
1252c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1262c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_MDP_CLK>,
1272c44a993SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1282c44a993SDmitry Baryshkov            clock-names = "bus",
1292c44a993SDmitry Baryshkov                          "nrt_bus",
1302c44a993SDmitry Baryshkov                          "iface",
1312c44a993SDmitry Baryshkov                          "lut",
1322c44a993SDmitry Baryshkov                          "core",
1332c44a993SDmitry Baryshkov                          "vsync";
1342c44a993SDmitry Baryshkov
1352c44a993SDmitry Baryshkov            interrupt-parent = <&mdss>;
1362c44a993SDmitry Baryshkov            interrupts = <0>;
1372c44a993SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
1382c44a993SDmitry Baryshkov            operating-points-v2 = <&mdp_opp_table>;
1392c44a993SDmitry Baryshkov
1402c44a993SDmitry Baryshkov            ports {
1412c44a993SDmitry Baryshkov                #address-cells = <1>;
1422c44a993SDmitry Baryshkov                #size-cells = <0>;
1432c44a993SDmitry Baryshkov
1442c44a993SDmitry Baryshkov                port@0 {
1452c44a993SDmitry Baryshkov                    reg = <0>;
1462c44a993SDmitry Baryshkov                    dpu_intf1_out: endpoint {
1472c44a993SDmitry Baryshkov                        remote-endpoint = <&dsi0_in>;
1482c44a993SDmitry Baryshkov                    };
1492c44a993SDmitry Baryshkov                };
1502c44a993SDmitry Baryshkov
1512c44a993SDmitry Baryshkov                port@1 {
1522c44a993SDmitry Baryshkov                    reg = <1>;
1532c44a993SDmitry Baryshkov                    dpu_intf5_out: endpoint {
1542c44a993SDmitry Baryshkov                        remote-endpoint = <&edp_in>;
1552c44a993SDmitry Baryshkov                    };
1562c44a993SDmitry Baryshkov                };
1574b32e466SDmitry Baryshkov
1584b32e466SDmitry Baryshkov                port@2 {
1594b32e466SDmitry Baryshkov                    reg = <2>;
1604b32e466SDmitry Baryshkov                    dpu_intf0_out: endpoint {
1614b32e466SDmitry Baryshkov                        remote-endpoint = <&dp_in>;
1624b32e466SDmitry Baryshkov                    };
1634b32e466SDmitry Baryshkov                };
1644b32e466SDmitry Baryshkov            };
1654b32e466SDmitry Baryshkov        };
1664b32e466SDmitry Baryshkov
1674b32e466SDmitry Baryshkov        dsi@ae94000 {
1684b32e466SDmitry Baryshkov            compatible = "qcom,mdss-dsi-ctrl";
1694b32e466SDmitry Baryshkov            reg = <0x0ae94000 0x400>;
1704b32e466SDmitry Baryshkov            reg-names = "dsi_ctrl";
1714b32e466SDmitry Baryshkov
1724b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
1734b32e466SDmitry Baryshkov            interrupts = <4>;
1744b32e466SDmitry Baryshkov
1754b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1764b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1774b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1784b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1794b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
1804b32e466SDmitry Baryshkov                     <&gcc GCC_DISP_HF_AXI_CLK>;
1814b32e466SDmitry Baryshkov            clock-names = "byte",
1824b32e466SDmitry Baryshkov                          "byte_intf",
1834b32e466SDmitry Baryshkov                          "pixel",
1844b32e466SDmitry Baryshkov                          "core",
1854b32e466SDmitry Baryshkov                          "iface",
1864b32e466SDmitry Baryshkov                          "bus";
1874b32e466SDmitry Baryshkov
1884b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1894b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1904b32e466SDmitry Baryshkov            assigned-clock-parents = <&mdss_dsi_phy 0>, <&mdss_dsi_phy 1>;
1914b32e466SDmitry Baryshkov
1924b32e466SDmitry Baryshkov            operating-points-v2 = <&dsi_opp_table>;
1934b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
1944b32e466SDmitry Baryshkov
1954b32e466SDmitry Baryshkov            phys = <&mdss_dsi_phy>;
1964b32e466SDmitry Baryshkov            phy-names = "dsi";
1974b32e466SDmitry Baryshkov
1984b32e466SDmitry Baryshkov            #address-cells = <1>;
1994b32e466SDmitry Baryshkov            #size-cells = <0>;
2004b32e466SDmitry Baryshkov
2014b32e466SDmitry Baryshkov            ports {
2024b32e466SDmitry Baryshkov                #address-cells = <1>;
2034b32e466SDmitry Baryshkov                #size-cells = <0>;
2044b32e466SDmitry Baryshkov
2054b32e466SDmitry Baryshkov                port@0 {
2064b32e466SDmitry Baryshkov                    reg = <0>;
2074b32e466SDmitry Baryshkov                    dsi0_in: endpoint {
2084b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf1_out>;
2094b32e466SDmitry Baryshkov                    };
2104b32e466SDmitry Baryshkov                };
2114b32e466SDmitry Baryshkov
2124b32e466SDmitry Baryshkov                port@1 {
2134b32e466SDmitry Baryshkov                    reg = <1>;
2144b32e466SDmitry Baryshkov                    dsi0_out: endpoint {
2154b32e466SDmitry Baryshkov                    };
2164b32e466SDmitry Baryshkov                };
2174b32e466SDmitry Baryshkov            };
2184b32e466SDmitry Baryshkov
2194b32e466SDmitry Baryshkov            dsi_opp_table: opp-table {
2204b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
2214b32e466SDmitry Baryshkov
2224b32e466SDmitry Baryshkov                opp-187500000 {
2234b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <187500000>;
2244b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
2254b32e466SDmitry Baryshkov                };
2264b32e466SDmitry Baryshkov
2274b32e466SDmitry Baryshkov                opp-300000000 {
2284b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <300000000>;
2294b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
2304b32e466SDmitry Baryshkov                };
2314b32e466SDmitry Baryshkov
2324b32e466SDmitry Baryshkov                opp-358000000 {
2334b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <358000000>;
2344b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
2354b32e466SDmitry Baryshkov                };
2364b32e466SDmitry Baryshkov            };
2374b32e466SDmitry Baryshkov        };
2384b32e466SDmitry Baryshkov
2394b32e466SDmitry Baryshkov        mdss_dsi_phy: phy@ae94400 {
2404b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-dsi-phy-7nm";
2414b32e466SDmitry Baryshkov            reg = <0x0ae94400 0x200>,
2424b32e466SDmitry Baryshkov                  <0x0ae94600 0x280>,
2434b32e466SDmitry Baryshkov                  <0x0ae94900 0x280>;
2444b32e466SDmitry Baryshkov            reg-names = "dsi_phy",
2454b32e466SDmitry Baryshkov                        "dsi_phy_lane",
2464b32e466SDmitry Baryshkov                        "dsi_pll";
2474b32e466SDmitry Baryshkov
2484b32e466SDmitry Baryshkov            #clock-cells = <1>;
2494b32e466SDmitry Baryshkov            #phy-cells = <0>;
2504b32e466SDmitry Baryshkov
2514b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2524b32e466SDmitry Baryshkov                     <&rpmhcc RPMH_CXO_CLK>;
2534b32e466SDmitry Baryshkov            clock-names = "iface", "ref";
2544b32e466SDmitry Baryshkov
2554b32e466SDmitry Baryshkov            vdds-supply = <&vreg_dsi_supply>;
2564b32e466SDmitry Baryshkov        };
2574b32e466SDmitry Baryshkov
2584b32e466SDmitry Baryshkov        edp@aea0000 {
2594b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-edp";
2604b32e466SDmitry Baryshkov            pinctrl-names = "default";
2614b32e466SDmitry Baryshkov            pinctrl-0 = <&edp_hot_plug_det>;
2624b32e466SDmitry Baryshkov
2634b32e466SDmitry Baryshkov            reg = <0xaea0000 0x200>,
2644b32e466SDmitry Baryshkov                  <0xaea0200 0x200>,
2654b32e466SDmitry Baryshkov                  <0xaea0400 0xc00>,
2664b32e466SDmitry Baryshkov                  <0xaea1000 0x400>;
2674b32e466SDmitry Baryshkov
2684b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
2694b32e466SDmitry Baryshkov            interrupts = <14>;
2704b32e466SDmitry Baryshkov
2714b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2724b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_AUX_CLK>,
2734b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_LINK_CLK>,
2744b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_LINK_INTF_CLK>,
2754b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK>;
2764b32e466SDmitry Baryshkov            clock-names = "core_iface",
2774b32e466SDmitry Baryshkov                          "core_aux",
2784b32e466SDmitry Baryshkov                          "ctrl_link",
2794b32e466SDmitry Baryshkov                          "ctrl_link_iface",
2804b32e466SDmitry Baryshkov                          "stream_pixel";
2814b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_EDP_LINK_CLK_SRC>,
2824b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK_SRC>;
2834b32e466SDmitry Baryshkov            assigned-clock-parents = <&mdss_edp_phy 0>, <&mdss_edp_phy 1>;
2844b32e466SDmitry Baryshkov
2854b32e466SDmitry Baryshkov            phys = <&mdss_edp_phy>;
2864b32e466SDmitry Baryshkov            phy-names = "dp";
2874b32e466SDmitry Baryshkov
2884b32e466SDmitry Baryshkov            operating-points-v2 = <&edp_opp_table>;
2894b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
2904b32e466SDmitry Baryshkov
2914b32e466SDmitry Baryshkov            ports {
2924b32e466SDmitry Baryshkov                #address-cells = <1>;
2934b32e466SDmitry Baryshkov                #size-cells = <0>;
2944b32e466SDmitry Baryshkov
2954b32e466SDmitry Baryshkov                port@0 {
2964b32e466SDmitry Baryshkov                    reg = <0>;
2974b32e466SDmitry Baryshkov                    edp_in: endpoint {
2984b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf5_out>;
2994b32e466SDmitry Baryshkov                    };
3004b32e466SDmitry Baryshkov                };
3014b32e466SDmitry Baryshkov
3024b32e466SDmitry Baryshkov                port@1 {
3034b32e466SDmitry Baryshkov                    reg = <1>;
3044b32e466SDmitry Baryshkov                    mdss_edp_out: endpoint { };
3054b32e466SDmitry Baryshkov                };
3064b32e466SDmitry Baryshkov            };
3074b32e466SDmitry Baryshkov
3084b32e466SDmitry Baryshkov            edp_opp_table: opp-table {
3094b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
3104b32e466SDmitry Baryshkov
3114b32e466SDmitry Baryshkov                opp-160000000 {
3124b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <160000000>;
3134b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
3144b32e466SDmitry Baryshkov                };
3154b32e466SDmitry Baryshkov
3164b32e466SDmitry Baryshkov                opp-270000000 {
3174b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <270000000>;
3184b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
3194b32e466SDmitry Baryshkov                };
3204b32e466SDmitry Baryshkov
3214b32e466SDmitry Baryshkov                opp-540000000 {
3224b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <540000000>;
3234b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
3244b32e466SDmitry Baryshkov                };
3254b32e466SDmitry Baryshkov
3264b32e466SDmitry Baryshkov                opp-810000000 {
3274b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <810000000>;
3284b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
3294b32e466SDmitry Baryshkov                };
3304b32e466SDmitry Baryshkov            };
3314b32e466SDmitry Baryshkov        };
3324b32e466SDmitry Baryshkov
3334b32e466SDmitry Baryshkov        mdss_edp_phy: phy@aec2a00 {
3344b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-edp-phy";
3354b32e466SDmitry Baryshkov
3364b32e466SDmitry Baryshkov            reg = <0xaec2a00 0x19c>,
3374b32e466SDmitry Baryshkov                  <0xaec2200 0xa0>,
3384b32e466SDmitry Baryshkov                  <0xaec2600 0xa0>,
3394b32e466SDmitry Baryshkov                  <0xaec2000 0x1c0>;
3404b32e466SDmitry Baryshkov
3414b32e466SDmitry Baryshkov            clocks = <&rpmhcc RPMH_CXO_CLK>,
3424b32e466SDmitry Baryshkov                     <&gcc GCC_EDP_CLKREF_EN>;
3434b32e466SDmitry Baryshkov            clock-names = "aux",
3444b32e466SDmitry Baryshkov                          "cfg_ahb";
3454b32e466SDmitry Baryshkov
3464b32e466SDmitry Baryshkov            #clock-cells = <1>;
3474b32e466SDmitry Baryshkov            #phy-cells = <0>;
3484b32e466SDmitry Baryshkov        };
3494b32e466SDmitry Baryshkov
3504b32e466SDmitry Baryshkov        displayport-controller@ae90000 {
3514b32e466SDmitry Baryshkov            compatible = "qcom,sc7280-dp";
3524b32e466SDmitry Baryshkov
3534b32e466SDmitry Baryshkov            reg = <0xae90000 0x200>,
3544b32e466SDmitry Baryshkov                  <0xae90200 0x200>,
3554b32e466SDmitry Baryshkov                  <0xae90400 0xc00>,
3564b32e466SDmitry Baryshkov                  <0xae91000 0x400>,
3574b32e466SDmitry Baryshkov                  <0xae91400 0x400>;
3584b32e466SDmitry Baryshkov
3594b32e466SDmitry Baryshkov            interrupt-parent = <&mdss>;
3604b32e466SDmitry Baryshkov            interrupts = <12>;
3614b32e466SDmitry Baryshkov
3624b32e466SDmitry Baryshkov            clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3634b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
3644b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
3654b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
3664b32e466SDmitry Baryshkov                     <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
3674b32e466SDmitry Baryshkov            clock-names = "core_iface",
3684b32e466SDmitry Baryshkov                          "core_aux",
3694b32e466SDmitry Baryshkov                          "ctrl_link",
3704b32e466SDmitry Baryshkov                          "ctrl_link_iface",
3714b32e466SDmitry Baryshkov                          "stream_pixel";
3724b32e466SDmitry Baryshkov            assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
3734b32e466SDmitry Baryshkov                              <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
3744b32e466SDmitry Baryshkov            assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
3754b32e466SDmitry Baryshkov            phys = <&dp_phy>;
3764b32e466SDmitry Baryshkov            phy-names = "dp";
3774b32e466SDmitry Baryshkov
3784b32e466SDmitry Baryshkov            operating-points-v2 = <&dp_opp_table>;
3794b32e466SDmitry Baryshkov            power-domains = <&rpmhpd SC7280_CX>;
3804b32e466SDmitry Baryshkov
3814b32e466SDmitry Baryshkov            #sound-dai-cells = <0>;
3824b32e466SDmitry Baryshkov
3834b32e466SDmitry Baryshkov            ports {
3844b32e466SDmitry Baryshkov                #address-cells = <1>;
3854b32e466SDmitry Baryshkov                #size-cells = <0>;
3864b32e466SDmitry Baryshkov
3874b32e466SDmitry Baryshkov                port@0 {
3884b32e466SDmitry Baryshkov                    reg = <0>;
3894b32e466SDmitry Baryshkov                    dp_in: endpoint {
3904b32e466SDmitry Baryshkov                        remote-endpoint = <&dpu_intf0_out>;
3914b32e466SDmitry Baryshkov                    };
3924b32e466SDmitry Baryshkov                };
3934b32e466SDmitry Baryshkov
3944b32e466SDmitry Baryshkov                port@1 {
3954b32e466SDmitry Baryshkov                    reg = <1>;
3964b32e466SDmitry Baryshkov                    dp_out: endpoint { };
3974b32e466SDmitry Baryshkov                };
3984b32e466SDmitry Baryshkov            };
3994b32e466SDmitry Baryshkov
4004b32e466SDmitry Baryshkov            dp_opp_table: opp-table {
4014b32e466SDmitry Baryshkov                compatible = "operating-points-v2";
4024b32e466SDmitry Baryshkov
4034b32e466SDmitry Baryshkov                opp-160000000 {
4044b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <160000000>;
4054b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_low_svs>;
4064b32e466SDmitry Baryshkov                };
4074b32e466SDmitry Baryshkov
4084b32e466SDmitry Baryshkov                opp-270000000 {
4094b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <270000000>;
4104b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs>;
4114b32e466SDmitry Baryshkov                };
4124b32e466SDmitry Baryshkov
4134b32e466SDmitry Baryshkov                opp-540000000 {
4144b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <540000000>;
4154b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_svs_l1>;
4164b32e466SDmitry Baryshkov                };
4174b32e466SDmitry Baryshkov
4184b32e466SDmitry Baryshkov                opp-810000000 {
4194b32e466SDmitry Baryshkov                    opp-hz = /bits/ 64 <810000000>;
4204b32e466SDmitry Baryshkov                    required-opps = <&rpmhpd_opp_nom>;
4214b32e466SDmitry Baryshkov                };
4222c44a993SDmitry Baryshkov            };
4232c44a993SDmitry Baryshkov        };
4242c44a993SDmitry Baryshkov    };
4252c44a993SDmitry Baryshkov...
426