1# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/msm/qcom,qcm2290-mdss.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm QCM220 Display MDSS 8 9maintainers: 10 - Loic Poulain <loic.poulain@linaro.org> 11 12description: 13 Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates 14 sub-blocks like DPU display controller and DSI. Device tree bindings of MDSS 15 are mentioned for QCM2290 target. 16 17$ref: /schemas/display/msm/mdss-common.yaml# 18 19properties: 20 compatible: 21 items: 22 - const: qcom,qcm2290-mdss 23 24 clocks: 25 items: 26 - description: Display AHB clock from gcc 27 - description: Display AXI clock 28 - description: Display core clock 29 30 clock-names: 31 items: 32 - const: iface 33 - const: bus 34 - const: core 35 36 iommus: 37 maxItems: 2 38 39 interconnects: 40 maxItems: 1 41 42 interconnect-names: 43 maxItems: 1 44 45patternProperties: 46 "^display-controller@[0-9a-f]+$": 47 type: object 48 properties: 49 compatible: 50 const: qcom,qcm2290-dpu 51 52 "^dsi@[0-9a-f]+$": 53 type: object 54 properties: 55 compatible: 56 const: qcom,dsi-ctrl-6g-qcm2290 57 58 "^phy@[0-9a-f]+$": 59 type: object 60 properties: 61 compatible: 62 const: qcom,dsi-phy-14nm-2290 63 64unevaluatedProperties: false 65 66examples: 67 - | 68 #include <dt-bindings/clock/qcom,dispcc-qcm2290.h> 69 #include <dt-bindings/clock/qcom,gcc-qcm2290.h> 70 #include <dt-bindings/clock/qcom,rpmcc.h> 71 #include <dt-bindings/interrupt-controller/arm-gic.h> 72 #include <dt-bindings/interconnect/qcom,qcm2290.h> 73 #include <dt-bindings/power/qcom-rpmpd.h> 74 75 mdss@5e00000 { 76 #address-cells = <1>; 77 #size-cells = <1>; 78 compatible = "qcom,qcm2290-mdss"; 79 reg = <0x05e00000 0x1000>; 80 reg-names = "mdss"; 81 power-domains = <&dispcc MDSS_GDSC>; 82 clocks = <&gcc GCC_DISP_AHB_CLK>, 83 <&gcc GCC_DISP_HF_AXI_CLK>, 84 <&dispcc DISP_CC_MDSS_MDP_CLK>; 85 clock-names = "iface", "bus", "core"; 86 87 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 88 interrupt-controller; 89 #interrupt-cells = <1>; 90 91 interconnects = <&mmrt_virt MASTER_MDP0 &bimc SLAVE_EBI1>; 92 interconnect-names = "mdp0-mem"; 93 94 iommus = <&apps_smmu 0x420 0x2>, 95 <&apps_smmu 0x421 0x0>; 96 ranges; 97 98 display-controller@5e01000 { 99 compatible = "qcom,qcm2290-dpu"; 100 reg = <0x05e01000 0x8f000>, 101 <0x05eb0000 0x2008>; 102 reg-names = "mdp", "vbif"; 103 104 clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 105 <&dispcc DISP_CC_MDSS_AHB_CLK>, 106 <&dispcc DISP_CC_MDSS_MDP_CLK>, 107 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 108 <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 109 clock-names = "bus", "iface", "core", "lut", "vsync"; 110 111 operating-points-v2 = <&mdp_opp_table>; 112 power-domains = <&rpmpd QCM2290_VDDCX>; 113 114 interrupt-parent = <&mdss>; 115 interrupts = <0>; 116 117 ports { 118 #address-cells = <1>; 119 #size-cells = <0>; 120 121 port@0 { 122 reg = <0>; 123 dpu_intf1_out: endpoint { 124 remote-endpoint = <&dsi0_in>; 125 }; 126 }; 127 }; 128 }; 129 130 dsi@5e94000 { 131 compatible = "qcom,dsi-ctrl-6g-qcm2290"; 132 reg = <0x05e94000 0x400>; 133 reg-names = "dsi_ctrl"; 134 135 interrupt-parent = <&mdss>; 136 interrupts = <4>; 137 138 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 139 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 140 <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 141 <&dispcc DISP_CC_MDSS_ESC0_CLK>, 142 <&dispcc DISP_CC_MDSS_AHB_CLK>, 143 <&gcc GCC_DISP_HF_AXI_CLK>; 144 clock-names = "byte", 145 "byte_intf", 146 "pixel", 147 "core", 148 "iface", 149 "bus"; 150 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 151 assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 152 153 operating-points-v2 = <&dsi_opp_table>; 154 power-domains = <&rpmpd QCM2290_VDDCX>; 155 156 phys = <&dsi0_phy>; 157 phy-names = "dsi"; 158 159 #address-cells = <1>; 160 #size-cells = <0>; 161 162 ports { 163 #address-cells = <1>; 164 #size-cells = <0>; 165 166 port@0 { 167 reg = <0>; 168 dsi0_in: endpoint { 169 remote-endpoint = <&dpu_intf1_out>; 170 }; 171 }; 172 173 port@1 { 174 reg = <1>; 175 dsi0_out: endpoint { 176 }; 177 }; 178 }; 179 }; 180 181 dsi0_phy: phy@5e94400 { 182 compatible = "qcom,dsi-phy-14nm-2290"; 183 reg = <0x05e94400 0x100>, 184 <0x05e94500 0x300>, 185 <0x05e94800 0x188>; 186 reg-names = "dsi_phy", 187 "dsi_phy_lane", 188 "dsi_pll"; 189 190 #clock-cells = <1>; 191 #phy-cells = <0>; 192 193 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; 194 clock-names = "iface", "ref"; 195 vcca-supply = <&vreg_dsi_phy>; 196 }; 197 }; 198... 199