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: 198bab661aSEmmanuel Vadot - qcom,sc8280xp-qmp-usb43dp-phy 20cb7aa33aSEmmanuel Vadot - qcom,sm6350-qmp-usb3-dp-phy 21cb7aa33aSEmmanuel Vadot - qcom,sm8350-qmp-usb3-dp-phy 22cb7aa33aSEmmanuel Vadot - qcom,sm8450-qmp-usb3-dp-phy 23cb7aa33aSEmmanuel Vadot - qcom,sm8550-qmp-usb3-dp-phy 248bab661aSEmmanuel Vadot 258bab661aSEmmanuel Vadot reg: 268bab661aSEmmanuel Vadot maxItems: 1 278bab661aSEmmanuel Vadot 288bab661aSEmmanuel Vadot clocks: 298bab661aSEmmanuel Vadot maxItems: 4 308bab661aSEmmanuel Vadot 318bab661aSEmmanuel Vadot clock-names: 328bab661aSEmmanuel Vadot items: 338bab661aSEmmanuel Vadot - const: aux 348bab661aSEmmanuel Vadot - const: ref 358bab661aSEmmanuel Vadot - const: com_aux 368bab661aSEmmanuel Vadot - const: usb3_pipe 378bab661aSEmmanuel Vadot 388bab661aSEmmanuel Vadot power-domains: 398bab661aSEmmanuel Vadot maxItems: 1 408bab661aSEmmanuel Vadot 418bab661aSEmmanuel Vadot resets: 428bab661aSEmmanuel Vadot maxItems: 2 438bab661aSEmmanuel Vadot 448bab661aSEmmanuel Vadot reset-names: 458bab661aSEmmanuel Vadot items: 468bab661aSEmmanuel Vadot - const: phy 478bab661aSEmmanuel Vadot - const: common 488bab661aSEmmanuel Vadot 498bab661aSEmmanuel Vadot vdda-phy-supply: true 508bab661aSEmmanuel Vadot 518bab661aSEmmanuel Vadot vdda-pll-supply: true 528bab661aSEmmanuel Vadot 538bab661aSEmmanuel Vadot "#clock-cells": 548bab661aSEmmanuel Vadot const: 1 558bab661aSEmmanuel Vadot description: 568bab661aSEmmanuel Vadot See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h 578bab661aSEmmanuel Vadot 588bab661aSEmmanuel Vadot "#phy-cells": 598bab661aSEmmanuel Vadot const: 1 608bab661aSEmmanuel Vadot description: 618bab661aSEmmanuel Vadot See include/dt-bindings/dt-bindings/phy/phy-qcom-qmp.h 628bab661aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot orientation-switch: 64*f126890aSEmmanuel Vadot description: 65*f126890aSEmmanuel Vadot Flag the PHY as possible handler of USB Type-C orientation switching 66*f126890aSEmmanuel Vadot type: boolean 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot ports: 69*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 70*f126890aSEmmanuel Vadot properties: 71*f126890aSEmmanuel Vadot port@0: 72*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 73*f126890aSEmmanuel Vadot description: Output endpoint of the PHY 74*f126890aSEmmanuel Vadot 75*f126890aSEmmanuel Vadot port@1: 76*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 77*f126890aSEmmanuel Vadot description: Incoming endpoint from the USB controller 78*f126890aSEmmanuel Vadot 79*f126890aSEmmanuel Vadot port@2: 80*f126890aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 81*f126890aSEmmanuel Vadot description: Incoming endpoint from the DisplayPort controller 82*f126890aSEmmanuel Vadot 838bab661aSEmmanuel Vadotrequired: 848bab661aSEmmanuel Vadot - compatible 858bab661aSEmmanuel Vadot - reg 868bab661aSEmmanuel Vadot - clocks 878bab661aSEmmanuel Vadot - clock-names 888bab661aSEmmanuel Vadot - power-domains 898bab661aSEmmanuel Vadot - resets 908bab661aSEmmanuel Vadot - reset-names 918bab661aSEmmanuel Vadot - vdda-phy-supply 928bab661aSEmmanuel Vadot - vdda-pll-supply 938bab661aSEmmanuel Vadot - "#clock-cells" 948bab661aSEmmanuel Vadot - "#phy-cells" 958bab661aSEmmanuel Vadot 968bab661aSEmmanuel VadotadditionalProperties: false 978bab661aSEmmanuel Vadot 988bab661aSEmmanuel Vadotexamples: 998bab661aSEmmanuel Vadot - | 1008bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 1018bab661aSEmmanuel Vadot 1028bab661aSEmmanuel Vadot phy@88eb000 { 1038bab661aSEmmanuel Vadot compatible = "qcom,sc8280xp-qmp-usb43dp-phy"; 1048bab661aSEmmanuel Vadot reg = <0x088eb000 0x4000>; 1058bab661aSEmmanuel Vadot 1068bab661aSEmmanuel Vadot clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, 1078bab661aSEmmanuel Vadot <&gcc GCC_USB4_EUD_CLKREF_CLK>, 1088bab661aSEmmanuel Vadot <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, 1098bab661aSEmmanuel Vadot <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; 1108bab661aSEmmanuel Vadot clock-names = "aux", "ref", "com_aux", "usb3_pipe"; 1118bab661aSEmmanuel Vadot 1128bab661aSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 1138bab661aSEmmanuel Vadot 1148bab661aSEmmanuel Vadot resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 1158bab661aSEmmanuel Vadot <&gcc GCC_USB4_DP_PHY_PRIM_BCR>; 1168bab661aSEmmanuel Vadot reset-names = "phy", "common"; 1178bab661aSEmmanuel Vadot 1188bab661aSEmmanuel Vadot vdda-phy-supply = <&vreg_l9d>; 1198bab661aSEmmanuel Vadot vdda-pll-supply = <&vreg_l4d>; 1208bab661aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot orientation-switch; 122*f126890aSEmmanuel Vadot 1238bab661aSEmmanuel Vadot #clock-cells = <1>; 1248bab661aSEmmanuel Vadot #phy-cells = <1>; 125*f126890aSEmmanuel Vadot 126*f126890aSEmmanuel Vadot ports { 127*f126890aSEmmanuel Vadot #address-cells = <1>; 128*f126890aSEmmanuel Vadot #size-cells = <0>; 129*f126890aSEmmanuel Vadot 130*f126890aSEmmanuel Vadot port@0 { 131*f126890aSEmmanuel Vadot reg = <0>; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot endpoint { 134*f126890aSEmmanuel Vadot remote-endpoint = <&typec_connector_ss>; 135*f126890aSEmmanuel Vadot }; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot 138*f126890aSEmmanuel Vadot port@1 { 139*f126890aSEmmanuel Vadot reg = <1>; 140*f126890aSEmmanuel Vadot 141*f126890aSEmmanuel Vadot endpoint { 142*f126890aSEmmanuel Vadot remote-endpoint = <&dwc3_ss_out>; 143*f126890aSEmmanuel Vadot }; 144*f126890aSEmmanuel Vadot }; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot port@2 { 147*f126890aSEmmanuel Vadot reg = <2>; 148*f126890aSEmmanuel Vadot 149*f126890aSEmmanuel Vadot endpoint { 150*f126890aSEmmanuel Vadot remote-endpoint = <&mdss_dp_out>; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot }; 153*f126890aSEmmanuel Vadot }; 1548bab661aSEmmanuel Vadot }; 155