xref: /openbmc/linux/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
13828026cSSandeep Maheswaram# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
23828026cSSandeep Maheswaram%YAML 1.2
33828026cSSandeep Maheswaram---
43828026cSSandeep Maheswaram$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
53828026cSSandeep Maheswaram$schema: http://devicetree.org/meta-schemas/core.yaml#
63828026cSSandeep Maheswaram
73828026cSSandeep Maheswaramtitle: Qualcomm SuperSpeed DWC3 USB SoC controller
83828026cSSandeep Maheswaram
93828026cSSandeep Maheswarammaintainers:
10e059da38SWesley Cheng  - Wesley Cheng <quic_wcheng@quicinc.com>
113828026cSSandeep Maheswaram
123828026cSSandeep Maheswaramproperties:
133828026cSSandeep Maheswaram  compatible:
143828026cSSandeep Maheswaram    items:
153828026cSSandeep Maheswaram      - enum:
16433ba26fSDavid Heidelberg          - qcom,ipq4019-dwc3
17451054c3SVaradarajan Narayanan          - qcom,ipq5332-dwc3
181880f9b2SBaruch Siach          - qcom,ipq6018-dwc3
19433ba26fSDavid Heidelberg          - qcom,ipq8064-dwc3
20d5591aa0SKrzysztof Kozlowski          - qcom,ipq8074-dwc3
216059d812SVaradarajan Narayanan          - qcom,ipq9574-dwc3
22bc25c558SLuca Weiss          - qcom,msm8953-dwc3
23d5591aa0SKrzysztof Kozlowski          - qcom,msm8994-dwc3
243828026cSSandeep Maheswaram          - qcom,msm8996-dwc3
253828026cSSandeep Maheswaram          - qcom,msm8998-dwc3
2655b7fa63SKonrad Dybcio          - qcom,qcm2290-dwc3
27d5591aa0SKrzysztof Kozlowski          - qcom,qcs404-dwc3
2870e5df11SShazad Hussain          - qcom,sa8775p-dwc3
29dffe5115SSandeep Maheswaram          - qcom,sc7180-dwc3
3012c30bb0SSandeep Maheswaram          - qcom,sc7280-dwc3
31a5c75923SJohan Hovold          - qcom,sc8280xp-dwc3
320132bf6fSKonrad Dybcio          - qcom,sdm660-dwc3
33d225ea95SRichard Acayan          - qcom,sdm670-dwc3
343828026cSSandeep Maheswaram          - qcom,sdm845-dwc3
351c17cc47SManivannan Sadhasivam          - qcom,sdx55-dwc3
3678489569SRohit Agarwal          - qcom,sdx65-dwc3
372f0b20fbSIskren Chernev          - qcom,sm4250-dwc3
382f0b20fbSIskren Chernev          - qcom,sm6115-dwc3
39d5591aa0SKrzysztof Kozlowski          - qcom,sm6125-dwc3
4029b4dd30SLuca Weiss          - qcom,sm6350-dwc3
41aece3822SKonrad Dybcio          - qcom,sm6375-dwc3
427a79f1f7SJack Pham          - qcom,sm8150-dwc3
437a79f1f7SJack Pham          - qcom,sm8250-dwc3
447a79f1f7SJack Pham          - qcom,sm8350-dwc3
45d6bfc848SVinod Koul          - qcom,sm8450-dwc3
466552ba4cSAbel Vesa          - qcom,sm8550-dwc3
473828026cSSandeep Maheswaram      - const: qcom,dwc3
483828026cSSandeep Maheswaram
493828026cSSandeep Maheswaram  reg:
503828026cSSandeep Maheswaram    description: Offset and length of register set for QSCRATCH wrapper
513828026cSSandeep Maheswaram    maxItems: 1
523828026cSSandeep Maheswaram
533828026cSSandeep Maheswaram  "#address-cells":
543828026cSSandeep Maheswaram    enum: [ 1, 2 ]
553828026cSSandeep Maheswaram
563828026cSSandeep Maheswaram  "#size-cells":
573828026cSSandeep Maheswaram    enum: [ 1, 2 ]
583828026cSSandeep Maheswaram
593828026cSSandeep Maheswaram  ranges: true
603828026cSSandeep Maheswaram
613828026cSSandeep Maheswaram  power-domains:
623828026cSSandeep Maheswaram    description: specifies a phandle to PM domain provider node
633828026cSSandeep Maheswaram    maxItems: 1
643828026cSSandeep Maheswaram
657194e5e0SKrzysztof Kozlowski  required-opps:
667194e5e0SKrzysztof Kozlowski    maxItems: 1
677194e5e0SKrzysztof Kozlowski
683828026cSSandeep Maheswaram  clocks:
6916946a60SKrzysztof Kozlowski    description: |
7016946a60SKrzysztof Kozlowski      Several clocks are used, depending on the variant. Typical ones are::
7116946a60SKrzysztof Kozlowski       - cfg_noc:: System Config NOC clock.
7216946a60SKrzysztof Kozlowski       - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >=
7316946a60SKrzysztof Kozlowski                60MHz for HS operation.
7416946a60SKrzysztof Kozlowski       - iface:: System bus AXI clock.
7516946a60SKrzysztof Kozlowski       - sleep:: Sleep clock, used for wakeup when USB3 core goes into low
7616946a60SKrzysztof Kozlowski                 power mode (U3).
7716946a60SKrzysztof Kozlowski       - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host
7816946a60SKrzysztof Kozlowski                     mode. Its frequency should be 19.2MHz.
7916946a60SKrzysztof Kozlowski    minItems: 1
80a5c75923SJohan Hovold    maxItems: 9
813828026cSSandeep Maheswaram
823828026cSSandeep Maheswaram  clock-names:
8316946a60SKrzysztof Kozlowski    minItems: 1
84a5c75923SJohan Hovold    maxItems: 9
853828026cSSandeep Maheswaram
863828026cSSandeep Maheswaram  resets:
873828026cSSandeep Maheswaram    maxItems: 1
883828026cSSandeep Maheswaram
8996ec7b31SSandeep Maheswaram  interconnects:
9096ec7b31SSandeep Maheswaram    maxItems: 2
9196ec7b31SSandeep Maheswaram
9296ec7b31SSandeep Maheswaram  interconnect-names:
9396ec7b31SSandeep Maheswaram    items:
9496ec7b31SSandeep Maheswaram      - const: usb-ddr
9596ec7b31SSandeep Maheswaram      - const: apps-usb
9696ec7b31SSandeep Maheswaram
973828026cSSandeep Maheswaram  interrupts:
98dd566faeSJohan Hovold    minItems: 1
99a5c75923SJohan Hovold    maxItems: 4
1003828026cSSandeep Maheswaram
1013828026cSSandeep Maheswaram  interrupt-names:
102dd566faeSJohan Hovold    minItems: 1
103a5c75923SJohan Hovold    maxItems: 4
1043828026cSSandeep Maheswaram
1053828026cSSandeep Maheswaram  qcom,select-utmi-as-pipe-clk:
1063828026cSSandeep Maheswaram    description:
1073828026cSSandeep Maheswaram      If present, disable USB3 pipe_clk requirement.
1083828026cSSandeep Maheswaram      Used when dwc3 operates without SSPHY and only
1093828026cSSandeep Maheswaram      HS/FS/LS modes are supported.
1103828026cSSandeep Maheswaram    type: boolean
1113828026cSSandeep Maheswaram
112416b6189SJohan Hovold  wakeup-source: true
113416b6189SJohan Hovold
1143828026cSSandeep Maheswaram# Required child node:
1153828026cSSandeep Maheswaram
1163828026cSSandeep MaheswarampatternProperties:
1171fd7b103SSerge Semin  "^usb@[0-9a-f]+$":
1181fd7b103SSerge Semin    $ref: snps,dwc3.yaml#
119e62fc182SRob Herring    unevaluatedProperties: false
1203828026cSSandeep Maheswaram
121416b6189SJohan Hovold    properties:
122416b6189SJohan Hovold      wakeup-source: false
123416b6189SJohan Hovold
1243828026cSSandeep Maheswaramrequired:
1253828026cSSandeep Maheswaram  - compatible
1263828026cSSandeep Maheswaram  - reg
1273828026cSSandeep Maheswaram  - "#address-cells"
1283828026cSSandeep Maheswaram  - "#size-cells"
1293828026cSSandeep Maheswaram  - ranges
1303828026cSSandeep Maheswaram  - clocks
1313828026cSSandeep Maheswaram  - clock-names
1323828026cSSandeep Maheswaram  - interrupts
1333828026cSSandeep Maheswaram  - interrupt-names
1343828026cSSandeep Maheswaram
13516946a60SKrzysztof KozlowskiallOf:
13616946a60SKrzysztof Kozlowski  - if:
13716946a60SKrzysztof Kozlowski      properties:
13816946a60SKrzysztof Kozlowski        compatible:
13916946a60SKrzysztof Kozlowski          contains:
14016946a60SKrzysztof Kozlowski            enum:
14116946a60SKrzysztof Kozlowski              - qcom,ipq4019-dwc3
14216946a60SKrzysztof Kozlowski    then:
14316946a60SKrzysztof Kozlowski      properties:
14416946a60SKrzysztof Kozlowski        clocks:
14516946a60SKrzysztof Kozlowski          maxItems: 3
14616946a60SKrzysztof Kozlowski        clock-names:
14716946a60SKrzysztof Kozlowski          items:
14816946a60SKrzysztof Kozlowski            - const: core
14916946a60SKrzysztof Kozlowski            - const: sleep
15016946a60SKrzysztof Kozlowski            - const: mock_utmi
15116946a60SKrzysztof Kozlowski
15216946a60SKrzysztof Kozlowski  - if:
15316946a60SKrzysztof Kozlowski      properties:
15416946a60SKrzysztof Kozlowski        compatible:
15516946a60SKrzysztof Kozlowski          contains:
15616946a60SKrzysztof Kozlowski            enum:
15716946a60SKrzysztof Kozlowski              - qcom,ipq8064-dwc3
15816946a60SKrzysztof Kozlowski    then:
15916946a60SKrzysztof Kozlowski      properties:
16016946a60SKrzysztof Kozlowski        clocks:
16116946a60SKrzysztof Kozlowski          items:
16216946a60SKrzysztof Kozlowski            - description: Master/Core clock, has to be >= 125 MHz
16316946a60SKrzysztof Kozlowski                for SS operation and >= 60MHz for HS operation.
16416946a60SKrzysztof Kozlowski        clock-names:
16516946a60SKrzysztof Kozlowski          items:
16616946a60SKrzysztof Kozlowski            - const: core
16716946a60SKrzysztof Kozlowski
16816946a60SKrzysztof Kozlowski  - if:
16916946a60SKrzysztof Kozlowski      properties:
17016946a60SKrzysztof Kozlowski        compatible:
17116946a60SKrzysztof Kozlowski          contains:
17216946a60SKrzysztof Kozlowski            enum:
1736059d812SVaradarajan Narayanan              - qcom,ipq9574-dwc3
17416946a60SKrzysztof Kozlowski              - qcom,msm8953-dwc3
17516946a60SKrzysztof Kozlowski              - qcom,msm8996-dwc3
17616946a60SKrzysztof Kozlowski              - qcom,msm8998-dwc3
17770e5df11SShazad Hussain              - qcom,sa8775p-dwc3
17816946a60SKrzysztof Kozlowski              - qcom,sc7180-dwc3
17916946a60SKrzysztof Kozlowski              - qcom,sc7280-dwc3
180d225ea95SRichard Acayan              - qcom,sdm670-dwc3
18116946a60SKrzysztof Kozlowski              - qcom,sdm845-dwc3
18216946a60SKrzysztof Kozlowski              - qcom,sdx55-dwc3
18316946a60SKrzysztof Kozlowski              - qcom,sm6350-dwc3
18416946a60SKrzysztof Kozlowski    then:
18516946a60SKrzysztof Kozlowski      properties:
18616946a60SKrzysztof Kozlowski        clocks:
18716946a60SKrzysztof Kozlowski          maxItems: 5
18816946a60SKrzysztof Kozlowski        clock-names:
18916946a60SKrzysztof Kozlowski          items:
19016946a60SKrzysztof Kozlowski            - const: cfg_noc
19116946a60SKrzysztof Kozlowski            - const: core
19216946a60SKrzysztof Kozlowski            - const: iface
19316946a60SKrzysztof Kozlowski            - const: sleep
19416946a60SKrzysztof Kozlowski            - const: mock_utmi
19516946a60SKrzysztof Kozlowski
19616946a60SKrzysztof Kozlowski  - if:
19716946a60SKrzysztof Kozlowski      properties:
19816946a60SKrzysztof Kozlowski        compatible:
19916946a60SKrzysztof Kozlowski          contains:
20016946a60SKrzysztof Kozlowski            enum:
20116946a60SKrzysztof Kozlowski              - qcom,ipq6018-dwc3
20216946a60SKrzysztof Kozlowski    then:
20316946a60SKrzysztof Kozlowski      properties:
20416946a60SKrzysztof Kozlowski        clocks:
20516946a60SKrzysztof Kozlowski          minItems: 3
20616946a60SKrzysztof Kozlowski          maxItems: 4
20716946a60SKrzysztof Kozlowski        clock-names:
20816946a60SKrzysztof Kozlowski          oneOf:
20916946a60SKrzysztof Kozlowski            - items:
21016946a60SKrzysztof Kozlowski                - const: core
21116946a60SKrzysztof Kozlowski                - const: sleep
21216946a60SKrzysztof Kozlowski                - const: mock_utmi
21316946a60SKrzysztof Kozlowski            - items:
21416946a60SKrzysztof Kozlowski                - const: cfg_noc
21516946a60SKrzysztof Kozlowski                - const: core
21616946a60SKrzysztof Kozlowski                - const: sleep
21716946a60SKrzysztof Kozlowski                - const: mock_utmi
21816946a60SKrzysztof Kozlowski
21916946a60SKrzysztof Kozlowski  - if:
22016946a60SKrzysztof Kozlowski      properties:
22116946a60SKrzysztof Kozlowski        compatible:
22216946a60SKrzysztof Kozlowski          contains:
22316946a60SKrzysztof Kozlowski            enum:
22416946a60SKrzysztof Kozlowski              - qcom,ipq8074-dwc3
22516946a60SKrzysztof Kozlowski    then:
22616946a60SKrzysztof Kozlowski      properties:
22716946a60SKrzysztof Kozlowski        clocks:
22816946a60SKrzysztof Kozlowski          maxItems: 4
22916946a60SKrzysztof Kozlowski        clock-names:
23016946a60SKrzysztof Kozlowski          items:
23116946a60SKrzysztof Kozlowski            - const: cfg_noc
23216946a60SKrzysztof Kozlowski            - const: core
23316946a60SKrzysztof Kozlowski            - const: sleep
23416946a60SKrzysztof Kozlowski            - const: mock_utmi
23516946a60SKrzysztof Kozlowski
23616946a60SKrzysztof Kozlowski  - if:
23716946a60SKrzysztof Kozlowski      properties:
23816946a60SKrzysztof Kozlowski        compatible:
23916946a60SKrzysztof Kozlowski          contains:
24016946a60SKrzysztof Kozlowski            enum:
241451054c3SVaradarajan Narayanan              - qcom,ipq5332-dwc3
24216946a60SKrzysztof Kozlowski              - qcom,msm8994-dwc3
24316946a60SKrzysztof Kozlowski              - qcom,qcs404-dwc3
24416946a60SKrzysztof Kozlowski    then:
24516946a60SKrzysztof Kozlowski      properties:
24616946a60SKrzysztof Kozlowski        clocks:
24716946a60SKrzysztof Kozlowski          maxItems: 4
24816946a60SKrzysztof Kozlowski        clock-names:
24916946a60SKrzysztof Kozlowski          items:
25016946a60SKrzysztof Kozlowski            - const: core
25116946a60SKrzysztof Kozlowski            - const: iface
25216946a60SKrzysztof Kozlowski            - const: sleep
25316946a60SKrzysztof Kozlowski            - const: mock_utmi
25416946a60SKrzysztof Kozlowski
25516946a60SKrzysztof Kozlowski  - if:
25616946a60SKrzysztof Kozlowski      properties:
25716946a60SKrzysztof Kozlowski        compatible:
25816946a60SKrzysztof Kozlowski          contains:
25916946a60SKrzysztof Kozlowski            enum:
260a5c75923SJohan Hovold              - qcom,sc8280xp-dwc3
261a5c75923SJohan Hovold    then:
262a5c75923SJohan Hovold      properties:
263a5c75923SJohan Hovold        clocks:
264a5c75923SJohan Hovold          maxItems: 9
265a5c75923SJohan Hovold        clock-names:
266a5c75923SJohan Hovold          items:
267a5c75923SJohan Hovold            - const: cfg_noc
268a5c75923SJohan Hovold            - const: core
269a5c75923SJohan Hovold            - const: iface
270a5c75923SJohan Hovold            - const: sleep
271a5c75923SJohan Hovold            - const: mock_utmi
272a5c75923SJohan Hovold            - const: noc_aggr
273a5c75923SJohan Hovold            - const: noc_aggr_north
274a5c75923SJohan Hovold            - const: noc_aggr_south
275a5c75923SJohan Hovold            - const: noc_sys
276a5c75923SJohan Hovold
277a5c75923SJohan Hovold  - if:
278a5c75923SJohan Hovold      properties:
279a5c75923SJohan Hovold        compatible:
280a5c75923SJohan Hovold          contains:
281a5c75923SJohan Hovold            enum:
28216946a60SKrzysztof Kozlowski              - qcom,sdm660-dwc3
28316946a60SKrzysztof Kozlowski    then:
28416946a60SKrzysztof Kozlowski      properties:
28516946a60SKrzysztof Kozlowski        clocks:
286*0497d346SKrzysztof Kozlowski          minItems: 5
287*0497d346SKrzysztof Kozlowski          maxItems: 6
28816946a60SKrzysztof Kozlowski        clock-names:
289*0497d346SKrzysztof Kozlowski          oneOf:
290*0497d346SKrzysztof Kozlowski            - items:
29116946a60SKrzysztof Kozlowski                - const: cfg_noc
29216946a60SKrzysztof Kozlowski                - const: core
29316946a60SKrzysztof Kozlowski                - const: iface
29416946a60SKrzysztof Kozlowski                - const: sleep
29516946a60SKrzysztof Kozlowski                - const: mock_utmi
29616946a60SKrzysztof Kozlowski                - const: bus
297*0497d346SKrzysztof Kozlowski            - items:
298*0497d346SKrzysztof Kozlowski                - const: cfg_noc
299*0497d346SKrzysztof Kozlowski                - const: core
300*0497d346SKrzysztof Kozlowski                - const: sleep
301*0497d346SKrzysztof Kozlowski                - const: mock_utmi
302*0497d346SKrzysztof Kozlowski                - const: bus
30316946a60SKrzysztof Kozlowski
30416946a60SKrzysztof Kozlowski  - if:
30516946a60SKrzysztof Kozlowski      properties:
30616946a60SKrzysztof Kozlowski        compatible:
30716946a60SKrzysztof Kozlowski          contains:
30816946a60SKrzysztof Kozlowski            enum:
30955b7fa63SKonrad Dybcio              - qcom,qcm2290-dwc3
310bb845948SIskren Chernev              - qcom,sm6115-dwc3
31116946a60SKrzysztof Kozlowski              - qcom,sm6125-dwc3
31216946a60SKrzysztof Kozlowski              - qcom,sm8150-dwc3
31316946a60SKrzysztof Kozlowski              - qcom,sm8250-dwc3
31416946a60SKrzysztof Kozlowski              - qcom,sm8450-dwc3
3156552ba4cSAbel Vesa              - qcom,sm8550-dwc3
31616946a60SKrzysztof Kozlowski    then:
31716946a60SKrzysztof Kozlowski      properties:
31816946a60SKrzysztof Kozlowski        clocks:
31916946a60SKrzysztof Kozlowski          minItems: 6
32016946a60SKrzysztof Kozlowski        clock-names:
32116946a60SKrzysztof Kozlowski          items:
32216946a60SKrzysztof Kozlowski            - const: cfg_noc
32316946a60SKrzysztof Kozlowski            - const: core
32416946a60SKrzysztof Kozlowski            - const: iface
32516946a60SKrzysztof Kozlowski            - const: sleep
32616946a60SKrzysztof Kozlowski            - const: mock_utmi
32716946a60SKrzysztof Kozlowski            - const: xo
32816946a60SKrzysztof Kozlowski
32916946a60SKrzysztof Kozlowski  - if:
33016946a60SKrzysztof Kozlowski      properties:
33116946a60SKrzysztof Kozlowski        compatible:
33216946a60SKrzysztof Kozlowski          contains:
33316946a60SKrzysztof Kozlowski            enum:
33416946a60SKrzysztof Kozlowski              - qcom,sm8350-dwc3
33516946a60SKrzysztof Kozlowski    then:
33616946a60SKrzysztof Kozlowski      properties:
33716946a60SKrzysztof Kozlowski        clocks:
33816946a60SKrzysztof Kozlowski          minItems: 5
33916946a60SKrzysztof Kozlowski          maxItems: 6
34016946a60SKrzysztof Kozlowski        clock-names:
34116946a60SKrzysztof Kozlowski          minItems: 5
34216946a60SKrzysztof Kozlowski          items:
34316946a60SKrzysztof Kozlowski            - const: cfg_noc
34416946a60SKrzysztof Kozlowski            - const: core
34516946a60SKrzysztof Kozlowski            - const: iface
34616946a60SKrzysztof Kozlowski            - const: sleep
34716946a60SKrzysztof Kozlowski            - const: mock_utmi
34816946a60SKrzysztof Kozlowski            - const: xo
34916946a60SKrzysztof Kozlowski
350a5c75923SJohan Hovold  - if:
351a5c75923SJohan Hovold      properties:
352a5c75923SJohan Hovold        compatible:
353a5c75923SJohan Hovold          contains:
354a5c75923SJohan Hovold            enum:
355a5c75923SJohan Hovold              - qcom,ipq4019-dwc3
356a5c75923SJohan Hovold              - qcom,ipq6018-dwc3
357a5c75923SJohan Hovold              - qcom,ipq8064-dwc3
358a5c75923SJohan Hovold              - qcom,ipq8074-dwc3
359a5c75923SJohan Hovold              - qcom,msm8994-dwc3
360a5c75923SJohan Hovold              - qcom,qcs404-dwc3
361a5c75923SJohan Hovold              - qcom,sc7180-dwc3
362d225ea95SRichard Acayan              - qcom,sdm670-dwc3
363a5c75923SJohan Hovold              - qcom,sdm845-dwc3
364a5c75923SJohan Hovold              - qcom,sdx55-dwc3
365a5c75923SJohan Hovold              - qcom,sdx65-dwc3
366a5c75923SJohan Hovold              - qcom,sm4250-dwc3
367a5c75923SJohan Hovold              - qcom,sm6125-dwc3
368a5c75923SJohan Hovold              - qcom,sm6350-dwc3
369a5c75923SJohan Hovold              - qcom,sm8150-dwc3
370a5c75923SJohan Hovold              - qcom,sm8250-dwc3
371a5c75923SJohan Hovold              - qcom,sm8350-dwc3
372a5c75923SJohan Hovold              - qcom,sm8450-dwc3
3736552ba4cSAbel Vesa              - qcom,sm8550-dwc3
374a5c75923SJohan Hovold    then:
375a5c75923SJohan Hovold      properties:
376a5c75923SJohan Hovold        interrupts:
377a5c75923SJohan Hovold          items:
378a5c75923SJohan Hovold            - description: The interrupt that is asserted
379a5c75923SJohan Hovold                when a wakeup event is received on USB2 bus.
380a5c75923SJohan Hovold            - description: The interrupt that is asserted
381a5c75923SJohan Hovold                when a wakeup event is received on USB3 bus.
382a5c75923SJohan Hovold            - description: Wakeup event on DM line.
383a5c75923SJohan Hovold            - description: Wakeup event on DP line.
384a5c75923SJohan Hovold        interrupt-names:
385a5c75923SJohan Hovold          items:
386a5c75923SJohan Hovold            - const: hs_phy_irq
387a5c75923SJohan Hovold            - const: ss_phy_irq
388a5c75923SJohan Hovold            - const: dm_hs_phy_irq
389a5c75923SJohan Hovold            - const: dp_hs_phy_irq
390a5c75923SJohan Hovold
391a5c75923SJohan Hovold  - if:
392a5c75923SJohan Hovold      properties:
393a5c75923SJohan Hovold        compatible:
394a5c75923SJohan Hovold          contains:
395a5c75923SJohan Hovold            enum:
396dd566faeSJohan Hovold              - qcom,msm8953-dwc3
397dd566faeSJohan Hovold              - qcom,msm8996-dwc3
398dd566faeSJohan Hovold              - qcom,msm8998-dwc3
399bb845948SIskren Chernev              - qcom,sm6115-dwc3
400dd566faeSJohan Hovold    then:
401dd566faeSJohan Hovold      properties:
402dd566faeSJohan Hovold        interrupts:
403dd566faeSJohan Hovold          maxItems: 2
404dd566faeSJohan Hovold        interrupt-names:
405dd566faeSJohan Hovold          items:
406dd566faeSJohan Hovold            - const: hs_phy_irq
407dd566faeSJohan Hovold            - const: ss_phy_irq
408dd566faeSJohan Hovold
409dd566faeSJohan Hovold  - if:
410dd566faeSJohan Hovold      properties:
411dd566faeSJohan Hovold        compatible:
412dd566faeSJohan Hovold          contains:
413dd566faeSJohan Hovold            enum:
414451054c3SVaradarajan Narayanan              - qcom,ipq5332-dwc3
415dd566faeSJohan Hovold              - qcom,sdm660-dwc3
416dd566faeSJohan Hovold    then:
417dd566faeSJohan Hovold      properties:
418dd566faeSJohan Hovold        interrupts:
419dd566faeSJohan Hovold          minItems: 1
420dd566faeSJohan Hovold          maxItems: 2
421dd566faeSJohan Hovold        interrupt-names:
422dd566faeSJohan Hovold          minItems: 1
423dd566faeSJohan Hovold          items:
424dd566faeSJohan Hovold            - const: hs_phy_irq
425dd566faeSJohan Hovold            - const: ss_phy_irq
426dd566faeSJohan Hovold
427dd566faeSJohan Hovold  - if:
428dd566faeSJohan Hovold      properties:
429dd566faeSJohan Hovold        compatible:
430dd566faeSJohan Hovold          contains:
431dd566faeSJohan Hovold            enum:
432dd566faeSJohan Hovold              - qcom,sc7280-dwc3
433dd566faeSJohan Hovold    then:
434dd566faeSJohan Hovold      properties:
435dd566faeSJohan Hovold        interrupts:
436dd566faeSJohan Hovold          minItems: 3
437dd566faeSJohan Hovold          maxItems: 4
438dd566faeSJohan Hovold        interrupt-names:
439dd566faeSJohan Hovold          minItems: 3
440dd566faeSJohan Hovold          items:
441dd566faeSJohan Hovold            - const: hs_phy_irq
442dd566faeSJohan Hovold            - const: dp_hs_phy_irq
443dd566faeSJohan Hovold            - const: dm_hs_phy_irq
444dd566faeSJohan Hovold            - const: ss_phy_irq
445dd566faeSJohan Hovold
446dd566faeSJohan Hovold  - if:
447dd566faeSJohan Hovold      properties:
448dd566faeSJohan Hovold        compatible:
449dd566faeSJohan Hovold          contains:
450dd566faeSJohan Hovold            enum:
451a5c75923SJohan Hovold              - qcom,sc8280xp-dwc3
452a5c75923SJohan Hovold    then:
453a5c75923SJohan Hovold      properties:
454a5c75923SJohan Hovold        interrupts:
455a5c75923SJohan Hovold          maxItems: 4
456a5c75923SJohan Hovold        interrupt-names:
457a5c75923SJohan Hovold          items:
458a5c75923SJohan Hovold            - const: pwr_event
459a5c75923SJohan Hovold            - const: dp_hs_phy_irq
460a5c75923SJohan Hovold            - const: dm_hs_phy_irq
461a5c75923SJohan Hovold            - const: ss_phy_irq
46216946a60SKrzysztof Kozlowski
46370e5df11SShazad Hussain  - if:
46470e5df11SShazad Hussain      properties:
46570e5df11SShazad Hussain        compatible:
46670e5df11SShazad Hussain          contains:
46770e5df11SShazad Hussain            enum:
46870e5df11SShazad Hussain              - qcom,sa8775p-dwc3
46970e5df11SShazad Hussain    then:
47070e5df11SShazad Hussain      properties:
47170e5df11SShazad Hussain        interrupts:
47270e5df11SShazad Hussain          minItems: 3
47370e5df11SShazad Hussain          maxItems: 4
47470e5df11SShazad Hussain        interrupt-names:
47570e5df11SShazad Hussain          minItems: 3
47670e5df11SShazad Hussain          items:
47770e5df11SShazad Hussain            - const: pwr_event
47870e5df11SShazad Hussain            - const: dp_hs_phy_irq
47970e5df11SShazad Hussain            - const: dm_hs_phy_irq
48070e5df11SShazad Hussain            - const: ss_phy_irq
48170e5df11SShazad Hussain
4825be478f9SRob HerringadditionalProperties: false
4835be478f9SRob Herring
4843828026cSSandeep Maheswaramexamples:
4853828026cSSandeep Maheswaram  - |
4863828026cSSandeep Maheswaram    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
4873828026cSSandeep Maheswaram    #include <dt-bindings/interrupt-controller/arm-gic.h>
4883828026cSSandeep Maheswaram    #include <dt-bindings/interrupt-controller/irq.h>
4893828026cSSandeep Maheswaram    soc {
4903828026cSSandeep Maheswaram        #address-cells = <2>;
4913828026cSSandeep Maheswaram        #size-cells = <2>;
4923828026cSSandeep Maheswaram
4933828026cSSandeep Maheswaram        usb@a6f8800 {
4943828026cSSandeep Maheswaram            compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
4953828026cSSandeep Maheswaram            reg = <0 0x0a6f8800 0 0x400>;
4963828026cSSandeep Maheswaram
4973828026cSSandeep Maheswaram            #address-cells = <2>;
4983828026cSSandeep Maheswaram            #size-cells = <2>;
4993828026cSSandeep Maheswaram            ranges;
5003828026cSSandeep Maheswaram            clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
5013828026cSSandeep Maheswaram                     <&gcc GCC_USB30_PRIM_MASTER_CLK>,
5023828026cSSandeep Maheswaram                     <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
50316946a60SKrzysztof Kozlowski                     <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
50416946a60SKrzysztof Kozlowski                     <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
50516946a60SKrzysztof Kozlowski            clock-names = "cfg_noc",
50616946a60SKrzysztof Kozlowski                          "core",
50716946a60SKrzysztof Kozlowski                          "iface",
50816946a60SKrzysztof Kozlowski                          "sleep",
50916946a60SKrzysztof Kozlowski                          "mock_utmi";
5103828026cSSandeep Maheswaram
5113828026cSSandeep Maheswaram            assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
5123828026cSSandeep Maheswaram                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
5133828026cSSandeep Maheswaram            assigned-clock-rates = <19200000>, <150000000>;
5143828026cSSandeep Maheswaram
5153828026cSSandeep Maheswaram            interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
5163828026cSSandeep Maheswaram                         <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
5173828026cSSandeep Maheswaram                         <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
5183828026cSSandeep Maheswaram                         <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
5193828026cSSandeep Maheswaram            interrupt-names = "hs_phy_irq", "ss_phy_irq",
5203828026cSSandeep Maheswaram                          "dm_hs_phy_irq", "dp_hs_phy_irq";
5213828026cSSandeep Maheswaram
5223828026cSSandeep Maheswaram            power-domains = <&gcc USB30_PRIM_GDSC>;
5233828026cSSandeep Maheswaram
5243828026cSSandeep Maheswaram            resets = <&gcc GCC_USB30_PRIM_BCR>;
5253828026cSSandeep Maheswaram
5261fd7b103SSerge Semin            usb@a600000 {
5273828026cSSandeep Maheswaram                compatible = "snps,dwc3";
5283828026cSSandeep Maheswaram                reg = <0 0x0a600000 0 0xcd00>;
5293828026cSSandeep Maheswaram                interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
5303828026cSSandeep Maheswaram                iommus = <&apps_smmu 0x740 0>;
5313828026cSSandeep Maheswaram                snps,dis_u2_susphy_quirk;
5323828026cSSandeep Maheswaram                snps,dis_enblslpm_quirk;
5333828026cSSandeep Maheswaram                phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
5343828026cSSandeep Maheswaram                phy-names = "usb2-phy", "usb3-phy";
5353828026cSSandeep Maheswaram            };
5363828026cSSandeep Maheswaram        };
5373828026cSSandeep Maheswaram    };
538