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