1*fd5c9b3cSDmitry Baryshkov# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*fd5c9b3cSDmitry Baryshkov%YAML 1.2 3*fd5c9b3cSDmitry Baryshkov--- 4*fd5c9b3cSDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,sc8180x-mdss.yaml# 5*fd5c9b3cSDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml# 6*fd5c9b3cSDmitry Baryshkov 7*fd5c9b3cSDmitry Baryshkovtitle: Qualcomm SC8180X Display MDSS 8*fd5c9b3cSDmitry Baryshkov 9*fd5c9b3cSDmitry Baryshkovmaintainers: 10*fd5c9b3cSDmitry Baryshkov - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 11*fd5c9b3cSDmitry Baryshkov 12*fd5c9b3cSDmitry Baryshkovdescription: 13*fd5c9b3cSDmitry Baryshkov Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates 14*fd5c9b3cSDmitry Baryshkov sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree 15*fd5c9b3cSDmitry Baryshkov bindings of MDSS are mentioned for SC8180X target. 16*fd5c9b3cSDmitry Baryshkov 17*fd5c9b3cSDmitry Baryshkov$ref: /schemas/display/msm/mdss-common.yaml# 18*fd5c9b3cSDmitry Baryshkov 19*fd5c9b3cSDmitry Baryshkovproperties: 20*fd5c9b3cSDmitry Baryshkov compatible: 21*fd5c9b3cSDmitry Baryshkov items: 22*fd5c9b3cSDmitry Baryshkov - const: qcom,sc8180x-mdss 23*fd5c9b3cSDmitry Baryshkov 24*fd5c9b3cSDmitry Baryshkov clocks: 25*fd5c9b3cSDmitry Baryshkov items: 26*fd5c9b3cSDmitry Baryshkov - description: Display AHB clock from gcc 27*fd5c9b3cSDmitry Baryshkov - description: Display hf axi clock 28*fd5c9b3cSDmitry Baryshkov - description: Display sf axi clock 29*fd5c9b3cSDmitry Baryshkov - description: Display core clock 30*fd5c9b3cSDmitry Baryshkov 31*fd5c9b3cSDmitry Baryshkov clock-names: 32*fd5c9b3cSDmitry Baryshkov items: 33*fd5c9b3cSDmitry Baryshkov - const: iface 34*fd5c9b3cSDmitry Baryshkov - const: bus 35*fd5c9b3cSDmitry Baryshkov - const: nrt_bus 36*fd5c9b3cSDmitry Baryshkov - const: core 37*fd5c9b3cSDmitry Baryshkov 38*fd5c9b3cSDmitry Baryshkov iommus: 39*fd5c9b3cSDmitry Baryshkov maxItems: 1 40*fd5c9b3cSDmitry Baryshkov 41*fd5c9b3cSDmitry Baryshkov interconnects: 42*fd5c9b3cSDmitry Baryshkov maxItems: 3 43*fd5c9b3cSDmitry Baryshkov 44*fd5c9b3cSDmitry Baryshkov interconnect-names: 45*fd5c9b3cSDmitry Baryshkov maxItems: 3 46*fd5c9b3cSDmitry Baryshkov 47*fd5c9b3cSDmitry BaryshkovpatternProperties: 48*fd5c9b3cSDmitry Baryshkov "^display-controller@[0-9a-f]+$": 49*fd5c9b3cSDmitry Baryshkov type: object 50*fd5c9b3cSDmitry Baryshkov additionalProperties: true 51*fd5c9b3cSDmitry Baryshkov 52*fd5c9b3cSDmitry Baryshkov properties: 53*fd5c9b3cSDmitry Baryshkov compatible: 54*fd5c9b3cSDmitry Baryshkov const: qcom,sc8180x-dpu 55*fd5c9b3cSDmitry Baryshkov 56*fd5c9b3cSDmitry Baryshkov "^displayport-controller@[0-9a-f]+$": 57*fd5c9b3cSDmitry Baryshkov type: object 58*fd5c9b3cSDmitry Baryshkov additionalProperties: true 59*fd5c9b3cSDmitry Baryshkov 60*fd5c9b3cSDmitry Baryshkov properties: 61*fd5c9b3cSDmitry Baryshkov compatible: 62*fd5c9b3cSDmitry Baryshkov enum: 63*fd5c9b3cSDmitry Baryshkov - qcom,sc8180x-dp 64*fd5c9b3cSDmitry Baryshkov - qcom,sc8180x-edp 65*fd5c9b3cSDmitry Baryshkov 66*fd5c9b3cSDmitry Baryshkov "^dsi@[0-9a-f]+$": 67*fd5c9b3cSDmitry Baryshkov type: object 68*fd5c9b3cSDmitry Baryshkov additionalProperties: true 69*fd5c9b3cSDmitry Baryshkov 70*fd5c9b3cSDmitry Baryshkov properties: 71*fd5c9b3cSDmitry Baryshkov compatible: 72*fd5c9b3cSDmitry Baryshkov contains: 73*fd5c9b3cSDmitry Baryshkov const: qcom,sc8180x-dsi-ctrl 74*fd5c9b3cSDmitry Baryshkov 75*fd5c9b3cSDmitry Baryshkov "^phy@[0-9a-f]+$": 76*fd5c9b3cSDmitry Baryshkov type: object 77*fd5c9b3cSDmitry Baryshkov additionalProperties: true 78*fd5c9b3cSDmitry Baryshkov 79*fd5c9b3cSDmitry Baryshkov properties: 80*fd5c9b3cSDmitry Baryshkov compatible: 81*fd5c9b3cSDmitry Baryshkov const: qcom,dsi-phy-7nm 82*fd5c9b3cSDmitry Baryshkov 83*fd5c9b3cSDmitry BaryshkovunevaluatedProperties: false 84*fd5c9b3cSDmitry Baryshkov 85*fd5c9b3cSDmitry Baryshkovexamples: 86*fd5c9b3cSDmitry Baryshkov - | 87*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/clock/qcom,dispcc-sm8250.h> 88*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/clock/qcom,gcc-sc8180x.h> 89*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/clock/qcom,rpmh.h> 90*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 91*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/interconnect/qcom,sc8180x.h> 92*fd5c9b3cSDmitry Baryshkov #include <dt-bindings/power/qcom-rpmpd.h> 93*fd5c9b3cSDmitry Baryshkov 94*fd5c9b3cSDmitry Baryshkov display-subsystem@ae00000 { 95*fd5c9b3cSDmitry Baryshkov compatible = "qcom,sc8180x-mdss"; 96*fd5c9b3cSDmitry Baryshkov reg = <0x0ae00000 0x1000>; 97*fd5c9b3cSDmitry Baryshkov reg-names = "mdss"; 98*fd5c9b3cSDmitry Baryshkov 99*fd5c9b3cSDmitry Baryshkov interconnects = <&mmss_noc MASTER_MDP_PORT0 &mc_virt SLAVE_EBI_CH0>, 100*fd5c9b3cSDmitry Baryshkov <&mmss_noc MASTER_MDP_PORT1 &mc_virt SLAVE_EBI_CH0>, 101*fd5c9b3cSDmitry Baryshkov <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_DISPLAY_CFG>; 102*fd5c9b3cSDmitry Baryshkov interconnect-names = "mdp0-mem", 103*fd5c9b3cSDmitry Baryshkov "mdp1-mem", 104*fd5c9b3cSDmitry Baryshkov "cpu-cfg"; 105*fd5c9b3cSDmitry Baryshkov 106*fd5c9b3cSDmitry Baryshkov power-domains = <&dispcc MDSS_GDSC>; 107*fd5c9b3cSDmitry Baryshkov 108*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 109*fd5c9b3cSDmitry Baryshkov <&gcc GCC_DISP_HF_AXI_CLK>, 110*fd5c9b3cSDmitry Baryshkov <&gcc GCC_DISP_SF_AXI_CLK>, 111*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_MDP_CLK>; 112*fd5c9b3cSDmitry Baryshkov clock-names = "iface", "bus", "nrt_bus", "core"; 113*fd5c9b3cSDmitry Baryshkov 114*fd5c9b3cSDmitry Baryshkov interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 115*fd5c9b3cSDmitry Baryshkov interrupt-controller; 116*fd5c9b3cSDmitry Baryshkov #interrupt-cells = <1>; 117*fd5c9b3cSDmitry Baryshkov 118*fd5c9b3cSDmitry Baryshkov iommus = <&apps_smmu 0x800 0x420>; 119*fd5c9b3cSDmitry Baryshkov 120*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 121*fd5c9b3cSDmitry Baryshkov #size-cells = <1>; 122*fd5c9b3cSDmitry Baryshkov ranges; 123*fd5c9b3cSDmitry Baryshkov 124*fd5c9b3cSDmitry Baryshkov display-controller@ae01000 { 125*fd5c9b3cSDmitry Baryshkov compatible = "qcom,sc8180x-dpu"; 126*fd5c9b3cSDmitry Baryshkov reg = <0x0ae01000 0x8f000>, 127*fd5c9b3cSDmitry Baryshkov <0x0aeb0000 0x2008>; 128*fd5c9b3cSDmitry Baryshkov reg-names = "mdp", "vbif"; 129*fd5c9b3cSDmitry Baryshkov 130*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 131*fd5c9b3cSDmitry Baryshkov <&gcc GCC_DISP_HF_AXI_CLK>, 132*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_MDP_CLK>, 133*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 134*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_ROT_CLK>, 135*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>; 136*fd5c9b3cSDmitry Baryshkov clock-names = "iface", 137*fd5c9b3cSDmitry Baryshkov "bus", 138*fd5c9b3cSDmitry Baryshkov "core", 139*fd5c9b3cSDmitry Baryshkov "vsync", 140*fd5c9b3cSDmitry Baryshkov "rot", 141*fd5c9b3cSDmitry Baryshkov "lut"; 142*fd5c9b3cSDmitry Baryshkov 143*fd5c9b3cSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 144*fd5c9b3cSDmitry Baryshkov assigned-clock-rates = <19200000>; 145*fd5c9b3cSDmitry Baryshkov 146*fd5c9b3cSDmitry Baryshkov operating-points-v2 = <&mdp_opp_table>; 147*fd5c9b3cSDmitry Baryshkov power-domains = <&rpmhpd SC8180X_MMCX>; 148*fd5c9b3cSDmitry Baryshkov 149*fd5c9b3cSDmitry Baryshkov interrupt-parent = <&mdss>; 150*fd5c9b3cSDmitry Baryshkov interrupts = <0>; 151*fd5c9b3cSDmitry Baryshkov 152*fd5c9b3cSDmitry Baryshkov ports { 153*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 154*fd5c9b3cSDmitry Baryshkov #size-cells = <0>; 155*fd5c9b3cSDmitry Baryshkov 156*fd5c9b3cSDmitry Baryshkov port@0 { 157*fd5c9b3cSDmitry Baryshkov reg = <0>; 158*fd5c9b3cSDmitry Baryshkov dpu_intf1_out: endpoint { 159*fd5c9b3cSDmitry Baryshkov remote-endpoint = <&dsi0_in>; 160*fd5c9b3cSDmitry Baryshkov }; 161*fd5c9b3cSDmitry Baryshkov }; 162*fd5c9b3cSDmitry Baryshkov 163*fd5c9b3cSDmitry Baryshkov port@1 { 164*fd5c9b3cSDmitry Baryshkov reg = <1>; 165*fd5c9b3cSDmitry Baryshkov dpu_intf2_out: endpoint { 166*fd5c9b3cSDmitry Baryshkov remote-endpoint = <&dsi1_in>; 167*fd5c9b3cSDmitry Baryshkov }; 168*fd5c9b3cSDmitry Baryshkov }; 169*fd5c9b3cSDmitry Baryshkov }; 170*fd5c9b3cSDmitry Baryshkov 171*fd5c9b3cSDmitry Baryshkov mdp_opp_table: opp-table { 172*fd5c9b3cSDmitry Baryshkov compatible = "operating-points-v2"; 173*fd5c9b3cSDmitry Baryshkov 174*fd5c9b3cSDmitry Baryshkov opp-171428571 { 175*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <171428571>; 176*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs>; 177*fd5c9b3cSDmitry Baryshkov }; 178*fd5c9b3cSDmitry Baryshkov 179*fd5c9b3cSDmitry Baryshkov opp-300000000 { 180*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <300000000>; 181*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs>; 182*fd5c9b3cSDmitry Baryshkov }; 183*fd5c9b3cSDmitry Baryshkov 184*fd5c9b3cSDmitry Baryshkov opp-345000000 { 185*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <345000000>; 186*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs_l1>; 187*fd5c9b3cSDmitry Baryshkov }; 188*fd5c9b3cSDmitry Baryshkov 189*fd5c9b3cSDmitry Baryshkov opp-460000000 { 190*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <460000000>; 191*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_nom>; 192*fd5c9b3cSDmitry Baryshkov }; 193*fd5c9b3cSDmitry Baryshkov }; 194*fd5c9b3cSDmitry Baryshkov }; 195*fd5c9b3cSDmitry Baryshkov 196*fd5c9b3cSDmitry Baryshkov dsi@ae94000 { 197*fd5c9b3cSDmitry Baryshkov compatible = "qcom,sc8180x-dsi-ctrl", 198*fd5c9b3cSDmitry Baryshkov "qcom,mdss-dsi-ctrl"; 199*fd5c9b3cSDmitry Baryshkov reg = <0x0ae94000 0x400>; 200*fd5c9b3cSDmitry Baryshkov reg-names = "dsi_ctrl"; 201*fd5c9b3cSDmitry Baryshkov 202*fd5c9b3cSDmitry Baryshkov interrupt-parent = <&mdss>; 203*fd5c9b3cSDmitry Baryshkov interrupts = <4>; 204*fd5c9b3cSDmitry Baryshkov 205*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 206*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 207*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 208*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_ESC0_CLK>, 209*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_AHB_CLK>, 210*fd5c9b3cSDmitry Baryshkov <&gcc GCC_DISP_HF_AXI_CLK>; 211*fd5c9b3cSDmitry Baryshkov clock-names = "byte", 212*fd5c9b3cSDmitry Baryshkov "byte_intf", 213*fd5c9b3cSDmitry Baryshkov "pixel", 214*fd5c9b3cSDmitry Baryshkov "core", 215*fd5c9b3cSDmitry Baryshkov "iface", 216*fd5c9b3cSDmitry Baryshkov "bus"; 217*fd5c9b3cSDmitry Baryshkov 218*fd5c9b3cSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, 219*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 220*fd5c9b3cSDmitry Baryshkov assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 221*fd5c9b3cSDmitry Baryshkov 222*fd5c9b3cSDmitry Baryshkov operating-points-v2 = <&dsi_opp_table>; 223*fd5c9b3cSDmitry Baryshkov power-domains = <&rpmhpd SC8180X_MMCX>; 224*fd5c9b3cSDmitry Baryshkov 225*fd5c9b3cSDmitry Baryshkov phys = <&dsi0_phy>; 226*fd5c9b3cSDmitry Baryshkov phy-names = "dsi"; 227*fd5c9b3cSDmitry Baryshkov 228*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 229*fd5c9b3cSDmitry Baryshkov #size-cells = <0>; 230*fd5c9b3cSDmitry Baryshkov 231*fd5c9b3cSDmitry Baryshkov ports { 232*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 233*fd5c9b3cSDmitry Baryshkov #size-cells = <0>; 234*fd5c9b3cSDmitry Baryshkov 235*fd5c9b3cSDmitry Baryshkov port@0 { 236*fd5c9b3cSDmitry Baryshkov reg = <0>; 237*fd5c9b3cSDmitry Baryshkov dsi0_in: endpoint { 238*fd5c9b3cSDmitry Baryshkov remote-endpoint = <&dpu_intf1_out>; 239*fd5c9b3cSDmitry Baryshkov }; 240*fd5c9b3cSDmitry Baryshkov }; 241*fd5c9b3cSDmitry Baryshkov 242*fd5c9b3cSDmitry Baryshkov port@1 { 243*fd5c9b3cSDmitry Baryshkov reg = <1>; 244*fd5c9b3cSDmitry Baryshkov dsi0_out: endpoint { 245*fd5c9b3cSDmitry Baryshkov }; 246*fd5c9b3cSDmitry Baryshkov }; 247*fd5c9b3cSDmitry Baryshkov }; 248*fd5c9b3cSDmitry Baryshkov 249*fd5c9b3cSDmitry Baryshkov dsi_opp_table: opp-table { 250*fd5c9b3cSDmitry Baryshkov compatible = "operating-points-v2"; 251*fd5c9b3cSDmitry Baryshkov 252*fd5c9b3cSDmitry Baryshkov opp-187500000 { 253*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <187500000>; 254*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_low_svs>; 255*fd5c9b3cSDmitry Baryshkov }; 256*fd5c9b3cSDmitry Baryshkov 257*fd5c9b3cSDmitry Baryshkov opp-300000000 { 258*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <300000000>; 259*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs>; 260*fd5c9b3cSDmitry Baryshkov }; 261*fd5c9b3cSDmitry Baryshkov 262*fd5c9b3cSDmitry Baryshkov opp-358000000 { 263*fd5c9b3cSDmitry Baryshkov opp-hz = /bits/ 64 <358000000>; 264*fd5c9b3cSDmitry Baryshkov required-opps = <&rpmhpd_opp_svs_l1>; 265*fd5c9b3cSDmitry Baryshkov }; 266*fd5c9b3cSDmitry Baryshkov }; 267*fd5c9b3cSDmitry Baryshkov }; 268*fd5c9b3cSDmitry Baryshkov 269*fd5c9b3cSDmitry Baryshkov dsi0_phy: phy@ae94400 { 270*fd5c9b3cSDmitry Baryshkov compatible = "qcom,dsi-phy-7nm"; 271*fd5c9b3cSDmitry Baryshkov reg = <0x0ae94400 0x200>, 272*fd5c9b3cSDmitry Baryshkov <0x0ae94600 0x280>, 273*fd5c9b3cSDmitry Baryshkov <0x0ae94900 0x260>; 274*fd5c9b3cSDmitry Baryshkov reg-names = "dsi_phy", 275*fd5c9b3cSDmitry Baryshkov "dsi_phy_lane", 276*fd5c9b3cSDmitry Baryshkov "dsi_pll"; 277*fd5c9b3cSDmitry Baryshkov 278*fd5c9b3cSDmitry Baryshkov #clock-cells = <1>; 279*fd5c9b3cSDmitry Baryshkov #phy-cells = <0>; 280*fd5c9b3cSDmitry Baryshkov 281*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 282*fd5c9b3cSDmitry Baryshkov <&rpmhcc RPMH_CXO_CLK>; 283*fd5c9b3cSDmitry Baryshkov clock-names = "iface", "ref"; 284*fd5c9b3cSDmitry Baryshkov vdds-supply = <&vreg_dsi_phy>; 285*fd5c9b3cSDmitry Baryshkov }; 286*fd5c9b3cSDmitry Baryshkov 287*fd5c9b3cSDmitry Baryshkov dsi@ae96000 { 288*fd5c9b3cSDmitry Baryshkov compatible = "qcom,sc8180x-dsi-ctrl", 289*fd5c9b3cSDmitry Baryshkov "qcom,mdss-dsi-ctrl"; 290*fd5c9b3cSDmitry Baryshkov reg = <0x0ae96000 0x400>; 291*fd5c9b3cSDmitry Baryshkov reg-names = "dsi_ctrl"; 292*fd5c9b3cSDmitry Baryshkov 293*fd5c9b3cSDmitry Baryshkov interrupt-parent = <&mdss>; 294*fd5c9b3cSDmitry Baryshkov interrupts = <5>; 295*fd5c9b3cSDmitry Baryshkov 296*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>, 297*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>, 298*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_PCLK1_CLK>, 299*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_ESC1_CLK>, 300*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_AHB_CLK>, 301*fd5c9b3cSDmitry Baryshkov <&gcc GCC_DISP_HF_AXI_CLK>; 302*fd5c9b3cSDmitry Baryshkov clock-names = "byte", 303*fd5c9b3cSDmitry Baryshkov "byte_intf", 304*fd5c9b3cSDmitry Baryshkov "pixel", 305*fd5c9b3cSDmitry Baryshkov "core", 306*fd5c9b3cSDmitry Baryshkov "iface", 307*fd5c9b3cSDmitry Baryshkov "bus"; 308*fd5c9b3cSDmitry Baryshkov 309*fd5c9b3cSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>, 310*fd5c9b3cSDmitry Baryshkov <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>; 311*fd5c9b3cSDmitry Baryshkov assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>; 312*fd5c9b3cSDmitry Baryshkov 313*fd5c9b3cSDmitry Baryshkov operating-points-v2 = <&dsi_opp_table>; 314*fd5c9b3cSDmitry Baryshkov power-domains = <&rpmhpd SC8180X_MMCX>; 315*fd5c9b3cSDmitry Baryshkov 316*fd5c9b3cSDmitry Baryshkov phys = <&dsi1_phy>; 317*fd5c9b3cSDmitry Baryshkov phy-names = "dsi"; 318*fd5c9b3cSDmitry Baryshkov 319*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 320*fd5c9b3cSDmitry Baryshkov #size-cells = <0>; 321*fd5c9b3cSDmitry Baryshkov 322*fd5c9b3cSDmitry Baryshkov ports { 323*fd5c9b3cSDmitry Baryshkov #address-cells = <1>; 324*fd5c9b3cSDmitry Baryshkov #size-cells = <0>; 325*fd5c9b3cSDmitry Baryshkov 326*fd5c9b3cSDmitry Baryshkov port@0 { 327*fd5c9b3cSDmitry Baryshkov reg = <0>; 328*fd5c9b3cSDmitry Baryshkov dsi1_in: endpoint { 329*fd5c9b3cSDmitry Baryshkov remote-endpoint = <&dpu_intf2_out>; 330*fd5c9b3cSDmitry Baryshkov }; 331*fd5c9b3cSDmitry Baryshkov }; 332*fd5c9b3cSDmitry Baryshkov 333*fd5c9b3cSDmitry Baryshkov port@1 { 334*fd5c9b3cSDmitry Baryshkov reg = <1>; 335*fd5c9b3cSDmitry Baryshkov dsi1_out: endpoint { 336*fd5c9b3cSDmitry Baryshkov }; 337*fd5c9b3cSDmitry Baryshkov }; 338*fd5c9b3cSDmitry Baryshkov }; 339*fd5c9b3cSDmitry Baryshkov }; 340*fd5c9b3cSDmitry Baryshkov 341*fd5c9b3cSDmitry Baryshkov dsi1_phy: phy@ae96400 { 342*fd5c9b3cSDmitry Baryshkov compatible = "qcom,dsi-phy-7nm"; 343*fd5c9b3cSDmitry Baryshkov reg = <0x0ae96400 0x200>, 344*fd5c9b3cSDmitry Baryshkov <0x0ae96600 0x280>, 345*fd5c9b3cSDmitry Baryshkov <0x0ae96900 0x260>; 346*fd5c9b3cSDmitry Baryshkov reg-names = "dsi_phy", 347*fd5c9b3cSDmitry Baryshkov "dsi_phy_lane", 348*fd5c9b3cSDmitry Baryshkov "dsi_pll"; 349*fd5c9b3cSDmitry Baryshkov 350*fd5c9b3cSDmitry Baryshkov #clock-cells = <1>; 351*fd5c9b3cSDmitry Baryshkov #phy-cells = <0>; 352*fd5c9b3cSDmitry Baryshkov 353*fd5c9b3cSDmitry Baryshkov clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 354*fd5c9b3cSDmitry Baryshkov <&rpmhcc RPMH_CXO_CLK>; 355*fd5c9b3cSDmitry Baryshkov clock-names = "iface", "ref"; 356*fd5c9b3cSDmitry Baryshkov vdds-supply = <&vreg_dsi_phy>; 357*fd5c9b3cSDmitry Baryshkov }; 358*fd5c9b3cSDmitry Baryshkov }; 359*fd5c9b3cSDmitry Baryshkov... 360