@@ -13,287 +13,79 @@ description:
1313 QMP PHY controller supports physical layer functionality for a number of
1414 controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
1515
16- Note that these bindings are for SoCs up to SC8180X. For newer SoCs, see
17- qcom,sc8280xp-qmp-pcie-phy.yaml.
18-
1916properties :
2017 compatible :
2118 enum :
2219 - qcom,ipq6018-qmp-pcie-phy
2320 - qcom,ipq8074-qmp-gen3-pcie-phy
2421 - 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
3522
3623 reg :
3724 items :
3825 - description : serdes
3926
40- " #address-cells " :
41- enum : [ 1, 2 ]
42-
43- " #size-cells " :
44- enum : [ 1, 2 ]
45-
46- ranges : true
47-
4827 clocks :
49- minItems : 2
50- maxItems : 4
28+ maxItems : 3
5129
5230 clock-names :
53- minItems : 2
54- maxItems : 4
31+ items :
32+ - const : aux
33+ - const : cfg_ahb
34+ - const : pipe
5535
5636 resets :
57- minItems : 1
5837 maxItems : 2
5938
6039 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
9343
94- " #phy -cells" :
95- const : 0
44+ " #clock -cells" :
45+ const : 0
9646
97- required :
98- - reg
99- - clocks
100- - " #clock-cells"
101- - clock-output-names
102- - " #phy-cells"
47+ clock-output-names :
48+ maxItems : 1
10349
104- additionalProperties : false
50+ " #phy-cells " :
51+ const : 0
10552
10653required :
10754 - compatible
10855 - reg
109- - " #address-cells"
110- - " #size-cells"
111- - ranges
11256 - clocks
11357 - clock-names
11458 - resets
11559 - reset-names
60+ - " #clock-cells"
61+ - clock-output-names
62+ - " #phy-cells"
11663
11764additionalProperties : false
11865
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-
26266examples :
26367 - |
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>
28070
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>;
28374
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";
29181
292- clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
82+ clock-output-names = "gcc_pcie0_pipe_clk_src";
83+ #clock-cells = <0>;
29384
294- #clock-cells = <0>;
295- clock-output-names = "pcie_1_pipe_clk";
85+ #phy-cells = <0>;
29686
297- #phy-cells = <0>;
298- };
87+ resets = <&gcc GCC_PCIE0_PHY_BCR>,
88+ <&gcc GCC_PCIE0PHY_PHY_BCR>;
89+ reset-names = "phy",
90+ "common";
29991 };
0 commit comments