@@ -13,287 +13,79 @@ description:
13
13
QMP PHY controller supports physical layer functionality for a number of
14
14
controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
15
15
16
- Note that these bindings are for SoCs up to SC8180X. For newer SoCs, see
17
- qcom,sc8280xp-qmp-pcie-phy.yaml.
18
-
19
16
properties :
20
17
compatible :
21
18
enum :
22
19
- qcom,ipq6018-qmp-pcie-phy
23
20
- qcom,ipq8074-qmp-gen3-pcie-phy
24
21
- qcom,ipq8074-qmp-pcie-phy
25
- - qcom,msm8998-qmp-pcie-phy
26
- - qcom,sc8180x-qmp-pcie-phy
27
- - qcom,sdm845-qhp-pcie-phy
28
- - qcom,sdm845-qmp-pcie-phy
29
- - qcom,sdx55-qmp-pcie-phy
30
- - qcom,sm8250-qmp-gen3x1-pcie-phy
31
- - qcom,sm8250-qmp-gen3x2-pcie-phy
32
- - qcom,sm8250-qmp-modem-pcie-phy
33
- - qcom,sm8450-qmp-gen3x1-pcie-phy
34
- - qcom,sm8450-qmp-gen4x2-pcie-phy
35
22
36
23
reg :
37
24
items :
38
25
- description : serdes
39
26
40
- " #address-cells " :
41
- enum : [ 1, 2 ]
42
-
43
- " #size-cells " :
44
- enum : [ 1, 2 ]
45
-
46
- ranges : true
47
-
48
27
clocks :
49
- minItems : 2
50
- maxItems : 4
28
+ maxItems : 3
51
29
52
30
clock-names :
53
- minItems : 2
54
- maxItems : 4
31
+ items :
32
+ - const : aux
33
+ - const : cfg_ahb
34
+ - const : pipe
55
35
56
36
resets :
57
- minItems : 1
58
37
maxItems : 2
59
38
60
39
reset-names :
61
- minItems : 1
62
- maxItems : 2
63
-
64
- vdda-phy-supply : true
65
-
66
- vdda-pll-supply : true
67
-
68
- vddp-ref-clk-supply : true
69
-
70
- patternProperties :
71
- " ^phy@[0-9a-f]+$ " :
72
- type : object
73
- description : single PHY-provider child node
74
- properties :
75
- reg :
76
- minItems : 3
77
- maxItems : 6
78
-
79
- clocks :
80
- items :
81
- - description : PIPE clock
82
-
83
- clock-names :
84
- deprecated : true
85
- items :
86
- - const : pipe0
87
-
88
- " #clock-cells " :
89
- const : 0
90
-
91
- clock-output-names :
92
- maxItems : 1
40
+ items :
41
+ - const : phy
42
+ - const : common
93
43
94
- " #phy -cells" :
95
- const : 0
44
+ " #clock -cells" :
45
+ const : 0
96
46
97
- required :
98
- - reg
99
- - clocks
100
- - " #clock-cells"
101
- - clock-output-names
102
- - " #phy-cells"
47
+ clock-output-names :
48
+ maxItems : 1
103
49
104
- additionalProperties : false
50
+ " #phy-cells " :
51
+ const : 0
105
52
106
53
required :
107
54
- compatible
108
55
- reg
109
- - " #address-cells"
110
- - " #size-cells"
111
- - ranges
112
56
- clocks
113
57
- clock-names
114
58
- resets
115
59
- reset-names
60
+ - " #clock-cells"
61
+ - clock-output-names
62
+ - " #phy-cells"
116
63
117
64
additionalProperties : false
118
65
119
- allOf :
120
- - if :
121
- properties :
122
- compatible :
123
- contains :
124
- enum :
125
- - qcom,msm8998-qmp-pcie-phy
126
- then :
127
- properties :
128
- clocks :
129
- maxItems : 3
130
- clock-names :
131
- items :
132
- - const : aux
133
- - const : cfg_ahb
134
- - const : ref
135
- resets :
136
- maxItems : 2
137
- reset-names :
138
- items :
139
- - const : phy
140
- - const : common
141
- required :
142
- - vdda-phy-supply
143
- - vdda-pll-supply
144
-
145
- - if :
146
- properties :
147
- compatible :
148
- contains :
149
- enum :
150
- - qcom,ipq6018-qmp-pcie-phy
151
- - qcom,ipq8074-qmp-gen3-pcie-phy
152
- - qcom,ipq8074-qmp-pcie-phy
153
- then :
154
- properties :
155
- clocks :
156
- maxItems : 2
157
- clock-names :
158
- items :
159
- - const : aux
160
- - const : cfg_ahb
161
- resets :
162
- maxItems : 2
163
- reset-names :
164
- items :
165
- - const : phy
166
- - const : common
167
-
168
- - if :
169
- properties :
170
- compatible :
171
- contains :
172
- enum :
173
- - qcom,sc8180x-qmp-pcie-phy
174
- - qcom,sdm845-qhp-pcie-phy
175
- - qcom,sdm845-qmp-pcie-phy
176
- - qcom,sdx55-qmp-pcie-phy
177
- - qcom,sm8250-qmp-gen3x1-pcie-phy
178
- - qcom,sm8250-qmp-gen3x2-pcie-phy
179
- - qcom,sm8250-qmp-modem-pcie-phy
180
- - qcom,sm8450-qmp-gen3x1-pcie-phy
181
- - qcom,sm8450-qmp-gen4x2-pcie-phy
182
- then :
183
- properties :
184
- clocks :
185
- maxItems : 4
186
- clock-names :
187
- items :
188
- - const : aux
189
- - const : cfg_ahb
190
- - const : ref
191
- - const : refgen
192
- resets :
193
- maxItems : 1
194
- reset-names :
195
- items :
196
- - const : phy
197
- required :
198
- - vdda-phy-supply
199
- - vdda-pll-supply
200
-
201
- - if :
202
- properties :
203
- compatible :
204
- contains :
205
- enum :
206
- - qcom,sc8180x-qmp-pcie-phy
207
- - qcom,sm8250-qmp-gen3x2-pcie-phy
208
- - qcom,sm8250-qmp-modem-pcie-phy
209
- - qcom,sm8450-qmp-gen4x2-pcie-phy
210
- then :
211
- patternProperties :
212
- " ^phy@[0-9a-f]+$ " :
213
- properties :
214
- reg :
215
- items :
216
- - description : TX lane 1
217
- - description : RX lane 1
218
- - description : PCS
219
- - description : TX lane 2
220
- - description : RX lane 2
221
- - description : PCS_MISC
222
-
223
- - if :
224
- properties :
225
- compatible :
226
- contains :
227
- enum :
228
- - qcom,sdm845-qmp-pcie-phy
229
- - qcom,sdx55-qmp-pcie-phy
230
- - qcom,sm8250-qmp-gen3x1-pcie-phy
231
- - qcom,sm8450-qmp-gen3x1-pcie-phy
232
- then :
233
- patternProperties :
234
- " ^phy@[0-9a-f]+$ " :
235
- properties :
236
- reg :
237
- items :
238
- - description : TX
239
- - description : RX
240
- - description : PCS
241
- - description : PCS_MISC
242
-
243
- - if :
244
- properties :
245
- compatible :
246
- contains :
247
- enum :
248
- - qcom,ipq6018-qmp-pcie-phy
249
- - qcom,ipq8074-qmp-pcie-phy
250
- - qcom,msm8998-qmp-pcie-phy
251
- - qcom,sdm845-qhp-pcie-phy
252
- then :
253
- patternProperties :
254
- " ^phy@[0-9a-f]+$ " :
255
- properties :
256
- reg :
257
- items :
258
- - description : TX
259
- - description : RX
260
- - description : PCS
261
-
262
66
examples :
263
67
- |
264
- #include <dt-bindings/clock/qcom,gcc-sm8250.h>
265
- phy-wrapper@1c0e000 {
266
- compatible = "qcom,sm8250-qmp-gen3x2-pcie-phy";
267
- reg = <0x01c0e000 0x1c0>;
268
- #address-cells = <1>;
269
- #size-cells = <1>;
270
- ranges = <0x0 0x01c0e000 0x1000>;
271
-
272
- clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
273
- <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
274
- <&gcc GCC_PCIE_WIGIG_CLKREF_EN>,
275
- <&gcc GCC_PCIE1_PHY_REFGEN_CLK>;
276
- clock-names = "aux", "cfg_ahb", "ref", "refgen";
277
-
278
- resets = <&gcc GCC_PCIE_1_PHY_BCR>;
279
- reset-names = "phy";
68
+ #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
69
+ #include <dt-bindings/reset/qcom,gcc-ipq6018.h>
280
70
281
- vdda-phy-supply = <&vreg_l10c_0p88>;
282
- vdda-pll-supply = <&vreg_l6b_1p2>;
71
+ phy@84000 {
72
+ compatible = "qcom,ipq6018-qmp-pcie-phy";
73
+ reg = <0x0 0x00084000 0x0 0x1000>;
283
74
284
- phy@200 {
285
- reg = <0x200 0x170>,
286
- <0x400 0x200>,
287
- <0xa00 0x1f0>,
288
- <0x600 0x170>,
289
- <0x800 0x200>,
290
- <0xe00 0xf4>;
75
+ clocks = <&gcc GCC_PCIE0_AUX_CLK>,
76
+ <&gcc GCC_PCIE0_AHB_CLK>,
77
+ <&gcc GCC_PCIE0_PIPE_CLK>;
78
+ clock-names = "aux",
79
+ "cfg_ahb",
80
+ "pipe";
291
81
292
- clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
82
+ clock-output-names = "gcc_pcie0_pipe_clk_src";
83
+ #clock-cells = <0>;
293
84
294
- #clock-cells = <0>;
295
- clock-output-names = "pcie_1_pipe_clk";
85
+ #phy-cells = <0>;
296
86
297
- #phy-cells = <0>;
298
- };
87
+ resets = <&gcc GCC_PCIE0_PHY_BCR>,
88
+ <&gcc GCC_PCIE0PHY_PHY_BCR>;
89
+ reset-names = "phy",
90
+ "common";
299
91
};
0 commit comments