Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
3%YAML 1.2
4---
5$id: "http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Qualcomm QUSB2 phy controller
9
10maintainers:
11 - Manu Gautam <mgautam@codeaurora.org>
12
13description:
14 QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets.
15
16properties:
17 compatible:
18 oneOf:
19 - items:
20 - enum:
21 - qcom,ipq8074-qusb2-phy
22 - qcom,msm8996-qusb2-phy
23 - qcom,msm8998-qusb2-phy
24 - qcom,sdm660-qusb2-phy
25 - qcom,ipq6018-qusb2-phy
26 - items:
27 - enum:
28 - qcom,sc7180-qusb2-phy
29 - qcom,sdm845-qusb2-phy
30 - const: qcom,qusb2-v2-phy
31 reg:
32 maxItems: 1
33
34 "#phy-cells":
35 const: 0
36
37 clocks:
38 minItems: 2
39 maxItems: 3
40 items:
41 - description: phy config clock
42 - description: 19.2 MHz ref clk
43 - description: phy interface clock (Optional)
44
45 clock-names:
46 minItems: 2
47 maxItems: 3
48 items:
49 - const: cfg_ahb
50 - const: ref
51 - const: iface
52
53 vdda-pll-supply:
54 description:
55 Phandle to 1.8V regulator supply to PHY refclk pll block.
56
57 vdda-phy-dpdm-supply:
58 description:
59 Phandle to 3.1V regulator supply to Dp/Dm port signals.
60
61 resets:
62 maxItems: 1
63 description:
64 Phandle to reset to phy block.
65
66 nvmem-cells:
67 maxItems: 1
68 description:
69 Phandle to nvmem cell that contains 'HS Tx trim'
70 tuning parameter value for qusb2 phy.
71
72 qcom,tcsr-syscon:
73 description:
74 Phandle to TCSR syscon register region.
75 $ref: /schemas/types.yaml#/definitions/phandle
76
77if:
78 properties:
79 compatible:
80 contains:
81 const: qcom,qusb2-v2-phy
82then:
83 properties:
84 qcom,imp-res-offset-value:
85 description:
86 It is a 6 bit value that specifies offset to be
87 added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY
88 tuning parameter that may vary for different boards of same SOC.
89 $ref: /schemas/types.yaml#/definitions/uint32
90 minimum: 0
91 maximum: 63
92 default: 0
93
94 qcom,bias-ctrl-value:
95 description:
96 It is a 6 bit value that specifies bias-ctrl-value. It is a PHY
97 tuning parameter that may vary for different boards of same SOC.
98 $ref: /schemas/types.yaml#/definitions/uint32
99 minimum: 0
100 maximum: 63
101 default: 32
102
103 qcom,charge-ctrl-value:
104 description:
105 It is a 2 bit value that specifies charge-ctrl-value. It is a PHY
106 tuning parameter that may vary for different boards of same SOC.
107 $ref: /schemas/types.yaml#/definitions/uint32
108 minimum: 0
109 maximum: 3
110 default: 0
111
112 qcom,hstx-trim-value:
113 description:
114 It is a 4 bit value that specifies tuning for HSTX
115 output current.
116 Possible range is - 15mA to 24mA (stepsize of 600 uA).
117 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
118 $ref: /schemas/types.yaml#/definitions/uint32
119 minimum: 0
120 maximum: 15
121 default: 3
122
123 qcom,preemphasis-level:
124 description:
125 It is a 2 bit value that specifies pre-emphasis level.
126 Possible range is 0 to 15% (stepsize of 5%).
127 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
128 $ref: /schemas/types.yaml#/definitions/uint32
129 minimum: 0
130 maximum: 3
131 default: 2
132
133 qcom,preemphasis-width:
134 description:
135 It is a 1 bit value that specifies how long the HSTX
136 pre-emphasis (specified using qcom,preemphasis-level) must be in
137 effect. Duration could be half-bit of full-bit.
138 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
139 $ref: /schemas/types.yaml#/definitions/uint32
140 minimum: 0
141 maximum: 1
142 default: 0
143
144 qcom,hsdisc-trim-value:
145 description:
146 It is a 2 bit value tuning parameter that control disconnect
147 threshold and may vary for different boards of same SOC.
148 $ref: /schemas/types.yaml#/definitions/uint32
149 minimum: 0
150 maximum: 3
151 default: 0
152
153required:
154 - compatible
155 - reg
156 - "#phy-cells"
157 - clocks
158 - clock-names
159 - vdda-pll-supply
160 - vdda-phy-dpdm-supply
161 - resets
162
163additionalProperties: false
164
165examples:
166 - |
167 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
168 hsusb_phy: phy@7411000 {
169 compatible = "qcom,msm8996-qusb2-phy";
170 reg = <0x7411000 0x180>;
171 #phy-cells = <0>;
172
173 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
174 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
175 clock-names = "cfg_ahb", "ref";
176
177 vdda-pll-supply = <&pm8994_l12>;
178 vdda-phy-dpdm-supply = <&pm8994_l24>;
179
180 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
181 nvmem-cells = <&qusb2p_hstx_trim>;
182 };