1*3096209bSDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*3096209bSDmitry Baryshkov%YAML 1.2 3*3096209bSDmitry Baryshkov--- 4*3096209bSDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sar2130p-mdss.yaml# 5*3096209bSDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3096209bSDmitry Baryshkov 7*3096209bSDmitry Baryshkovtitle: Qualcomm SAR2130P Display MDSS 8*3096209bSDmitry Baryshkov 9*3096209bSDmitry Baryshkovmaintainers: 10*3096209bSDmitry Baryshkov - Dmitry Baryshkov <lumag@kernel.org> 11*3096209bSDmitry Baryshkov 12*3096209bSDmitry Baryshkovdescription: 13*3096209bSDmitry Baryshkov SAR2310P MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like 14*3096209bSDmitry Baryshkov DPU display controller, DSI and DP interfaces etc. 15*3096209bSDmitry Baryshkov 16*3096209bSDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml# 17*3096209bSDmitry Baryshkov 18*3096209bSDmitry Baryshkovproperties: 19*3096209bSDmitry Baryshkov compatible: 20*3096209bSDmitry Baryshkov const: qcom,sar2130p-mdss 21*3096209bSDmitry Baryshkov 22*3096209bSDmitry Baryshkov clocks: 23*3096209bSDmitry Baryshkov items: 24*3096209bSDmitry Baryshkov - description: Display MDSS AHB 25*3096209bSDmitry Baryshkov - description: Display AHB 26*3096209bSDmitry Baryshkov - description: Display hf AXI 27*3096209bSDmitry Baryshkov - description: Display core 28*3096209bSDmitry Baryshkov 29*3096209bSDmitry Baryshkov iommus: 30*3096209bSDmitry Baryshkov maxItems: 1 31*3096209bSDmitry Baryshkov 32*3096209bSDmitry Baryshkov interconnects: 33*3096209bSDmitry Baryshkov items: 34*3096209bSDmitry Baryshkov - description: Interconnect path from mdp0 port to the data bus 35*3096209bSDmitry Baryshkov - description: Interconnect path from CPU to the reg bus 36*3096209bSDmitry Baryshkov 37*3096209bSDmitry Baryshkov interconnect-names: 38*3096209bSDmitry Baryshkov items: 39*3096209bSDmitry Baryshkov - const: mdp0-mem 40*3096209bSDmitry Baryshkov - const: cpu-cfg 41*3096209bSDmitry Baryshkov 42*3096209bSDmitry BaryshkovpatternProperties: 43*3096209bSDmitry Baryshkov "^display-controller@[0-9a-f]+$": 44*3096209bSDmitry Baryshkov type: object 45*3096209bSDmitry Baryshkov additionalProperties: true 46*3096209bSDmitry Baryshkov properties: 47*3096209bSDmitry Baryshkov compatible: 48*3096209bSDmitry Baryshkov const: qcom,sar2130p-dpu 49*3096209bSDmitry Baryshkov 50*3096209bSDmitry Baryshkov "^displayport-controller@[0-9a-f]+$": 51*3096209bSDmitry Baryshkov type: object 52*3096209bSDmitry Baryshkov additionalProperties: true 53*3096209bSDmitry Baryshkov properties: 54*3096209bSDmitry Baryshkov compatible: 55*3096209bSDmitry Baryshkov contains: 56*3096209bSDmitry Baryshkov const: qcom,sar2130p-dp 57*3096209bSDmitry Baryshkov 58*3096209bSDmitry Baryshkov "^dsi@[0-9a-f]+$": 59*3096209bSDmitry Baryshkov type: object 60*3096209bSDmitry Baryshkov additionalProperties: true 61*3096209bSDmitry Baryshkov properties: 62*3096209bSDmitry Baryshkov compatible: 63*3096209bSDmitry Baryshkov contains: 64*3096209bSDmitry Baryshkov const: qcom,sar2130p-dsi-ctrl 65*3096209bSDmitry Baryshkov 66*3096209bSDmitry Baryshkov "^phy@[0-9a-f]+$": 67*3096209bSDmitry Baryshkov type: object 68*3096209bSDmitry Baryshkov additionalProperties: true 69*3096209bSDmitry Baryshkov properties: 70*3096209bSDmitry Baryshkov compatible: 71*3096209bSDmitry Baryshkov const: qcom,sar2130p-dsi-phy-5nm 72*3096209bSDmitry Baryshkov 73*3096209bSDmitry Baryshkovrequired: 74*3096209bSDmitry Baryshkov - compatible 75*3096209bSDmitry Baryshkov 76*3096209bSDmitry BaryshkovunevaluatedProperties: false 77*3096209bSDmitry Baryshkov 78*3096209bSDmitry Baryshkovexamples: 79*3096209bSDmitry Baryshkov - | 80*3096209bSDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 81*3096209bSDmitry Baryshkov #include <dt-bindings/power/qcom,rpmhpd.h> 82*3096209bSDmitry Baryshkov #include <dt-bindings/phy/phy-qcom-qmp.h> 83*3096209bSDmitry Baryshkov 84*3096209bSDmitry Baryshkov display-subsystem@ae00000 { 85*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-mdss"; 86*3096209bSDmitry Baryshkov reg = <0x0ae00000 0x1000>; 87*3096209bSDmitry Baryshkov reg-names = "mdss"; 88*3096209bSDmitry Baryshkov 89*3096209bSDmitry Baryshkov interconnects = <&mmss_noc_master_mdp &mc_virt_slave_ebi1>, 90*3096209bSDmitry Baryshkov <&gem_noc_master_appss_proc &config_noc_slave_display_cfg>; 91*3096209bSDmitry Baryshkov interconnect-names = "mdp0-mem", "cpu-cfg"; 92*3096209bSDmitry Baryshkov 93*3096209bSDmitry Baryshkov resets = <&dispcc_disp_cc_mdss_core_bcr>; 94*3096209bSDmitry Baryshkov 95*3096209bSDmitry Baryshkov power-domains = <&dispcc_mdss_gdsc>; 96*3096209bSDmitry Baryshkov 97*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_ahb_clk>, 98*3096209bSDmitry Baryshkov <&gcc_gcc_disp_ahb_clk>, 99*3096209bSDmitry Baryshkov <&gcc_gcc_disp_hf_axi_clk>, 100*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_mdp_clk>; 101*3096209bSDmitry Baryshkov clock-names = "iface", "bus", "nrt_bus", "core"; 102*3096209bSDmitry Baryshkov 103*3096209bSDmitry Baryshkov interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 104*3096209bSDmitry Baryshkov interrupt-controller; 105*3096209bSDmitry Baryshkov #interrupt-cells = <1>; 106*3096209bSDmitry Baryshkov 107*3096209bSDmitry Baryshkov iommus = <&apps_smmu 0x1c00 0x2>; 108*3096209bSDmitry Baryshkov 109*3096209bSDmitry Baryshkov #address-cells = <1>; 110*3096209bSDmitry Baryshkov #size-cells = <1>; 111*3096209bSDmitry Baryshkov ranges; 112*3096209bSDmitry Baryshkov 113*3096209bSDmitry Baryshkov display-controller@ae01000 { 114*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dpu"; 115*3096209bSDmitry Baryshkov reg = <0x0ae01000 0x8f000>, 116*3096209bSDmitry Baryshkov <0x0aeb0000 0x2008>; 117*3096209bSDmitry Baryshkov reg-names = "mdp", "vbif"; 118*3096209bSDmitry Baryshkov 119*3096209bSDmitry Baryshkov clocks = <&gcc_gcc_disp_ahb_clk>, 120*3096209bSDmitry Baryshkov <&gcc_gcc_disp_hf_axi_clk>, 121*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_ahb_clk>, 122*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_mdp_lut_clk>, 123*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_mdp_clk>, 124*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_vsync_clk>; 125*3096209bSDmitry Baryshkov clock-names = "bus", 126*3096209bSDmitry Baryshkov "nrt_bus", 127*3096209bSDmitry Baryshkov "iface", 128*3096209bSDmitry Baryshkov "lut", 129*3096209bSDmitry Baryshkov "core", 130*3096209bSDmitry Baryshkov "vsync"; 131*3096209bSDmitry Baryshkov 132*3096209bSDmitry Baryshkov assigned-clocks = <&dispcc_disp_cc_mdss_vsync_clk>; 133*3096209bSDmitry Baryshkov assigned-clock-rates = <19200000>; 134*3096209bSDmitry Baryshkov 135*3096209bSDmitry Baryshkov operating-points-v2 = <&mdp_opp_table>; 136*3096209bSDmitry Baryshkov power-domains = <&rpmhpd RPMHPD_MMCX>; 137*3096209bSDmitry Baryshkov 138*3096209bSDmitry Baryshkov interrupt-parent = <&mdss>; 139*3096209bSDmitry Baryshkov interrupts = <0>; 140*3096209bSDmitry Baryshkov 141*3096209bSDmitry Baryshkov ports { 142*3096209bSDmitry Baryshkov #address-cells = <1>; 143*3096209bSDmitry Baryshkov #size-cells = <0>; 144*3096209bSDmitry Baryshkov 145*3096209bSDmitry Baryshkov port@0 { 146*3096209bSDmitry Baryshkov reg = <0>; 147*3096209bSDmitry Baryshkov 148*3096209bSDmitry Baryshkov dpu_intf0_out: endpoint { 149*3096209bSDmitry Baryshkov remote-endpoint = <&mdss_dp0_in>; 150*3096209bSDmitry Baryshkov }; 151*3096209bSDmitry Baryshkov }; 152*3096209bSDmitry Baryshkov 153*3096209bSDmitry Baryshkov port@1 { 154*3096209bSDmitry Baryshkov reg = <1>; 155*3096209bSDmitry Baryshkov 156*3096209bSDmitry Baryshkov dpu_intf1_out: endpoint { 157*3096209bSDmitry Baryshkov remote-endpoint = <&mdss_dsi0_in>; 158*3096209bSDmitry Baryshkov }; 159*3096209bSDmitry Baryshkov }; 160*3096209bSDmitry Baryshkov 161*3096209bSDmitry Baryshkov port@2 { 162*3096209bSDmitry Baryshkov reg = <2>; 163*3096209bSDmitry Baryshkov 164*3096209bSDmitry Baryshkov dpu_intf2_out: endpoint { 165*3096209bSDmitry Baryshkov remote-endpoint = <&mdss_dsi1_in>; 166*3096209bSDmitry Baryshkov }; 167*3096209bSDmitry Baryshkov }; 168*3096209bSDmitry Baryshkov }; 169*3096209bSDmitry Baryshkov 170*3096209bSDmitry Baryshkov mdp_opp_table: opp-table { 171*3096209bSDmitry Baryshkov compatible = "operating-points-v2"; 172*3096209bSDmitry Baryshkov 173*3096209bSDmitry Baryshkov opp-200000000 { 174*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <200000000>; 175*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs>; 176*3096209bSDmitry Baryshkov }; 177*3096209bSDmitry Baryshkov 178*3096209bSDmitry Baryshkov opp-325000000 { 179*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <325000000>; 180*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs>; 181*3096209bSDmitry Baryshkov }; 182*3096209bSDmitry Baryshkov 183*3096209bSDmitry Baryshkov opp-375000000 { 184*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <375000000>; 185*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs_l1>; 186*3096209bSDmitry Baryshkov }; 187*3096209bSDmitry Baryshkov 188*3096209bSDmitry Baryshkov opp-514000000 { 189*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <514000000>; 190*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_nom>; 191*3096209bSDmitry Baryshkov }; 192*3096209bSDmitry Baryshkov }; 193*3096209bSDmitry Baryshkov }; 194*3096209bSDmitry Baryshkov 195*3096209bSDmitry Baryshkov displayport-controller@ae90000 { 196*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dp", 197*3096209bSDmitry Baryshkov "qcom,sm8350-dp"; 198*3096209bSDmitry Baryshkov reg = <0xae90000 0x200>, 199*3096209bSDmitry Baryshkov <0xae90200 0x200>, 200*3096209bSDmitry Baryshkov <0xae90400 0xc00>, 201*3096209bSDmitry Baryshkov <0xae91000 0x400>, 202*3096209bSDmitry Baryshkov <0xae91400 0x400>; 203*3096209bSDmitry Baryshkov 204*3096209bSDmitry Baryshkov interrupt-parent = <&mdss>; 205*3096209bSDmitry Baryshkov interrupts = <12>; 206*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_ahb_clk>, 207*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_dptx0_aux_clk>, 208*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_dptx0_link_clk>, 209*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_dptx0_link_intf_clk>, 210*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_dptx0_pixel0_clk>; 211*3096209bSDmitry Baryshkov clock-names = "core_iface", 212*3096209bSDmitry Baryshkov "core_aux", 213*3096209bSDmitry Baryshkov "ctrl_link", 214*3096209bSDmitry Baryshkov "ctrl_link_iface", 215*3096209bSDmitry Baryshkov "stream_pixel"; 216*3096209bSDmitry Baryshkov 217*3096209bSDmitry Baryshkov assigned-clocks = <&dispcc_disp_cc_mdss_dptx0_link_clk_src>, 218*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_dptx0_pixel0_clk_src>; 219*3096209bSDmitry Baryshkov assigned-clock-parents = <&usb_dp_qmpphy_QMP_USB43DP_DP_LINK_CLK>, 220*3096209bSDmitry Baryshkov <&usb_dp_qmpphy_QMP_USB43DP_DP_VCO_DIV_CLK>; 221*3096209bSDmitry Baryshkov 222*3096209bSDmitry Baryshkov phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>; 223*3096209bSDmitry Baryshkov phy-names = "dp"; 224*3096209bSDmitry Baryshkov 225*3096209bSDmitry Baryshkov #sound-dai-cells = <0>; 226*3096209bSDmitry Baryshkov 227*3096209bSDmitry Baryshkov operating-points-v2 = <&dp_opp_table>; 228*3096209bSDmitry Baryshkov power-domains = <&rpmhpd RPMHPD_MMCX>; 229*3096209bSDmitry Baryshkov 230*3096209bSDmitry Baryshkov ports { 231*3096209bSDmitry Baryshkov #address-cells = <1>; 232*3096209bSDmitry Baryshkov #size-cells = <0>; 233*3096209bSDmitry Baryshkov 234*3096209bSDmitry Baryshkov port@0 { 235*3096209bSDmitry Baryshkov reg = <0>; 236*3096209bSDmitry Baryshkov mdss_dp0_in: endpoint { 237*3096209bSDmitry Baryshkov remote-endpoint = <&dpu_intf0_out>; 238*3096209bSDmitry Baryshkov }; 239*3096209bSDmitry Baryshkov }; 240*3096209bSDmitry Baryshkov 241*3096209bSDmitry Baryshkov port@1 { 242*3096209bSDmitry Baryshkov reg = <1>; 243*3096209bSDmitry Baryshkov mdss_dp0_out: endpoint { 244*3096209bSDmitry Baryshkov remote-endpoint = <&usb_dp_qmpphy_dp_in>; 245*3096209bSDmitry Baryshkov }; 246*3096209bSDmitry Baryshkov }; 247*3096209bSDmitry Baryshkov }; 248*3096209bSDmitry Baryshkov 249*3096209bSDmitry Baryshkov dp_opp_table: opp-table { 250*3096209bSDmitry Baryshkov compatible = "operating-points-v2"; 251*3096209bSDmitry Baryshkov 252*3096209bSDmitry Baryshkov opp-162000000 { 253*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <162000000>; 254*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs_d1>; 255*3096209bSDmitry Baryshkov }; 256*3096209bSDmitry Baryshkov 257*3096209bSDmitry Baryshkov opp-270000000 { 258*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <270000000>; 259*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs>; 260*3096209bSDmitry Baryshkov }; 261*3096209bSDmitry Baryshkov 262*3096209bSDmitry Baryshkov opp-540000000 { 263*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <540000000>; 264*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs_l1>; 265*3096209bSDmitry Baryshkov }; 266*3096209bSDmitry Baryshkov 267*3096209bSDmitry Baryshkov opp-810000000 { 268*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <810000000>; 269*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_nom>; 270*3096209bSDmitry Baryshkov }; 271*3096209bSDmitry Baryshkov }; 272*3096209bSDmitry Baryshkov }; 273*3096209bSDmitry Baryshkov 274*3096209bSDmitry Baryshkov dsi@ae94000 { 275*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dsi-ctrl", 276*3096209bSDmitry Baryshkov "qcom,mdss-dsi-ctrl"; 277*3096209bSDmitry Baryshkov reg = <0x0ae94000 0x400>; 278*3096209bSDmitry Baryshkov reg-names = "dsi_ctrl"; 279*3096209bSDmitry Baryshkov 280*3096209bSDmitry Baryshkov interrupt-parent = <&mdss>; 281*3096209bSDmitry Baryshkov interrupts = <4>; 282*3096209bSDmitry Baryshkov 283*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_byte0_clk>, 284*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_byte0_intf_clk>, 285*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_pclk0_clk>, 286*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_esc0_clk>, 287*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_ahb_clk>, 288*3096209bSDmitry Baryshkov <&gcc_gcc_disp_hf_axi_clk>; 289*3096209bSDmitry Baryshkov clock-names = "byte", 290*3096209bSDmitry Baryshkov "byte_intf", 291*3096209bSDmitry Baryshkov "pixel", 292*3096209bSDmitry Baryshkov "core", 293*3096209bSDmitry Baryshkov "iface", 294*3096209bSDmitry Baryshkov "bus"; 295*3096209bSDmitry Baryshkov 296*3096209bSDmitry Baryshkov assigned-clocks = <&dispcc_disp_cc_mdss_byte0_clk_src>, 297*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_pclk0_clk_src>; 298*3096209bSDmitry Baryshkov assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>; 299*3096209bSDmitry Baryshkov 300*3096209bSDmitry Baryshkov operating-points-v2 = <&dsi_opp_table>; 301*3096209bSDmitry Baryshkov power-domains = <&rpmhpd RPMHPD_MMCX>; 302*3096209bSDmitry Baryshkov 303*3096209bSDmitry Baryshkov phys = <&mdss_dsi0_phy>; 304*3096209bSDmitry Baryshkov phy-names = "dsi"; 305*3096209bSDmitry Baryshkov 306*3096209bSDmitry Baryshkov #address-cells = <1>; 307*3096209bSDmitry Baryshkov #size-cells = <0>; 308*3096209bSDmitry Baryshkov 309*3096209bSDmitry Baryshkov ports { 310*3096209bSDmitry Baryshkov #address-cells = <1>; 311*3096209bSDmitry Baryshkov #size-cells = <0>; 312*3096209bSDmitry Baryshkov 313*3096209bSDmitry Baryshkov port@0 { 314*3096209bSDmitry Baryshkov reg = <0>; 315*3096209bSDmitry Baryshkov 316*3096209bSDmitry Baryshkov mdss_dsi0_in: endpoint { 317*3096209bSDmitry Baryshkov remote-endpoint = <&dpu_intf1_out>; 318*3096209bSDmitry Baryshkov }; 319*3096209bSDmitry Baryshkov }; 320*3096209bSDmitry Baryshkov 321*3096209bSDmitry Baryshkov port@1 { 322*3096209bSDmitry Baryshkov reg = <1>; 323*3096209bSDmitry Baryshkov 324*3096209bSDmitry Baryshkov mdss_dsi0_out: endpoint { 325*3096209bSDmitry Baryshkov }; 326*3096209bSDmitry Baryshkov }; 327*3096209bSDmitry Baryshkov }; 328*3096209bSDmitry Baryshkov 329*3096209bSDmitry Baryshkov dsi_opp_table: opp-table { 330*3096209bSDmitry Baryshkov compatible = "operating-points-v2"; 331*3096209bSDmitry Baryshkov 332*3096209bSDmitry Baryshkov opp-187500000 { 333*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <187500000>; 334*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs>; 335*3096209bSDmitry Baryshkov }; 336*3096209bSDmitry Baryshkov 337*3096209bSDmitry Baryshkov opp-300000000 { 338*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <300000000>; 339*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs>; 340*3096209bSDmitry Baryshkov }; 341*3096209bSDmitry Baryshkov 342*3096209bSDmitry Baryshkov opp-358000000 { 343*3096209bSDmitry Baryshkov opp-hz = /bits/ 64 <358000000>; 344*3096209bSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs_l1>; 345*3096209bSDmitry Baryshkov }; 346*3096209bSDmitry Baryshkov }; 347*3096209bSDmitry Baryshkov }; 348*3096209bSDmitry Baryshkov 349*3096209bSDmitry Baryshkov mdss_dsi0_phy: phy@ae94400 { 350*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dsi-phy-5nm"; 351*3096209bSDmitry Baryshkov reg = <0x0ae95000 0x200>, 352*3096209bSDmitry Baryshkov <0x0ae95200 0x280>, 353*3096209bSDmitry Baryshkov <0x0ae95500 0x400>; 354*3096209bSDmitry Baryshkov reg-names = "dsi_phy", 355*3096209bSDmitry Baryshkov "dsi_phy_lane", 356*3096209bSDmitry Baryshkov "dsi_pll"; 357*3096209bSDmitry Baryshkov 358*3096209bSDmitry Baryshkov #clock-cells = <1>; 359*3096209bSDmitry Baryshkov #phy-cells = <0>; 360*3096209bSDmitry Baryshkov 361*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_ahb_clk>, 362*3096209bSDmitry Baryshkov <&rpmhcc_rpmh_cxo_clk>; 363*3096209bSDmitry Baryshkov clock-names = "iface", "ref"; 364*3096209bSDmitry Baryshkov }; 365*3096209bSDmitry Baryshkov 366*3096209bSDmitry Baryshkov dsi@ae96000 { 367*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dsi-ctrl", 368*3096209bSDmitry Baryshkov "qcom,mdss-dsi-ctrl"; 369*3096209bSDmitry Baryshkov reg = <0x0ae96000 0x400>; 370*3096209bSDmitry Baryshkov reg-names = "dsi_ctrl"; 371*3096209bSDmitry Baryshkov 372*3096209bSDmitry Baryshkov interrupt-parent = <&mdss>; 373*3096209bSDmitry Baryshkov interrupts = <5>; 374*3096209bSDmitry Baryshkov 375*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_byte1_clk>, 376*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_byte1_intf_clk>, 377*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_pclk1_clk>, 378*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_esc1_clk>, 379*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_ahb_clk>, 380*3096209bSDmitry Baryshkov <&gcc_gcc_disp_hf_axi_clk>; 381*3096209bSDmitry Baryshkov clock-names = "byte", 382*3096209bSDmitry Baryshkov "byte_intf", 383*3096209bSDmitry Baryshkov "pixel", 384*3096209bSDmitry Baryshkov "core", 385*3096209bSDmitry Baryshkov "iface", 386*3096209bSDmitry Baryshkov "bus"; 387*3096209bSDmitry Baryshkov 388*3096209bSDmitry Baryshkov assigned-clocks = <&dispcc_disp_cc_mdss_byte1_clk_src>, 389*3096209bSDmitry Baryshkov <&dispcc_disp_cc_mdss_pclk1_clk_src>; 390*3096209bSDmitry Baryshkov assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>; 391*3096209bSDmitry Baryshkov 392*3096209bSDmitry Baryshkov operating-points-v2 = <&dsi_opp_table>; 393*3096209bSDmitry Baryshkov power-domains = <&rpmhpd RPMHPD_MMCX>; 394*3096209bSDmitry Baryshkov 395*3096209bSDmitry Baryshkov phys = <&mdss_dsi1_phy>; 396*3096209bSDmitry Baryshkov phy-names = "dsi"; 397*3096209bSDmitry Baryshkov 398*3096209bSDmitry Baryshkov #address-cells = <1>; 399*3096209bSDmitry Baryshkov #size-cells = <0>; 400*3096209bSDmitry Baryshkov 401*3096209bSDmitry Baryshkov ports { 402*3096209bSDmitry Baryshkov #address-cells = <1>; 403*3096209bSDmitry Baryshkov #size-cells = <0>; 404*3096209bSDmitry Baryshkov 405*3096209bSDmitry Baryshkov port@0 { 406*3096209bSDmitry Baryshkov reg = <0>; 407*3096209bSDmitry Baryshkov 408*3096209bSDmitry Baryshkov mdss_dsi1_in: endpoint { 409*3096209bSDmitry Baryshkov remote-endpoint = <&dpu_intf2_out>; 410*3096209bSDmitry Baryshkov }; 411*3096209bSDmitry Baryshkov }; 412*3096209bSDmitry Baryshkov 413*3096209bSDmitry Baryshkov port@1 { 414*3096209bSDmitry Baryshkov reg = <1>; 415*3096209bSDmitry Baryshkov 416*3096209bSDmitry Baryshkov mdss_dsi1_out: endpoint { 417*3096209bSDmitry Baryshkov }; 418*3096209bSDmitry Baryshkov }; 419*3096209bSDmitry Baryshkov }; 420*3096209bSDmitry Baryshkov }; 421*3096209bSDmitry Baryshkov 422*3096209bSDmitry Baryshkov mdss_dsi1_phy: phy@ae97000 { 423*3096209bSDmitry Baryshkov compatible = "qcom,sar2130p-dsi-phy-5nm"; 424*3096209bSDmitry Baryshkov reg = <0x0ae97000 0x200>, 425*3096209bSDmitry Baryshkov <0x0ae97200 0x280>, 426*3096209bSDmitry Baryshkov <0x0ae97500 0x400>; 427*3096209bSDmitry Baryshkov reg-names = "dsi_phy", 428*3096209bSDmitry Baryshkov "dsi_phy_lane", 429*3096209bSDmitry Baryshkov "dsi_pll"; 430*3096209bSDmitry Baryshkov 431*3096209bSDmitry Baryshkov #clock-cells = <1>; 432*3096209bSDmitry Baryshkov #phy-cells = <0>; 433*3096209bSDmitry Baryshkov 434*3096209bSDmitry Baryshkov clocks = <&dispcc_disp_cc_mdss_ahb_clk>, 435*3096209bSDmitry Baryshkov <&rpmhcc_rpmh_cxo_clk>; 436*3096209bSDmitry Baryshkov clock-names = "iface", "ref"; 437*3096209bSDmitry Baryshkov }; 438*3096209bSDmitry Baryshkov }; 439*3096209bSDmitry Baryshkov... 440