18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28bab661aSEmmanuel Vadot%YAML 1.2 38bab661aSEmmanuel Vadot--- 48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml# 58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68bab661aSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm QMP USB4-USB3-DP PHY controller (SC8280XP) 88bab661aSEmmanuel Vadot 98bab661aSEmmanuel Vadotmaintainers: 108bab661aSEmmanuel Vadot - Vinod Koul <vkoul@kernel.org> 118bab661aSEmmanuel Vadot 128bab661aSEmmanuel Vadotdescription: 138bab661aSEmmanuel Vadot The QMP PHY controller supports physical layer functionality for a number of 148bab661aSEmmanuel Vadot controllers on Qualcomm chipsets, such as, PCIe, UFS and USB. 158bab661aSEmmanuel Vadot 168bab661aSEmmanuel Vadotproperties: 178bab661aSEmmanuel Vadot compatible: 188bab661aSEmmanuel Vadot enum: 19aa1a8ff2SEmmanuel Vadot - qcom,sc7180-qmp-usb3-dp-phy 20aa1a8ff2SEmmanuel Vadot - qcom,sc7280-qmp-usb3-dp-phy 21aa1a8ff2SEmmanuel Vadot - qcom,sc8180x-qmp-usb3-dp-phy 228bab661aSEmmanuel Vadot - qcom,sc8280xp-qmp-usb43dp-phy 23aa1a8ff2SEmmanuel Vadot - qcom,sdm845-qmp-usb3-dp-phy 24cb7aa33aSEmmanuel Vadot - qcom,sm6350-qmp-usb3-dp-phy 25aa1a8ff2SEmmanuel Vadot - qcom,sm8150-qmp-usb3-dp-phy 26aa1a8ff2SEmmanuel Vadot - qcom,sm8250-qmp-usb3-dp-phy 27cb7aa33aSEmmanuel Vadot - qcom,sm8350-qmp-usb3-dp-phy 28cb7aa33aSEmmanuel Vadot - qcom,sm8450-qmp-usb3-dp-phy 29cb7aa33aSEmmanuel Vadot - qcom,sm8550-qmp-usb3-dp-phy 30*8d13bc63SEmmanuel Vadot - qcom,sm8650-qmp-usb3-dp-phy 31*8d13bc63SEmmanuel Vadot - qcom,x1e80100-qmp-usb3-dp-phy 328bab661aSEmmanuel Vadot 338bab661aSEmmanuel Vadot reg: 348bab661aSEmmanuel Vadot maxItems: 1 358bab661aSEmmanuel Vadot 368bab661aSEmmanuel Vadot clocks: 37aa1a8ff2SEmmanuel Vadot minItems: 4 38aa1a8ff2SEmmanuel Vadot maxItems: 5 398bab661aSEmmanuel Vadot 408bab661aSEmmanuel Vadot clock-names: 41aa1a8ff2SEmmanuel Vadot minItems: 4 428bab661aSEmmanuel Vadot items: 438bab661aSEmmanuel Vadot - const: aux 448bab661aSEmmanuel Vadot - const: ref 458bab661aSEmmanuel Vadot - const: com_aux 468bab661aSEmmanuel Vadot - const: usb3_pipe 47aa1a8ff2SEmmanuel Vadot - const: cfg_ahb 488bab661aSEmmanuel Vadot 498bab661aSEmmanuel Vadot power-domains: 508bab661aSEmmanuel Vadot maxItems: 1 518bab661aSEmmanuel Vadot 528bab661aSEmmanuel Vadot resets: 538bab661aSEmmanuel Vadot maxItems: 2 548bab661aSEmmanuel Vadot 558bab661aSEmmanuel Vadot reset-names: 568bab661aSEmmanuel Vadot items: 578bab661aSEmmanuel Vadot - const: phy 588bab661aSEmmanuel Vadot - const: common 598bab661aSEmmanuel Vadot 608bab661aSEmmanuel Vadot vdda-phy-supply: true 618bab661aSEmmanuel Vadot 628bab661aSEmmanuel Vadot vdda-pll-supply: true 638bab661aSEmmanuel Vadot 648bab661aSEmmanuel Vadot "#clock-cells": 658bab661aSEmmanuel Vadot const: 1 668bab661aSEmmanuel Vadot description: 67*8d13bc63SEmmanuel Vadot See include/dt-bindings/phy/phy-qcom-qmp.h 688bab661aSEmmanuel Vadot 698bab661aSEmmanuel Vadot "#phy-cells": 708bab661aSEmmanuel Vadot const: 1 718bab661aSEmmanuel Vadot description: 72*8d13bc63SEmmanuel Vadot See include/dt-bindings/phy/phy-qcom-qmp.h 738bab661aSEmmanuel Vadot 74f126890aSEmmanuel Vadot orientation-switch: 75f126890aSEmmanuel Vadot description: 76f126890aSEmmanuel Vadot Flag the PHY as possible handler of USB Type-C orientation switching 77f126890aSEmmanuel Vadot type: boolean 78f126890aSEmmanuel Vadot 79f126890aSEmmanuel Vadot ports: 80f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 81f126890aSEmmanuel Vadot properties: 82f126890aSEmmanuel Vadot port@0: 83f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 84f126890aSEmmanuel Vadot description: Output endpoint of the PHY 85f126890aSEmmanuel Vadot 86f126890aSEmmanuel Vadot port@1: 87f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 88f126890aSEmmanuel Vadot description: Incoming endpoint from the USB controller 89f126890aSEmmanuel Vadot 90f126890aSEmmanuel Vadot port@2: 91f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 92f126890aSEmmanuel Vadot description: Incoming endpoint from the DisplayPort controller 93f126890aSEmmanuel Vadot 948bab661aSEmmanuel Vadotrequired: 958bab661aSEmmanuel Vadot - compatible 968bab661aSEmmanuel Vadot - reg 978bab661aSEmmanuel Vadot - clocks 988bab661aSEmmanuel Vadot - clock-names 998bab661aSEmmanuel Vadot - resets 1008bab661aSEmmanuel Vadot - reset-names 1018bab661aSEmmanuel Vadot - vdda-phy-supply 1028bab661aSEmmanuel Vadot - vdda-pll-supply 1038bab661aSEmmanuel Vadot - "#clock-cells" 1048bab661aSEmmanuel Vadot - "#phy-cells" 1058bab661aSEmmanuel Vadot 106aa1a8ff2SEmmanuel VadotallOf: 107aa1a8ff2SEmmanuel Vadot - if: 108aa1a8ff2SEmmanuel Vadot properties: 109aa1a8ff2SEmmanuel Vadot compatible: 110aa1a8ff2SEmmanuel Vadot enum: 111aa1a8ff2SEmmanuel Vadot - qcom,sc7180-qmp-usb3-dp-phy 112aa1a8ff2SEmmanuel Vadot - qcom,sdm845-qmp-usb3-dp-phy 113aa1a8ff2SEmmanuel Vadot then: 114aa1a8ff2SEmmanuel Vadot properties: 115aa1a8ff2SEmmanuel Vadot clocks: 116aa1a8ff2SEmmanuel Vadot maxItems: 5 117aa1a8ff2SEmmanuel Vadot clock-names: 118aa1a8ff2SEmmanuel Vadot maxItems: 5 119aa1a8ff2SEmmanuel Vadot else: 120aa1a8ff2SEmmanuel Vadot properties: 121aa1a8ff2SEmmanuel Vadot clocks: 122aa1a8ff2SEmmanuel Vadot maxItems: 4 123aa1a8ff2SEmmanuel Vadot clock-names: 124aa1a8ff2SEmmanuel Vadot maxItems: 4 125aa1a8ff2SEmmanuel Vadot 126aa1a8ff2SEmmanuel Vadot - if: 127aa1a8ff2SEmmanuel Vadot properties: 128aa1a8ff2SEmmanuel Vadot compatible: 129aa1a8ff2SEmmanuel Vadot enum: 130aa1a8ff2SEmmanuel Vadot - qcom,sc8280xp-qmp-usb43dp-phy 131aa1a8ff2SEmmanuel Vadot - qcom,sm6350-qmp-usb3-dp-phy 132aa1a8ff2SEmmanuel Vadot - qcom,sm8550-qmp-usb3-dp-phy 133*8d13bc63SEmmanuel Vadot - qcom,sm8650-qmp-usb3-dp-phy 134*8d13bc63SEmmanuel Vadot - qcom,x1e80100-qmp-usb3-dp-phy 135aa1a8ff2SEmmanuel Vadot then: 136aa1a8ff2SEmmanuel Vadot required: 137aa1a8ff2SEmmanuel Vadot - power-domains 138aa1a8ff2SEmmanuel Vadot else: 139aa1a8ff2SEmmanuel Vadot properties: 140aa1a8ff2SEmmanuel Vadot power-domains: false 141aa1a8ff2SEmmanuel Vadot 1428bab661aSEmmanuel VadotadditionalProperties: false 1438bab661aSEmmanuel Vadot 1448bab661aSEmmanuel Vadotexamples: 1458bab661aSEmmanuel Vadot - | 1468bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 1478bab661aSEmmanuel Vadot 1488bab661aSEmmanuel Vadot phy@88eb000 { 1498bab661aSEmmanuel Vadot compatible = "qcom,sc8280xp-qmp-usb43dp-phy"; 1508bab661aSEmmanuel Vadot reg = <0x088eb000 0x4000>; 1518bab661aSEmmanuel Vadot 1528bab661aSEmmanuel Vadot clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 1538bab661aSEmmanuel Vadot <&gcc GCC_USB4_EUD_CLKREF_CLK>, 1548bab661aSEmmanuel Vadot <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, 1558bab661aSEmmanuel Vadot <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 1568bab661aSEmmanuel Vadot clock-names = "aux", "ref", "com_aux", "usb3_pipe"; 1578bab661aSEmmanuel Vadot 1588bab661aSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 1598bab661aSEmmanuel Vadot 1608bab661aSEmmanuel Vadot resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 1618bab661aSEmmanuel Vadot <&gcc GCC_USB4_DP_PHY_PRIM_BCR>; 1628bab661aSEmmanuel Vadot reset-names = "phy", "common"; 1638bab661aSEmmanuel Vadot 1648bab661aSEmmanuel Vadot vdda-phy-supply = <&vreg_l9d>; 1658bab661aSEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 1668bab661aSEmmanuel Vadot 167f126890aSEmmanuel Vadot orientation-switch; 168f126890aSEmmanuel Vadot 1698bab661aSEmmanuel Vadot #clock-cells = <1>; 1708bab661aSEmmanuel Vadot #phy-cells = <1>; 171f126890aSEmmanuel Vadot 172f126890aSEmmanuel Vadot ports { 173f126890aSEmmanuel Vadot #address-cells = <1>; 174f126890aSEmmanuel Vadot #size-cells = <0>; 175f126890aSEmmanuel Vadot 176f126890aSEmmanuel Vadot port@0 { 177f126890aSEmmanuel Vadot reg = <0>; 178f126890aSEmmanuel Vadot 179f126890aSEmmanuel Vadot endpoint { 180f126890aSEmmanuel Vadot remote-endpoint = <&typec_connector_ss>; 181f126890aSEmmanuel Vadot }; 182f126890aSEmmanuel Vadot }; 183f126890aSEmmanuel Vadot 184f126890aSEmmanuel Vadot port@1 { 185f126890aSEmmanuel Vadot reg = <1>; 186f126890aSEmmanuel Vadot 187f126890aSEmmanuel Vadot endpoint { 188f126890aSEmmanuel Vadot remote-endpoint = <&dwc3_ss_out>; 189f126890aSEmmanuel Vadot }; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot 192f126890aSEmmanuel Vadot port@2 { 193f126890aSEmmanuel Vadot reg = <2>; 194f126890aSEmmanuel Vadot 195f126890aSEmmanuel Vadot endpoint { 196f126890aSEmmanuel Vadot remote-endpoint = <&mdss_dp_out>; 197f126890aSEmmanuel Vadot }; 198f126890aSEmmanuel Vadot }; 199f126890aSEmmanuel Vadot }; 2008bab661aSEmmanuel Vadot }; 201