xref: /freebsd/sys/contrib/device-tree/Bindings/phy/qcom,qmp-phy.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
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
22c66ec88fSEmmanuel Vadot      - qcom,ipq8074-qmp-pcie-phy
23c66ec88fSEmmanuel Vadot      - qcom,ipq8074-qmp-usb3-phy
24c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-pcie-phy
25c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-ufs-phy
26c66ec88fSEmmanuel Vadot      - qcom,msm8996-qmp-usb3-phy
27c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-pcie-phy
28c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-ufs-phy
29c66ec88fSEmmanuel Vadot      - qcom,msm8998-qmp-usb3-phy
308cc087a1SEmmanuel Vadot      - qcom,qcm2290-qmp-usb3-phy
312eb4d8dcSEmmanuel Vadot      - qcom,sc7180-qmp-usb3-phy
32354d7675SEmmanuel Vadot      - qcom,sc8180x-qmp-pcie-phy
335def4c47SEmmanuel Vadot      - qcom,sc8180x-qmp-ufs-phy
345def4c47SEmmanuel Vadot      - qcom,sc8180x-qmp-usb3-phy
35c66ec88fSEmmanuel Vadot      - qcom,sdm845-qhp-pcie-phy
36c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-pcie-phy
37c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-ufs-phy
382eb4d8dcSEmmanuel Vadot      - qcom,sdm845-qmp-usb3-phy
39c66ec88fSEmmanuel Vadot      - qcom,sdm845-qmp-usb3-uni-phy
40354d7675SEmmanuel Vadot      - qcom,sm6115-qmp-ufs-phy
41c66ec88fSEmmanuel Vadot      - qcom,sm8150-qmp-ufs-phy
425def4c47SEmmanuel Vadot      - qcom,sm8150-qmp-usb3-phy
435def4c47SEmmanuel Vadot      - qcom,sm8150-qmp-usb3-uni-phy
44c66ec88fSEmmanuel Vadot      - qcom,sm8250-qmp-ufs-phy
455def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-gen3x1-pcie-phy
465def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-gen3x2-pcie-phy
475def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-modem-pcie-phy
485def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-usb3-phy
495def4c47SEmmanuel Vadot      - qcom,sm8250-qmp-usb3-uni-phy
505def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-ufs-phy
515def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-usb3-phy
525def4c47SEmmanuel Vadot      - qcom,sm8350-qmp-usb3-uni-phy
53*e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-gen3x1-pcie-phy
54*e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-gen4x2-pcie-phy
55*e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-ufs-phy
56*e67e8565SEmmanuel Vadot      - qcom,sm8450-qmp-usb3-phy
575956d97fSEmmanuel Vadot      - qcom,sdx55-qmp-pcie-phy
585def4c47SEmmanuel Vadot      - qcom,sdx55-qmp-usb3-uni-phy
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot  reg:
615def4c47SEmmanuel Vadot    minItems: 1
62c66ec88fSEmmanuel Vadot    items:
63c66ec88fSEmmanuel Vadot      - description: Address and length of PHY's common serdes block.
645def4c47SEmmanuel Vadot      - description: Address and length of PHY's DP_COM control block.
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot  "#clock-cells":
67c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot  "#address-cells":
70c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot  "#size-cells":
73c66ec88fSEmmanuel Vadot    enum: [ 1, 2 ]
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot  ranges: true
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel Vadot  clocks:
78c66ec88fSEmmanuel Vadot    minItems: 1
79c66ec88fSEmmanuel Vadot    maxItems: 4
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot  clock-names:
82c66ec88fSEmmanuel Vadot    minItems: 1
83c66ec88fSEmmanuel Vadot    maxItems: 4
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot  resets:
86c66ec88fSEmmanuel Vadot    minItems: 1
87c66ec88fSEmmanuel Vadot    maxItems: 3
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot  reset-names:
90c66ec88fSEmmanuel Vadot    minItems: 1
91c66ec88fSEmmanuel Vadot    maxItems: 3
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot  vdda-phy-supply:
94c66ec88fSEmmanuel Vadot    description:
95c66ec88fSEmmanuel Vadot      Phandle to a regulator supply to PHY core block.
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot  vdda-pll-supply:
98c66ec88fSEmmanuel Vadot    description:
99c66ec88fSEmmanuel Vadot      Phandle to 1.8V regulator supply to PHY refclk pll block.
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot  vddp-ref-clk-supply:
102c66ec88fSEmmanuel Vadot    description:
103c66ec88fSEmmanuel Vadot      Phandle to a regulator supply to any specific refclk pll block.
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot#Required nodes:
106c66ec88fSEmmanuel VadotpatternProperties:
107c66ec88fSEmmanuel Vadot  "^phy@[0-9a-f]+$":
108c66ec88fSEmmanuel Vadot    type: object
109c66ec88fSEmmanuel Vadot    description:
110c66ec88fSEmmanuel Vadot      Each device node of QMP phy is required to have as many child nodes as
111c66ec88fSEmmanuel Vadot      the number of lanes the PHY has.
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadotrequired:
114c66ec88fSEmmanuel Vadot  - compatible
115c66ec88fSEmmanuel Vadot  - reg
116c66ec88fSEmmanuel Vadot  - "#clock-cells"
117c66ec88fSEmmanuel Vadot  - "#address-cells"
118c66ec88fSEmmanuel Vadot  - "#size-cells"
119c66ec88fSEmmanuel Vadot  - ranges
120c66ec88fSEmmanuel Vadot  - clocks
121c66ec88fSEmmanuel Vadot  - clock-names
122c66ec88fSEmmanuel Vadot  - resets
123c66ec88fSEmmanuel Vadot  - reset-names
124c66ec88fSEmmanuel Vadot
125c66ec88fSEmmanuel VadotadditionalProperties: false
126c66ec88fSEmmanuel Vadot
127c66ec88fSEmmanuel VadotallOf:
128c66ec88fSEmmanuel Vadot  - if:
129c66ec88fSEmmanuel Vadot      properties:
130c66ec88fSEmmanuel Vadot        compatible:
131c66ec88fSEmmanuel Vadot          contains:
132c66ec88fSEmmanuel Vadot            enum:
133c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-usb3-uni-phy
134c66ec88fSEmmanuel Vadot    then:
135c66ec88fSEmmanuel Vadot      properties:
136c66ec88fSEmmanuel Vadot        clocks:
137c66ec88fSEmmanuel Vadot          items:
138c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
139c66ec88fSEmmanuel Vadot            - description: Phy config clock.
140c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
141c66ec88fSEmmanuel Vadot            - description: Phy common block aux clock.
142c66ec88fSEmmanuel Vadot        clock-names:
143c66ec88fSEmmanuel Vadot          items:
144c66ec88fSEmmanuel Vadot            - const: aux
145c66ec88fSEmmanuel Vadot            - const: cfg_ahb
146c66ec88fSEmmanuel Vadot            - const: ref
147c66ec88fSEmmanuel Vadot            - const: com_aux
148c66ec88fSEmmanuel Vadot        resets:
149c66ec88fSEmmanuel Vadot          items:
150c66ec88fSEmmanuel Vadot            - description: reset of phy block.
151c66ec88fSEmmanuel Vadot            - description: phy common block reset.
152c66ec88fSEmmanuel Vadot        reset-names:
153c66ec88fSEmmanuel Vadot          items:
154c66ec88fSEmmanuel Vadot            - const: phy
155c66ec88fSEmmanuel Vadot            - const: common
1568cc087a1SEmmanuel Vadot      required:
1578cc087a1SEmmanuel Vadot        - vdda-phy-supply
1588cc087a1SEmmanuel Vadot        - vdda-pll-supply
159c66ec88fSEmmanuel Vadot  - if:
160c66ec88fSEmmanuel Vadot      properties:
161c66ec88fSEmmanuel Vadot        compatible:
162c66ec88fSEmmanuel Vadot          contains:
163c66ec88fSEmmanuel Vadot            enum:
1645def4c47SEmmanuel Vadot              - qcom,sdx55-qmp-usb3-uni-phy
1655def4c47SEmmanuel Vadot    then:
1665def4c47SEmmanuel Vadot      properties:
1675def4c47SEmmanuel Vadot        clocks:
1685def4c47SEmmanuel Vadot          items:
1695def4c47SEmmanuel Vadot            - description: Phy aux clock.
1705def4c47SEmmanuel Vadot            - description: Phy config clock.
1715def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
1725def4c47SEmmanuel Vadot        clock-names:
1735def4c47SEmmanuel Vadot          items:
1745def4c47SEmmanuel Vadot            - const: aux
1755def4c47SEmmanuel Vadot            - const: cfg_ahb
1765def4c47SEmmanuel Vadot            - const: ref
1775def4c47SEmmanuel Vadot        resets:
1785def4c47SEmmanuel Vadot          items:
1795def4c47SEmmanuel Vadot            - description: reset of phy block.
1805def4c47SEmmanuel Vadot            - description: phy common block reset.
1815def4c47SEmmanuel Vadot        reset-names:
1825def4c47SEmmanuel Vadot          items:
1835def4c47SEmmanuel Vadot            - const: phy
1845def4c47SEmmanuel Vadot            - const: common
1858cc087a1SEmmanuel Vadot      required:
1868cc087a1SEmmanuel Vadot        - vdda-phy-supply
1878cc087a1SEmmanuel Vadot        - vdda-pll-supply
1885def4c47SEmmanuel Vadot  - if:
1895def4c47SEmmanuel Vadot      properties:
1905def4c47SEmmanuel Vadot        compatible:
1915def4c47SEmmanuel Vadot          contains:
1925def4c47SEmmanuel Vadot            enum:
193c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-pcie-phy
194c66ec88fSEmmanuel Vadot    then:
195c66ec88fSEmmanuel Vadot      properties:
196c66ec88fSEmmanuel Vadot        clocks:
197c66ec88fSEmmanuel Vadot          items:
198c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
199c66ec88fSEmmanuel Vadot            - description: Phy config clock.
200c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
201c66ec88fSEmmanuel Vadot        clock-names:
202c66ec88fSEmmanuel Vadot          items:
203c66ec88fSEmmanuel Vadot            - const: aux
204c66ec88fSEmmanuel Vadot            - const: cfg_ahb
205c66ec88fSEmmanuel Vadot            - const: ref
206c66ec88fSEmmanuel Vadot        resets:
207c66ec88fSEmmanuel Vadot          items:
208c66ec88fSEmmanuel Vadot            - description: reset of phy block.
209c66ec88fSEmmanuel Vadot            - description: phy common block reset.
210c66ec88fSEmmanuel Vadot            - description: phy's ahb cfg block reset.
211c66ec88fSEmmanuel Vadot        reset-names:
212c66ec88fSEmmanuel Vadot          items:
213c66ec88fSEmmanuel Vadot            - const: phy
214c66ec88fSEmmanuel Vadot            - const: common
215c66ec88fSEmmanuel Vadot            - const: cfg
2168cc087a1SEmmanuel Vadot      required:
2178cc087a1SEmmanuel Vadot        - vdda-phy-supply
2188cc087a1SEmmanuel Vadot        - vdda-pll-supply
219c66ec88fSEmmanuel Vadot  - if:
220c66ec88fSEmmanuel Vadot      properties:
221c66ec88fSEmmanuel Vadot        compatible:
222c66ec88fSEmmanuel Vadot          contains:
223c66ec88fSEmmanuel Vadot            enum:
224c66ec88fSEmmanuel Vadot              - qcom,ipq8074-qmp-usb3-phy
225c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-usb3-phy
226c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-pcie-phy
227c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-usb3-phy
228c66ec88fSEmmanuel Vadot    then:
229c66ec88fSEmmanuel Vadot      properties:
230c66ec88fSEmmanuel Vadot        clocks:
231c66ec88fSEmmanuel Vadot          items:
232c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
233c66ec88fSEmmanuel Vadot            - description: Phy config clock.
234c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
235c66ec88fSEmmanuel Vadot        clock-names:
236c66ec88fSEmmanuel Vadot          items:
237c66ec88fSEmmanuel Vadot            - const: aux
238c66ec88fSEmmanuel Vadot            - const: cfg_ahb
239c66ec88fSEmmanuel Vadot            - const: ref
240c66ec88fSEmmanuel Vadot        resets:
241c66ec88fSEmmanuel Vadot          items:
242c66ec88fSEmmanuel Vadot            - description: reset of phy block.
243c66ec88fSEmmanuel Vadot            - description: phy common block reset.
244c66ec88fSEmmanuel Vadot        reset-names:
245c66ec88fSEmmanuel Vadot          items:
246c66ec88fSEmmanuel Vadot            - const: phy
247c66ec88fSEmmanuel Vadot            - const: common
2488cc087a1SEmmanuel Vadot      required:
2498cc087a1SEmmanuel Vadot        - vdda-phy-supply
2508cc087a1SEmmanuel Vadot        - vdda-pll-supply
251c66ec88fSEmmanuel Vadot  - if:
252c66ec88fSEmmanuel Vadot      properties:
253c66ec88fSEmmanuel Vadot        compatible:
254c66ec88fSEmmanuel Vadot          contains:
255c66ec88fSEmmanuel Vadot            enum:
256c66ec88fSEmmanuel Vadot              - qcom,msm8996-qmp-ufs-phy
257c66ec88fSEmmanuel Vadot    then:
258c66ec88fSEmmanuel Vadot      properties:
259c66ec88fSEmmanuel Vadot        clocks:
260c66ec88fSEmmanuel Vadot          items:
261c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
262c66ec88fSEmmanuel Vadot        clock-names:
263c66ec88fSEmmanuel Vadot          items:
264c66ec88fSEmmanuel Vadot            - const: ref
265c66ec88fSEmmanuel Vadot        resets:
266c66ec88fSEmmanuel Vadot          items:
267c66ec88fSEmmanuel Vadot            - description: PHY reset in the UFS controller.
268c66ec88fSEmmanuel Vadot        reset-names:
269c66ec88fSEmmanuel Vadot          items:
270c66ec88fSEmmanuel Vadot            - const: ufsphy
2718cc087a1SEmmanuel Vadot      required:
2728cc087a1SEmmanuel Vadot        - vdda-phy-supply
2738cc087a1SEmmanuel Vadot        - vdda-pll-supply
274c66ec88fSEmmanuel Vadot  - if:
275c66ec88fSEmmanuel Vadot      properties:
276c66ec88fSEmmanuel Vadot        compatible:
277c66ec88fSEmmanuel Vadot          contains:
278c66ec88fSEmmanuel Vadot            enum:
279c66ec88fSEmmanuel Vadot              - qcom,msm8998-qmp-ufs-phy
280c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-ufs-phy
281c66ec88fSEmmanuel Vadot              - qcom,sm8150-qmp-ufs-phy
282c66ec88fSEmmanuel Vadot              - qcom,sm8250-qmp-ufs-phy
283c66ec88fSEmmanuel Vadot    then:
284c66ec88fSEmmanuel Vadot      properties:
285c66ec88fSEmmanuel Vadot        clocks:
286c66ec88fSEmmanuel Vadot          items:
287c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
288c66ec88fSEmmanuel Vadot            - description: Phy reference aux clock.
289c66ec88fSEmmanuel Vadot        clock-names:
290c66ec88fSEmmanuel Vadot          items:
291c66ec88fSEmmanuel Vadot            - const: ref
292c66ec88fSEmmanuel Vadot            - const: ref_aux
293c66ec88fSEmmanuel Vadot        resets:
294c66ec88fSEmmanuel Vadot          items:
295c66ec88fSEmmanuel Vadot            - description: PHY reset in the UFS controller.
296c66ec88fSEmmanuel Vadot        reset-names:
297c66ec88fSEmmanuel Vadot          items:
298c66ec88fSEmmanuel Vadot            - const: ufsphy
2998cc087a1SEmmanuel Vadot      required:
3008cc087a1SEmmanuel Vadot        - vdda-phy-supply
3018cc087a1SEmmanuel Vadot        - vdda-pll-supply
302c66ec88fSEmmanuel Vadot  - if:
303c66ec88fSEmmanuel Vadot      properties:
304c66ec88fSEmmanuel Vadot        compatible:
305c66ec88fSEmmanuel Vadot          contains:
306c66ec88fSEmmanuel Vadot            enum:
3075956d97fSEmmanuel Vadot              - qcom,ipq6018-qmp-pcie-phy
3088cc087a1SEmmanuel Vadot              - qcom,ipq8074-qmp-pcie-phy
3095956d97fSEmmanuel Vadot    then:
3105956d97fSEmmanuel Vadot      properties:
3115956d97fSEmmanuel Vadot        clocks:
3125956d97fSEmmanuel Vadot          items:
3135956d97fSEmmanuel Vadot            - description: Phy aux clock.
3145956d97fSEmmanuel Vadot            - description: Phy config clock.
3155956d97fSEmmanuel Vadot        clock-names:
3165956d97fSEmmanuel Vadot          items:
3175956d97fSEmmanuel Vadot            - const: aux
3185956d97fSEmmanuel Vadot            - const: cfg_ahb
3195956d97fSEmmanuel Vadot        resets:
3205956d97fSEmmanuel Vadot          items:
3215956d97fSEmmanuel Vadot            - description: reset of phy block.
3225956d97fSEmmanuel Vadot            - description: phy common block reset.
3235956d97fSEmmanuel Vadot        reset-names:
3245956d97fSEmmanuel Vadot          items:
3255956d97fSEmmanuel Vadot            - const: phy
3265956d97fSEmmanuel Vadot            - const: common
3275956d97fSEmmanuel Vadot  - if:
3285956d97fSEmmanuel Vadot      properties:
3295956d97fSEmmanuel Vadot        compatible:
3305956d97fSEmmanuel Vadot          contains:
3315956d97fSEmmanuel Vadot            enum:
332354d7675SEmmanuel Vadot              - qcom,sc8180x-qmp-pcie-phy
333c66ec88fSEmmanuel Vadot              - qcom,sdm845-qhp-pcie-phy
334c66ec88fSEmmanuel Vadot              - qcom,sdm845-qmp-pcie-phy
3355956d97fSEmmanuel Vadot              - qcom,sdx55-qmp-pcie-phy
3365def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-gen3x1-pcie-phy
3375def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-gen3x2-pcie-phy
3385def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-modem-pcie-phy
339*e67e8565SEmmanuel Vadot              - qcom,sm8450-qmp-gen3x1-pcie-phy
340*e67e8565SEmmanuel Vadot              - qcom,sm8450-qmp-gen4x2-pcie-phy
341c66ec88fSEmmanuel Vadot    then:
342c66ec88fSEmmanuel Vadot      properties:
343c66ec88fSEmmanuel Vadot        clocks:
344c66ec88fSEmmanuel Vadot          items:
345c66ec88fSEmmanuel Vadot            - description: Phy aux clock.
346c66ec88fSEmmanuel Vadot            - description: Phy config clock.
347c66ec88fSEmmanuel Vadot            - description: 19.2 MHz ref clk.
348c66ec88fSEmmanuel Vadot            - description: Phy refgen clk.
349c66ec88fSEmmanuel Vadot        clock-names:
350c66ec88fSEmmanuel Vadot          items:
351c66ec88fSEmmanuel Vadot            - const: aux
352c66ec88fSEmmanuel Vadot            - const: cfg_ahb
353c66ec88fSEmmanuel Vadot            - const: ref
354c66ec88fSEmmanuel Vadot            - const: refgen
355c66ec88fSEmmanuel Vadot        resets:
356c66ec88fSEmmanuel Vadot          items:
357c66ec88fSEmmanuel Vadot            - description: reset of phy block.
358c66ec88fSEmmanuel Vadot        reset-names:
359c66ec88fSEmmanuel Vadot          items:
360c66ec88fSEmmanuel Vadot            - const: phy
3618cc087a1SEmmanuel Vadot      required:
3628cc087a1SEmmanuel Vadot        - vdda-phy-supply
3638cc087a1SEmmanuel Vadot        - vdda-pll-supply
3645def4c47SEmmanuel Vadot  - if:
3655def4c47SEmmanuel Vadot      properties:
3665def4c47SEmmanuel Vadot        compatible:
3675def4c47SEmmanuel Vadot          contains:
3685def4c47SEmmanuel Vadot            enum:
3695def4c47SEmmanuel Vadot              - qcom,sm8150-qmp-usb3-phy
3705def4c47SEmmanuel Vadot              - qcom,sm8150-qmp-usb3-uni-phy
3715def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-usb3-uni-phy
3725def4c47SEmmanuel Vadot              - qcom,sm8350-qmp-usb3-uni-phy
3735def4c47SEmmanuel Vadot    then:
3745def4c47SEmmanuel Vadot      properties:
3755def4c47SEmmanuel Vadot        clocks:
3765def4c47SEmmanuel Vadot          items:
3775def4c47SEmmanuel Vadot            - description: Phy aux clock.
3785def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk source.
3795def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
3805def4c47SEmmanuel Vadot            - description: Phy common block aux clock.
3815def4c47SEmmanuel Vadot        clock-names:
3825def4c47SEmmanuel Vadot          items:
3835def4c47SEmmanuel Vadot            - const: aux
3845def4c47SEmmanuel Vadot            - const: ref_clk_src
3855def4c47SEmmanuel Vadot            - const: ref
3865def4c47SEmmanuel Vadot            - const: com_aux
3875def4c47SEmmanuel Vadot        resets:
3885def4c47SEmmanuel Vadot          items:
3895def4c47SEmmanuel Vadot            - description: reset of phy block.
3905def4c47SEmmanuel Vadot            - description: phy common block reset.
3915def4c47SEmmanuel Vadot        reset-names:
3925def4c47SEmmanuel Vadot          items:
3935def4c47SEmmanuel Vadot            - const: phy
3945def4c47SEmmanuel Vadot            - const: common
3958cc087a1SEmmanuel Vadot      required:
3968cc087a1SEmmanuel Vadot        - vdda-phy-supply
3978cc087a1SEmmanuel Vadot        - vdda-pll-supply
3985def4c47SEmmanuel Vadot  - if:
3995def4c47SEmmanuel Vadot      properties:
4005def4c47SEmmanuel Vadot        compatible:
4015def4c47SEmmanuel Vadot          contains:
4025def4c47SEmmanuel Vadot            enum:
4035def4c47SEmmanuel Vadot              - qcom,sm8250-qmp-usb3-phy
4045def4c47SEmmanuel Vadot              - qcom,sm8350-qmp-usb3-phy
4055def4c47SEmmanuel Vadot    then:
4065def4c47SEmmanuel Vadot      properties:
4075def4c47SEmmanuel Vadot        clocks:
4085def4c47SEmmanuel Vadot          items:
4095def4c47SEmmanuel Vadot            - description: Phy aux clock.
4105def4c47SEmmanuel Vadot            - description: 19.2 MHz ref clk.
4115def4c47SEmmanuel Vadot            - description: Phy common block aux clock.
4125def4c47SEmmanuel Vadot        clock-names:
4135def4c47SEmmanuel Vadot          items:
4145def4c47SEmmanuel Vadot            - const: aux
4155def4c47SEmmanuel Vadot            - const: ref_clk_src
4165def4c47SEmmanuel Vadot            - const: com_aux
4175def4c47SEmmanuel Vadot        resets:
4185def4c47SEmmanuel Vadot          items:
4195def4c47SEmmanuel Vadot            - description: reset of phy block.
4205def4c47SEmmanuel Vadot            - description: phy common block reset.
4215def4c47SEmmanuel Vadot        reset-names:
4225def4c47SEmmanuel Vadot          items:
4235def4c47SEmmanuel Vadot            - const: phy
4245def4c47SEmmanuel Vadot            - const: common
4258cc087a1SEmmanuel Vadot      required:
4268cc087a1SEmmanuel Vadot        - vdda-phy-supply
4278cc087a1SEmmanuel Vadot        - vdda-pll-supply
4288cc087a1SEmmanuel Vadot  - if:
4298cc087a1SEmmanuel Vadot      properties:
4308cc087a1SEmmanuel Vadot        compatible:
4318cc087a1SEmmanuel Vadot          contains:
4328cc087a1SEmmanuel Vadot            enum:
4338cc087a1SEmmanuel Vadot              - qcom,qcm2290-qmp-usb3-phy
4348cc087a1SEmmanuel Vadot    then:
4358cc087a1SEmmanuel Vadot      properties:
4368cc087a1SEmmanuel Vadot        clocks:
4378cc087a1SEmmanuel Vadot          items:
4388cc087a1SEmmanuel Vadot            - description: Phy config clock.
4398cc087a1SEmmanuel Vadot            - description: 19.2 MHz ref clk.
4408cc087a1SEmmanuel Vadot            - description: Phy common block aux clock.
4418cc087a1SEmmanuel Vadot        clock-names:
4428cc087a1SEmmanuel Vadot          items:
4438cc087a1SEmmanuel Vadot            - const: cfg_ahb
4448cc087a1SEmmanuel Vadot            - const: ref
4458cc087a1SEmmanuel Vadot            - const: com_aux
4468cc087a1SEmmanuel Vadot        resets:
4478cc087a1SEmmanuel Vadot          items:
4488cc087a1SEmmanuel Vadot            - description: phy_phy reset.
4498cc087a1SEmmanuel Vadot            - description: reset of phy block.
4508cc087a1SEmmanuel Vadot        reset-names:
4518cc087a1SEmmanuel Vadot          items:
4528cc087a1SEmmanuel Vadot            - const: phy_phy
4538cc087a1SEmmanuel Vadot            - const: phy
4548cc087a1SEmmanuel Vadot      required:
4558cc087a1SEmmanuel Vadot        - vdda-phy-supply
4568cc087a1SEmmanuel Vadot        - vdda-pll-supply
457c66ec88fSEmmanuel Vadot
458c66ec88fSEmmanuel Vadotexamples:
459c66ec88fSEmmanuel Vadot  - |
460c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
461c66ec88fSEmmanuel Vadot    usb_2_qmpphy: phy-wrapper@88eb000 {
462c66ec88fSEmmanuel Vadot        compatible = "qcom,sdm845-qmp-usb3-uni-phy";
463c66ec88fSEmmanuel Vadot        reg = <0x088eb000 0x18c>;
464c66ec88fSEmmanuel Vadot        #clock-cells = <1>;
465c66ec88fSEmmanuel Vadot        #address-cells = <1>;
466c66ec88fSEmmanuel Vadot        #size-cells = <1>;
467c66ec88fSEmmanuel Vadot        ranges = <0x0 0x088eb000 0x2000>;
468c66ec88fSEmmanuel Vadot
469c66ec88fSEmmanuel Vadot        clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK >,
470c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
471c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_SEC_CLKREF_CLK>,
472c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
473c66ec88fSEmmanuel Vadot        clock-names = "aux", "cfg_ahb", "ref", "com_aux";
474c66ec88fSEmmanuel Vadot
475c66ec88fSEmmanuel Vadot        resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
476c66ec88fSEmmanuel Vadot                 <&gcc GCC_USB3_PHY_SEC_BCR>;
477c66ec88fSEmmanuel Vadot        reset-names = "phy", "common";
478c66ec88fSEmmanuel Vadot
479c66ec88fSEmmanuel Vadot        vdda-phy-supply = <&vdda_usb2_ss_1p2>;
480c66ec88fSEmmanuel Vadot        vdda-pll-supply = <&vdda_usb2_ss_core>;
481c66ec88fSEmmanuel Vadot
482c66ec88fSEmmanuel Vadot        usb_2_ssphy: phy@200 {
483c66ec88fSEmmanuel Vadot                reg = <0x200 0x128>,
484c66ec88fSEmmanuel Vadot                      <0x400 0x1fc>,
485c66ec88fSEmmanuel Vadot                      <0x800 0x218>,
486c66ec88fSEmmanuel Vadot                      <0x600 0x70>;
487c66ec88fSEmmanuel Vadot                #clock-cells = <0>;
488c66ec88fSEmmanuel Vadot                #phy-cells = <0>;
489c66ec88fSEmmanuel Vadot                clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
490c66ec88fSEmmanuel Vadot                clock-names = "pipe0";
491c66ec88fSEmmanuel Vadot                clock-output-names = "usb3_uni_phy_pipe_clk_src";
492c66ec88fSEmmanuel Vadot            };
493c66ec88fSEmmanuel Vadot        };
494