15f62a964SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 25f62a964SEmmanuel Vadot%YAML 1.2 35f62a964SEmmanuel Vadot--- 45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sa8775p-mdss.yaml# 55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65f62a964SEmmanuel Vadot 75f62a964SEmmanuel Vadottitle: Qualcomm Technologies, Inc. SA87755P Display MDSS 85f62a964SEmmanuel Vadot 95f62a964SEmmanuel Vadotmaintainers: 105f62a964SEmmanuel Vadot - Mahadevan <quic_mahap@quicinc.com> 115f62a964SEmmanuel Vadot 125f62a964SEmmanuel Vadotdescription: 135f62a964SEmmanuel Vadot SA8775P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like 145f62a964SEmmanuel Vadot DPU display controller, DP interfaces and EDP etc. 155f62a964SEmmanuel Vadot 165f62a964SEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 175f62a964SEmmanuel Vadot 185f62a964SEmmanuel Vadotproperties: 195f62a964SEmmanuel Vadot compatible: 205f62a964SEmmanuel Vadot const: qcom,sa8775p-mdss 215f62a964SEmmanuel Vadot 225f62a964SEmmanuel Vadot clocks: 235f62a964SEmmanuel Vadot items: 245f62a964SEmmanuel Vadot - description: Display AHB 255f62a964SEmmanuel Vadot - description: Display hf AXI 265f62a964SEmmanuel Vadot - description: Display core 275f62a964SEmmanuel Vadot 285f62a964SEmmanuel Vadot iommus: 295f62a964SEmmanuel Vadot maxItems: 1 305f62a964SEmmanuel Vadot 315f62a964SEmmanuel Vadot interconnects: 325f62a964SEmmanuel Vadot maxItems: 3 335f62a964SEmmanuel Vadot 345f62a964SEmmanuel Vadot interconnect-names: 355f62a964SEmmanuel Vadot maxItems: 3 365f62a964SEmmanuel Vadot 375f62a964SEmmanuel VadotpatternProperties: 385f62a964SEmmanuel Vadot "^display-controller@[0-9a-f]+$": 395f62a964SEmmanuel Vadot type: object 405f62a964SEmmanuel Vadot additionalProperties: true 415f62a964SEmmanuel Vadot 425f62a964SEmmanuel Vadot properties: 435f62a964SEmmanuel Vadot compatible: 445f62a964SEmmanuel Vadot const: qcom,sa8775p-dpu 455f62a964SEmmanuel Vadot 465f62a964SEmmanuel Vadot "^displayport-controller@[0-9a-f]+$": 475f62a964SEmmanuel Vadot type: object 485f62a964SEmmanuel Vadot additionalProperties: true 495f62a964SEmmanuel Vadot 505f62a964SEmmanuel Vadot properties: 515f62a964SEmmanuel Vadot compatible: 525f62a964SEmmanuel Vadot items: 535f62a964SEmmanuel Vadot - const: qcom,sa8775p-dp 545f62a964SEmmanuel Vadot 555f62a964SEmmanuel Vadotrequired: 565f62a964SEmmanuel Vadot - compatible 575f62a964SEmmanuel Vadot 585f62a964SEmmanuel VadotunevaluatedProperties: false 595f62a964SEmmanuel Vadot 605f62a964SEmmanuel Vadotexamples: 615f62a964SEmmanuel Vadot - | 625f62a964SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,icc.h> 635f62a964SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 645f62a964SEmmanuel Vadot #include <dt-bindings/clock/qcom,sa8775p-gcc.h> 655f62a964SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h> 665f62a964SEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 675f62a964SEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 685f62a964SEmmanuel Vadot 695f62a964SEmmanuel Vadot display-subsystem@ae00000 { 705f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-mdss"; 715f62a964SEmmanuel Vadot reg = <0x0ae00000 0x1000>; 725f62a964SEmmanuel Vadot reg-names = "mdss"; 735f62a964SEmmanuel Vadot 745f62a964SEmmanuel Vadot interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>, 755f62a964SEmmanuel Vadot <&mmss_noc MASTER_MDP1 &mc_virt SLAVE_EBI1>, 765f62a964SEmmanuel Vadot <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_DISPLAY_CFG>; 775f62a964SEmmanuel Vadot interconnect-names = "mdp0-mem", 785f62a964SEmmanuel Vadot "mdp1-mem", 795f62a964SEmmanuel Vadot "cpu-cfg"; 805f62a964SEmmanuel Vadot 815f62a964SEmmanuel Vadot resets = <&dispcc_core_bcr>; 825f62a964SEmmanuel Vadot power-domains = <&dispcc_gdsc>; 835f62a964SEmmanuel Vadot 845f62a964SEmmanuel Vadot clocks = <&dispcc_ahb_clk>, 855f62a964SEmmanuel Vadot <&gcc GCC_DISP_HF_AXI_CLK>, 865f62a964SEmmanuel Vadot <&dispcc_mdp_clk>; 875f62a964SEmmanuel Vadot 885f62a964SEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 895f62a964SEmmanuel Vadot interrupt-controller; 905f62a964SEmmanuel Vadot #interrupt-cells = <1>; 915f62a964SEmmanuel Vadot 925f62a964SEmmanuel Vadot iommus = <&apps_smmu 0x1000 0x402>; 935f62a964SEmmanuel Vadot 945f62a964SEmmanuel Vadot #address-cells = <1>; 955f62a964SEmmanuel Vadot #size-cells = <1>; 965f62a964SEmmanuel Vadot ranges; 975f62a964SEmmanuel Vadot 985f62a964SEmmanuel Vadot display-controller@ae01000 { 995f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-dpu"; 1005f62a964SEmmanuel Vadot reg = <0x0ae01000 0x8f000>, 1015f62a964SEmmanuel Vadot <0x0aeb0000 0x2008>; 1025f62a964SEmmanuel Vadot reg-names = "mdp", "vbif"; 1035f62a964SEmmanuel Vadot 1045f62a964SEmmanuel Vadot clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 1055f62a964SEmmanuel Vadot <&dispcc_ahb_clk>, 1065f62a964SEmmanuel Vadot <&dispcc_mdp_lut_clk>, 1075f62a964SEmmanuel Vadot <&dispcc_mdp_clk>, 1085f62a964SEmmanuel Vadot <&dispcc_mdp_vsync_clk>; 1095f62a964SEmmanuel Vadot clock-names = "nrt_bus", 1105f62a964SEmmanuel Vadot "iface", 1115f62a964SEmmanuel Vadot "lut", 1125f62a964SEmmanuel Vadot "core", 1135f62a964SEmmanuel Vadot "vsync"; 1145f62a964SEmmanuel Vadot 1155f62a964SEmmanuel Vadot assigned-clocks = <&dispcc_mdp_vsync_clk>; 1165f62a964SEmmanuel Vadot assigned-clock-rates = <19200000>; 1175f62a964SEmmanuel Vadot 1185f62a964SEmmanuel Vadot operating-points-v2 = <&mdss0_mdp_opp_table>; 1195f62a964SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 1205f62a964SEmmanuel Vadot 1215f62a964SEmmanuel Vadot interrupt-parent = <&mdss0>; 1225f62a964SEmmanuel Vadot interrupts = <0>; 1235f62a964SEmmanuel Vadot 1245f62a964SEmmanuel Vadot ports { 1255f62a964SEmmanuel Vadot #address-cells = <1>; 1265f62a964SEmmanuel Vadot #size-cells = <0>; 1275f62a964SEmmanuel Vadot 1285f62a964SEmmanuel Vadot port@0 { 1295f62a964SEmmanuel Vadot reg = <0>; 1305f62a964SEmmanuel Vadot dpu_intf0_out: endpoint { 1315f62a964SEmmanuel Vadot remote-endpoint = <&mdss0_dp0_in>; 1325f62a964SEmmanuel Vadot }; 1335f62a964SEmmanuel Vadot }; 1345f62a964SEmmanuel Vadot }; 1355f62a964SEmmanuel Vadot 1365f62a964SEmmanuel Vadot mdss0_mdp_opp_table: opp-table { 1375f62a964SEmmanuel Vadot compatible = "operating-points-v2"; 1385f62a964SEmmanuel Vadot 1395f62a964SEmmanuel Vadot opp-375000000 { 1405f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <375000000>; 1415f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 1425f62a964SEmmanuel Vadot }; 1435f62a964SEmmanuel Vadot 1445f62a964SEmmanuel Vadot opp-500000000 { 1455f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <500000000>; 1465f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 1475f62a964SEmmanuel Vadot }; 1485f62a964SEmmanuel Vadot 1495f62a964SEmmanuel Vadot opp-575000000 { 1505f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <575000000>; 1515f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo>; 1525f62a964SEmmanuel Vadot }; 1535f62a964SEmmanuel Vadot 1545f62a964SEmmanuel Vadot opp-650000000 { 1555f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <650000000>; 1565f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo_l1>; 1575f62a964SEmmanuel Vadot }; 1585f62a964SEmmanuel Vadot }; 1595f62a964SEmmanuel Vadot }; 1605f62a964SEmmanuel Vadot 1615f62a964SEmmanuel Vadot displayport-controller@af54000 { 1625f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-dp"; 1635f62a964SEmmanuel Vadot 1645f62a964SEmmanuel Vadot pinctrl-0 = <&dp_hot_plug_det>; 1655f62a964SEmmanuel Vadot pinctrl-names = "default"; 1665f62a964SEmmanuel Vadot 1675f62a964SEmmanuel Vadot reg = <0xaf54000 0x104>, 1685f62a964SEmmanuel Vadot <0xaf54200 0x0c0>, 1695f62a964SEmmanuel Vadot <0xaf55000 0x770>, 170*2846c905SEmmanuel Vadot <0xaf56000 0x09c>, 171*2846c905SEmmanuel Vadot <0xaf57000 0x09c>; 1725f62a964SEmmanuel Vadot 1735f62a964SEmmanuel Vadot interrupt-parent = <&mdss0>; 1745f62a964SEmmanuel Vadot interrupts = <12>; 1755f62a964SEmmanuel Vadot 1765f62a964SEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 1775f62a964SEmmanuel Vadot <&dispcc_dptx0_aux_clk>, 1785f62a964SEmmanuel Vadot <&dispcc_dptx0_link_clk>, 1795f62a964SEmmanuel Vadot <&dispcc_dptx0_link_intf_clk>, 1805f62a964SEmmanuel Vadot <&dispcc_dptx0_pixel0_clk>; 1815f62a964SEmmanuel Vadot clock-names = "core_iface", 1825f62a964SEmmanuel Vadot "core_aux", 1835f62a964SEmmanuel Vadot "ctrl_link", 1845f62a964SEmmanuel Vadot "ctrl_link_iface", 1855f62a964SEmmanuel Vadot "stream_pixel"; 1865f62a964SEmmanuel Vadot 1875f62a964SEmmanuel Vadot assigned-clocks = <&dispcc_mdss_dptx0_link_clk_src>, 1885f62a964SEmmanuel Vadot <&dispcc_mdss_dptx0_pixel0_clk_src>; 1895f62a964SEmmanuel Vadot assigned-clock-parents = <&mdss0_edp_phy 0>, <&mdss0_edp_phy 1>; 1905f62a964SEmmanuel Vadot 1915f62a964SEmmanuel Vadot phys = <&mdss0_edp_phy>; 1925f62a964SEmmanuel Vadot phy-names = "dp"; 1935f62a964SEmmanuel Vadot 1945f62a964SEmmanuel Vadot operating-points-v2 = <&dp_opp_table>; 1955f62a964SEmmanuel Vadot power-domains = <&rpmhpd SA8775P_MMCX>; 1965f62a964SEmmanuel Vadot 1975f62a964SEmmanuel Vadot #sound-dai-cells = <0>; 1985f62a964SEmmanuel Vadot 1995f62a964SEmmanuel Vadot ports { 2005f62a964SEmmanuel Vadot #address-cells = <1>; 2015f62a964SEmmanuel Vadot #size-cells = <0>; 2025f62a964SEmmanuel Vadot 2035f62a964SEmmanuel Vadot port@0 { 2045f62a964SEmmanuel Vadot reg = <0>; 2055f62a964SEmmanuel Vadot mdss0_dp0_in: endpoint { 2065f62a964SEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 2075f62a964SEmmanuel Vadot }; 2085f62a964SEmmanuel Vadot }; 2095f62a964SEmmanuel Vadot 2105f62a964SEmmanuel Vadot port@1 { 2115f62a964SEmmanuel Vadot reg = <1>; 2125f62a964SEmmanuel Vadot mdss0_dp_out: endpoint { }; 2135f62a964SEmmanuel Vadot }; 2145f62a964SEmmanuel Vadot }; 2155f62a964SEmmanuel Vadot 2165f62a964SEmmanuel Vadot dp_opp_table: opp-table { 2175f62a964SEmmanuel Vadot compatible = "operating-points-v2"; 2185f62a964SEmmanuel Vadot 2195f62a964SEmmanuel Vadot opp-160000000 { 2205f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <160000000>; 2215f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 2225f62a964SEmmanuel Vadot }; 2235f62a964SEmmanuel Vadot 2245f62a964SEmmanuel Vadot opp-270000000 { 2255f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <270000000>; 2265f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 2275f62a964SEmmanuel Vadot }; 2285f62a964SEmmanuel Vadot 2295f62a964SEmmanuel Vadot opp-540000000 { 2305f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <540000000>; 2315f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 2325f62a964SEmmanuel Vadot }; 2335f62a964SEmmanuel Vadot 2345f62a964SEmmanuel Vadot opp-810000000 { 2355f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <810000000>; 2365f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 2375f62a964SEmmanuel Vadot }; 2385f62a964SEmmanuel Vadot }; 2395f62a964SEmmanuel Vadot }; 2405f62a964SEmmanuel Vadot }; 2415f62a964SEmmanuel Vadot... 242