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/dp-controller.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: MSM Display Port Controller 8 9maintainers: 10 - Kuogee Hsieh <quic_khsieh@quicinc.com> 11 - Abhinav Kumar <quic_abhinavk@quicinc.com> 12 13description: | 14 Device tree bindings for DisplayPort host controller for MSM targets 15 that are compatible with VESA DisplayPort interface specification. 16 17properties: 18 compatible: 19 oneOf: 20 - enum: 21 - qcom,glymur-dp 22 - qcom,sa8775p-dp 23 - qcom,sc7180-dp 24 - qcom,sc7280-dp 25 - qcom,sc7280-edp 26 - qcom,sc8180x-dp 27 - qcom,sc8180x-edp 28 - qcom,sc8280xp-dp 29 - qcom,sc8280xp-edp 30 - qcom,sdm845-dp 31 - qcom,sm8350-dp 32 - qcom,sm8650-dp 33 - qcom,x1e80100-dp 34 35 - items: 36 - enum: 37 - qcom,qcs8300-dp 38 - const: qcom,sa8775p-dp 39 40 - items: 41 - enum: 42 - qcom,sm6350-dp 43 - const: qcom,sc7180-dp 44 45 # deprecated entry for compatibility with old DT 46 - items: 47 - enum: 48 - qcom,sm6350-dp 49 - const: qcom,sm8350-dp 50 deprecated: true 51 52 - items: 53 - enum: 54 - qcom,sar2130p-dp 55 - qcom,sm7150-dp 56 - qcom,sm8150-dp 57 - qcom,sm8250-dp 58 - qcom,sm8450-dp 59 - qcom,sm8550-dp 60 - const: qcom,sm8350-dp 61 62 - items: 63 - enum: 64 - qcom,sm6150-dp 65 - const: qcom,sm8150-dp 66 - const: qcom,sm8350-dp 67 68 - items: 69 - enum: 70 - qcom,sm8750-dp 71 - const: qcom,sm8650-dp 72 73 reg: 74 minItems: 4 75 items: 76 - description: ahb register block 77 - description: aux register block 78 - description: link register block 79 - description: p0 register block 80 - description: p1 register block 81 - description: p2 register block 82 - description: p3 register block 83 - description: mst2link register block 84 - description: mst3link register block 85 86 interrupts: 87 maxItems: 1 88 89 clocks: 90 minItems: 5 91 items: 92 - description: AHB clock to enable register access 93 - description: Display Port AUX clock 94 - description: Display Port Link clock 95 - description: Link interface clock between DP and PHY 96 - description: Display Port stream 0 Pixel clock 97 - description: Display Port stream 1 Pixel clock 98 - description: Display Port stream 2 Pixel clock 99 - description: Display Port stream 3 Pixel clock 100 101 clock-names: 102 minItems: 5 103 items: 104 - const: core_iface 105 - const: core_aux 106 - const: ctrl_link 107 - const: ctrl_link_iface 108 - const: stream_pixel 109 - const: stream_1_pixel 110 - const: stream_2_pixel 111 - const: stream_3_pixel 112 113 phys: 114 maxItems: 1 115 116 phy-names: 117 items: 118 - const: dp 119 120 operating-points-v2: true 121 122 opp-table: 123 type: object 124 125 power-domains: 126 maxItems: 1 127 128 aux-bus: 129 $ref: /schemas/display/dp-aux-bus.yaml# 130 131 data-lanes: 132 $ref: /schemas/types.yaml#/definitions/uint32-array 133 deprecated: true 134 minItems: 1 135 maxItems: 4 136 items: 137 maximum: 3 138 139 "#sound-dai-cells": 140 const: 0 141 142 vdda-0p9-supply: 143 deprecated: true 144 vdda-1p2-supply: 145 deprecated: true 146 147 ports: 148 $ref: /schemas/graph.yaml#/properties/ports 149 properties: 150 port@0: 151 $ref: /schemas/graph.yaml#/properties/port 152 description: Input endpoint of the controller 153 154 port@1: 155 $ref: /schemas/graph.yaml#/$defs/port-base 156 unevaluatedProperties: false 157 description: Output endpoint of the controller 158 properties: 159 endpoint: 160 $ref: /schemas/media/video-interfaces.yaml# 161 unevaluatedProperties: false 162 properties: 163 data-lanes: 164 minItems: 1 165 maxItems: 4 166 items: 167 enum: [ 0, 1, 2, 3 ] 168 169 link-frequencies: 170 minItems: 1 171 maxItems: 4 172 items: 173 enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ] 174 175 required: 176 - port@0 177 - port@1 178 179required: 180 - compatible 181 - reg 182 - interrupts 183 - clocks 184 - clock-names 185 - phys 186 - phy-names 187 - power-domains 188 - ports 189 190allOf: 191 # AUX BUS does not exist on DP controllers 192 # Audio output also is present only on DP output 193 - if: 194 properties: 195 compatible: 196 contains: 197 enum: 198 - qcom,sc7280-edp 199 - qcom,sc8180x-edp 200 - qcom,sc8280xp-edp 201 then: 202 properties: 203 "#sound-dai-cells": false 204 else: 205 if: 206 properties: 207 compatible: 208 contains: 209 enum: 210 - qcom,glymur-dp 211 - qcom,sa8775p-dp 212 - qcom,x1e80100-dp 213 then: 214 $ref: /schemas/sound/dai-common.yaml# 215 oneOf: 216 - required: 217 - aux-bus 218 - required: 219 - "#sound-dai-cells" 220 else: 221 properties: 222 aux-bus: false 223 required: 224 - "#sound-dai-cells" 225 226 - if: 227 properties: 228 compatible: 229 contains: 230 enum: 231 # these platforms support SST only 232 - qcom,sc7180-dp 233 - qcom,sc7280-dp 234 - qcom,sc7280-edp 235 - qcom,sc8180x-edp 236 - qcom,sc8280xp-edp 237 then: 238 properties: 239 reg: 240 minItems: 5 241 maxItems: 5 242 clocks: 243 minItems: 5 244 maxItems: 5 245 clocks-names: 246 minItems: 5 247 maxItems: 5 248 249 - if: 250 properties: 251 compatible: 252 contains: 253 enum: 254 # these platforms support 2 streams MST on some interfaces, 255 # others are SST only 256 - qcom,glymur-dp 257 - qcom,sc8280xp-dp 258 - qcom,x1e80100-dp 259 then: 260 properties: 261 reg: 262 minItems: 5 263 maxItems: 5 264 clocks: 265 minItems: 5 266 maxItems: 6 267 clocks-names: 268 minItems: 5 269 maxItems: 6 270 271 - if: 272 properties: 273 compatible: 274 contains: 275 # 2 streams MST 276 enum: 277 - qcom,sc8180x-dp 278 - qcom,sdm845-dp 279 - qcom,sm8350-dp 280 - qcom,sm8650-dp 281 then: 282 properties: 283 reg: 284 minItems: 5 285 maxItems: 5 286 clocks: 287 minItems: 6 288 maxItems: 6 289 clocks-names: 290 minItems: 6 291 maxItems: 6 292 293 - if: 294 properties: 295 compatible: 296 contains: 297 enum: 298 # these platforms support 4 stream MST on first DP, 299 # 2 streams MST on the second one. 300 - qcom,sa8775p-dp 301 then: 302 properties: 303 reg: 304 minItems: 9 305 maxItems: 9 306 clocks: 307 minItems: 6 308 maxItems: 8 309 clocks-names: 310 minItems: 6 311 maxItems: 8 312 313unevaluatedProperties: false 314 315examples: 316 - | 317 #include <dt-bindings/interrupt-controller/arm-gic.h> 318 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 319 #include <dt-bindings/power/qcom-rpmpd.h> 320 321 displayport-controller@ae90000 { 322 compatible = "qcom,sc7180-dp"; 323 reg = <0xae90000 0x200>, 324 <0xae90200 0x200>, 325 <0xae90400 0xc00>, 326 <0xae91000 0x400>, 327 <0xae91400 0x400>; 328 interrupt-parent = <&mdss>; 329 interrupts = <12>; 330 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 331 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, 332 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, 333 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, 334 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; 335 clock-names = "core_iface", "core_aux", 336 "ctrl_link", 337 "ctrl_link_iface", "stream_pixel"; 338 339 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>, 340 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>; 341 342 assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>; 343 344 phys = <&dp_phy>; 345 phy-names = "dp"; 346 347 #sound-dai-cells = <0>; 348 349 power-domains = <&rpmhpd SC7180_CX>; 350 351 ports { 352 #address-cells = <1>; 353 #size-cells = <0>; 354 355 port@0 { 356 reg = <0>; 357 endpoint { 358 remote-endpoint = <&dpu_intf0_out>; 359 }; 360 }; 361 362 port@1 { 363 reg = <1>; 364 endpoint { 365 remote-endpoint = <&typec>; 366 data-lanes = <0 1>; 367 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 368 }; 369 }; 370 }; 371 }; 372... 373