170f12a4cSXiangxu Yin# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 270f12a4cSXiangxu Yin%YAML 1.2 370f12a4cSXiangxu Yin--- 470f12a4cSXiangxu Yin$id: http://devicetree.org/schemas/phy/qcom,qcs615-qmp-usb3dp-phy.yaml# 570f12a4cSXiangxu Yin$schema: http://devicetree.org/meta-schemas/core.yaml# 670f12a4cSXiangxu Yin 770f12a4cSXiangxu Yintitle: Qualcomm QMP USB3-DP PHY controller (DP, QCS615) 870f12a4cSXiangxu Yin 970f12a4cSXiangxu Yinmaintainers: 1070f12a4cSXiangxu Yin - Xiangxu Yin <xiangxu.yin@oss.qualcomm.com> 1170f12a4cSXiangxu Yin 1270f12a4cSXiangxu Yindescription: 1370f12a4cSXiangxu Yin The QMP PHY controller supports physical layer functionality for both USB3 1470f12a4cSXiangxu Yin and DisplayPort over USB-C. While it enables mode switching between USB3 and 1570f12a4cSXiangxu Yin DisplayPort, but does not support combo mode. 1670f12a4cSXiangxu Yin 1770f12a4cSXiangxu Yinproperties: 1870f12a4cSXiangxu Yin compatible: 1970f12a4cSXiangxu Yin enum: 2070f12a4cSXiangxu Yin - qcom,qcs615-qmp-usb3-dp-phy 21*49e31058SKrishna Kurapati - qcom,shikra-qmp-usb3-dp-phy 2270f12a4cSXiangxu Yin 2370f12a4cSXiangxu Yin reg: 2470f12a4cSXiangxu Yin maxItems: 1 2570f12a4cSXiangxu Yin 2670f12a4cSXiangxu Yin clocks: 2770f12a4cSXiangxu Yin maxItems: 4 2870f12a4cSXiangxu Yin 2970f12a4cSXiangxu Yin clock-names: 3070f12a4cSXiangxu Yin items: 3170f12a4cSXiangxu Yin - const: aux 3270f12a4cSXiangxu Yin - const: ref 3370f12a4cSXiangxu Yin - const: cfg_ahb 3470f12a4cSXiangxu Yin - const: pipe 3570f12a4cSXiangxu Yin 3670f12a4cSXiangxu Yin resets: 37*49e31058SKrishna Kurapati minItems: 2 38*49e31058SKrishna Kurapati maxItems: 3 3970f12a4cSXiangxu Yin 4070f12a4cSXiangxu Yin reset-names: 41*49e31058SKrishna Kurapati minItems: 2 4270f12a4cSXiangxu Yin items: 4370f12a4cSXiangxu Yin - const: phy_phy 4470f12a4cSXiangxu Yin - const: dp_phy 45*49e31058SKrishna Kurapati - const: phy 4670f12a4cSXiangxu Yin 4770f12a4cSXiangxu Yin vdda-phy-supply: true 4870f12a4cSXiangxu Yin 4970f12a4cSXiangxu Yin vdda-pll-supply: true 5070f12a4cSXiangxu Yin 5170f12a4cSXiangxu Yin "#clock-cells": 5270f12a4cSXiangxu Yin const: 1 5370f12a4cSXiangxu Yin description: 5470f12a4cSXiangxu Yin See include/dt-bindings/phy/phy-qcom-qmp.h 5570f12a4cSXiangxu Yin 5670f12a4cSXiangxu Yin "#phy-cells": 5770f12a4cSXiangxu Yin const: 1 5870f12a4cSXiangxu Yin description: 5970f12a4cSXiangxu Yin See include/dt-bindings/phy/phy-qcom-qmp.h 6070f12a4cSXiangxu Yin 6170f12a4cSXiangxu Yin qcom,tcsr-reg: 6270f12a4cSXiangxu Yin $ref: /schemas/types.yaml#/definitions/phandle-array 6370f12a4cSXiangxu Yin items: 6470f12a4cSXiangxu Yin - items: 6570f12a4cSXiangxu Yin - description: phandle to TCSR hardware block 6670f12a4cSXiangxu Yin - description: offset of the VLS CLAMP register 6770f12a4cSXiangxu Yin - description: offset of the PHY mode register 6870f12a4cSXiangxu Yin description: Clamp and PHY mode register present in the TCSR 6970f12a4cSXiangxu Yin 70*49e31058SKrishna Kurapati orientation-switch: 71*49e31058SKrishna Kurapati description: 72*49e31058SKrishna Kurapati Flag the PHY as possible handler of USB Type-C orientation switching 73*49e31058SKrishna Kurapati type: boolean 74*49e31058SKrishna Kurapati 75*49e31058SKrishna Kurapati ports: 76*49e31058SKrishna Kurapati $ref: /schemas/graph.yaml#/properties/ports 77*49e31058SKrishna Kurapati properties: 78*49e31058SKrishna Kurapati port@0: 79*49e31058SKrishna Kurapati $ref: /schemas/graph.yaml#/properties/port 80*49e31058SKrishna Kurapati description: Output endpoint of the PHY 81*49e31058SKrishna Kurapati 82*49e31058SKrishna Kurapati port@1: 83*49e31058SKrishna Kurapati $ref: /schemas/graph.yaml#/properties/port 84*49e31058SKrishna Kurapati description: Incoming endpoint from the USB controller 85*49e31058SKrishna Kurapati 8670f12a4cSXiangxu Yinrequired: 8770f12a4cSXiangxu Yin - compatible 8870f12a4cSXiangxu Yin - reg 8970f12a4cSXiangxu Yin - clocks 9070f12a4cSXiangxu Yin - clock-names 9170f12a4cSXiangxu Yin - resets 9270f12a4cSXiangxu Yin - reset-names 9370f12a4cSXiangxu Yin - vdda-phy-supply 9470f12a4cSXiangxu Yin - vdda-pll-supply 9570f12a4cSXiangxu Yin - "#clock-cells" 9670f12a4cSXiangxu Yin - "#phy-cells" 9770f12a4cSXiangxu Yin - qcom,tcsr-reg 9870f12a4cSXiangxu Yin 9970f12a4cSXiangxu YinadditionalProperties: false 10070f12a4cSXiangxu Yin 101*49e31058SKrishna KurapatiallOf: 102*49e31058SKrishna Kurapati - if: 103*49e31058SKrishna Kurapati properties: 104*49e31058SKrishna Kurapati compatible: 105*49e31058SKrishna Kurapati contains: 106*49e31058SKrishna Kurapati enum: 107*49e31058SKrishna Kurapati - qcom,shikra-qmp-usb3-dp-phy 108*49e31058SKrishna Kurapati then: 109*49e31058SKrishna Kurapati properties: 110*49e31058SKrishna Kurapati resets: 111*49e31058SKrishna Kurapati minItems: 3 112*49e31058SKrishna Kurapati reset-names: 113*49e31058SKrishna Kurapati minItems: 3 114*49e31058SKrishna Kurapati 115*49e31058SKrishna Kurapati - if: 116*49e31058SKrishna Kurapati properties: 117*49e31058SKrishna Kurapati compatible: 118*49e31058SKrishna Kurapati contains: 119*49e31058SKrishna Kurapati enum: 120*49e31058SKrishna Kurapati - qcom,qcs615-qmp-usb3-dp-phy 121*49e31058SKrishna Kurapati then: 122*49e31058SKrishna Kurapati properties: 123*49e31058SKrishna Kurapati resets: 124*49e31058SKrishna Kurapati maxItems: 2 125*49e31058SKrishna Kurapati reset-names: 126*49e31058SKrishna Kurapati maxItems: 2 127*49e31058SKrishna Kurapati 12870f12a4cSXiangxu Yinexamples: 12970f12a4cSXiangxu Yin - | 13070f12a4cSXiangxu Yin #include <dt-bindings/clock/qcom,qcs615-gcc.h> 13170f12a4cSXiangxu Yin #include <dt-bindings/clock/qcom,rpmh.h> 13270f12a4cSXiangxu Yin 13370f12a4cSXiangxu Yin phy@88e8000 { 13470f12a4cSXiangxu Yin compatible = "qcom,qcs615-qmp-usb3-dp-phy"; 13570f12a4cSXiangxu Yin reg = <0x88e8000 0x2000>; 13670f12a4cSXiangxu Yin 13770f12a4cSXiangxu Yin clocks = <&gcc GCC_USB2_SEC_PHY_AUX_CLK>, 13870f12a4cSXiangxu Yin <&gcc GCC_USB3_SEC_CLKREF_CLK>, 13970f12a4cSXiangxu Yin <&gcc GCC_AHB2PHY_WEST_CLK>, 14070f12a4cSXiangxu Yin <&gcc GCC_USB2_SEC_PHY_PIPE_CLK>; 14170f12a4cSXiangxu Yin clock-names = "aux", 14270f12a4cSXiangxu Yin "ref", 14370f12a4cSXiangxu Yin "cfg_ahb", 14470f12a4cSXiangxu Yin "pipe"; 14570f12a4cSXiangxu Yin 14670f12a4cSXiangxu Yin resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>, 14770f12a4cSXiangxu Yin <&gcc GCC_USB3_DP_PHY_SEC_BCR>; 14870f12a4cSXiangxu Yin reset-names = "phy_phy", 14970f12a4cSXiangxu Yin "dp_phy"; 15070f12a4cSXiangxu Yin 15170f12a4cSXiangxu Yin vdda-phy-supply = <&vreg_l5a>; 15270f12a4cSXiangxu Yin vdda-pll-supply = <&vreg_l12a>; 15370f12a4cSXiangxu Yin 15470f12a4cSXiangxu Yin #clock-cells = <1>; 15570f12a4cSXiangxu Yin #phy-cells = <1>; 15670f12a4cSXiangxu Yin 15770f12a4cSXiangxu Yin qcom,tcsr-reg = <&tcsr 0xbff0 0xb24c>; 15870f12a4cSXiangxu Yin }; 159