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 55*ae5de77eSEmmanuel Vadot "^dsi@[0-9a-f]+$": 56*ae5de77eSEmmanuel Vadot type: object 57*ae5de77eSEmmanuel Vadot additionalProperties: true 58*ae5de77eSEmmanuel Vadot properties: 59*ae5de77eSEmmanuel Vadot compatible: 60*ae5de77eSEmmanuel Vadot contains: 61*ae5de77eSEmmanuel Vadot const: qcom,sa8775p-dsi-ctrl 62*ae5de77eSEmmanuel Vadot 638ccc0d23SEmmanuel Vadot "^phy@[0-9a-f]+$": 648ccc0d23SEmmanuel Vadot type: object 658ccc0d23SEmmanuel Vadot additionalProperties: true 668ccc0d23SEmmanuel Vadot properties: 678ccc0d23SEmmanuel Vadot compatible: 68*ae5de77eSEmmanuel Vadot contains: 69*ae5de77eSEmmanuel Vadot enum: 70*ae5de77eSEmmanuel Vadot - qcom,sa8775p-dsi-phy-5nm 71*ae5de77eSEmmanuel Vadot - qcom,sa8775p-edp-phy 728ccc0d23SEmmanuel Vadot 735f62a964SEmmanuel Vadotrequired: 745f62a964SEmmanuel Vadot - compatible 755f62a964SEmmanuel Vadot 765f62a964SEmmanuel VadotunevaluatedProperties: false 775f62a964SEmmanuel Vadot 785f62a964SEmmanuel Vadotexamples: 795f62a964SEmmanuel Vadot - | 805f62a964SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,icc.h> 815f62a964SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 828ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/qcom,sa8775p-dispcc.h> 835f62a964SEmmanuel Vadot #include <dt-bindings/clock/qcom,sa8775p-gcc.h> 845f62a964SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h> 855f62a964SEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 865f62a964SEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 875f62a964SEmmanuel Vadot 885f62a964SEmmanuel Vadot display-subsystem@ae00000 { 895f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-mdss"; 905f62a964SEmmanuel Vadot reg = <0x0ae00000 0x1000>; 915f62a964SEmmanuel Vadot reg-names = "mdss"; 925f62a964SEmmanuel Vadot 935f62a964SEmmanuel Vadot interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>, 945f62a964SEmmanuel Vadot <&mmss_noc MASTER_MDP1 &mc_virt SLAVE_EBI1>, 955f62a964SEmmanuel Vadot <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_DISPLAY_CFG>; 965f62a964SEmmanuel Vadot interconnect-names = "mdp0-mem", 975f62a964SEmmanuel Vadot "mdp1-mem", 985f62a964SEmmanuel Vadot "cpu-cfg"; 995f62a964SEmmanuel Vadot 1005f62a964SEmmanuel Vadot resets = <&dispcc_core_bcr>; 1015f62a964SEmmanuel Vadot power-domains = <&dispcc_gdsc>; 1025f62a964SEmmanuel Vadot 1035f62a964SEmmanuel Vadot clocks = <&dispcc_ahb_clk>, 1045f62a964SEmmanuel Vadot <&gcc GCC_DISP_HF_AXI_CLK>, 1055f62a964SEmmanuel Vadot <&dispcc_mdp_clk>; 1065f62a964SEmmanuel Vadot 1075f62a964SEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 1085f62a964SEmmanuel Vadot interrupt-controller; 1095f62a964SEmmanuel Vadot #interrupt-cells = <1>; 1105f62a964SEmmanuel Vadot 1115f62a964SEmmanuel Vadot iommus = <&apps_smmu 0x1000 0x402>; 1125f62a964SEmmanuel Vadot 1135f62a964SEmmanuel Vadot #address-cells = <1>; 1145f62a964SEmmanuel Vadot #size-cells = <1>; 1155f62a964SEmmanuel Vadot ranges; 1165f62a964SEmmanuel Vadot 1175f62a964SEmmanuel Vadot display-controller@ae01000 { 1185f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-dpu"; 1195f62a964SEmmanuel Vadot reg = <0x0ae01000 0x8f000>, 1205f62a964SEmmanuel Vadot <0x0aeb0000 0x2008>; 1215f62a964SEmmanuel Vadot reg-names = "mdp", "vbif"; 1225f62a964SEmmanuel Vadot 1235f62a964SEmmanuel Vadot clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 1245f62a964SEmmanuel Vadot <&dispcc_ahb_clk>, 1255f62a964SEmmanuel Vadot <&dispcc_mdp_lut_clk>, 1265f62a964SEmmanuel Vadot <&dispcc_mdp_clk>, 1275f62a964SEmmanuel Vadot <&dispcc_mdp_vsync_clk>; 1285f62a964SEmmanuel Vadot clock-names = "nrt_bus", 1295f62a964SEmmanuel Vadot "iface", 1305f62a964SEmmanuel Vadot "lut", 1315f62a964SEmmanuel Vadot "core", 1325f62a964SEmmanuel Vadot "vsync"; 1335f62a964SEmmanuel Vadot 1345f62a964SEmmanuel Vadot assigned-clocks = <&dispcc_mdp_vsync_clk>; 1355f62a964SEmmanuel Vadot assigned-clock-rates = <19200000>; 1365f62a964SEmmanuel Vadot 1375f62a964SEmmanuel Vadot operating-points-v2 = <&mdss0_mdp_opp_table>; 1385f62a964SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 1395f62a964SEmmanuel Vadot 1405f62a964SEmmanuel Vadot interrupt-parent = <&mdss0>; 1415f62a964SEmmanuel Vadot interrupts = <0>; 1425f62a964SEmmanuel Vadot 1435f62a964SEmmanuel Vadot ports { 1445f62a964SEmmanuel Vadot #address-cells = <1>; 1455f62a964SEmmanuel Vadot #size-cells = <0>; 1465f62a964SEmmanuel Vadot 1475f62a964SEmmanuel Vadot port@0 { 1485f62a964SEmmanuel Vadot reg = <0>; 1495f62a964SEmmanuel Vadot dpu_intf0_out: endpoint { 1505f62a964SEmmanuel Vadot remote-endpoint = <&mdss0_dp0_in>; 1515f62a964SEmmanuel Vadot }; 1525f62a964SEmmanuel Vadot }; 153*ae5de77eSEmmanuel Vadot 154*ae5de77eSEmmanuel Vadot port@1 { 155*ae5de77eSEmmanuel Vadot reg = <1>; 156*ae5de77eSEmmanuel Vadot dpu_intf1_out: endpoint { 157*ae5de77eSEmmanuel Vadot remote-endpoint = <&mdss0_dsi0_in>; 158*ae5de77eSEmmanuel Vadot }; 159*ae5de77eSEmmanuel Vadot }; 160*ae5de77eSEmmanuel Vadot 161*ae5de77eSEmmanuel Vadot port@2 { 162*ae5de77eSEmmanuel Vadot reg = <2>; 163*ae5de77eSEmmanuel Vadot dpu_intf2_out: endpoint { 164*ae5de77eSEmmanuel Vadot remote-endpoint = <&mdss0_dsi1_in>; 165*ae5de77eSEmmanuel Vadot }; 166*ae5de77eSEmmanuel Vadot }; 1675f62a964SEmmanuel Vadot }; 1685f62a964SEmmanuel Vadot 1695f62a964SEmmanuel Vadot mdss0_mdp_opp_table: opp-table { 1705f62a964SEmmanuel Vadot compatible = "operating-points-v2"; 1715f62a964SEmmanuel Vadot 1725f62a964SEmmanuel Vadot opp-375000000 { 1735f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <375000000>; 1745f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 1755f62a964SEmmanuel Vadot }; 1765f62a964SEmmanuel Vadot 1775f62a964SEmmanuel Vadot opp-500000000 { 1785f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <500000000>; 1795f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 1805f62a964SEmmanuel Vadot }; 1815f62a964SEmmanuel Vadot 1825f62a964SEmmanuel Vadot opp-575000000 { 1835f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <575000000>; 1845f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo>; 1855f62a964SEmmanuel Vadot }; 1865f62a964SEmmanuel Vadot 1875f62a964SEmmanuel Vadot opp-650000000 { 1885f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <650000000>; 1895f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo_l1>; 1905f62a964SEmmanuel Vadot }; 1915f62a964SEmmanuel Vadot }; 1925f62a964SEmmanuel Vadot }; 1935f62a964SEmmanuel Vadot 1948ccc0d23SEmmanuel Vadot mdss0_dp0_phy: phy@aec2a00 { 1958ccc0d23SEmmanuel Vadot compatible = "qcom,sa8775p-edp-phy"; 1968ccc0d23SEmmanuel Vadot 1978ccc0d23SEmmanuel Vadot reg = <0x0aec2a00 0x200>, 1988ccc0d23SEmmanuel Vadot <0x0aec2200 0xd0>, 1998ccc0d23SEmmanuel Vadot <0x0aec2600 0xd0>, 2008ccc0d23SEmmanuel Vadot <0x0aec2000 0x1c8>; 2018ccc0d23SEmmanuel Vadot 2028ccc0d23SEmmanuel Vadot clocks = <&dispcc0 MDSS_DISP_CC_MDSS_DPTX0_AUX_CLK>, 2038ccc0d23SEmmanuel Vadot <&dispcc0 MDSS_DISP_CC_MDSS_AHB_CLK>; 2048ccc0d23SEmmanuel Vadot clock-names = "aux", 2058ccc0d23SEmmanuel Vadot "cfg_ahb"; 2068ccc0d23SEmmanuel Vadot 2078ccc0d23SEmmanuel Vadot #clock-cells = <1>; 2088ccc0d23SEmmanuel Vadot #phy-cells = <0>; 2098ccc0d23SEmmanuel Vadot 2108ccc0d23SEmmanuel Vadot vdda-phy-supply = <&vreg_l1c>; 2118ccc0d23SEmmanuel Vadot vdda-pll-supply = <&vreg_l4a>; 2128ccc0d23SEmmanuel Vadot }; 2138ccc0d23SEmmanuel Vadot 214*ae5de77eSEmmanuel Vadot dsi@ae94000 { 215*ae5de77eSEmmanuel Vadot compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 216*ae5de77eSEmmanuel Vadot reg = <0x0ae94000 0x400>; 217*ae5de77eSEmmanuel Vadot reg-names = "dsi_ctrl"; 218*ae5de77eSEmmanuel Vadot 219*ae5de77eSEmmanuel Vadot interrupt-parent = <&mdss>; 220*ae5de77eSEmmanuel Vadot interrupts = <4>; 221*ae5de77eSEmmanuel Vadot 222*ae5de77eSEmmanuel Vadot clocks = <&dispc_byte_clk>, 223*ae5de77eSEmmanuel Vadot <&dispcc_intf_clk>, 224*ae5de77eSEmmanuel Vadot <&dispcc_pclk>, 225*ae5de77eSEmmanuel Vadot <&dispcc_esc_clk>, 226*ae5de77eSEmmanuel Vadot <&dispcc_ahb_clk>, 227*ae5de77eSEmmanuel Vadot <&gcc_bus_clk>; 228*ae5de77eSEmmanuel Vadot clock-names = "byte", 229*ae5de77eSEmmanuel Vadot "byte_intf", 230*ae5de77eSEmmanuel Vadot "pixel", 231*ae5de77eSEmmanuel Vadot "core", 232*ae5de77eSEmmanuel Vadot "iface", 233*ae5de77eSEmmanuel Vadot "bus"; 234*ae5de77eSEmmanuel Vadot assigned-clocks = <&dispcc_byte_clk>, 235*ae5de77eSEmmanuel Vadot <&dispcc_pclk>; 236*ae5de77eSEmmanuel Vadot assigned-clock-parents = <&mdss0_dsi0_phy 0>, <&mdss0_dsi0_phy 1>; 237*ae5de77eSEmmanuel Vadot phys = <&mdss0_dsi0_phy>; 238*ae5de77eSEmmanuel Vadot 239*ae5de77eSEmmanuel Vadot operating-points-v2 = <&dsi0_opp_table>; 240*ae5de77eSEmmanuel Vadot power-domains = <&rpmhpd SA8775P_MMCX>; 241*ae5de77eSEmmanuel Vadot 242*ae5de77eSEmmanuel Vadot #address-cells = <1>; 243*ae5de77eSEmmanuel Vadot #size-cells = <0>; 244*ae5de77eSEmmanuel Vadot 245*ae5de77eSEmmanuel Vadot ports { 246*ae5de77eSEmmanuel Vadot #address-cells = <1>; 247*ae5de77eSEmmanuel Vadot #size-cells = <0>; 248*ae5de77eSEmmanuel Vadot 249*ae5de77eSEmmanuel Vadot port@0 { 250*ae5de77eSEmmanuel Vadot reg = <0>; 251*ae5de77eSEmmanuel Vadot mdss0_dsi0_in: endpoint { 252*ae5de77eSEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 253*ae5de77eSEmmanuel Vadot }; 254*ae5de77eSEmmanuel Vadot }; 255*ae5de77eSEmmanuel Vadot 256*ae5de77eSEmmanuel Vadot port@1 { 257*ae5de77eSEmmanuel Vadot reg = <1>; 258*ae5de77eSEmmanuel Vadot mdss0_dsi0_out: endpoint { }; 259*ae5de77eSEmmanuel Vadot }; 260*ae5de77eSEmmanuel Vadot }; 261*ae5de77eSEmmanuel Vadot 262*ae5de77eSEmmanuel Vadot dsi0_opp_table: opp-table { 263*ae5de77eSEmmanuel Vadot compatible = "operating-points-v2"; 264*ae5de77eSEmmanuel Vadot 265*ae5de77eSEmmanuel Vadot opp-358000000 { 266*ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <358000000>; 267*ae5de77eSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 268*ae5de77eSEmmanuel Vadot }; 269*ae5de77eSEmmanuel Vadot }; 270*ae5de77eSEmmanuel Vadot }; 271*ae5de77eSEmmanuel Vadot 272*ae5de77eSEmmanuel Vadot mdss0_dsi0_phy: phy@ae94400 { 273*ae5de77eSEmmanuel Vadot compatible = "qcom,sa8775p-dsi-phy-5nm"; 274*ae5de77eSEmmanuel Vadot reg = <0x0ae94400 0x200>, 275*ae5de77eSEmmanuel Vadot <0x0ae94600 0x280>, 276*ae5de77eSEmmanuel Vadot <0x0ae94900 0x27c>; 277*ae5de77eSEmmanuel Vadot reg-names = "dsi_phy", 278*ae5de77eSEmmanuel Vadot "dsi_phy_lane", 279*ae5de77eSEmmanuel Vadot "dsi_pll"; 280*ae5de77eSEmmanuel Vadot 281*ae5de77eSEmmanuel Vadot #clock-cells = <1>; 282*ae5de77eSEmmanuel Vadot #phy-cells = <0>; 283*ae5de77eSEmmanuel Vadot 284*ae5de77eSEmmanuel Vadot clocks = <&dispcc_iface_clk>, 285*ae5de77eSEmmanuel Vadot <&rpmhcc_ref_clk>; 286*ae5de77eSEmmanuel Vadot clock-names = "iface", "ref"; 287*ae5de77eSEmmanuel Vadot 288*ae5de77eSEmmanuel Vadot vdds-supply = <&vreg_dsi_supply>; 289*ae5de77eSEmmanuel Vadot }; 290*ae5de77eSEmmanuel Vadot 291*ae5de77eSEmmanuel Vadot dsi@ae96000 { 292*ae5de77eSEmmanuel Vadot compatible = "qcom,sa8775p-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 293*ae5de77eSEmmanuel Vadot reg = <0x0ae96000 0x400>; 294*ae5de77eSEmmanuel Vadot reg-names = "dsi_ctrl"; 295*ae5de77eSEmmanuel Vadot 296*ae5de77eSEmmanuel Vadot interrupt-parent = <&mdss>; 297*ae5de77eSEmmanuel Vadot interrupts = <4>; 298*ae5de77eSEmmanuel Vadot 299*ae5de77eSEmmanuel Vadot clocks = <&dispc_byte_clk>, 300*ae5de77eSEmmanuel Vadot <&dispcc_intf_clk>, 301*ae5de77eSEmmanuel Vadot <&dispcc_pclk>, 302*ae5de77eSEmmanuel Vadot <&dispcc_esc_clk>, 303*ae5de77eSEmmanuel Vadot <&dispcc_ahb_clk>, 304*ae5de77eSEmmanuel Vadot <&gcc_bus_clk>; 305*ae5de77eSEmmanuel Vadot clock-names = "byte", 306*ae5de77eSEmmanuel Vadot "byte_intf", 307*ae5de77eSEmmanuel Vadot "pixel", 308*ae5de77eSEmmanuel Vadot "core", 309*ae5de77eSEmmanuel Vadot "iface", 310*ae5de77eSEmmanuel Vadot "bus"; 311*ae5de77eSEmmanuel Vadot assigned-clocks = <&dispcc_byte_clk>, 312*ae5de77eSEmmanuel Vadot <&dispcc_pclk>; 313*ae5de77eSEmmanuel Vadot assigned-clock-parents = <&mdss0_dsi1_phy 0>, <&mdss0_dsi1_phy 1>; 314*ae5de77eSEmmanuel Vadot phys = <&mdss0_dsi1_phy>; 315*ae5de77eSEmmanuel Vadot 316*ae5de77eSEmmanuel Vadot operating-points-v2 = <&dsi1_opp_table>; 317*ae5de77eSEmmanuel Vadot power-domains = <&rpmhpd SA8775P_MMCX>; 318*ae5de77eSEmmanuel Vadot 319*ae5de77eSEmmanuel Vadot #address-cells = <1>; 320*ae5de77eSEmmanuel Vadot #size-cells = <0>; 321*ae5de77eSEmmanuel Vadot 322*ae5de77eSEmmanuel Vadot ports { 323*ae5de77eSEmmanuel Vadot #address-cells = <1>; 324*ae5de77eSEmmanuel Vadot #size-cells = <0>; 325*ae5de77eSEmmanuel Vadot 326*ae5de77eSEmmanuel Vadot port@0 { 327*ae5de77eSEmmanuel Vadot reg = <0>; 328*ae5de77eSEmmanuel Vadot mdss0_dsi1_in: endpoint { 329*ae5de77eSEmmanuel Vadot remote-endpoint = <&dpu_intf2_out>; 330*ae5de77eSEmmanuel Vadot }; 331*ae5de77eSEmmanuel Vadot }; 332*ae5de77eSEmmanuel Vadot 333*ae5de77eSEmmanuel Vadot port@1 { 334*ae5de77eSEmmanuel Vadot reg = <1>; 335*ae5de77eSEmmanuel Vadot mdss0_dsi1_out: endpoint { }; 336*ae5de77eSEmmanuel Vadot }; 337*ae5de77eSEmmanuel Vadot }; 338*ae5de77eSEmmanuel Vadot 339*ae5de77eSEmmanuel Vadot dsi1_opp_table: opp-table { 340*ae5de77eSEmmanuel Vadot compatible = "operating-points-v2"; 341*ae5de77eSEmmanuel Vadot 342*ae5de77eSEmmanuel Vadot opp-358000000 { 343*ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <358000000>; 344*ae5de77eSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 345*ae5de77eSEmmanuel Vadot }; 346*ae5de77eSEmmanuel Vadot }; 347*ae5de77eSEmmanuel Vadot }; 348*ae5de77eSEmmanuel Vadot 349*ae5de77eSEmmanuel Vadot mdss0_dsi1_phy: phy@ae96400 { 350*ae5de77eSEmmanuel Vadot compatible = "qcom,sa8775p-dsi-phy-5nm"; 351*ae5de77eSEmmanuel Vadot reg = <0x0ae96400 0x200>, 352*ae5de77eSEmmanuel Vadot <0x0ae96600 0x280>, 353*ae5de77eSEmmanuel Vadot <0x0ae96900 0x27c>; 354*ae5de77eSEmmanuel Vadot reg-names = "dsi_phy", 355*ae5de77eSEmmanuel Vadot "dsi_phy_lane", 356*ae5de77eSEmmanuel Vadot "dsi_pll"; 357*ae5de77eSEmmanuel Vadot 358*ae5de77eSEmmanuel Vadot #clock-cells = <1>; 359*ae5de77eSEmmanuel Vadot #phy-cells = <0>; 360*ae5de77eSEmmanuel Vadot 361*ae5de77eSEmmanuel Vadot clocks = <&dispcc_iface_clk>, 362*ae5de77eSEmmanuel Vadot <&rpmhcc_ref_clk>; 363*ae5de77eSEmmanuel Vadot clock-names = "iface", "ref"; 364*ae5de77eSEmmanuel Vadot 365*ae5de77eSEmmanuel Vadot vdds-supply = <&vreg_dsi_supply>; 366*ae5de77eSEmmanuel Vadot }; 367*ae5de77eSEmmanuel Vadot 3685f62a964SEmmanuel Vadot displayport-controller@af54000 { 3695f62a964SEmmanuel Vadot compatible = "qcom,sa8775p-dp"; 3705f62a964SEmmanuel Vadot 3715f62a964SEmmanuel Vadot pinctrl-0 = <&dp_hot_plug_det>; 3725f62a964SEmmanuel Vadot pinctrl-names = "default"; 3735f62a964SEmmanuel Vadot 3745f62a964SEmmanuel Vadot reg = <0xaf54000 0x104>, 3755f62a964SEmmanuel Vadot <0xaf54200 0x0c0>, 3765f62a964SEmmanuel Vadot <0xaf55000 0x770>, 3772846c905SEmmanuel Vadot <0xaf56000 0x09c>, 3782846c905SEmmanuel Vadot <0xaf57000 0x09c>; 3795f62a964SEmmanuel Vadot 3805f62a964SEmmanuel Vadot interrupt-parent = <&mdss0>; 3815f62a964SEmmanuel Vadot interrupts = <12>; 3825f62a964SEmmanuel Vadot 3835f62a964SEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 3845f62a964SEmmanuel Vadot <&dispcc_dptx0_aux_clk>, 3855f62a964SEmmanuel Vadot <&dispcc_dptx0_link_clk>, 3865f62a964SEmmanuel Vadot <&dispcc_dptx0_link_intf_clk>, 3875f62a964SEmmanuel Vadot <&dispcc_dptx0_pixel0_clk>; 3885f62a964SEmmanuel Vadot clock-names = "core_iface", 3895f62a964SEmmanuel Vadot "core_aux", 3905f62a964SEmmanuel Vadot "ctrl_link", 3915f62a964SEmmanuel Vadot "ctrl_link_iface", 3925f62a964SEmmanuel Vadot "stream_pixel"; 3935f62a964SEmmanuel Vadot 3945f62a964SEmmanuel Vadot assigned-clocks = <&dispcc_mdss_dptx0_link_clk_src>, 3955f62a964SEmmanuel Vadot <&dispcc_mdss_dptx0_pixel0_clk_src>; 3968ccc0d23SEmmanuel Vadot assigned-clock-parents = <&mdss0_dp0_phy 0>, <&mdss0_dp0_phy 1>; 3975f62a964SEmmanuel Vadot 3988ccc0d23SEmmanuel Vadot phys = <&mdss0_dp0_phy>; 3995f62a964SEmmanuel Vadot phy-names = "dp"; 4005f62a964SEmmanuel Vadot 4015f62a964SEmmanuel Vadot operating-points-v2 = <&dp_opp_table>; 4025f62a964SEmmanuel Vadot power-domains = <&rpmhpd SA8775P_MMCX>; 4035f62a964SEmmanuel Vadot 4045f62a964SEmmanuel Vadot #sound-dai-cells = <0>; 4055f62a964SEmmanuel Vadot 4065f62a964SEmmanuel Vadot ports { 4075f62a964SEmmanuel Vadot #address-cells = <1>; 4085f62a964SEmmanuel Vadot #size-cells = <0>; 4095f62a964SEmmanuel Vadot 4105f62a964SEmmanuel Vadot port@0 { 4115f62a964SEmmanuel Vadot reg = <0>; 4125f62a964SEmmanuel Vadot mdss0_dp0_in: endpoint { 4135f62a964SEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 4145f62a964SEmmanuel Vadot }; 4155f62a964SEmmanuel Vadot }; 4165f62a964SEmmanuel Vadot 4175f62a964SEmmanuel Vadot port@1 { 4185f62a964SEmmanuel Vadot reg = <1>; 4195f62a964SEmmanuel Vadot mdss0_dp_out: endpoint { }; 4205f62a964SEmmanuel Vadot }; 4215f62a964SEmmanuel Vadot }; 4225f62a964SEmmanuel Vadot 4235f62a964SEmmanuel Vadot dp_opp_table: opp-table { 4245f62a964SEmmanuel Vadot compatible = "operating-points-v2"; 4255f62a964SEmmanuel Vadot 4265f62a964SEmmanuel Vadot opp-160000000 { 4275f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <160000000>; 4285f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 4295f62a964SEmmanuel Vadot }; 4305f62a964SEmmanuel Vadot 4315f62a964SEmmanuel Vadot opp-270000000 { 4325f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <270000000>; 4335f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 4345f62a964SEmmanuel Vadot }; 4355f62a964SEmmanuel Vadot 4365f62a964SEmmanuel Vadot opp-540000000 { 4375f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <540000000>; 4385f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 4395f62a964SEmmanuel Vadot }; 4405f62a964SEmmanuel Vadot 4415f62a964SEmmanuel Vadot opp-810000000 { 4425f62a964SEmmanuel Vadot opp-hz = /bits/ 64 <810000000>; 4435f62a964SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 4445f62a964SEmmanuel Vadot }; 4455f62a964SEmmanuel Vadot }; 4465f62a964SEmmanuel Vadot }; 4475f62a964SEmmanuel Vadot }; 4485f62a964SEmmanuel Vadot... 449