1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*0e8011faSEmmanuel Vadot%YAML 1.2 3*0e8011faSEmmanuel Vadot--- 4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sm7150-mdss.yaml# 5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadottitle: Qualcomm SM7150 Display MDSS 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadotmaintainers: 10*0e8011faSEmmanuel Vadot - Danila Tikhonov <danila@jiaxyga.com> 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadotdescription: 13*0e8011faSEmmanuel Vadot SM7150 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like 14*0e8011faSEmmanuel Vadot DPU display controller, DSI and DP interfaces etc. 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 17*0e8011faSEmmanuel Vadot 18*0e8011faSEmmanuel Vadotproperties: 19*0e8011faSEmmanuel Vadot compatible: 20*0e8011faSEmmanuel Vadot const: qcom,sm7150-mdss 21*0e8011faSEmmanuel Vadot 22*0e8011faSEmmanuel Vadot clocks: 23*0e8011faSEmmanuel Vadot items: 24*0e8011faSEmmanuel Vadot - description: Display ahb clock from gcc 25*0e8011faSEmmanuel Vadot - description: Display hf axi clock 26*0e8011faSEmmanuel Vadot - description: Display sf axi clock 27*0e8011faSEmmanuel Vadot - description: Display core clock 28*0e8011faSEmmanuel Vadot 29*0e8011faSEmmanuel Vadot clock-names: 30*0e8011faSEmmanuel Vadot items: 31*0e8011faSEmmanuel Vadot - const: iface 32*0e8011faSEmmanuel Vadot - const: bus 33*0e8011faSEmmanuel Vadot - const: nrt_bus 34*0e8011faSEmmanuel Vadot - const: core 35*0e8011faSEmmanuel Vadot 36*0e8011faSEmmanuel Vadot iommus: 37*0e8011faSEmmanuel Vadot maxItems: 1 38*0e8011faSEmmanuel Vadot 39*0e8011faSEmmanuel Vadot interconnects: 40*0e8011faSEmmanuel Vadot items: 41*0e8011faSEmmanuel Vadot - description: Interconnect path from mdp0 port to the data bus 42*0e8011faSEmmanuel Vadot - description: Interconnect path from mdp1 port to the data bus 43*0e8011faSEmmanuel Vadot - description: Interconnect path from CPU to the reg bus 44*0e8011faSEmmanuel Vadot 45*0e8011faSEmmanuel Vadot interconnect-names: 46*0e8011faSEmmanuel Vadot items: 47*0e8011faSEmmanuel Vadot - const: mdp0-mem 48*0e8011faSEmmanuel Vadot - const: mdp1-mem 49*0e8011faSEmmanuel Vadot - const: cpu-cfg 50*0e8011faSEmmanuel Vadot 51*0e8011faSEmmanuel VadotpatternProperties: 52*0e8011faSEmmanuel Vadot "^display-controller@[0-9a-f]+$": 53*0e8011faSEmmanuel Vadot type: object 54*0e8011faSEmmanuel Vadot additionalProperties: true 55*0e8011faSEmmanuel Vadot properties: 56*0e8011faSEmmanuel Vadot compatible: 57*0e8011faSEmmanuel Vadot const: qcom,sm7150-dpu 58*0e8011faSEmmanuel Vadot 59*0e8011faSEmmanuel Vadot "^displayport-controller@[0-9a-f]+$": 60*0e8011faSEmmanuel Vadot type: object 61*0e8011faSEmmanuel Vadot additionalProperties: true 62*0e8011faSEmmanuel Vadot properties: 63*0e8011faSEmmanuel Vadot compatible: 64*0e8011faSEmmanuel Vadot const: qcom,sm7150-dp 65*0e8011faSEmmanuel Vadot 66*0e8011faSEmmanuel Vadot "^dsi@[0-9a-f]+$": 67*0e8011faSEmmanuel Vadot type: object 68*0e8011faSEmmanuel Vadot additionalProperties: true 69*0e8011faSEmmanuel Vadot properties: 70*0e8011faSEmmanuel Vadot compatible: 71*0e8011faSEmmanuel Vadot items: 72*0e8011faSEmmanuel Vadot - const: qcom,sm7150-dsi-ctrl 73*0e8011faSEmmanuel Vadot - const: qcom,mdss-dsi-ctrl 74*0e8011faSEmmanuel Vadot 75*0e8011faSEmmanuel Vadot "^phy@[0-9a-f]+$": 76*0e8011faSEmmanuel Vadot type: object 77*0e8011faSEmmanuel Vadot additionalProperties: true 78*0e8011faSEmmanuel Vadot properties: 79*0e8011faSEmmanuel Vadot compatible: 80*0e8011faSEmmanuel Vadot const: qcom,dsi-phy-10nm 81*0e8011faSEmmanuel Vadot 82*0e8011faSEmmanuel Vadotrequired: 83*0e8011faSEmmanuel Vadot - compatible 84*0e8011faSEmmanuel Vadot 85*0e8011faSEmmanuel VadotunevaluatedProperties: false 86*0e8011faSEmmanuel Vadot 87*0e8011faSEmmanuel Vadotexamples: 88*0e8011faSEmmanuel Vadot - | 89*0e8011faSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 90*0e8011faSEmmanuel Vadot #include <dt-bindings/interconnect/qcom,icc.h> 91*0e8011faSEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sm7150-rpmh.h> 92*0e8011faSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 93*0e8011faSEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 94*0e8011faSEmmanuel Vadot 95*0e8011faSEmmanuel Vadot display-subsystem@ae00000 { 96*0e8011faSEmmanuel Vadot compatible = "qcom,sm7150-mdss"; 97*0e8011faSEmmanuel Vadot reg = <0x0ae00000 0x1000>; 98*0e8011faSEmmanuel Vadot reg-names = "mdss"; 99*0e8011faSEmmanuel Vadot 100*0e8011faSEmmanuel Vadot power-domains = <&dispcc_mdss_gdsc>; 101*0e8011faSEmmanuel Vadot 102*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 103*0e8011faSEmmanuel Vadot <&gcc_disp_hf_axi_clk>, 104*0e8011faSEmmanuel Vadot <&gcc_disp_sf_axi_clk>, 105*0e8011faSEmmanuel Vadot <&dispcc_mdss_mdp_clk>; 106*0e8011faSEmmanuel Vadot clock-names = "iface", 107*0e8011faSEmmanuel Vadot "bus", 108*0e8011faSEmmanuel Vadot "nrt_bus", 109*0e8011faSEmmanuel Vadot "core"; 110*0e8011faSEmmanuel Vadot 111*0e8011faSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 112*0e8011faSEmmanuel Vadot interrupt-controller; 113*0e8011faSEmmanuel Vadot #interrupt-cells = <1>; 114*0e8011faSEmmanuel Vadot 115*0e8011faSEmmanuel Vadot interconnects = <&mmss_noc MASTER_MDP_PORT0 QCOM_ICC_TAG_ALWAYS 116*0e8011faSEmmanuel Vadot &mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>, 117*0e8011faSEmmanuel Vadot <&mmss_noc MASTER_MDP_PORT1 QCOM_ICC_TAG_ALWAYS 118*0e8011faSEmmanuel Vadot &mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>, 119*0e8011faSEmmanuel Vadot <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY 120*0e8011faSEmmanuel Vadot &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>; 121*0e8011faSEmmanuel Vadot interconnect-names = "mdp0-mem", 122*0e8011faSEmmanuel Vadot "mdp1-mem", 123*0e8011faSEmmanuel Vadot "cpu-cfg"; 124*0e8011faSEmmanuel Vadot 125*0e8011faSEmmanuel Vadot iommus = <&apps_smmu 0x800 0x440>; 126*0e8011faSEmmanuel Vadot 127*0e8011faSEmmanuel Vadot #address-cells = <1>; 128*0e8011faSEmmanuel Vadot #size-cells = <1>; 129*0e8011faSEmmanuel Vadot ranges; 130*0e8011faSEmmanuel Vadot 131*0e8011faSEmmanuel Vadot display-controller@ae01000 { 132*0e8011faSEmmanuel Vadot compatible = "qcom,sm7150-dpu"; 133*0e8011faSEmmanuel Vadot reg = <0x0ae01000 0x8f000>, 134*0e8011faSEmmanuel Vadot <0x0aeb0000 0x2008>; 135*0e8011faSEmmanuel Vadot reg-names = "mdp", "vbif"; 136*0e8011faSEmmanuel Vadot 137*0e8011faSEmmanuel Vadot clocks = <&gcc_disp_hf_axi_clk>, 138*0e8011faSEmmanuel Vadot <&dispcc_mdss_ahb_clk>, 139*0e8011faSEmmanuel Vadot <&dispcc_mdss_rot_clk>, 140*0e8011faSEmmanuel Vadot <&dispcc_mdss_mdp_lut_clk>, 141*0e8011faSEmmanuel Vadot <&dispcc_mdss_mdp_clk>, 142*0e8011faSEmmanuel Vadot <&dispcc_mdss_vsync_clk>; 143*0e8011faSEmmanuel Vadot clock-names = "bus", 144*0e8011faSEmmanuel Vadot "iface", 145*0e8011faSEmmanuel Vadot "rot", 146*0e8011faSEmmanuel Vadot "lut", 147*0e8011faSEmmanuel Vadot "core", 148*0e8011faSEmmanuel Vadot "vsync"; 149*0e8011faSEmmanuel Vadot 150*0e8011faSEmmanuel Vadot assigned-clocks = <&dispcc_mdss_vsync_clk>; 151*0e8011faSEmmanuel Vadot assigned-clock-rates = <19200000>; 152*0e8011faSEmmanuel Vadot 153*0e8011faSEmmanuel Vadot operating-points-v2 = <&mdp_opp_table>; 154*0e8011faSEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_CX>; 155*0e8011faSEmmanuel Vadot 156*0e8011faSEmmanuel Vadot interrupt-parent = <&mdss>; 157*0e8011faSEmmanuel Vadot interrupts = <0>; 158*0e8011faSEmmanuel Vadot 159*0e8011faSEmmanuel Vadot ports { 160*0e8011faSEmmanuel Vadot #address-cells = <1>; 161*0e8011faSEmmanuel Vadot #size-cells = <0>; 162*0e8011faSEmmanuel Vadot 163*0e8011faSEmmanuel Vadot port@0 { 164*0e8011faSEmmanuel Vadot reg = <0>; 165*0e8011faSEmmanuel Vadot dpu_intf1_out: endpoint { 166*0e8011faSEmmanuel Vadot remote-endpoint = <&mdss_dsi0_in>; 167*0e8011faSEmmanuel Vadot }; 168*0e8011faSEmmanuel Vadot }; 169*0e8011faSEmmanuel Vadot 170*0e8011faSEmmanuel Vadot port@1 { 171*0e8011faSEmmanuel Vadot reg = <1>; 172*0e8011faSEmmanuel Vadot dpu_intf2_out: endpoint { 173*0e8011faSEmmanuel Vadot remote-endpoint = <&mdss_dsi1_in>; 174*0e8011faSEmmanuel Vadot }; 175*0e8011faSEmmanuel Vadot }; 176*0e8011faSEmmanuel Vadot 177*0e8011faSEmmanuel Vadot port@2 { 178*0e8011faSEmmanuel Vadot reg = <2>; 179*0e8011faSEmmanuel Vadot dpu_intf0_out: endpoint { 180*0e8011faSEmmanuel Vadot remote-endpoint = <&dp_in>; 181*0e8011faSEmmanuel Vadot }; 182*0e8011faSEmmanuel Vadot }; 183*0e8011faSEmmanuel Vadot }; 184*0e8011faSEmmanuel Vadot 185*0e8011faSEmmanuel Vadot mdp_opp_table: opp-table { 186*0e8011faSEmmanuel Vadot compatible = "operating-points-v2"; 187*0e8011faSEmmanuel Vadot 188*0e8011faSEmmanuel Vadot opp-19200000 { 189*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <19200000>; 190*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_min_svs>; 191*0e8011faSEmmanuel Vadot }; 192*0e8011faSEmmanuel Vadot 193*0e8011faSEmmanuel Vadot opp-200000000 { 194*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <200000000>; 195*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 196*0e8011faSEmmanuel Vadot }; 197*0e8011faSEmmanuel Vadot 198*0e8011faSEmmanuel Vadot opp-300000000 { 199*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <300000000>; 200*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 201*0e8011faSEmmanuel Vadot }; 202*0e8011faSEmmanuel Vadot 203*0e8011faSEmmanuel Vadot opp-344000000 { 204*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <344000000>; 205*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 206*0e8011faSEmmanuel Vadot }; 207*0e8011faSEmmanuel Vadot 208*0e8011faSEmmanuel Vadot opp-430000000 { 209*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <430000000>; 210*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 211*0e8011faSEmmanuel Vadot }; 212*0e8011faSEmmanuel Vadot }; 213*0e8011faSEmmanuel Vadot }; 214*0e8011faSEmmanuel Vadot 215*0e8011faSEmmanuel Vadot dsi@ae94000 { 216*0e8011faSEmmanuel Vadot compatible = "qcom,sm7150-dsi-ctrl", 217*0e8011faSEmmanuel Vadot "qcom,mdss-dsi-ctrl"; 218*0e8011faSEmmanuel Vadot reg = <0x0ae94000 0x400>; 219*0e8011faSEmmanuel Vadot reg-names = "dsi_ctrl"; 220*0e8011faSEmmanuel Vadot 221*0e8011faSEmmanuel Vadot interrupt-parent = <&mdss>; 222*0e8011faSEmmanuel Vadot interrupts = <4>; 223*0e8011faSEmmanuel Vadot 224*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_byte0_clk>, 225*0e8011faSEmmanuel Vadot <&dispcc_mdss_byte0_intf_clk>, 226*0e8011faSEmmanuel Vadot <&dispcc_mdss_pclk0_clk>, 227*0e8011faSEmmanuel Vadot <&dispcc_mdss_esc0_clk>, 228*0e8011faSEmmanuel Vadot <&dispcc_mdss_ahb_clk>, 229*0e8011faSEmmanuel Vadot <&gcc_disp_hf_axi_clk>; 230*0e8011faSEmmanuel Vadot clock-names = "byte", 231*0e8011faSEmmanuel Vadot "byte_intf", 232*0e8011faSEmmanuel Vadot "pixel", 233*0e8011faSEmmanuel Vadot "core", 234*0e8011faSEmmanuel Vadot "iface", 235*0e8011faSEmmanuel Vadot "bus"; 236*0e8011faSEmmanuel Vadot 237*0e8011faSEmmanuel Vadot assigned-clocks = <&dispcc_mdss_byte0_clk_src>, 238*0e8011faSEmmanuel Vadot <&dispcc_mdss_pclk0_clk_src>; 239*0e8011faSEmmanuel Vadot assigned-clock-parents = <&mdss_dsi0_phy 0>, 240*0e8011faSEmmanuel Vadot <&mdss_dsi0_phy 1>; 241*0e8011faSEmmanuel Vadot 242*0e8011faSEmmanuel Vadot operating-points-v2 = <&dsi_opp_table>; 243*0e8011faSEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_CX>; 244*0e8011faSEmmanuel Vadot 245*0e8011faSEmmanuel Vadot phys = <&mdss_dsi0_phy>; 246*0e8011faSEmmanuel Vadot phy-names = "dsi"; 247*0e8011faSEmmanuel Vadot 248*0e8011faSEmmanuel Vadot #address-cells = <1>; 249*0e8011faSEmmanuel Vadot #size-cells = <0>; 250*0e8011faSEmmanuel Vadot 251*0e8011faSEmmanuel Vadot ports { 252*0e8011faSEmmanuel Vadot #address-cells = <1>; 253*0e8011faSEmmanuel Vadot #size-cells = <0>; 254*0e8011faSEmmanuel Vadot 255*0e8011faSEmmanuel Vadot port@0 { 256*0e8011faSEmmanuel Vadot reg = <0>; 257*0e8011faSEmmanuel Vadot mdss_dsi0_in: endpoint { 258*0e8011faSEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 259*0e8011faSEmmanuel Vadot }; 260*0e8011faSEmmanuel Vadot }; 261*0e8011faSEmmanuel Vadot 262*0e8011faSEmmanuel Vadot port@1 { 263*0e8011faSEmmanuel Vadot reg = <1>; 264*0e8011faSEmmanuel Vadot mdss_dsi0_out: endpoint { 265*0e8011faSEmmanuel Vadot }; 266*0e8011faSEmmanuel Vadot }; 267*0e8011faSEmmanuel Vadot }; 268*0e8011faSEmmanuel Vadot 269*0e8011faSEmmanuel Vadot dsi_opp_table: opp-table { 270*0e8011faSEmmanuel Vadot compatible = "operating-points-v2"; 271*0e8011faSEmmanuel Vadot 272*0e8011faSEmmanuel Vadot opp-180000000 { 273*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <180000000>; 274*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 275*0e8011faSEmmanuel Vadot }; 276*0e8011faSEmmanuel Vadot 277*0e8011faSEmmanuel Vadot opp-275000000 { 278*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <275000000>; 279*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 280*0e8011faSEmmanuel Vadot }; 281*0e8011faSEmmanuel Vadot 282*0e8011faSEmmanuel Vadot opp-358000000 { 283*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <358000000>; 284*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 285*0e8011faSEmmanuel Vadot }; 286*0e8011faSEmmanuel Vadot }; 287*0e8011faSEmmanuel Vadot }; 288*0e8011faSEmmanuel Vadot 289*0e8011faSEmmanuel Vadot mdss_dsi0_phy: phy@ae94400 { 290*0e8011faSEmmanuel Vadot compatible = "qcom,dsi-phy-10nm"; 291*0e8011faSEmmanuel Vadot reg = <0x0ae94400 0x200>, 292*0e8011faSEmmanuel Vadot <0x0ae94600 0x280>, 293*0e8011faSEmmanuel Vadot <0x0ae94a00 0x1e0>; 294*0e8011faSEmmanuel Vadot reg-names = "dsi_phy", 295*0e8011faSEmmanuel Vadot "dsi_phy_lane", 296*0e8011faSEmmanuel Vadot "dsi_pll"; 297*0e8011faSEmmanuel Vadot 298*0e8011faSEmmanuel Vadot #clock-cells = <1>; 299*0e8011faSEmmanuel Vadot #phy-cells = <0>; 300*0e8011faSEmmanuel Vadot 301*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 302*0e8011faSEmmanuel Vadot <&rpmhcc RPMH_CXO_CLK>; 303*0e8011faSEmmanuel Vadot clock-names = "iface", "ref"; 304*0e8011faSEmmanuel Vadot vdds-supply = <&vdda_mipi_dsi0_pll>; 305*0e8011faSEmmanuel Vadot }; 306*0e8011faSEmmanuel Vadot 307*0e8011faSEmmanuel Vadot dsi@ae96000 { 308*0e8011faSEmmanuel Vadot compatible = "qcom,sm7150-dsi-ctrl", 309*0e8011faSEmmanuel Vadot "qcom,mdss-dsi-ctrl"; 310*0e8011faSEmmanuel Vadot reg = <0x0ae96000 0x400>; 311*0e8011faSEmmanuel Vadot reg-names = "dsi_ctrl"; 312*0e8011faSEmmanuel Vadot 313*0e8011faSEmmanuel Vadot interrupt-parent = <&mdss>; 314*0e8011faSEmmanuel Vadot interrupts = <5>; 315*0e8011faSEmmanuel Vadot 316*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_byte1_clk>, 317*0e8011faSEmmanuel Vadot <&dispcc_mdss_byte1_intf_clk>, 318*0e8011faSEmmanuel Vadot <&dispcc_mdss_pclk1_clk>, 319*0e8011faSEmmanuel Vadot <&dispcc_mdss_esc1_clk>, 320*0e8011faSEmmanuel Vadot <&dispcc_mdss_ahb_clk>, 321*0e8011faSEmmanuel Vadot <&gcc_disp_hf_axi_clk>; 322*0e8011faSEmmanuel Vadot clock-names = "byte", 323*0e8011faSEmmanuel Vadot "byte_intf", 324*0e8011faSEmmanuel Vadot "pixel", 325*0e8011faSEmmanuel Vadot "core", 326*0e8011faSEmmanuel Vadot "iface", 327*0e8011faSEmmanuel Vadot "bus"; 328*0e8011faSEmmanuel Vadot 329*0e8011faSEmmanuel Vadot assigned-clocks = <&dispcc_mdss_byte1_clk_src>, 330*0e8011faSEmmanuel Vadot <&dispcc_mdss_pclk1_clk_src>; 331*0e8011faSEmmanuel Vadot assigned-clock-parents = <&mdss_dsi1_phy 0>, 332*0e8011faSEmmanuel Vadot <&mdss_dsi1_phy 1>; 333*0e8011faSEmmanuel Vadot 334*0e8011faSEmmanuel Vadot operating-points-v2 = <&dsi_opp_table>; 335*0e8011faSEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_CX>; 336*0e8011faSEmmanuel Vadot 337*0e8011faSEmmanuel Vadot phys = <&mdss_dsi1_phy>; 338*0e8011faSEmmanuel Vadot phy-names = "dsi"; 339*0e8011faSEmmanuel Vadot 340*0e8011faSEmmanuel Vadot #address-cells = <1>; 341*0e8011faSEmmanuel Vadot #size-cells = <0>; 342*0e8011faSEmmanuel Vadot 343*0e8011faSEmmanuel Vadot ports { 344*0e8011faSEmmanuel Vadot #address-cells = <1>; 345*0e8011faSEmmanuel Vadot #size-cells = <0>; 346*0e8011faSEmmanuel Vadot 347*0e8011faSEmmanuel Vadot port@0 { 348*0e8011faSEmmanuel Vadot reg = <0>; 349*0e8011faSEmmanuel Vadot mdss_dsi1_in: endpoint { 350*0e8011faSEmmanuel Vadot remote-endpoint = <&dpu_intf2_out>; 351*0e8011faSEmmanuel Vadot }; 352*0e8011faSEmmanuel Vadot }; 353*0e8011faSEmmanuel Vadot 354*0e8011faSEmmanuel Vadot port@1 { 355*0e8011faSEmmanuel Vadot reg = <1>; 356*0e8011faSEmmanuel Vadot mdss_dsi1_out: endpoint { 357*0e8011faSEmmanuel Vadot }; 358*0e8011faSEmmanuel Vadot }; 359*0e8011faSEmmanuel Vadot }; 360*0e8011faSEmmanuel Vadot }; 361*0e8011faSEmmanuel Vadot 362*0e8011faSEmmanuel Vadot mdss_dsi1_phy: phy@ae96400 { 363*0e8011faSEmmanuel Vadot compatible = "qcom,dsi-phy-10nm"; 364*0e8011faSEmmanuel Vadot reg = <0x0ae96400 0x200>, 365*0e8011faSEmmanuel Vadot <0x0ae96600 0x280>, 366*0e8011faSEmmanuel Vadot <0x0ae96a00 0x1e0>; 367*0e8011faSEmmanuel Vadot reg-names = "dsi_phy", 368*0e8011faSEmmanuel Vadot "dsi_phy_lane", 369*0e8011faSEmmanuel Vadot "dsi_pll"; 370*0e8011faSEmmanuel Vadot 371*0e8011faSEmmanuel Vadot #clock-cells = <1>; 372*0e8011faSEmmanuel Vadot #phy-cells = <0>; 373*0e8011faSEmmanuel Vadot 374*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 375*0e8011faSEmmanuel Vadot <&rpmhcc RPMH_CXO_CLK>; 376*0e8011faSEmmanuel Vadot clock-names = "iface", "ref"; 377*0e8011faSEmmanuel Vadot vdds-supply = <&vdda_mipi_dsi1_pll>; 378*0e8011faSEmmanuel Vadot }; 379*0e8011faSEmmanuel Vadot 380*0e8011faSEmmanuel Vadot displayport-controller@ae90000 { 381*0e8011faSEmmanuel Vadot compatible = "qcom,sm7150-dp"; 382*0e8011faSEmmanuel Vadot reg = <0xae90000 0x200>, 383*0e8011faSEmmanuel Vadot <0xae90200 0x200>, 384*0e8011faSEmmanuel Vadot <0xae90400 0xc00>, 385*0e8011faSEmmanuel Vadot <0xae91000 0x400>, 386*0e8011faSEmmanuel Vadot <0xae91400 0x400>; 387*0e8011faSEmmanuel Vadot 388*0e8011faSEmmanuel Vadot interrupt-parent = <&mdss>; 389*0e8011faSEmmanuel Vadot interrupts = <12>; 390*0e8011faSEmmanuel Vadot 391*0e8011faSEmmanuel Vadot clocks = <&dispcc_mdss_ahb_clk>, 392*0e8011faSEmmanuel Vadot <&dispcc_mdss_dp_aux_clk>, 393*0e8011faSEmmanuel Vadot <&dispcc_mdss_dp_link_clk>, 394*0e8011faSEmmanuel Vadot <&dispcc_mdss_dp_link_intf_clk>, 395*0e8011faSEmmanuel Vadot <&dispcc_mdss_dp_pixel_clk>; 396*0e8011faSEmmanuel Vadot clock-names = "core_iface", 397*0e8011faSEmmanuel Vadot "core_aux", 398*0e8011faSEmmanuel Vadot "ctrl_link", 399*0e8011faSEmmanuel Vadot "ctrl_link_iface", 400*0e8011faSEmmanuel Vadot "stream_pixel"; 401*0e8011faSEmmanuel Vadot 402*0e8011faSEmmanuel Vadot assigned-clocks = <&dispcc_mdss_dp_link_clk_src>, 403*0e8011faSEmmanuel Vadot <&dispcc_mdss_dp_pixel_clk_src>; 404*0e8011faSEmmanuel Vadot assigned-clock-parents = <&dp_phy 0>, 405*0e8011faSEmmanuel Vadot <&dp_phy 1>; 406*0e8011faSEmmanuel Vadot 407*0e8011faSEmmanuel Vadot operating-points-v2 = <&dp_opp_table>; 408*0e8011faSEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_CX>; 409*0e8011faSEmmanuel Vadot 410*0e8011faSEmmanuel Vadot phys = <&dp_phy>; 411*0e8011faSEmmanuel Vadot phy-names = "dp"; 412*0e8011faSEmmanuel Vadot 413*0e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 414*0e8011faSEmmanuel Vadot 415*0e8011faSEmmanuel Vadot ports { 416*0e8011faSEmmanuel Vadot #address-cells = <1>; 417*0e8011faSEmmanuel Vadot #size-cells = <0>; 418*0e8011faSEmmanuel Vadot 419*0e8011faSEmmanuel Vadot port@0 { 420*0e8011faSEmmanuel Vadot reg = <0>; 421*0e8011faSEmmanuel Vadot dp_in: endpoint { 422*0e8011faSEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 423*0e8011faSEmmanuel Vadot }; 424*0e8011faSEmmanuel Vadot }; 425*0e8011faSEmmanuel Vadot 426*0e8011faSEmmanuel Vadot port@1 { 427*0e8011faSEmmanuel Vadot reg = <1>; 428*0e8011faSEmmanuel Vadot dp_out: endpoint { 429*0e8011faSEmmanuel Vadot }; 430*0e8011faSEmmanuel Vadot }; 431*0e8011faSEmmanuel Vadot }; 432*0e8011faSEmmanuel Vadot 433*0e8011faSEmmanuel Vadot dp_opp_table: opp-table { 434*0e8011faSEmmanuel Vadot compatible = "operating-points-v2"; 435*0e8011faSEmmanuel Vadot 436*0e8011faSEmmanuel Vadot opp-160000000 { 437*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <160000000>; 438*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 439*0e8011faSEmmanuel Vadot }; 440*0e8011faSEmmanuel Vadot 441*0e8011faSEmmanuel Vadot opp-270000000 { 442*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <270000000>; 443*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 444*0e8011faSEmmanuel Vadot }; 445*0e8011faSEmmanuel Vadot 446*0e8011faSEmmanuel Vadot opp-540000000 { 447*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <540000000>; 448*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 449*0e8011faSEmmanuel Vadot }; 450*0e8011faSEmmanuel Vadot 451*0e8011faSEmmanuel Vadot opp-810000000 { 452*0e8011faSEmmanuel Vadot opp-hz = /bits/ 64 <810000000>; 453*0e8011faSEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 454*0e8011faSEmmanuel Vadot }; 455*0e8011faSEmmanuel Vadot }; 456*0e8011faSEmmanuel Vadot }; 457*0e8011faSEmmanuel Vadot }; 458*0e8011faSEmmanuel Vadot... 459