1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sm8750-mdss.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Qualcomm SM8750 Display MDSS 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotdescription: 13*833e5d42SEmmanuel Vadot SM8650 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like 14*833e5d42SEmmanuel Vadot DPU display controller, DSI and DP interfaces etc. 15*833e5d42SEmmanuel Vadot 16*833e5d42SEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 17*833e5d42SEmmanuel Vadot 18*833e5d42SEmmanuel Vadotproperties: 19*833e5d42SEmmanuel Vadot compatible: 20*833e5d42SEmmanuel Vadot const: qcom,sm8750-mdss 21*833e5d42SEmmanuel Vadot 22*833e5d42SEmmanuel Vadot clocks: 23*833e5d42SEmmanuel Vadot items: 24*833e5d42SEmmanuel Vadot - description: Display AHB 25*833e5d42SEmmanuel Vadot - description: Display hf AXI 26*833e5d42SEmmanuel Vadot - description: Display core 27*833e5d42SEmmanuel Vadot 28*833e5d42SEmmanuel Vadot iommus: 29*833e5d42SEmmanuel Vadot maxItems: 1 30*833e5d42SEmmanuel Vadot 31*833e5d42SEmmanuel Vadot interconnects: 32*833e5d42SEmmanuel Vadot items: 33*833e5d42SEmmanuel Vadot - description: Interconnect path from mdp0 port to the data bus 34*833e5d42SEmmanuel Vadot - description: Interconnect path from CPU to the reg bus 35*833e5d42SEmmanuel Vadot 36*833e5d42SEmmanuel Vadot interconnect-names: 37*833e5d42SEmmanuel Vadot items: 38*833e5d42SEmmanuel Vadot - const: mdp0-mem 39*833e5d42SEmmanuel Vadot - const: cpu-cfg 40*833e5d42SEmmanuel Vadot 41*833e5d42SEmmanuel VadotpatternProperties: 42*833e5d42SEmmanuel Vadot "^display-controller@[0-9a-f]+$": 43*833e5d42SEmmanuel Vadot type: object 44*833e5d42SEmmanuel Vadot additionalProperties: true 45*833e5d42SEmmanuel Vadot properties: 46*833e5d42SEmmanuel Vadot compatible: 47*833e5d42SEmmanuel Vadot const: qcom,sm8750-dpu 48*833e5d42SEmmanuel Vadot 49*833e5d42SEmmanuel Vadot "^displayport-controller@[0-9a-f]+$": 50*833e5d42SEmmanuel Vadot type: object 51*833e5d42SEmmanuel Vadot additionalProperties: true 52*833e5d42SEmmanuel Vadot properties: 53*833e5d42SEmmanuel Vadot compatible: 54*833e5d42SEmmanuel Vadot contains: 55*833e5d42SEmmanuel Vadot const: qcom,sm8750-dp 56*833e5d42SEmmanuel Vadot 57*833e5d42SEmmanuel Vadot "^dsi@[0-9a-f]+$": 58*833e5d42SEmmanuel Vadot type: object 59*833e5d42SEmmanuel Vadot additionalProperties: true 60*833e5d42SEmmanuel Vadot properties: 61*833e5d42SEmmanuel Vadot compatible: 62*833e5d42SEmmanuel Vadot contains: 63*833e5d42SEmmanuel Vadot const: qcom,sm8750-dsi-ctrl 64*833e5d42SEmmanuel Vadot 65*833e5d42SEmmanuel Vadot "^phy@[0-9a-f]+$": 66*833e5d42SEmmanuel Vadot type: object 67*833e5d42SEmmanuel Vadot additionalProperties: true 68*833e5d42SEmmanuel Vadot properties: 69*833e5d42SEmmanuel Vadot compatible: 70*833e5d42SEmmanuel Vadot const: qcom,sm8750-dsi-phy-3nm 71*833e5d42SEmmanuel Vadot 72*833e5d42SEmmanuel Vadotrequired: 73*833e5d42SEmmanuel Vadot - compatible 74*833e5d42SEmmanuel Vadot 75*833e5d42SEmmanuel VadotunevaluatedProperties: false 76*833e5d42SEmmanuel Vadot 77*833e5d42SEmmanuel Vadotexamples: 78*833e5d42SEmmanuel Vadot - | 79*833e5d42SEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 80*833e5d42SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,icc.h> 81*833e5d42SEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sm8750-rpmh.h> 82*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 83*833e5d42SEmmanuel Vadot #include <dt-bindings/phy/phy-qcom-qmp.h> 84*833e5d42SEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 85*833e5d42SEmmanuel Vadot 86*833e5d42SEmmanuel Vadot display-subsystem@ae00000 { 87*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-mdss"; 88*833e5d42SEmmanuel Vadot reg = <0x0ae00000 0x1000>; 89*833e5d42SEmmanuel Vadot reg-names = "mdss"; 90*833e5d42SEmmanuel Vadot 91*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 92*833e5d42SEmmanuel Vadot 93*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_ahb_clk>, 94*833e5d42SEmmanuel Vadot <&gcc_disp_hf_axi_clk>, 95*833e5d42SEmmanuel Vadot <&disp_cc_mdss_mdp_clk>; 96*833e5d42SEmmanuel Vadot 97*833e5d42SEmmanuel Vadot interconnects = <&mmss_noc MASTER_MDP QCOM_ICC_TAG_ALWAYS 98*833e5d42SEmmanuel Vadot &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, 99*833e5d42SEmmanuel Vadot <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY 100*833e5d42SEmmanuel Vadot &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>; 101*833e5d42SEmmanuel Vadot interconnect-names = "mdp0-mem", 102*833e5d42SEmmanuel Vadot "cpu-cfg"; 103*833e5d42SEmmanuel Vadot 104*833e5d42SEmmanuel Vadot resets = <&disp_cc_mdss_core_bcr>; 105*833e5d42SEmmanuel Vadot 106*833e5d42SEmmanuel Vadot power-domains = <&mdss_gdsc>; 107*833e5d42SEmmanuel Vadot 108*833e5d42SEmmanuel Vadot iommus = <&apps_smmu 0x800 0x2>; 109*833e5d42SEmmanuel Vadot 110*833e5d42SEmmanuel Vadot interrupt-controller; 111*833e5d42SEmmanuel Vadot #interrupt-cells = <1>; 112*833e5d42SEmmanuel Vadot 113*833e5d42SEmmanuel Vadot #address-cells = <1>; 114*833e5d42SEmmanuel Vadot #size-cells = <1>; 115*833e5d42SEmmanuel Vadot ranges; 116*833e5d42SEmmanuel Vadot 117*833e5d42SEmmanuel Vadot display-controller@ae01000 { 118*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dpu"; 119*833e5d42SEmmanuel Vadot reg = <0x0ae01000 0x93000>, 120*833e5d42SEmmanuel Vadot <0x0aeb0000 0x2008>; 121*833e5d42SEmmanuel Vadot reg-names = "mdp", 122*833e5d42SEmmanuel Vadot "vbif"; 123*833e5d42SEmmanuel Vadot 124*833e5d42SEmmanuel Vadot interrupts-extended = <&mdss 0>; 125*833e5d42SEmmanuel Vadot 126*833e5d42SEmmanuel Vadot clocks = <&gcc_disp_hf_axi_clk>, 127*833e5d42SEmmanuel Vadot <&disp_cc_mdss_ahb_clk>, 128*833e5d42SEmmanuel Vadot <&disp_cc_mdss_mdp_lut_clk>, 129*833e5d42SEmmanuel Vadot <&disp_cc_mdss_mdp_clk>, 130*833e5d42SEmmanuel Vadot <&disp_cc_mdss_vsync_clk>; 131*833e5d42SEmmanuel Vadot clock-names = "nrt_bus", 132*833e5d42SEmmanuel Vadot "iface", 133*833e5d42SEmmanuel Vadot "lut", 134*833e5d42SEmmanuel Vadot "core", 135*833e5d42SEmmanuel Vadot "vsync"; 136*833e5d42SEmmanuel Vadot 137*833e5d42SEmmanuel Vadot assigned-clocks = <&disp_cc_mdss_vsync_clk>; 138*833e5d42SEmmanuel Vadot assigned-clock-rates = <19200000>; 139*833e5d42SEmmanuel Vadot 140*833e5d42SEmmanuel Vadot operating-points-v2 = <&mdp_opp_table>; 141*833e5d42SEmmanuel Vadot 142*833e5d42SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 143*833e5d42SEmmanuel Vadot 144*833e5d42SEmmanuel Vadot ports { 145*833e5d42SEmmanuel Vadot #address-cells = <1>; 146*833e5d42SEmmanuel Vadot #size-cells = <0>; 147*833e5d42SEmmanuel Vadot 148*833e5d42SEmmanuel Vadot port@0 { 149*833e5d42SEmmanuel Vadot reg = <0>; 150*833e5d42SEmmanuel Vadot 151*833e5d42SEmmanuel Vadot dpu_intf1_out: endpoint { 152*833e5d42SEmmanuel Vadot remote-endpoint = <&mdss_dsi0_in>; 153*833e5d42SEmmanuel Vadot }; 154*833e5d42SEmmanuel Vadot }; 155*833e5d42SEmmanuel Vadot 156*833e5d42SEmmanuel Vadot port@1 { 157*833e5d42SEmmanuel Vadot reg = <1>; 158*833e5d42SEmmanuel Vadot 159*833e5d42SEmmanuel Vadot dpu_intf2_out: endpoint { 160*833e5d42SEmmanuel Vadot remote-endpoint = <&mdss_dsi1_in>; 161*833e5d42SEmmanuel Vadot }; 162*833e5d42SEmmanuel Vadot }; 163*833e5d42SEmmanuel Vadot 164*833e5d42SEmmanuel Vadot port@2 { 165*833e5d42SEmmanuel Vadot reg = <2>; 166*833e5d42SEmmanuel Vadot 167*833e5d42SEmmanuel Vadot dpu_intf0_out: endpoint { 168*833e5d42SEmmanuel Vadot remote-endpoint = <&mdss_dp0_in>; 169*833e5d42SEmmanuel Vadot }; 170*833e5d42SEmmanuel Vadot }; 171*833e5d42SEmmanuel Vadot }; 172*833e5d42SEmmanuel Vadot 173*833e5d42SEmmanuel Vadot mdp_opp_table: opp-table { 174*833e5d42SEmmanuel Vadot compatible = "operating-points-v2"; 175*833e5d42SEmmanuel Vadot 176*833e5d42SEmmanuel Vadot opp-207000000 { 177*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <207000000>; 178*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 179*833e5d42SEmmanuel Vadot }; 180*833e5d42SEmmanuel Vadot 181*833e5d42SEmmanuel Vadot opp-337000000 { 182*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <337000000>; 183*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 184*833e5d42SEmmanuel Vadot }; 185*833e5d42SEmmanuel Vadot 186*833e5d42SEmmanuel Vadot opp-417000000 { 187*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <417000000>; 188*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 189*833e5d42SEmmanuel Vadot }; 190*833e5d42SEmmanuel Vadot 191*833e5d42SEmmanuel Vadot opp-532000000 { 192*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <532000000>; 193*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 194*833e5d42SEmmanuel Vadot }; 195*833e5d42SEmmanuel Vadot 196*833e5d42SEmmanuel Vadot opp-575000000 { 197*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <575000000>; 198*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom_l1>; 199*833e5d42SEmmanuel Vadot }; 200*833e5d42SEmmanuel Vadot }; 201*833e5d42SEmmanuel Vadot }; 202*833e5d42SEmmanuel Vadot 203*833e5d42SEmmanuel Vadot dsi@ae94000 { 204*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 205*833e5d42SEmmanuel Vadot reg = <0x0ae94000 0x400>; 206*833e5d42SEmmanuel Vadot reg-names = "dsi_ctrl"; 207*833e5d42SEmmanuel Vadot 208*833e5d42SEmmanuel Vadot interrupts-extended = <&mdss 4>; 209*833e5d42SEmmanuel Vadot 210*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_byte0_clk>, 211*833e5d42SEmmanuel Vadot <&disp_cc_mdss_byte0_intf_clk>, 212*833e5d42SEmmanuel Vadot <&disp_cc_mdss_pclk0_clk>, 213*833e5d42SEmmanuel Vadot <&disp_cc_mdss_esc0_clk>, 214*833e5d42SEmmanuel Vadot <&disp_cc_mdss_ahb_clk>, 215*833e5d42SEmmanuel Vadot <&gcc_disp_hf_axi_clk>, 216*833e5d42SEmmanuel Vadot <&mdss_dsi0_phy 1>, 217*833e5d42SEmmanuel Vadot <&mdss_dsi0_phy 0>, 218*833e5d42SEmmanuel Vadot <&disp_cc_esync0_clk>, 219*833e5d42SEmmanuel Vadot <&disp_cc_osc_clk>, 220*833e5d42SEmmanuel Vadot <&disp_cc_mdss_byte0_clk_src>, 221*833e5d42SEmmanuel Vadot <&disp_cc_mdss_pclk0_clk_src>; 222*833e5d42SEmmanuel Vadot clock-names = "byte", 223*833e5d42SEmmanuel Vadot "byte_intf", 224*833e5d42SEmmanuel Vadot "pixel", 225*833e5d42SEmmanuel Vadot "core", 226*833e5d42SEmmanuel Vadot "iface", 227*833e5d42SEmmanuel Vadot "bus", 228*833e5d42SEmmanuel Vadot "dsi_pll_pixel", 229*833e5d42SEmmanuel Vadot "dsi_pll_byte", 230*833e5d42SEmmanuel Vadot "esync", 231*833e5d42SEmmanuel Vadot "osc", 232*833e5d42SEmmanuel Vadot "byte_src", 233*833e5d42SEmmanuel Vadot "pixel_src"; 234*833e5d42SEmmanuel Vadot 235*833e5d42SEmmanuel Vadot operating-points-v2 = <&mdss_dsi_opp_table>; 236*833e5d42SEmmanuel Vadot 237*833e5d42SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 238*833e5d42SEmmanuel Vadot 239*833e5d42SEmmanuel Vadot phys = <&mdss_dsi0_phy>; 240*833e5d42SEmmanuel Vadot phy-names = "dsi"; 241*833e5d42SEmmanuel Vadot 242*833e5d42SEmmanuel Vadot vdda-supply = <&vreg_l3g_1p2>; 243*833e5d42SEmmanuel Vadot 244*833e5d42SEmmanuel Vadot #address-cells = <1>; 245*833e5d42SEmmanuel Vadot #size-cells = <0>; 246*833e5d42SEmmanuel Vadot 247*833e5d42SEmmanuel Vadot ports { 248*833e5d42SEmmanuel Vadot #address-cells = <1>; 249*833e5d42SEmmanuel Vadot #size-cells = <0>; 250*833e5d42SEmmanuel Vadot 251*833e5d42SEmmanuel Vadot port@0 { 252*833e5d42SEmmanuel Vadot reg = <0>; 253*833e5d42SEmmanuel Vadot 254*833e5d42SEmmanuel Vadot mdss_dsi0_in: endpoint { 255*833e5d42SEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 256*833e5d42SEmmanuel Vadot }; 257*833e5d42SEmmanuel Vadot }; 258*833e5d42SEmmanuel Vadot 259*833e5d42SEmmanuel Vadot port@1 { 260*833e5d42SEmmanuel Vadot reg = <1>; 261*833e5d42SEmmanuel Vadot 262*833e5d42SEmmanuel Vadot mdss_dsi0_out: endpoint { 263*833e5d42SEmmanuel Vadot remote-endpoint = <&panel0_in>; 264*833e5d42SEmmanuel Vadot data-lanes = <0 1 2 3>; 265*833e5d42SEmmanuel Vadot }; 266*833e5d42SEmmanuel Vadot }; 267*833e5d42SEmmanuel Vadot }; 268*833e5d42SEmmanuel Vadot 269*833e5d42SEmmanuel Vadot mdss_dsi_opp_table: opp-table { 270*833e5d42SEmmanuel Vadot compatible = "operating-points-v2"; 271*833e5d42SEmmanuel Vadot 272*833e5d42SEmmanuel Vadot opp-187500000 { 273*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <187500000>; 274*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 275*833e5d42SEmmanuel Vadot }; 276*833e5d42SEmmanuel Vadot 277*833e5d42SEmmanuel Vadot opp-300000000 { 278*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <300000000>; 279*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 280*833e5d42SEmmanuel Vadot }; 281*833e5d42SEmmanuel Vadot 282*833e5d42SEmmanuel Vadot opp-358000000 { 283*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <358000000>; 284*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 285*833e5d42SEmmanuel Vadot }; 286*833e5d42SEmmanuel Vadot }; 287*833e5d42SEmmanuel Vadot }; 288*833e5d42SEmmanuel Vadot 289*833e5d42SEmmanuel Vadot mdss_dsi0_phy: phy@ae95000 { 290*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dsi-phy-3nm"; 291*833e5d42SEmmanuel Vadot reg = <0x0ae95000 0x200>, 292*833e5d42SEmmanuel Vadot <0x0ae95200 0x280>, 293*833e5d42SEmmanuel Vadot <0x0ae95500 0x400>; 294*833e5d42SEmmanuel Vadot reg-names = "dsi_phy", 295*833e5d42SEmmanuel Vadot "dsi_phy_lane", 296*833e5d42SEmmanuel Vadot "dsi_pll"; 297*833e5d42SEmmanuel Vadot 298*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_ahb_clk>, 299*833e5d42SEmmanuel Vadot <&rpmhcc RPMH_CXO_CLK>; 300*833e5d42SEmmanuel Vadot clock-names = "iface", 301*833e5d42SEmmanuel Vadot "ref"; 302*833e5d42SEmmanuel Vadot 303*833e5d42SEmmanuel Vadot vdds-supply = <&vreg_l3i_0p88>; 304*833e5d42SEmmanuel Vadot 305*833e5d42SEmmanuel Vadot #clock-cells = <1>; 306*833e5d42SEmmanuel Vadot #phy-cells = <0>; 307*833e5d42SEmmanuel Vadot }; 308*833e5d42SEmmanuel Vadot 309*833e5d42SEmmanuel Vadot dsi@ae96000 { 310*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 311*833e5d42SEmmanuel Vadot reg = <0x0ae96000 0x400>; 312*833e5d42SEmmanuel Vadot reg-names = "dsi_ctrl"; 313*833e5d42SEmmanuel Vadot 314*833e5d42SEmmanuel Vadot interrupts-extended = <&mdss 5>; 315*833e5d42SEmmanuel Vadot 316*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_byte1_clk>, 317*833e5d42SEmmanuel Vadot <&disp_cc_mdss_byte1_intf_clk>, 318*833e5d42SEmmanuel Vadot <&disp_cc_mdss_pclk1_clk>, 319*833e5d42SEmmanuel Vadot <&disp_cc_mdss_esc1_clk>, 320*833e5d42SEmmanuel Vadot <&disp_cc_mdss_ahb_clk>, 321*833e5d42SEmmanuel Vadot <&gcc_disp_hf_axi_clk>, 322*833e5d42SEmmanuel Vadot <&mdss_dsi1_phy 1>, 323*833e5d42SEmmanuel Vadot <&mdss_dsi1_phy 0>, 324*833e5d42SEmmanuel Vadot <&disp_cc_esync1_clk>, 325*833e5d42SEmmanuel Vadot <&disp_cc_osc_clk>, 326*833e5d42SEmmanuel Vadot <&disp_cc_mdss_byte1_clk_src>, 327*833e5d42SEmmanuel Vadot <&disp_cc_mdss_pclk1_clk_src>; 328*833e5d42SEmmanuel Vadot clock-names = "byte", 329*833e5d42SEmmanuel Vadot "byte_intf", 330*833e5d42SEmmanuel Vadot "pixel", 331*833e5d42SEmmanuel Vadot "core", 332*833e5d42SEmmanuel Vadot "iface", 333*833e5d42SEmmanuel Vadot "bus", 334*833e5d42SEmmanuel Vadot "dsi_pll_pixel", 335*833e5d42SEmmanuel Vadot "dsi_pll_byte", 336*833e5d42SEmmanuel Vadot "esync", 337*833e5d42SEmmanuel Vadot "osc", 338*833e5d42SEmmanuel Vadot "byte_src", 339*833e5d42SEmmanuel Vadot "pixel_src"; 340*833e5d42SEmmanuel Vadot 341*833e5d42SEmmanuel Vadot operating-points-v2 = <&mdss_dsi_opp_table>; 342*833e5d42SEmmanuel Vadot 343*833e5d42SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 344*833e5d42SEmmanuel Vadot 345*833e5d42SEmmanuel Vadot phys = <&mdss_dsi1_phy>; 346*833e5d42SEmmanuel Vadot phy-names = "dsi"; 347*833e5d42SEmmanuel Vadot 348*833e5d42SEmmanuel Vadot #address-cells = <1>; 349*833e5d42SEmmanuel Vadot #size-cells = <0>; 350*833e5d42SEmmanuel Vadot 351*833e5d42SEmmanuel Vadot ports { 352*833e5d42SEmmanuel Vadot #address-cells = <1>; 353*833e5d42SEmmanuel Vadot #size-cells = <0>; 354*833e5d42SEmmanuel Vadot 355*833e5d42SEmmanuel Vadot port@0 { 356*833e5d42SEmmanuel Vadot reg = <0>; 357*833e5d42SEmmanuel Vadot 358*833e5d42SEmmanuel Vadot mdss_dsi1_in: endpoint { 359*833e5d42SEmmanuel Vadot remote-endpoint = <&dpu_intf2_out>; 360*833e5d42SEmmanuel Vadot }; 361*833e5d42SEmmanuel Vadot }; 362*833e5d42SEmmanuel Vadot 363*833e5d42SEmmanuel Vadot port@1 { 364*833e5d42SEmmanuel Vadot reg = <1>; 365*833e5d42SEmmanuel Vadot 366*833e5d42SEmmanuel Vadot mdss_dsi1_out: endpoint { 367*833e5d42SEmmanuel Vadot }; 368*833e5d42SEmmanuel Vadot }; 369*833e5d42SEmmanuel Vadot }; 370*833e5d42SEmmanuel Vadot }; 371*833e5d42SEmmanuel Vadot 372*833e5d42SEmmanuel Vadot mdss_dsi1_phy: phy@ae97000 { 373*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dsi-phy-3nm"; 374*833e5d42SEmmanuel Vadot reg = <0x0ae97000 0x200>, 375*833e5d42SEmmanuel Vadot <0x0ae97200 0x280>, 376*833e5d42SEmmanuel Vadot <0x0ae97500 0x400>; 377*833e5d42SEmmanuel Vadot reg-names = "dsi_phy", 378*833e5d42SEmmanuel Vadot "dsi_phy_lane", 379*833e5d42SEmmanuel Vadot "dsi_pll"; 380*833e5d42SEmmanuel Vadot 381*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_ahb_clk>, 382*833e5d42SEmmanuel Vadot <&rpmhcc RPMH_CXO_CLK>; 383*833e5d42SEmmanuel Vadot clock-names = "iface", 384*833e5d42SEmmanuel Vadot "ref"; 385*833e5d42SEmmanuel Vadot 386*833e5d42SEmmanuel Vadot #clock-cells = <1>; 387*833e5d42SEmmanuel Vadot #phy-cells = <0>; 388*833e5d42SEmmanuel Vadot }; 389*833e5d42SEmmanuel Vadot 390*833e5d42SEmmanuel Vadot displayport-controller@af54000 { 391*833e5d42SEmmanuel Vadot compatible = "qcom,sm8750-dp", "qcom,sm8650-dp"; 392*833e5d42SEmmanuel Vadot reg = <0xaf54000 0x104>, 393*833e5d42SEmmanuel Vadot <0xaf54200 0xc0>, 394*833e5d42SEmmanuel Vadot <0xaf55000 0x770>, 395*833e5d42SEmmanuel Vadot <0xaf56000 0x9c>, 396*833e5d42SEmmanuel Vadot <0xaf57000 0x9c>; 397*833e5d42SEmmanuel Vadot 398*833e5d42SEmmanuel Vadot interrupts-extended = <&mdss 12>; 399*833e5d42SEmmanuel Vadot 400*833e5d42SEmmanuel Vadot clocks = <&disp_cc_mdss_ahb_clk>, 401*833e5d42SEmmanuel Vadot <&disp_cc_mdss_dptx0_aux_clk>, 402*833e5d42SEmmanuel Vadot <&disp_cc_mdss_dptx0_link_clk>, 403*833e5d42SEmmanuel Vadot <&disp_cc_mdss_dptx0_link_intf_clk>, 404*833e5d42SEmmanuel Vadot <&disp_cc_mdss_dptx0_pixel0_clk>; 405*833e5d42SEmmanuel Vadot clock-names = "core_iface", 406*833e5d42SEmmanuel Vadot "core_aux", 407*833e5d42SEmmanuel Vadot "ctrl_link", 408*833e5d42SEmmanuel Vadot "ctrl_link_iface", 409*833e5d42SEmmanuel Vadot "stream_pixel"; 410*833e5d42SEmmanuel Vadot 411*833e5d42SEmmanuel Vadot assigned-clocks = <&disp_cc_mdss_dptx0_link_clk_src>, 412*833e5d42SEmmanuel Vadot <&disp_cc_mdss_dptx0_pixel0_clk_src>; 413*833e5d42SEmmanuel Vadot assigned-clock-parents = <&usb_dp_qmpphy QMP_USB43DP_DP_LINK_CLK>, 414*833e5d42SEmmanuel Vadot <&usb_dp_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>; 415*833e5d42SEmmanuel Vadot 416*833e5d42SEmmanuel Vadot operating-points-v2 = <&dp_opp_table>; 417*833e5d42SEmmanuel Vadot 418*833e5d42SEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_MMCX>; 419*833e5d42SEmmanuel Vadot 420*833e5d42SEmmanuel Vadot phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>; 421*833e5d42SEmmanuel Vadot phy-names = "dp"; 422*833e5d42SEmmanuel Vadot 423*833e5d42SEmmanuel Vadot #sound-dai-cells = <0>; 424*833e5d42SEmmanuel Vadot 425*833e5d42SEmmanuel Vadot dp_opp_table: opp-table { 426*833e5d42SEmmanuel Vadot compatible = "operating-points-v2"; 427*833e5d42SEmmanuel Vadot 428*833e5d42SEmmanuel Vadot opp-192000000 { 429*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <192000000>; 430*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs_d1>; 431*833e5d42SEmmanuel Vadot }; 432*833e5d42SEmmanuel Vadot 433*833e5d42SEmmanuel Vadot opp-270000000 { 434*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <270000000>; 435*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 436*833e5d42SEmmanuel Vadot }; 437*833e5d42SEmmanuel Vadot 438*833e5d42SEmmanuel Vadot opp-540000000 { 439*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <540000000>; 440*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_svs_l1>; 441*833e5d42SEmmanuel Vadot }; 442*833e5d42SEmmanuel Vadot 443*833e5d42SEmmanuel Vadot opp-810000000 { 444*833e5d42SEmmanuel Vadot opp-hz = /bits/ 64 <810000000>; 445*833e5d42SEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 446*833e5d42SEmmanuel Vadot }; 447*833e5d42SEmmanuel Vadot }; 448*833e5d42SEmmanuel Vadot 449*833e5d42SEmmanuel Vadot ports { 450*833e5d42SEmmanuel Vadot #address-cells = <1>; 451*833e5d42SEmmanuel Vadot #size-cells = <0>; 452*833e5d42SEmmanuel Vadot 453*833e5d42SEmmanuel Vadot port@0 { 454*833e5d42SEmmanuel Vadot reg = <0>; 455*833e5d42SEmmanuel Vadot 456*833e5d42SEmmanuel Vadot mdss_dp0_in: endpoint { 457*833e5d42SEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 458*833e5d42SEmmanuel Vadot }; 459*833e5d42SEmmanuel Vadot }; 460*833e5d42SEmmanuel Vadot 461*833e5d42SEmmanuel Vadot port@1 { 462*833e5d42SEmmanuel Vadot reg = <1>; 463*833e5d42SEmmanuel Vadot 464*833e5d42SEmmanuel Vadot mdss_dp0_out: endpoint { 465*833e5d42SEmmanuel Vadot remote-endpoint = <&usb_dp_qmpphy_dp_in>; 466*833e5d42SEmmanuel Vadot }; 467*833e5d42SEmmanuel Vadot }; 468*833e5d42SEmmanuel Vadot }; 469*833e5d42SEmmanuel Vadot }; 470*833e5d42SEmmanuel Vadot }; 471