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 29fac71e4eSEmmanuel Vadot - items: 30fac71e4eSEmmanuel Vadot - enum: 31*aa1a8ff2SEmmanuel Vadot - qcom,sm8250-dp 32fac71e4eSEmmanuel Vadot - qcom,sm8450-dp 33f126890aSEmmanuel Vadot - qcom,sm8550-dp 34fac71e4eSEmmanuel Vadot - const: qcom,sm8350-dp 355956d97fSEmmanuel Vadot 365956d97fSEmmanuel Vadot reg: 377ef62cebSEmmanuel Vadot minItems: 4 388cc087a1SEmmanuel Vadot items: 398cc087a1SEmmanuel Vadot - description: ahb register block 408cc087a1SEmmanuel Vadot - description: aux register block 418cc087a1SEmmanuel Vadot - description: link register block 428cc087a1SEmmanuel Vadot - description: p0 register block 438cc087a1SEmmanuel Vadot - description: p1 register block 445956d97fSEmmanuel Vadot 455956d97fSEmmanuel Vadot interrupts: 465956d97fSEmmanuel Vadot maxItems: 1 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot clocks: 495956d97fSEmmanuel Vadot items: 505956d97fSEmmanuel Vadot - description: AHB clock to enable register access 515956d97fSEmmanuel Vadot - description: Display Port AUX clock 525956d97fSEmmanuel Vadot - description: Display Port Link clock 535956d97fSEmmanuel Vadot - description: Link interface clock between DP and PHY 545956d97fSEmmanuel Vadot - description: Display Port Pixel clock 555956d97fSEmmanuel Vadot 565956d97fSEmmanuel Vadot clock-names: 575956d97fSEmmanuel Vadot items: 585956d97fSEmmanuel Vadot - const: core_iface 595956d97fSEmmanuel Vadot - const: core_aux 605956d97fSEmmanuel Vadot - const: ctrl_link 615956d97fSEmmanuel Vadot - const: ctrl_link_iface 625956d97fSEmmanuel Vadot - const: stream_pixel 635956d97fSEmmanuel Vadot 645956d97fSEmmanuel Vadot assigned-clocks: 655956d97fSEmmanuel Vadot items: 665956d97fSEmmanuel Vadot - description: link clock source 675956d97fSEmmanuel Vadot - description: pixel clock source 685956d97fSEmmanuel Vadot 695956d97fSEmmanuel Vadot assigned-clock-parents: 705956d97fSEmmanuel Vadot items: 715956d97fSEmmanuel Vadot - description: phy 0 parent 725956d97fSEmmanuel Vadot - description: phy 1 parent 735956d97fSEmmanuel Vadot 745956d97fSEmmanuel Vadot phys: 755956d97fSEmmanuel Vadot maxItems: 1 765956d97fSEmmanuel Vadot 775956d97fSEmmanuel Vadot phy-names: 785956d97fSEmmanuel Vadot items: 795956d97fSEmmanuel Vadot - const: dp 805956d97fSEmmanuel Vadot 81cb7aa33aSEmmanuel Vadot operating-points-v2: true 825956d97fSEmmanuel Vadot 83*aa1a8ff2SEmmanuel Vadot opp-table: 84*aa1a8ff2SEmmanuel Vadot type: object 857ef62cebSEmmanuel Vadot 865956d97fSEmmanuel Vadot power-domains: 875956d97fSEmmanuel Vadot maxItems: 1 885956d97fSEmmanuel Vadot 897ef62cebSEmmanuel Vadot aux-bus: 907ef62cebSEmmanuel Vadot $ref: /schemas/display/dp-aux-bus.yaml# 917ef62cebSEmmanuel Vadot 927ef62cebSEmmanuel Vadot data-lanes: 937ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 94cb7aa33aSEmmanuel Vadot deprecated: true 957ef62cebSEmmanuel Vadot minItems: 1 967ef62cebSEmmanuel Vadot maxItems: 4 977ef62cebSEmmanuel Vadot items: 987ef62cebSEmmanuel Vadot maximum: 3 997ef62cebSEmmanuel Vadot 1005956d97fSEmmanuel Vadot "#sound-dai-cells": 1015956d97fSEmmanuel Vadot const: 0 1025956d97fSEmmanuel Vadot 1037ef62cebSEmmanuel Vadot vdda-0p9-supply: 1047ef62cebSEmmanuel Vadot deprecated: true 1057ef62cebSEmmanuel Vadot vdda-1p2-supply: 1067ef62cebSEmmanuel Vadot deprecated: true 107b97ee269SEmmanuel Vadot 1085956d97fSEmmanuel Vadot ports: 1095956d97fSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 1105956d97fSEmmanuel Vadot properties: 1115956d97fSEmmanuel Vadot port@0: 1125956d97fSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 1135956d97fSEmmanuel Vadot description: Input endpoint of the controller 1145956d97fSEmmanuel Vadot 1155956d97fSEmmanuel Vadot port@1: 116cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 1175956d97fSEmmanuel Vadot description: Output endpoint of the controller 118cb7aa33aSEmmanuel Vadot properties: 119cb7aa33aSEmmanuel Vadot endpoint: 120cb7aa33aSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 121cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 122cb7aa33aSEmmanuel Vadot properties: 123cb7aa33aSEmmanuel Vadot data-lanes: 124cb7aa33aSEmmanuel Vadot minItems: 1 125cb7aa33aSEmmanuel Vadot maxItems: 4 126cb7aa33aSEmmanuel Vadot items: 127cb7aa33aSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 128cb7aa33aSEmmanuel Vadot 129cb7aa33aSEmmanuel Vadot link-frequencies: 130cb7aa33aSEmmanuel Vadot minItems: 1 131cb7aa33aSEmmanuel Vadot maxItems: 4 132cb7aa33aSEmmanuel Vadot items: 133cb7aa33aSEmmanuel Vadot enum: [ 1620000000, 2700000000, 5400000000, 8100000000 ] 134cb7aa33aSEmmanuel Vadot 135cb7aa33aSEmmanuel Vadot required: 136cb7aa33aSEmmanuel Vadot - port@0 137cb7aa33aSEmmanuel Vadot - port@1 1385956d97fSEmmanuel Vadot 1395956d97fSEmmanuel Vadotrequired: 1405956d97fSEmmanuel Vadot - compatible 1415956d97fSEmmanuel Vadot - reg 1425956d97fSEmmanuel Vadot - interrupts 1435956d97fSEmmanuel Vadot - clocks 1445956d97fSEmmanuel Vadot - clock-names 1455956d97fSEmmanuel Vadot - phys 1465956d97fSEmmanuel Vadot - phy-names 1475956d97fSEmmanuel Vadot - power-domains 1485956d97fSEmmanuel Vadot - ports 1495956d97fSEmmanuel Vadot 1507ef62cebSEmmanuel VadotallOf: 1517ef62cebSEmmanuel Vadot # AUX BUS does not exist on DP controllers 1527ef62cebSEmmanuel Vadot # Audio output also is present only on DP output 1537ef62cebSEmmanuel Vadot # p1 regions is present on DP, but not on eDP 1547ef62cebSEmmanuel Vadot - if: 1557ef62cebSEmmanuel Vadot properties: 1567ef62cebSEmmanuel Vadot compatible: 1577ef62cebSEmmanuel Vadot contains: 1587ef62cebSEmmanuel Vadot enum: 1597ef62cebSEmmanuel Vadot - qcom,sc7280-edp 1607ef62cebSEmmanuel Vadot - qcom,sc8180x-edp 161cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-edp 1627ef62cebSEmmanuel Vadot then: 1637ef62cebSEmmanuel Vadot properties: 1647ef62cebSEmmanuel Vadot "#sound-dai-cells": false 1657ef62cebSEmmanuel Vadot else: 1667ef62cebSEmmanuel Vadot properties: 1677ef62cebSEmmanuel Vadot aux-bus: false 1687ef62cebSEmmanuel Vadot reg: 1697ef62cebSEmmanuel Vadot minItems: 5 1707ef62cebSEmmanuel Vadot required: 1717ef62cebSEmmanuel Vadot - "#sound-dai-cells" 1727ef62cebSEmmanuel Vadot 1735956d97fSEmmanuel VadotadditionalProperties: false 1745956d97fSEmmanuel Vadot 1755956d97fSEmmanuel Vadotexamples: 1765956d97fSEmmanuel Vadot - | 1775956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1785956d97fSEmmanuel Vadot #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 1795956d97fSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 1805956d97fSEmmanuel Vadot 1815956d97fSEmmanuel Vadot displayport-controller@ae90000 { 1825956d97fSEmmanuel Vadot compatible = "qcom,sc7180-dp"; 1838cc087a1SEmmanuel Vadot reg = <0xae90000 0x200>, 1848cc087a1SEmmanuel Vadot <0xae90200 0x200>, 1858cc087a1SEmmanuel Vadot <0xae90400 0xc00>, 1868cc087a1SEmmanuel Vadot <0xae91000 0x400>, 1878cc087a1SEmmanuel Vadot <0xae91400 0x400>; 1885956d97fSEmmanuel Vadot interrupt-parent = <&mdss>; 1895956d97fSEmmanuel Vadot interrupts = <12>; 1905956d97fSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 1915956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, 1925956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, 1935956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, 1945956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; 1955956d97fSEmmanuel Vadot clock-names = "core_iface", "core_aux", 1965956d97fSEmmanuel Vadot "ctrl_link", 1975956d97fSEmmanuel Vadot "ctrl_link_iface", "stream_pixel"; 1985956d97fSEmmanuel Vadot 1995956d97fSEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>, 2005956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>; 2015956d97fSEmmanuel Vadot 2025956d97fSEmmanuel Vadot assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>; 2035956d97fSEmmanuel Vadot 2045956d97fSEmmanuel Vadot phys = <&dp_phy>; 2055956d97fSEmmanuel Vadot phy-names = "dp"; 2065956d97fSEmmanuel Vadot 2075956d97fSEmmanuel Vadot #sound-dai-cells = <0>; 2085956d97fSEmmanuel Vadot 2095956d97fSEmmanuel Vadot power-domains = <&rpmhpd SC7180_CX>; 2105956d97fSEmmanuel Vadot 2115956d97fSEmmanuel Vadot ports { 2125956d97fSEmmanuel Vadot #address-cells = <1>; 2135956d97fSEmmanuel Vadot #size-cells = <0>; 2145956d97fSEmmanuel Vadot 2155956d97fSEmmanuel Vadot port@0 { 2165956d97fSEmmanuel Vadot reg = <0>; 2175956d97fSEmmanuel Vadot endpoint { 2185956d97fSEmmanuel Vadot remote-endpoint = <&dpu_intf0_out>; 2195956d97fSEmmanuel Vadot }; 2205956d97fSEmmanuel Vadot }; 2215956d97fSEmmanuel Vadot 2225956d97fSEmmanuel Vadot port@1 { 2235956d97fSEmmanuel Vadot reg = <1>; 2245956d97fSEmmanuel Vadot endpoint { 2255956d97fSEmmanuel Vadot remote-endpoint = <&typec>; 226cb7aa33aSEmmanuel Vadot data-lanes = <0 1>; 227cb7aa33aSEmmanuel Vadot link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 2285956d97fSEmmanuel Vadot }; 2295956d97fSEmmanuel Vadot }; 2305956d97fSEmmanuel Vadot }; 2315956d97fSEmmanuel Vadot }; 2325956d97fSEmmanuel Vadot... 233