xref: /freebsd/sys/contrib/device-tree/Bindings/phy/qcom,qmp-phy.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel Vadot%YAML 1.2
4c66ec88fSEmmanuel Vadot---
5c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/phy/qcom,qmp-phy.yaml#"
6c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadottitle: Qualcomm QMP PHY controller
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadotmaintainers:
118cc087a1SEmmanuel Vadot  - Vinod Koul <vkoul@kernel.org>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription:
14c66ec88fSEmmanuel Vadot  QMP phy controller supports physical layer functionality for a number of
15c66ec88fSEmmanuel Vadot  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    enum:
205956d97fSEmmanuel Vadot      - qcom,ipq6018-qmp-pcie-phy
21354d7675SEmmanuel Vadot      - qcom,ipq6018-qmp-usb3-phy
22*b97ee269SEmmanuel Vadot      - qcom,ipq8074-qmp-gen3-pcie-phy
23c66ec88fSEmmanuel Vadot      - qcom,ipq8074-qmp-pcie-phy
24c66ec88fSEmmanuel Vadot      - qcom,ipq8074-qmp-usb3-phy
25c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-pcie-phy
26c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-ufs-phy
27c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-usb3-phy
28c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-pcie-phy
29c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-ufs-phy
30c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-usb3-phy
318cc087a1SEmmanuel Vadot      - qcom,qcm2290-qmp-usb3-phy
322eb4d8dcSEmmanuel Vadot      - qcom,sc7180-qmp-usb3-phy
33354d7675SEmmanuel Vadot      - qcom,sc8180x-qmp-pcie-phy
345def4c47SEmmanuel Vadot      - qcom,sc8180x-qmp-ufs-phy
355def4c47SEmmanuel Vadot      - qcom,sc8180x-qmp-usb3-phy
36c9ccf3a3SEmmanuel Vadot      - qcom,sc8280xp-qmp-ufs-phy
37c66ec88fSEmmanuel Vadot      - qcom,sdm845-qhp-pcie-phy
38c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-pcie-phy
39c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-ufs-phy
402eb4d8dcSEmmanuel Vadot      - qcom,sdm845-qmp-usb3-phy
41c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-usb3-uni-phy
42354d7675SEmmanuel Vadot      - qcom,sm6115-qmp-ufs-phy
43d5b0e70fSEmmanuel Vadot      - qcom,sm6350-qmp-ufs-phy
44c66ec88fSEmmanuel Vadot      - qcom,sm8150-qmp-ufs-phy
455def4c47SEmmanuel Vadot      - qcom,sm8150-qmp-usb3-phy
465def4c47SEmmanuel Vadot      - qcom,sm8150-qmp-usb3-uni-phy
47c66ec88fSEmmanuel Vadot      - qcom,sm8250-qmp-ufs-phy
485def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-gen3x1-pcie-phy
495def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-gen3x2-pcie-phy
505def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-modem-pcie-phy
515def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-usb3-phy
525def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-usb3-uni-phy
535def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-ufs-phy
545def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-usb3-phy
555def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-usb3-uni-phy
56e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-gen3x1-pcie-phy
57e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-gen4x2-pcie-phy
58e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-ufs-phy
59e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-usb3-phy
605956d97fSEmmanuel Vadot      - qcom,sdx55-qmp-pcie-phy
615def4c47SEmmanuel Vadot      - qcom,sdx55-qmp-usb3-uni-phy
62d5b0e70fSEmmanuel Vadot      - qcom,sdx65-qmp-usb3-uni-phy
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot  reg:
655def4c47SEmmanuel Vadot    minItems: 1
66c66ec88fSEmmanuel Vadot    items:
67c66ec88fSEmmanuel Vadot      - description: Address and length of PHY's common serdes block.
685def4c47SEmmanuel Vadot      - description: Address and length of PHY's DP_COM control block.
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  "#clock-cells":
71c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot  "#address-cells":
74c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadot  "#size-cells":
77c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot  ranges: true
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot  clocks:
82c66ec88fSEmmanuel Vadot    minItems: 1
83c66ec88fSEmmanuel Vadot    maxItems: 4
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot  clock-names:
86c66ec88fSEmmanuel Vadot    minItems: 1
87c66ec88fSEmmanuel Vadot    maxItems: 4
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot  resets:
90c66ec88fSEmmanuel Vadot    minItems: 1
91c66ec88fSEmmanuel Vadot    maxItems: 3
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot  reset-names:
94c66ec88fSEmmanuel Vadot    minItems: 1
95c66ec88fSEmmanuel Vadot    maxItems: 3
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot  vdda-phy-supply:
98c66ec88fSEmmanuel Vadot    description:
99c66ec88fSEmmanuel Vadot      Phandle to a regulator supply to PHY core block.
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot  vdda-pll-supply:
102c66ec88fSEmmanuel Vadot    description:
103c66ec88fSEmmanuel Vadot      Phandle to 1.8V regulator supply to PHY refclk pll block.
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot  vddp-ref-clk-supply:
106c66ec88fSEmmanuel Vadot    description:
107c66ec88fSEmmanuel Vadot      Phandle to a regulator supply to any specific refclk pll block.
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot#Required nodes:
110c66ec88fSEmmanuel VadotpatternProperties:
111c66ec88fSEmmanuel Vadot  "^phy@[0-9a-f]+$":
112c66ec88fSEmmanuel Vadot    type: object
113c66ec88fSEmmanuel Vadot    description:
114c66ec88fSEmmanuel Vadot      Each device node of QMP phy is required to have as many child nodes as
115c66ec88fSEmmanuel Vadot      the number of lanes the PHY has.
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadotrequired:
118c66ec88fSEmmanuel Vadot  - compatible
119c66ec88fSEmmanuel Vadot  - reg
120c66ec88fSEmmanuel Vadot  - "#clock-cells"
121c66ec88fSEmmanuel Vadot  - "#address-cells"
122c66ec88fSEmmanuel Vadot  - "#size-cells"
123c66ec88fSEmmanuel Vadot  - ranges
124c66ec88fSEmmanuel Vadot  - clocks
125c66ec88fSEmmanuel Vadot  - clock-names
126c66ec88fSEmmanuel Vadot  - resets
127c66ec88fSEmmanuel Vadot  - reset-names
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel VadotadditionalProperties: false
130c66ec88fSEmmanuel Vadot
131c66ec88fSEmmanuel VadotallOf:
132c66ec88fSEmmanuel Vadot  - if:
133c66ec88fSEmmanuel Vadot      properties:
134c66ec88fSEmmanuel Vadot        compatible:
135c66ec88fSEmmanuel Vadot          contains:
136c66ec88fSEmmanuel Vadot            enum:
137c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-usb3-uni-phy
138c66ec88fSEmmanuel Vadot    then:
139c66ec88fSEmmanuel Vadot      properties:
140c66ec88fSEmmanuel Vadot        clocks:
141c66ec88fSEmmanuel Vadot          items:
142c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
143c66ec88fSEmmanuel Vadot            - description: Phy config clock.
144c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
145c66ec88fSEmmanuel Vadot            - description: Phy common block aux clock.
146c66ec88fSEmmanuel Vadot        clock-names:
147c66ec88fSEmmanuel Vadot          items:
148c66ec88fSEmmanuel Vadot            - const: aux
149c66ec88fSEmmanuel Vadot            - const: cfg_ahb
150c66ec88fSEmmanuel Vadot            - const: ref
151c66ec88fSEmmanuel Vadot            - const: com_aux
152c66ec88fSEmmanuel Vadot        resets:
153c66ec88fSEmmanuel Vadot          items:
154c66ec88fSEmmanuel Vadot            - description: reset of phy block.
155c66ec88fSEmmanuel Vadot            - description: phy common block reset.
156c66ec88fSEmmanuel Vadot        reset-names:
157c66ec88fSEmmanuel Vadot          items:
158c66ec88fSEmmanuel Vadot            - const: phy
159c66ec88fSEmmanuel Vadot            - const: common
1608cc087a1SEmmanuel Vadot      required:
1618cc087a1SEmmanuel Vadot        - vdda-phy-supply
1628cc087a1SEmmanuel Vadot        - vdda-pll-supply
163c66ec88fSEmmanuel Vadot  - if:
164c66ec88fSEmmanuel Vadot      properties:
165c66ec88fSEmmanuel Vadot        compatible:
166c66ec88fSEmmanuel Vadot          contains:
167c66ec88fSEmmanuel Vadot            enum:
1685def4c47SEmmanuel Vadot              - qcom,sdx55-qmp-usb3-uni-phy
169d5b0e70fSEmmanuel Vadot              - qcom,sdx65-qmp-usb3-uni-phy
1705def4c47SEmmanuel Vadot    then:
1715def4c47SEmmanuel Vadot      properties:
1725def4c47SEmmanuel Vadot        clocks:
1735def4c47SEmmanuel Vadot          items:
1745def4c47SEmmanuel Vadot            - description: Phy aux clock.
1755def4c47SEmmanuel Vadot            - description: Phy config clock.
1765def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
1775def4c47SEmmanuel Vadot        clock-names:
1785def4c47SEmmanuel Vadot          items:
1795def4c47SEmmanuel Vadot            - const: aux
1805def4c47SEmmanuel Vadot            - const: cfg_ahb
1815def4c47SEmmanuel Vadot            - const: ref
1825def4c47SEmmanuel Vadot        resets:
1835def4c47SEmmanuel Vadot          items:
1845def4c47SEmmanuel Vadot            - description: reset of phy block.
1855def4c47SEmmanuel Vadot            - description: phy common block reset.
1865def4c47SEmmanuel Vadot        reset-names:
1875def4c47SEmmanuel Vadot          items:
1885def4c47SEmmanuel Vadot            - const: phy
1895def4c47SEmmanuel Vadot            - const: common
1908cc087a1SEmmanuel Vadot      required:
1918cc087a1SEmmanuel Vadot        - vdda-phy-supply
1928cc087a1SEmmanuel Vadot        - vdda-pll-supply
1935def4c47SEmmanuel Vadot  - if:
1945def4c47SEmmanuel Vadot      properties:
1955def4c47SEmmanuel Vadot        compatible:
1965def4c47SEmmanuel Vadot          contains:
1975def4c47SEmmanuel Vadot            enum:
198c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-pcie-phy
199c66ec88fSEmmanuel Vadot    then:
200c66ec88fSEmmanuel Vadot      properties:
201c66ec88fSEmmanuel Vadot        clocks:
202c66ec88fSEmmanuel Vadot          items:
203c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
204c66ec88fSEmmanuel Vadot            - description: Phy config clock.
205c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
206c66ec88fSEmmanuel Vadot        clock-names:
207c66ec88fSEmmanuel Vadot          items:
208c66ec88fSEmmanuel Vadot            - const: aux
209c66ec88fSEmmanuel Vadot            - const: cfg_ahb
210c66ec88fSEmmanuel Vadot            - const: ref
211c66ec88fSEmmanuel Vadot        resets:
212c66ec88fSEmmanuel Vadot          items:
213c66ec88fSEmmanuel Vadot            - description: reset of phy block.
214c66ec88fSEmmanuel Vadot            - description: phy common block reset.
215c66ec88fSEmmanuel Vadot            - description: phy's ahb cfg block reset.
216c66ec88fSEmmanuel Vadot        reset-names:
217c66ec88fSEmmanuel Vadot          items:
218c66ec88fSEmmanuel Vadot            - const: phy
219c66ec88fSEmmanuel Vadot            - const: common
220c66ec88fSEmmanuel Vadot            - const: cfg
2218cc087a1SEmmanuel Vadot      required:
2228cc087a1SEmmanuel Vadot        - vdda-phy-supply
2238cc087a1SEmmanuel Vadot        - vdda-pll-supply
224c66ec88fSEmmanuel Vadot  - if:
225c66ec88fSEmmanuel Vadot      properties:
226c66ec88fSEmmanuel Vadot        compatible:
227c66ec88fSEmmanuel Vadot          contains:
228c66ec88fSEmmanuel Vadot            enum:
229c66ec88fSEmmanuel Vadot              - qcom,ipq8074-qmp-usb3-phy
230c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-usb3-phy
231c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-pcie-phy
232c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-usb3-phy
233c66ec88fSEmmanuel Vadot    then:
234c66ec88fSEmmanuel Vadot      properties:
235c66ec88fSEmmanuel Vadot        clocks:
236c66ec88fSEmmanuel Vadot          items:
237c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
238c66ec88fSEmmanuel Vadot            - description: Phy config clock.
239c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
240c66ec88fSEmmanuel Vadot        clock-names:
241c66ec88fSEmmanuel Vadot          items:
242c66ec88fSEmmanuel Vadot            - const: aux
243c66ec88fSEmmanuel Vadot            - const: cfg_ahb
244c66ec88fSEmmanuel Vadot            - const: ref
245c66ec88fSEmmanuel Vadot        resets:
246c66ec88fSEmmanuel Vadot          items:
247c66ec88fSEmmanuel Vadot            - description: reset of phy block.
248c66ec88fSEmmanuel Vadot            - description: phy common block reset.
249c66ec88fSEmmanuel Vadot        reset-names:
250c66ec88fSEmmanuel Vadot          items:
251c66ec88fSEmmanuel Vadot            - const: phy
252c66ec88fSEmmanuel Vadot            - const: common
2538cc087a1SEmmanuel Vadot      required:
2548cc087a1SEmmanuel Vadot        - vdda-phy-supply
2558cc087a1SEmmanuel Vadot        - vdda-pll-supply
256c66ec88fSEmmanuel Vadot  - if:
257c66ec88fSEmmanuel Vadot      properties:
258c66ec88fSEmmanuel Vadot        compatible:
259c66ec88fSEmmanuel Vadot          contains:
260c66ec88fSEmmanuel Vadot            enum:
261c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-ufs-phy
262c66ec88fSEmmanuel Vadot    then:
263c66ec88fSEmmanuel Vadot      properties:
264c66ec88fSEmmanuel Vadot        clocks:
265c66ec88fSEmmanuel Vadot          items:
266c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
267c66ec88fSEmmanuel Vadot        clock-names:
268c66ec88fSEmmanuel Vadot          items:
269c66ec88fSEmmanuel Vadot            - const: ref
270c66ec88fSEmmanuel Vadot        resets:
271c66ec88fSEmmanuel Vadot          items:
272c66ec88fSEmmanuel Vadot            - description: PHY reset in the UFS controller.
273c66ec88fSEmmanuel Vadot        reset-names:
274c66ec88fSEmmanuel Vadot          items:
275c66ec88fSEmmanuel Vadot            - const: ufsphy
2768cc087a1SEmmanuel Vadot      required:
2778cc087a1SEmmanuel Vadot        - vdda-phy-supply
2788cc087a1SEmmanuel Vadot        - vdda-pll-supply
279c66ec88fSEmmanuel Vadot  - if:
280c66ec88fSEmmanuel Vadot      properties:
281c66ec88fSEmmanuel Vadot        compatible:
282c66ec88fSEmmanuel Vadot          contains:
283c66ec88fSEmmanuel Vadot            enum:
284c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-ufs-phy
285c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-ufs-phy
286d5b0e70fSEmmanuel Vadot              - qcom,sm6350-qmp-ufs-phy
287c66ec88fSEmmanuel Vadot              - qcom,sm8150-qmp-ufs-phy
288c66ec88fSEmmanuel Vadot              - qcom,sm8250-qmp-ufs-phy
289c9ccf3a3SEmmanuel Vadot              - qcom,sc8180x-qmp-ufs-phy
290c9ccf3a3SEmmanuel Vadot              - qcom,sc8280xp-qmp-ufs-phy
291c66ec88fSEmmanuel Vadot    then:
292c66ec88fSEmmanuel Vadot      properties:
293c66ec88fSEmmanuel Vadot        clocks:
294c66ec88fSEmmanuel Vadot          items:
295c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
296c66ec88fSEmmanuel Vadot            - description: Phy reference aux clock.
297c66ec88fSEmmanuel Vadot        clock-names:
298c66ec88fSEmmanuel Vadot          items:
299c66ec88fSEmmanuel Vadot            - const: ref
300c66ec88fSEmmanuel Vadot            - const: ref_aux
301c66ec88fSEmmanuel Vadot        resets:
302c66ec88fSEmmanuel Vadot          items:
303c66ec88fSEmmanuel Vadot            - description: PHY reset in the UFS controller.
304c66ec88fSEmmanuel Vadot        reset-names:
305c66ec88fSEmmanuel Vadot          items:
306c66ec88fSEmmanuel Vadot            - const: ufsphy
3078cc087a1SEmmanuel Vadot      required:
3088cc087a1SEmmanuel Vadot        - vdda-phy-supply
3098cc087a1SEmmanuel Vadot        - vdda-pll-supply
310c66ec88fSEmmanuel Vadot  - if:
311c66ec88fSEmmanuel Vadot      properties:
312c66ec88fSEmmanuel Vadot        compatible:
313c66ec88fSEmmanuel Vadot          contains:
314c66ec88fSEmmanuel Vadot            enum:
3155956d97fSEmmanuel Vadot              - qcom,ipq6018-qmp-pcie-phy
316*b97ee269SEmmanuel Vadot              - qcom,ipq8074-qmp-gen3-pcie-phy
3178cc087a1SEmmanuel Vadot              - qcom,ipq8074-qmp-pcie-phy
3185956d97fSEmmanuel Vadot    then:
3195956d97fSEmmanuel Vadot      properties:
3205956d97fSEmmanuel Vadot        clocks:
3215956d97fSEmmanuel Vadot          items:
3225956d97fSEmmanuel Vadot            - description: Phy aux clock.
3235956d97fSEmmanuel Vadot            - description: Phy config clock.
3245956d97fSEmmanuel Vadot        clock-names:
3255956d97fSEmmanuel Vadot          items:
3265956d97fSEmmanuel Vadot            - const: aux
3275956d97fSEmmanuel Vadot            - const: cfg_ahb
3285956d97fSEmmanuel Vadot        resets:
3295956d97fSEmmanuel Vadot          items:
3305956d97fSEmmanuel Vadot            - description: reset of phy block.
3315956d97fSEmmanuel Vadot            - description: phy common block reset.
3325956d97fSEmmanuel Vadot        reset-names:
3335956d97fSEmmanuel Vadot          items:
3345956d97fSEmmanuel Vadot            - const: phy
3355956d97fSEmmanuel Vadot            - const: common
3365956d97fSEmmanuel Vadot  - if:
3375956d97fSEmmanuel Vadot      properties:
3385956d97fSEmmanuel Vadot        compatible:
3395956d97fSEmmanuel Vadot          contains:
3405956d97fSEmmanuel Vadot            enum:
341354d7675SEmmanuel Vadot              - qcom,sc8180x-qmp-pcie-phy
342c66ec88fSEmmanuel Vadot              - qcom,sdm845-qhp-pcie-phy
343c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-pcie-phy
3445956d97fSEmmanuel Vadot              - qcom,sdx55-qmp-pcie-phy
3455def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-gen3x1-pcie-phy
3465def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-gen3x2-pcie-phy
3475def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-modem-pcie-phy
348e67e8565SEmmanuel Vadot              - qcom,sm8450-qmp-gen3x1-pcie-phy
349e67e8565SEmmanuel Vadot              - qcom,sm8450-qmp-gen4x2-pcie-phy
350c66ec88fSEmmanuel Vadot    then:
351c66ec88fSEmmanuel Vadot      properties:
352c66ec88fSEmmanuel Vadot        clocks:
353c66ec88fSEmmanuel Vadot          items:
354c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
355c66ec88fSEmmanuel Vadot            - description: Phy config clock.
356c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
357c66ec88fSEmmanuel Vadot            - description: Phy refgen clk.
358c66ec88fSEmmanuel Vadot        clock-names:
359c66ec88fSEmmanuel Vadot          items:
360c66ec88fSEmmanuel Vadot            - const: aux
361c66ec88fSEmmanuel Vadot            - const: cfg_ahb
362c66ec88fSEmmanuel Vadot            - const: ref
363c66ec88fSEmmanuel Vadot            - const: refgen
364c66ec88fSEmmanuel Vadot        resets:
365c66ec88fSEmmanuel Vadot          items:
366c66ec88fSEmmanuel Vadot            - description: reset of phy block.
367c66ec88fSEmmanuel Vadot        reset-names:
368c66ec88fSEmmanuel Vadot          items:
369c66ec88fSEmmanuel Vadot            - const: phy
3708cc087a1SEmmanuel Vadot      required:
3718cc087a1SEmmanuel Vadot        - vdda-phy-supply
3728cc087a1SEmmanuel Vadot        - vdda-pll-supply
3735def4c47SEmmanuel Vadot  - if:
3745def4c47SEmmanuel Vadot      properties:
3755def4c47SEmmanuel Vadot        compatible:
3765def4c47SEmmanuel Vadot          contains:
3775def4c47SEmmanuel Vadot            enum:
3785def4c47SEmmanuel Vadot              - qcom,sm8150-qmp-usb3-phy
3795def4c47SEmmanuel Vadot              - qcom,sm8150-qmp-usb3-uni-phy
3805def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-usb3-uni-phy
3815def4c47SEmmanuel Vadot              - qcom,sm8350-qmp-usb3-uni-phy
3825def4c47SEmmanuel Vadot    then:
3835def4c47SEmmanuel Vadot      properties:
3845def4c47SEmmanuel Vadot        clocks:
3855def4c47SEmmanuel Vadot          items:
3865def4c47SEmmanuel Vadot            - description: Phy aux clock.
3875def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk source.
3885def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
3895def4c47SEmmanuel Vadot            - description: Phy common block aux clock.
3905def4c47SEmmanuel Vadot        clock-names:
3915def4c47SEmmanuel Vadot          items:
3925def4c47SEmmanuel Vadot            - const: aux
3935def4c47SEmmanuel Vadot            - const: ref_clk_src
3945def4c47SEmmanuel Vadot            - const: ref
3955def4c47SEmmanuel Vadot            - const: com_aux
3965def4c47SEmmanuel Vadot        resets:
3975def4c47SEmmanuel Vadot          items:
3985def4c47SEmmanuel Vadot            - description: reset of phy block.
3995def4c47SEmmanuel Vadot            - description: phy common block reset.
4005def4c47SEmmanuel Vadot        reset-names:
4015def4c47SEmmanuel Vadot          items:
4025def4c47SEmmanuel Vadot            - const: phy
4035def4c47SEmmanuel Vadot            - const: common
4048cc087a1SEmmanuel Vadot      required:
4058cc087a1SEmmanuel Vadot        - vdda-phy-supply
4068cc087a1SEmmanuel Vadot        - vdda-pll-supply
4075def4c47SEmmanuel Vadot  - if:
4085def4c47SEmmanuel Vadot      properties:
4095def4c47SEmmanuel Vadot        compatible:
4105def4c47SEmmanuel Vadot          contains:
4115def4c47SEmmanuel Vadot            enum:
4125def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-usb3-phy
4135def4c47SEmmanuel Vadot              - qcom,sm8350-qmp-usb3-phy
4145def4c47SEmmanuel Vadot    then:
4155def4c47SEmmanuel Vadot      properties:
4165def4c47SEmmanuel Vadot        clocks:
4175def4c47SEmmanuel Vadot          items:
4185def4c47SEmmanuel Vadot            - description: Phy aux clock.
4195def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
4205def4c47SEmmanuel Vadot            - description: Phy common block aux clock.
4215def4c47SEmmanuel Vadot        clock-names:
4225def4c47SEmmanuel Vadot          items:
4235def4c47SEmmanuel Vadot            - const: aux
4245def4c47SEmmanuel Vadot            - const: ref_clk_src
4255def4c47SEmmanuel Vadot            - const: com_aux
4265def4c47SEmmanuel Vadot        resets:
4275def4c47SEmmanuel Vadot          items:
4285def4c47SEmmanuel Vadot            - description: reset of phy block.
4295def4c47SEmmanuel Vadot            - description: phy common block reset.
4305def4c47SEmmanuel Vadot        reset-names:
4315def4c47SEmmanuel Vadot          items:
4325def4c47SEmmanuel Vadot            - const: phy
4335def4c47SEmmanuel Vadot            - const: common
4348cc087a1SEmmanuel Vadot      required:
4358cc087a1SEmmanuel Vadot        - vdda-phy-supply
4368cc087a1SEmmanuel Vadot        - vdda-pll-supply
4378cc087a1SEmmanuel Vadot  - if:
4388cc087a1SEmmanuel Vadot      properties:
4398cc087a1SEmmanuel Vadot        compatible:
4408cc087a1SEmmanuel Vadot          contains:
4418cc087a1SEmmanuel Vadot            enum:
4428cc087a1SEmmanuel Vadot              - qcom,qcm2290-qmp-usb3-phy
4438cc087a1SEmmanuel Vadot    then:
4448cc087a1SEmmanuel Vadot      properties:
4458cc087a1SEmmanuel Vadot        clocks:
4468cc087a1SEmmanuel Vadot          items:
4478cc087a1SEmmanuel Vadot            - description: Phy config clock.
4488cc087a1SEmmanuel Vadot            - description: 19.2 MHz ref clk.
4498cc087a1SEmmanuel Vadot            - description: Phy common block aux clock.
4508cc087a1SEmmanuel Vadot        clock-names:
4518cc087a1SEmmanuel Vadot          items:
4528cc087a1SEmmanuel Vadot            - const: cfg_ahb
4538cc087a1SEmmanuel Vadot            - const: ref
4548cc087a1SEmmanuel Vadot            - const: com_aux
4558cc087a1SEmmanuel Vadot        resets:
4568cc087a1SEmmanuel Vadot          items:
4578cc087a1SEmmanuel Vadot            - description: phy_phy reset.
4588cc087a1SEmmanuel Vadot            - description: reset of phy block.
4598cc087a1SEmmanuel Vadot        reset-names:
4608cc087a1SEmmanuel Vadot          items:
4618cc087a1SEmmanuel Vadot            - const: phy_phy
4628cc087a1SEmmanuel Vadot            - const: phy
4638cc087a1SEmmanuel Vadot      required:
4648cc087a1SEmmanuel Vadot        - vdda-phy-supply
4658cc087a1SEmmanuel Vadot        - vdda-pll-supply
466c66ec88fSEmmanuel Vadot
467c66ec88fSEmmanuel Vadotexamples:
468c66ec88fSEmmanuel Vadot  - |
469c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
470c66ec88fSEmmanuel Vadot    usb_2_qmpphy: phy-wrapper@88eb000 {
471c66ec88fSEmmanuel Vadot        compatible = "qcom,sdm845-qmp-usb3-uni-phy";
472c66ec88fSEmmanuel Vadot        reg = <0x088eb000 0x18c>;
473c66ec88fSEmmanuel Vadot        #clock-cells = <1>;
474c66ec88fSEmmanuel Vadot        #address-cells = <1>;
475c66ec88fSEmmanuel Vadot        #size-cells = <1>;
476c66ec88fSEmmanuel Vadot        ranges = <0x0 0x088eb000 0x2000>;
477c66ec88fSEmmanuel Vadot
478c66ec88fSEmmanuel Vadot        clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK >,
479c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
480c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_SEC_CLKREF_CLK>,
481c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
482c66ec88fSEmmanuel Vadot        clock-names = "aux", "cfg_ahb", "ref", "com_aux";
483c66ec88fSEmmanuel Vadot
484c66ec88fSEmmanuel Vadot        resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
485c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_PHY_SEC_BCR>;
486c66ec88fSEmmanuel Vadot        reset-names = "phy", "common";
487c66ec88fSEmmanuel Vadot
488c66ec88fSEmmanuel Vadot        vdda-phy-supply = <&vdda_usb2_ss_1p2>;
489c66ec88fSEmmanuel Vadot        vdda-pll-supply = <&vdda_usb2_ss_core>;
490c66ec88fSEmmanuel Vadot
491c66ec88fSEmmanuel Vadot        usb_2_ssphy: phy@200 {
492c66ec88fSEmmanuel Vadot                reg = <0x200 0x128>,
493c66ec88fSEmmanuel Vadot                      <0x400 0x1fc>,
494c66ec88fSEmmanuel Vadot                      <0x800 0x218>,
495c66ec88fSEmmanuel Vadot                      <0x600 0x70>;
496c66ec88fSEmmanuel Vadot                #clock-cells = <0>;
497c66ec88fSEmmanuel Vadot                #phy-cells = <0>;
498c66ec88fSEmmanuel Vadot                clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
499c66ec88fSEmmanuel Vadot                clock-names = "pipe0";
500c66ec88fSEmmanuel Vadot                clock-output-names = "usb3_uni_phy_pipe_clk_src";
501c66ec88fSEmmanuel Vadot            };
502c66ec88fSEmmanuel Vadot        };
503