1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
5 $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: Qualcomm QUSB2 phy controller
11 - Wesley Cheng <quic_wcheng@quicinc.com>
14 QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets.
21 - qcom,ipq6018-qusb2-phy
22 - qcom,ipq8074-qusb2-phy
23 - qcom,ipq9574-qusb2-phy
24 - qcom,msm8953-qusb2-phy
25 - qcom,msm8996-qusb2-phy
26 - qcom,msm8998-qusb2-phy
27 - qcom,qcm2290-qusb2-phy
28 - qcom,sdm660-qusb2-phy
29 - qcom,sm4250-qusb2-phy
30 - qcom,sm6115-qusb2-phy
33 - qcom,sc7180-qusb2-phy
34 - qcom,sdm670-qusb2-phy
35 - qcom,sdm845-qusb2-phy
36 - qcom,sm6350-qusb2-phy
37 - const: qcom,qusb2-v2-phy
47 - description: phy config clock
48 - description: 19.2 MHz ref clk
49 - description: phy interface clock (Optional)
60 Phandle to 0.9V regulator supply to PHY digital circuit.
64 Phandle to 1.8V regulator supply to PHY refclk pll block.
68 Phandle to 3.1V regulator supply to Dp/Dm port signals.
73 Phandle to reset to phy block.
78 Phandle to nvmem cell that contains 'HS Tx trim'
79 tuning parameter value for qusb2 phy.
83 Phandle to TCSR syscon register region.
84 $ref: /schemas/types.yaml#/definitions/phandle
86 qcom,imp-res-offset-value:
88 It is a 6 bit value that specifies offset to be
89 added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY
90 tuning parameter that may vary for different boards of same SOC.
91 $ref: /schemas/types.yaml#/definitions/uint32
98 It is a 6 bit value that specifies bias-ctrl-value. It is a PHY
99 tuning parameter that may vary for different boards of same SOC.
100 $ref: /schemas/types.yaml#/definitions/uint32
105 qcom,charge-ctrl-value:
107 It is a 2 bit value that specifies charge-ctrl-value. It is a PHY
108 tuning parameter that may vary for different boards of same SOC.
109 $ref: /schemas/types.yaml#/definitions/uint32
114 qcom,hstx-trim-value:
116 It is a 4 bit value that specifies tuning for HSTX
118 Possible range is - 15mA to 24mA (stepsize of 600 uA).
119 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
120 $ref: /schemas/types.yaml#/definitions/uint32
125 qcom,preemphasis-level:
127 It is a 2 bit value that specifies pre-emphasis level.
128 Possible range is 0 to 15% (stepsize of 5%).
129 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
130 $ref: /schemas/types.yaml#/definitions/uint32
135 qcom,preemphasis-width:
137 It is a 1 bit value that specifies how long the HSTX
138 pre-emphasis (specified using qcom,preemphasis-level) must be in
139 effect. Duration could be half-bit of full-bit.
140 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
141 $ref: /schemas/types.yaml#/definitions/uint32
146 qcom,hsdisc-trim-value:
148 It is a 2 bit value tuning parameter that control disconnect
149 threshold and may vary for different boards of same SOC.
150 $ref: /schemas/types.yaml#/definitions/uint32
163 - vdda-phy-dpdm-supply
172 const: qcom,qusb2-v2-phy
175 qcom,imp-res-offset-value: false
176 qcom,bias-ctrl-value: false
177 qcom,charge-ctrl-value: false
178 qcom,hstx-trim-value: false
179 qcom,preemphasis-level: false
180 qcom,preemphasis-width: false
181 qcom,hsdisc-trim-value: false
183 additionalProperties: false
187 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
188 hsusb_phy: phy@7411000 {
189 compatible = "qcom,msm8996-qusb2-phy";
190 reg = <0x7411000 0x180>;
193 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
194 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
195 clock-names = "cfg_ahb", "ref";
197 vdd-supply = <&pm8994_l28>;
198 vdda-pll-supply = <&pm8994_l12>;
199 vdda-phy-dpdm-supply = <&pm8994_l24>;
201 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
202 nvmem-cells = <&qusb2p_hstx_trim>;