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,sc8280xp-dp 257 - qcom,x1e80100-dp 258 then: 259 properties: 260 reg: 261 minItems: 5 262 maxItems: 5 263 clocks: 264 minItems: 5 265 maxItems: 6 266 clocks-names: 267 minItems: 5 268 maxItems: 6 269 270 - if: 271 properties: 272 compatible: 273 contains: 274 # 2 streams MST 275 enum: 276 - qcom,sc8180x-dp 277 - qcom,sdm845-dp 278 - qcom,sm8350-dp 279 - qcom,sm8650-dp 280 then: 281 properties: 282 reg: 283 minItems: 5 284 maxItems: 5 285 clocks: 286 minItems: 6 287 maxItems: 6 288 clocks-names: 289 minItems: 6 290 maxItems: 6 291 292 - if: 293 properties: 294 compatible: 295 contains: 296 enum: 297 # these platforms support 4 stream MST on first DP, 298 # 2 streams MST on the second one. 299 - qcom,sa8775p-dp 300 then: 301 properties: 302 reg: 303 minItems: 9 304 maxItems: 9 305 clocks: 306 minItems: 6 307 maxItems: 8 308 clocks-names: 309 minItems: 6 310 maxItems: 8 311 312 - if: 313 properties: 314 compatible: 315 contains: 316 enum: 317 # these platforms support 2 streams MST on some interfaces, 318 # others are SST only, but all controllers have 4 ports 319 - qcom,glymur-dp 320 then: 321 properties: 322 reg: 323 minItems: 9 324 maxItems: 9 325 clocks: 326 minItems: 5 327 maxItems: 6 328 clocks-names: 329 minItems: 5 330 maxItems: 6 331 332unevaluatedProperties: false 333 334examples: 335 - | 336 #include <dt-bindings/interrupt-controller/arm-gic.h> 337 #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 338 #include <dt-bindings/power/qcom-rpmpd.h> 339 340 displayport-controller@ae90000 { 341 compatible = "qcom,sc7180-dp"; 342 reg = <0xae90000 0x200>, 343 <0xae90200 0x200>, 344 <0xae90400 0xc00>, 345 <0xae91000 0x400>, 346 <0xae91400 0x400>; 347 interrupt-parent = <&mdss>; 348 interrupts = <12>; 349 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 350 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, 351 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, 352 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, 353 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; 354 clock-names = "core_iface", "core_aux", 355 "ctrl_link", 356 "ctrl_link_iface", "stream_pixel"; 357 358 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>, 359 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>; 360 361 assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>; 362 363 phys = <&dp_phy>; 364 phy-names = "dp"; 365 366 #sound-dai-cells = <0>; 367 368 power-domains = <&rpmhpd SC7180_CX>; 369 370 ports { 371 #address-cells = <1>; 372 #size-cells = <0>; 373 374 port@0 { 375 reg = <0>; 376 endpoint { 377 remote-endpoint = <&dpu_intf0_out>; 378 }; 379 }; 380 381 port@1 { 382 reg = <1>; 383 endpoint { 384 remote-endpoint = <&typec>; 385 data-lanes = <0 1>; 386 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 387 }; 388 }; 389 }; 390 }; 391... 392