15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/dp-controller.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 75956d97fSEmmanuel Vadottitle: MSM Display Port Controller 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Kuogee Hsieh <quic_khsieh@quicinc.com> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotdescription: | 135956d97fSEmmanuel Vadot Device tree bindings for DisplayPort host controller for MSM targets 145956d97fSEmmanuel Vadot that are compatible with VESA DisplayPort interface specification. 155956d97fSEmmanuel Vadot 165956d97fSEmmanuel Vadotproperties: 175956d97fSEmmanuel Vadot compatible: 18fac71e4eSEmmanuel Vadot oneOf: 19fac71e4eSEmmanuel Vadot - enum: 205956d97fSEmmanuel Vadot - qcom,sc7180-dp 21e67e8565SEmmanuel Vadot - qcom,sc7280-dp 22e67e8565SEmmanuel Vadot - qcom,sc7280-edp 238cc087a1SEmmanuel Vadot - qcom,sc8180x-dp 248cc087a1SEmmanuel Vadot - qcom,sc8180x-edp 25cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-dp 26cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-edp 27cb7aa33aSEmmanuel Vadot - qcom,sdm845-dp 28c9ccf3a3SEmmanuel Vadot - qcom,sm8350-dp 298d13bc63SEmmanuel Vadot - qcom,sm8650-dp 30fac71e4eSEmmanuel Vadot - items: 31fac71e4eSEmmanuel Vadot - enum: 32*7d0873ebSEmmanuel Vadot - qcom,sm6350-dp 338d13bc63SEmmanuel Vadot - qcom,sm8150-dp 34aa1a8ff2SEmmanuel Vadot - qcom,sm8250-dp 35fac71e4eSEmmanuel Vadot - qcom,sm8450-dp 36f126890aSEmmanuel Vadot - qcom,sm8550-dp 37fac71e4eSEmmanuel Vadot - const: qcom,sm8350-dp 385956d97fSEmmanuel Vadot 395956d97fSEmmanuel Vadot reg: 407ef62cebSEmmanuel Vadot minItems: 4 418cc087a1SEmmanuel Vadot items: 428cc087a1SEmmanuel Vadot - description: ahb register block 438cc087a1SEmmanuel Vadot - description: aux register block 448cc087a1SEmmanuel Vadot - description: link register block 458cc087a1SEmmanuel Vadot - description: p0 register block 468cc087a1SEmmanuel Vadot - description: p1 register block 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot interrupts: 495956d97fSEmmanuel Vadot maxItems: 1 505956d97fSEmmanuel Vadot 515956d97fSEmmanuel Vadot clocks: 525956d97fSEmmanuel Vadot items: 535956d97fSEmmanuel Vadot - description: AHB clock to enable register access 545956d97fSEmmanuel Vadot - description: Display Port AUX clock 555956d97fSEmmanuel Vadot - description: Display Port Link clock 565956d97fSEmmanuel Vadot - description: Link interface clock between DP and PHY 575956d97fSEmmanuel Vadot - description: Display Port Pixel clock 585956d97fSEmmanuel Vadot 595956d97fSEmmanuel Vadot clock-names: 605956d97fSEmmanuel Vadot items: 615956d97fSEmmanuel Vadot - const: core_iface 625956d97fSEmmanuel Vadot - const: core_aux 635956d97fSEmmanuel Vadot - const: ctrl_link 645956d97fSEmmanuel Vadot - const: ctrl_link_iface 655956d97fSEmmanuel Vadot - const: stream_pixel 665956d97fSEmmanuel Vadot 675956d97fSEmmanuel Vadot assigned-clocks: 685956d97fSEmmanuel Vadot items: 695956d97fSEmmanuel Vadot - description: link clock source 705956d97fSEmmanuel Vadot - description: pixel clock source 715956d97fSEmmanuel Vadot 725956d97fSEmmanuel Vadot assigned-clock-parents: 735956d97fSEmmanuel Vadot items: 745956d97fSEmmanuel Vadot - description: phy 0 parent 755956d97fSEmmanuel Vadot - description: phy 1 parent 765956d97fSEmmanuel Vadot 775956d97fSEmmanuel Vadot phys: 785956d97fSEmmanuel Vadot maxItems: 1 795956d97fSEmmanuel Vadot 805956d97fSEmmanuel Vadot phy-names: 815956d97fSEmmanuel Vadot items: 825956d97fSEmmanuel Vadot - const: dp 835956d97fSEmmanuel Vadot 84cb7aa33aSEmmanuel Vadot operating-points-v2: true 855956d97fSEmmanuel Vadot 86aa1a8ff2SEmmanuel Vadot opp-table: 87aa1a8ff2SEmmanuel Vadot type: object 887ef62cebSEmmanuel Vadot 895956d97fSEmmanuel Vadot power-domains: 905956d97fSEmmanuel Vadot maxItems: 1 915956d97fSEmmanuel Vadot 927ef62cebSEmmanuel Vadot aux-bus: 937ef62cebSEmmanuel Vadot $ref: /schemas/display/dp-aux-bus.yaml# 947ef62cebSEmmanuel Vadot 957ef62cebSEmmanuel Vadot data-lanes: 967ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 97cb7aa33aSEmmanuel Vadot deprecated: true 987ef62cebSEmmanuel Vadot minItems: 1 997ef62cebSEmmanuel Vadot maxItems: 4 1007ef62cebSEmmanuel Vadot items: 1017ef62cebSEmmanuel Vadot maximum: 3 1027ef62cebSEmmanuel Vadot 1035956d97fSEmmanuel Vadot "#sound-dai-cells": 1045956d97fSEmmanuel Vadot const: 0 1055956d97fSEmmanuel Vadot 1067ef62cebSEmmanuel Vadot vdda-0p9-supply: 1077ef62cebSEmmanuel Vadot deprecated: true 1087ef62cebSEmmanuel Vadot vdda-1p2-supply: 1097ef62cebSEmmanuel Vadot deprecated: true 110b97ee269SEmmanuel Vadot 1115956d97fSEmmanuel Vadot ports: 1125956d97fSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 1135956d97fSEmmanuel Vadot properties: 1145956d97fSEmmanuel Vadot port@0: 1155956d97fSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 1165956d97fSEmmanuel Vadot description: Input endpoint of the controller 1175956d97fSEmmanuel Vadot 1185956d97fSEmmanuel Vadot port@1: 119cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 12084943d6fSEmmanuel Vadot unevaluatedProperties: false 1215956d97fSEmmanuel Vadot description: Output endpoint of the controller 122cb7aa33aSEmmanuel Vadot properties: 123cb7aa33aSEmmanuel Vadot endpoint: 124cb7aa33aSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 125cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 126cb7aa33aSEmmanuel Vadot properties: 127cb7aa33aSEmmanuel Vadot data-lanes: 128cb7aa33aSEmmanuel Vadot minItems: 1 129cb7aa33aSEmmanuel Vadot maxItems: 4 130cb7aa33aSEmmanuel Vadot items: 131cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 132cb7aa33aSEmmanuel Vadot 133cb7aa33aSEmmanuel Vadot link-frequencies: 134cb7aa33aSEmmanuel Vadot minItems: 1 135cb7aa33aSEmmanuel Vadot maxItems: 4 136cb7aa33aSEmmanuel Vadot items: 137cb7aa33aSEmmanuel Vadot enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ] 138cb7aa33aSEmmanuel Vadot 139cb7aa33aSEmmanuel Vadot required: 140cb7aa33aSEmmanuel Vadot - port@0 141cb7aa33aSEmmanuel Vadot - port@1 1425956d97fSEmmanuel Vadot 1435956d97fSEmmanuel Vadotrequired: 1445956d97fSEmmanuel Vadot - compatible 1455956d97fSEmmanuel Vadot - reg 1465956d97fSEmmanuel Vadot - interrupts 1475956d97fSEmmanuel Vadot - clocks 1485956d97fSEmmanuel Vadot - clock-names 1495956d97fSEmmanuel Vadot - phys 1505956d97fSEmmanuel Vadot - phy-names 1515956d97fSEmmanuel Vadot - power-domains 1525956d97fSEmmanuel Vadot - ports 1535956d97fSEmmanuel Vadot 1547ef62cebSEmmanuel VadotallOf: 1557ef62cebSEmmanuel Vadot # AUX BUS does not exist on DP controllers 1567ef62cebSEmmanuel Vadot # Audio output also is present only on DP output 1577ef62cebSEmmanuel Vadot # p1 regions is present on DP, but not on eDP 1587ef62cebSEmmanuel Vadot - if: 1597ef62cebSEmmanuel Vadot properties: 1607ef62cebSEmmanuel Vadot compatible: 1617ef62cebSEmmanuel Vadot contains: 1627ef62cebSEmmanuel Vadot enum: 1637ef62cebSEmmanuel Vadot - qcom,sc7280-edp 1647ef62cebSEmmanuel Vadot - qcom,sc8180x-edp 165cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-edp 1667ef62cebSEmmanuel Vadot then: 1677ef62cebSEmmanuel Vadot properties: 1687ef62cebSEmmanuel Vadot "#sound-dai-cells": false 1697ef62cebSEmmanuel Vadot else: 1707ef62cebSEmmanuel Vadot properties: 1717ef62cebSEmmanuel Vadot aux-bus: false 1727ef62cebSEmmanuel Vadot reg: 1737ef62cebSEmmanuel Vadot minItems: 5 1747ef62cebSEmmanuel Vadot required: 1757ef62cebSEmmanuel Vadot - "#sound-dai-cells" 1767ef62cebSEmmanuel Vadot 1775956d97fSEmmanuel VadotadditionalProperties: false 1785956d97fSEmmanuel Vadot 1795956d97fSEmmanuel Vadotexamples: 1805956d97fSEmmanuel Vadot - | 1815956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1825956d97fSEmmanuel Vadot #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 1835956d97fSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 1845956d97fSEmmanuel Vadot 1855956d97fSEmmanuel Vadot displayport-controller@ae90000 { 1865956d97fSEmmanuel Vadot compatible = "qcom,sc7180-dp"; 1878cc087a1SEmmanuel Vadot reg = <0xae90000 0x200>, 1888cc087a1SEmmanuel Vadot <0xae90200 0x200>, 1898cc087a1SEmmanuel Vadot <0xae90400 0xc00>, 1908cc087a1SEmmanuel Vadot <0xae91000 0x400>, 1918cc087a1SEmmanuel Vadot <0xae91400 0x400>; 1925956d97fSEmmanuel Vadot interrupt-parent = <&mdss>; 1935956d97fSEmmanuel Vadot interrupts = <12>; 1945956d97fSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 1955956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, 1965956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, 1975956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, 1985956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; 1995956d97fSEmmanuel Vadot clock-names = "core_iface", "core_aux", 2005956d97fSEmmanuel Vadot "ctrl_link", 2015956d97fSEmmanuel Vadot "ctrl_link_iface", "stream_pixel"; 2025956d97fSEmmanuel Vadot 2035956d97fSEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>, 2045956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>; 2055956d97fSEmmanuel Vadot 2065956d97fSEmmanuel Vadot assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>; 2075956d97fSEmmanuel Vadot 2085956d97fSEmmanuel Vadot phys = <&dp_phy>; 2095956d97fSEmmanuel Vadot phy-names = "dp"; 2105956d97fSEmmanuel Vadot 2115956d97fSEmmanuel Vadot #sound-dai-cells = <0>; 2125956d97fSEmmanuel Vadot 2135956d97fSEmmanuel Vadot power-domains = <&rpmhpd SC7180_CX>; 2145956d97fSEmmanuel Vadot 2155956d97fSEmmanuel Vadot ports { 2165956d97fSEmmanuel Vadot #address-cells = <1>; 2175956d97fSEmmanuel Vadot #size-cells = <0>; 2185956d97fSEmmanuel Vadot 2195956d97fSEmmanuel Vadot port@0 { 2205956d97fSEmmanuel Vadot reg = <0>; 2215956d97fSEmmanuel Vadot endpoint { 2225956d97fSEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 2235956d97fSEmmanuel Vadot }; 2245956d97fSEmmanuel Vadot }; 2255956d97fSEmmanuel Vadot 2265956d97fSEmmanuel Vadot port@1 { 2275956d97fSEmmanuel Vadot reg = <1>; 2285956d97fSEmmanuel Vadot endpoint { 2295956d97fSEmmanuel Vadot remote-endpoint = <&typec>; 230cb7aa33aSEmmanuel Vadot data-lanes = <0 1>; 231cb7aa33aSEmmanuel Vadot link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 2325956d97fSEmmanuel Vadot }; 2335956d97fSEmmanuel Vadot }; 2345956d97fSEmmanuel Vadot }; 2355956d97fSEmmanuel Vadot }; 2365956d97fSEmmanuel Vadot... 237