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,qmp-usb3-dp-phy.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Qualcomm QMP USB3 DP PHY controller
9
10maintainers:
11 - Manu Gautam <mgautam@codeaurora.org>
12
13properties:
14 compatible:
15 enum:
16 - qcom,sc7180-qmp-usb3-dp-phy
17 - qcom,sdm845-qmp-usb3-dp-phy
18 - qcom,sm8250-qmp-usb3-dp-phy
19 reg:
20 items:
21 - description: Address and length of PHY's USB serdes block.
22 - description: Address and length of the DP_COM control block.
23 - description: Address and length of PHY's DP serdes block.
24
25 reg-names:
26 items:
27 - const: usb
28 - const: dp_com
29 - const: dp
30
31 "#clock-cells":
32 enum: [ 1, 2 ]
33
34 "#address-cells":
35 enum: [ 1, 2 ]
36
37 "#size-cells":
38 enum: [ 1, 2 ]
39
40 ranges: true
41
42 clocks:
43 items:
44 - description: Phy aux clock.
45 - description: Phy config clock.
46 - description: 19.2 MHz ref clk.
47 - description: Phy common block aux clock.
48
49 clock-names:
50 items:
51 - const: aux
52 - const: cfg_ahb
53 - const: ref
54 - const: com_aux
55
56 resets:
57 items:
58 - description: reset of phy block.
59 - description: phy common block reset.
60
61 reset-names:
62 items:
63 - const: phy
64 - const: common
65
66 vdda-phy-supply:
67 description:
68 Phandle to a regulator supply to PHY core block.
69
70 vdda-pll-supply:
71 description:
72 Phandle to 1.8V regulator supply to PHY refclk pll block.
73
74 vddp-ref-clk-supply:
75 description:
76 Phandle to a regulator supply to any specific refclk pll block.
77
78#Required nodes:
79patternProperties:
80 "^usb3-phy@[0-9a-f]+$":
81 type: object
82 description:
83 The USB3 PHY.
84
85 properties:
86 reg:
87 items:
88 - description: Address and length of TX.
89 - description: Address and length of RX.
90 - description: Address and length of PCS.
91 - description: Address and length of TX2.
92 - description: Address and length of RX2.
93 - description: Address and length of pcs_misc.
94
95 clocks:
96 items:
97 - description: pipe clock
98
99 clock-names:
100 items:
101 - const: pipe0
102
103 clock-output-names:
104 items:
105 - const: usb3_phy_pipe_clk_src
106
107 '#clock-cells':
108 const: 0
109
110 '#phy-cells':
111 const: 0
112
113 required:
114 - reg
115 - clocks
116 - clock-names
117 - '#clock-cells'
118 - '#phy-cells'
119
120 "^dp-phy@[0-9a-f]+$":
121 type: object
122 description:
123 The DP PHY.
124
125 properties:
126 reg:
127 items:
128 - description: Address and length of TX.
129 - description: Address and length of RX.
130 - description: Address and length of PCS.
131 - description: Address and length of TX2.
132 - description: Address and length of RX2.
133
134 '#clock-cells':
135 const: 1
136
137 '#phy-cells':
138 const: 0
139
140 required:
141 - reg
142 - '#clock-cells'
143 - '#phy-cells'
144
145required:
146 - compatible
147 - reg
148 - "#clock-cells"
149 - "#address-cells"
150 - "#size-cells"
151 - ranges
152 - clocks
153 - clock-names
154 - resets
155 - reset-names
156 - vdda-phy-supply
157 - vdda-pll-supply
158
159additionalProperties: false
160
161examples:
162 - |
163 #include <dt-bindings/clock/qcom,gcc-sdm845.h>
164 usb_1_qmpphy: phy-wrapper@88e9000 {
165 compatible = "qcom,sdm845-qmp-usb3-dp-phy";
166 reg = <0x088e9000 0x18c>,
167 <0x088e8000 0x10>,
168 <0x088ea000 0x40>;
169 reg-names = "usb", "dp_com", "dp";
170 #clock-cells = <1>;
171 #address-cells = <1>;
172 #size-cells = <1>;
173 ranges = <0x0 0x088e9000 0x2000>;
174
175 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
176 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
177 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
178 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
179 clock-names = "aux", "cfg_ahb", "ref", "com_aux";
180
181 resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
182 <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
183 reset-names = "phy", "common";
184
185 vdda-phy-supply = <&vdda_usb2_ss_1p2>;
186 vdda-pll-supply = <&vdda_usb2_ss_core>;
187
188 usb3-phy@200 {
189 reg = <0x200 0x128>,
190 <0x400 0x200>,
191 <0xc00 0x218>,
192 <0x600 0x128>,
193 <0x800 0x200>,
194 <0xa00 0x100>;
195 #clock-cells = <0>;
196 #phy-cells = <0>;
197 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
198 clock-names = "pipe0";
199 clock-output-names = "usb3_phy_pipe_clk_src";
200 };
201
202 dp-phy@88ea200 {
203 reg = <0xa200 0x200>,
204 <0xa400 0x200>,
205 <0xaa00 0x200>,
206 <0xa600 0x200>,
207 <0xa800 0x200>;
208 #clock-cells = <1>;
209 #phy-cells = <0>;
210 };
211 };