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-sdm845.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Display DPU dt properties for SDM845 target 8 9maintainers: 10 - Krishna Manikandan <mkrishn@codeaurora.org> 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 SDM845 target. 16 17properties: 18 compatible: 19 items: 20 - const: qcom,sdm845-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 core clock 35 36 clock-names: 37 items: 38 - const: iface 39 - const: core 40 41 interrupts: 42 maxItems: 1 43 44 interrupt-controller: true 45 46 "#address-cells": true 47 48 "#size-cells": true 49 50 "#interrupt-cells": 51 const: 1 52 53 iommus: 54 items: 55 - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0 56 - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1 57 58 ranges: true 59 60patternProperties: 61 "^display-controller@[0-9a-f]+$": 62 type: object 63 description: Node containing the properties of DPU. 64 65 properties: 66 compatible: 67 items: 68 - const: qcom,sdm845-dpu 69 70 reg: 71 items: 72 - description: Address offset and size for mdp register set 73 - description: Address offset and size for vbif register set 74 75 reg-names: 76 items: 77 - const: mdp 78 - const: vbif 79 80 clocks: 81 items: 82 - description: Display ahb clock 83 - description: Display axi clock 84 - description: Display core clock 85 - description: Display vsync clock 86 87 clock-names: 88 items: 89 - const: iface 90 - const: bus 91 - const: core 92 - const: vsync 93 94 interrupts: 95 maxItems: 1 96 97 power-domains: 98 maxItems: 1 99 100 operating-points-v2: true 101 ports: 102 $ref: /schemas/graph.yaml#/properties/ports 103 description: | 104 Contains the list of output ports from DPU device. These ports 105 connect to interfaces that are external to the DPU hardware, 106 such as DSI, DP etc. Each output port contains an endpoint that 107 describes how it is connected to an external interface. 108 109 properties: 110 port@0: 111 $ref: /schemas/graph.yaml#/properties/port 112 description: DPU_INTF1 (DSI1) 113 114 port@1: 115 $ref: /schemas/graph.yaml#/properties/port 116 description: DPU_INTF2 (DSI2) 117 118 required: 119 - port@0 120 - port@1 121 122 required: 123 - compatible 124 - reg 125 - reg-names 126 - clocks 127 - interrupts 128 - power-domains 129 - operating-points-v2 130 - ports 131 132required: 133 - compatible 134 - reg 135 - reg-names 136 - power-domains 137 - clocks 138 - interrupts 139 - interrupt-controller 140 - iommus 141 - ranges 142 143additionalProperties: false 144 145examples: 146 - | 147 #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 148 #include <dt-bindings/clock/qcom,gcc-sdm845.h> 149 #include <dt-bindings/interrupt-controller/arm-gic.h> 150 #include <dt-bindings/power/qcom-rpmpd.h> 151 152 display-subsystem@ae00000 { 153 #address-cells = <1>; 154 #size-cells = <1>; 155 compatible = "qcom,sdm845-mdss"; 156 reg = <0x0ae00000 0x1000>; 157 reg-names = "mdss"; 158 power-domains = <&dispcc MDSS_GDSC>; 159 160 clocks = <&gcc GCC_DISP_AHB_CLK>, 161 <&dispcc DISP_CC_MDSS_MDP_CLK>; 162 clock-names = "iface", "core"; 163 164 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 165 interrupt-controller; 166 #interrupt-cells = <1>; 167 168 iommus = <&apps_smmu 0x880 0x8>, 169 <&apps_smmu 0xc80 0x8>; 170 ranges; 171 172 display-controller@ae01000 { 173 compatible = "qcom,sdm845-dpu"; 174 reg = <0x0ae01000 0x8f000>, 175 <0x0aeb0000 0x2008>; 176 reg-names = "mdp", "vbif"; 177 178 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 179 <&dispcc DISP_CC_MDSS_AXI_CLK>, 180 <&dispcc DISP_CC_MDSS_MDP_CLK>, 181 <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 182 clock-names = "iface", "bus", "core", "vsync"; 183 184 interrupt-parent = <&mdss>; 185 interrupts = <0>; 186 power-domains = <&rpmhpd SDM845_CX>; 187 operating-points-v2 = <&mdp_opp_table>; 188 189 ports { 190 #address-cells = <1>; 191 #size-cells = <0>; 192 193 port@0 { 194 reg = <0>; 195 dpu_intf1_out: endpoint { 196 remote-endpoint = <&dsi0_in>; 197 }; 198 }; 199 200 port@1 { 201 reg = <1>; 202 dpu_intf2_out: endpoint { 203 remote-endpoint = <&dsi1_in>; 204 }; 205 }; 206 }; 207 }; 208 }; 209... 210