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/dpu-sc7180.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Display DPU dt properties for SC7180 target 8 9maintainers: 10 - Krishna Manikandan <quic_mkrishn@quicinc.com> 11 12description: | 13 Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates 14 sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree 15 bindings of MDSS and DPU are mentioned for SC7180 target. 16 17properties: 18 compatible: 19 items: 20 - const: qcom,sc7180-mdss 21 22 reg: 23 maxItems: 1 24 25 reg-names: 26 const: mdss 27 28 power-domains: 29 maxItems: 1 30 31 clocks: 32 items: 33 - description: Display AHB clock from gcc 34 - description: Display AHB clock from dispcc 35 - description: Display core clock 36 37 clock-names: 38 items: 39 - const: iface 40 - const: ahb 41 - const: core 42 43 interrupts: 44 maxItems: 1 45 46 interrupt-controller: true 47 48 "#address-cells": true 49 50 "#size-cells": true 51 52 "#interrupt-cells": 53 const: 1 54 55 iommus: 56 items: 57 - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0 58 59 ranges: true 60 61 interconnects: 62 items: 63 - description: Interconnect path specifying the port ids for data bus 64 65 interconnect-names: 66 const: mdp0-mem 67 68 resets: 69 items: 70 - description: MDSS_CORE reset 71 72patternProperties: 73 "^display-controller@[0-9a-f]+$": 74 type: object 75 description: Node containing the properties of DPU. 76 additionalProperties: false 77 78 properties: 79 compatible: 80 items: 81 - const: qcom,sc7180-dpu 82 83 reg: 84 items: 85 - description: Address offset and size for mdp register set 86 - description: Address offset and size for vbif register set 87 88 reg-names: 89 items: 90 - const: mdp 91 - const: vbif 92 93 clocks: 94 items: 95 - description: Display hf axi clock 96 - description: Display ahb clock 97 - description: Display rotator clock 98 - description: Display lut clock 99 - description: Display core clock 100 - description: Display vsync clock 101 102 clock-names: 103 items: 104 - const: bus 105 - const: iface 106 - const: rot 107 - const: lut 108 - const: core 109 - const: vsync 110 111 interrupts: 112 maxItems: 1 113 114 power-domains: 115 maxItems: 1 116 117 operating-points-v2: true 118 opp-table: 119 type: object 120 121 ports: 122 $ref: /schemas/graph.yaml#/properties/ports 123 description: | 124 Contains the list of output ports from DPU device. These ports 125 connect to interfaces that are external to the DPU hardware, 126 such as DSI, DP etc. Each output port contains an endpoint that 127 describes how it is connected to an external interface. 128 129 properties: 130 port@0: 131 $ref: /schemas/graph.yaml#/properties/port 132 description: DPU_INTF1 (DSI1) 133 134 port@2: 135 $ref: /schemas/graph.yaml#/properties/port 136 description: DPU_INTF0 (DP) 137 138 required: 139 - port@0 140 141 required: 142 - compatible 143 - reg 144 - reg-names 145 - clocks 146 - interrupts 147 - power-domains 148 - operating-points-v2 149 - ports 150 151required: 152 - compatible 153 - reg 154 - reg-names 155 - power-domains 156 - clocks 157 - interrupts 158 - interrupt-controller 159 - iommus 160 - ranges 161 162additionalProperties: false 163 164examples: 165 - | 166 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 167 #include <dt-bindings/clock/qcom,gcc-sc7180.h> 168 #include <dt-bindings/interrupt-controller/arm-gic.h> 169 #include <dt-bindings/interconnect/qcom,sdm845.h> 170 #include <dt-bindings/power/qcom-rpmpd.h> 171 172 display-subsystem@ae00000 { 173 #address-cells = <1>; 174 #size-cells = <1>; 175 compatible = "qcom,sc7180-mdss"; 176 reg = <0xae00000 0x1000>; 177 reg-names = "mdss"; 178 power-domains = <&dispcc MDSS_GDSC>; 179 clocks = <&gcc GCC_DISP_AHB_CLK>, 180 <&dispcc DISP_CC_MDSS_AHB_CLK>, 181 <&dispcc DISP_CC_MDSS_MDP_CLK>; 182 clock-names = "iface", "ahb", "core"; 183 184 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 185 interrupt-controller; 186 #interrupt-cells = <1>; 187 188 interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>; 189 interconnect-names = "mdp0-mem"; 190 191 iommus = <&apps_smmu 0x800 0x2>; 192 ranges; 193 194 display-controller@ae01000 { 195 compatible = "qcom,sc7180-dpu"; 196 reg = <0x0ae01000 0x8f000>, 197 <0x0aeb0000 0x2008>; 198 199 reg-names = "mdp", "vbif"; 200 201 clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 202 <&dispcc DISP_CC_MDSS_AHB_CLK>, 203 <&dispcc DISP_CC_MDSS_ROT_CLK>, 204 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 205 <&dispcc DISP_CC_MDSS_MDP_CLK>, 206 <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 207 clock-names = "bus", "iface", "rot", "lut", "core", 208 "vsync"; 209 210 interrupt-parent = <&mdss>; 211 interrupts = <0>; 212 power-domains = <&rpmhpd SC7180_CX>; 213 operating-points-v2 = <&mdp_opp_table>; 214 215 ports { 216 #address-cells = <1>; 217 #size-cells = <0>; 218 219 port@0 { 220 reg = <0>; 221 dpu_intf1_out: endpoint { 222 remote-endpoint = <&dsi0_in>; 223 }; 224 }; 225 226 port@2 { 227 reg = <2>; 228 dpu_intf0_out: endpoint { 229 remote-endpoint = <&dp_in>; 230 }; 231 }; 232 }; 233 }; 234 }; 235... 236