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,mdss.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Mobile Display SubSystem (MDSS) 8 9maintainers: 10 - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 11 - Rob Clark <robdclark@gmail.com> 12 13description: 14 This is the bindings documentation for the Mobile Display Subsystem(MDSS) that 15 encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc. 16 17properties: 18 $nodename: 19 pattern: "^display-subsystem@[0-9a-f]+$" 20 21 compatible: 22 enum: 23 - qcom,mdss 24 25 reg: 26 minItems: 2 27 maxItems: 3 28 29 reg-names: 30 minItems: 2 31 items: 32 - const: mdss_phys 33 - const: vbif_phys 34 - const: vbif_nrt_phys 35 36 interrupts: 37 maxItems: 1 38 39 interrupt-controller: true 40 41 "#interrupt-cells": 42 const: 1 43 44 power-domains: 45 maxItems: 1 46 description: | 47 The MDSS power domain provided by GCC 48 49 clocks: 50 oneOf: 51 - minItems: 3 52 items: 53 - description: Display abh clock 54 - description: Display axi clock 55 - description: Display vsync clock 56 - description: Display core clock 57 - minItems: 1 58 items: 59 - description: Display abh clock 60 - description: Display core clock 61 62 clock-names: 63 oneOf: 64 - minItems: 3 65 items: 66 - const: iface 67 - const: bus 68 - const: vsync 69 - const: core 70 - minItems: 1 71 items: 72 - const: iface 73 - const: core 74 75 "#address-cells": 76 const: 1 77 78 "#size-cells": 79 const: 1 80 81 ranges: true 82 83 resets: 84 items: 85 - description: MDSS_CORE reset 86 87required: 88 - compatible 89 - reg 90 - reg-names 91 - interrupts 92 - interrupt-controller 93 - "#interrupt-cells" 94 - power-domains 95 - clocks 96 - clock-names 97 - "#address-cells" 98 - "#size-cells" 99 - ranges 100 101patternProperties: 102 "^display-controller@[1-9a-f][0-9a-f]*$": 103 type: object 104 additionalProperties: true 105 properties: 106 compatible: 107 contains: 108 const: qcom,mdp5 109 110 "^dsi@[1-9a-f][0-9a-f]*$": 111 type: object 112 additionalProperties: true 113 properties: 114 compatible: 115 contains: 116 const: qcom,mdss-dsi-ctrl 117 118 "^phy@[1-9a-f][0-9a-f]*$": 119 type: object 120 additionalProperties: true 121 properties: 122 compatible: 123 enum: 124 - qcom,dsi-phy-14nm 125 - qcom,dsi-phy-14nm-660 126 - qcom,dsi-phy-14nm-8953 127 - qcom,dsi-phy-20nm 128 - qcom,dsi-phy-28nm-8226 129 - qcom,dsi-phy-28nm-8937 130 - qcom,dsi-phy-28nm-hpm 131 - qcom,dsi-phy-28nm-hpm-fam-b 132 - qcom,dsi-phy-28nm-lp 133 - qcom,hdmi-phy-8084 134 - qcom,hdmi-phy-8660 135 - qcom,hdmi-phy-8960 136 - qcom,hdmi-phy-8974 137 - qcom,hdmi-phy-8996 138 139 "^hdmi-tx@[1-9a-f][0-9a-f]*$": 140 type: object 141 additionalProperties: true 142 properties: 143 compatible: 144 enum: 145 - qcom,hdmi-tx-8084 146 - qcom,hdmi-tx-8660 147 - qcom,hdmi-tx-8960 148 - qcom,hdmi-tx-8974 149 - qcom,hdmi-tx-8994 150 - qcom,hdmi-tx-8996 151 152additionalProperties: false 153 154examples: 155 - | 156 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 157 #include <dt-bindings/interrupt-controller/arm-gic.h> 158 display-subsystem@1a00000 { 159 compatible = "qcom,mdss"; 160 reg = <0x1a00000 0x1000>, 161 <0x1ac8000 0x3000>; 162 reg-names = "mdss_phys", "vbif_phys"; 163 164 power-domains = <&gcc MDSS_GDSC>; 165 166 clocks = <&gcc GCC_MDSS_AHB_CLK>, 167 <&gcc GCC_MDSS_AXI_CLK>, 168 <&gcc GCC_MDSS_VSYNC_CLK>; 169 clock-names = "iface", 170 "bus", 171 "vsync"; 172 173 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 174 175 interrupt-controller; 176 #interrupt-cells = <1>; 177 178 #address-cells = <1>; 179 #size-cells = <1>; 180 ranges; 181 182 display-controller@1a01000 { 183 compatible = "qcom,msm8916-mdp5", "qcom,mdp5"; 184 reg = <0x01a01000 0x89000>; 185 reg-names = "mdp_phys"; 186 187 interrupt-parent = <&mdss>; 188 interrupts = <0>; 189 190 clocks = <&gcc GCC_MDSS_AHB_CLK>, 191 <&gcc GCC_MDSS_AXI_CLK>, 192 <&gcc GCC_MDSS_MDP_CLK>, 193 <&gcc GCC_MDSS_VSYNC_CLK>; 194 clock-names = "iface", 195 "bus", 196 "core", 197 "vsync"; 198 199 iommus = <&apps_iommu 4>; 200 201 ports { 202 #address-cells = <1>; 203 #size-cells = <0>; 204 205 port@0 { 206 reg = <0>; 207 mdp5_intf1_out: endpoint { 208 remote-endpoint = <&dsi0_in>; 209 }; 210 }; 211 }; 212 }; 213 }; 214... 215