162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Qualcomm SuperSpeed DWC3 USB SoC controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Wesley Cheng <quic_wcheng@quicinc.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciproperties:
1362306a36Sopenharmony_ci  compatible:
1462306a36Sopenharmony_ci    items:
1562306a36Sopenharmony_ci      - enum:
1662306a36Sopenharmony_ci          - qcom,ipq4019-dwc3
1762306a36Sopenharmony_ci          - qcom,ipq5332-dwc3
1862306a36Sopenharmony_ci          - qcom,ipq6018-dwc3
1962306a36Sopenharmony_ci          - qcom,ipq8064-dwc3
2062306a36Sopenharmony_ci          - qcom,ipq8074-dwc3
2162306a36Sopenharmony_ci          - qcom,ipq9574-dwc3
2262306a36Sopenharmony_ci          - qcom,msm8953-dwc3
2362306a36Sopenharmony_ci          - qcom,msm8994-dwc3
2462306a36Sopenharmony_ci          - qcom,msm8996-dwc3
2562306a36Sopenharmony_ci          - qcom,msm8998-dwc3
2662306a36Sopenharmony_ci          - qcom,qcm2290-dwc3
2762306a36Sopenharmony_ci          - qcom,qcs404-dwc3
2862306a36Sopenharmony_ci          - qcom,sa8775p-dwc3
2962306a36Sopenharmony_ci          - qcom,sc7180-dwc3
3062306a36Sopenharmony_ci          - qcom,sc7280-dwc3
3162306a36Sopenharmony_ci          - qcom,sc8280xp-dwc3
3262306a36Sopenharmony_ci          - qcom,sdm660-dwc3
3362306a36Sopenharmony_ci          - qcom,sdm670-dwc3
3462306a36Sopenharmony_ci          - qcom,sdm845-dwc3
3562306a36Sopenharmony_ci          - qcom,sdx55-dwc3
3662306a36Sopenharmony_ci          - qcom,sdx65-dwc3
3762306a36Sopenharmony_ci          - qcom,sm4250-dwc3
3862306a36Sopenharmony_ci          - qcom,sm6115-dwc3
3962306a36Sopenharmony_ci          - qcom,sm6125-dwc3
4062306a36Sopenharmony_ci          - qcom,sm6350-dwc3
4162306a36Sopenharmony_ci          - qcom,sm6375-dwc3
4262306a36Sopenharmony_ci          - qcom,sm8150-dwc3
4362306a36Sopenharmony_ci          - qcom,sm8250-dwc3
4462306a36Sopenharmony_ci          - qcom,sm8350-dwc3
4562306a36Sopenharmony_ci          - qcom,sm8450-dwc3
4662306a36Sopenharmony_ci          - qcom,sm8550-dwc3
4762306a36Sopenharmony_ci      - const: qcom,dwc3
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  reg:
5062306a36Sopenharmony_ci    description: Offset and length of register set for QSCRATCH wrapper
5162306a36Sopenharmony_ci    maxItems: 1
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  "#address-cells":
5462306a36Sopenharmony_ci    enum: [ 1, 2 ]
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci  "#size-cells":
5762306a36Sopenharmony_ci    enum: [ 1, 2 ]
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  ranges: true
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci  power-domains:
6262306a36Sopenharmony_ci    description: specifies a phandle to PM domain provider node
6362306a36Sopenharmony_ci    maxItems: 1
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  required-opps:
6662306a36Sopenharmony_ci    maxItems: 1
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci  clocks:
6962306a36Sopenharmony_ci    description: |
7062306a36Sopenharmony_ci      Several clocks are used, depending on the variant. Typical ones are::
7162306a36Sopenharmony_ci       - cfg_noc:: System Config NOC clock.
7262306a36Sopenharmony_ci       - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >=
7362306a36Sopenharmony_ci                60MHz for HS operation.
7462306a36Sopenharmony_ci       - iface:: System bus AXI clock.
7562306a36Sopenharmony_ci       - sleep:: Sleep clock, used for wakeup when USB3 core goes into low
7662306a36Sopenharmony_ci                 power mode (U3).
7762306a36Sopenharmony_ci       - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host
7862306a36Sopenharmony_ci                     mode. Its frequency should be 19.2MHz.
7962306a36Sopenharmony_ci    minItems: 1
8062306a36Sopenharmony_ci    maxItems: 9
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci  clock-names:
8362306a36Sopenharmony_ci    minItems: 1
8462306a36Sopenharmony_ci    maxItems: 9
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci  resets:
8762306a36Sopenharmony_ci    maxItems: 1
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci  interconnects:
9062306a36Sopenharmony_ci    maxItems: 2
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci  interconnect-names:
9362306a36Sopenharmony_ci    items:
9462306a36Sopenharmony_ci      - const: usb-ddr
9562306a36Sopenharmony_ci      - const: apps-usb
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci  interrupts:
9862306a36Sopenharmony_ci    minItems: 1
9962306a36Sopenharmony_ci    maxItems: 4
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci  interrupt-names:
10262306a36Sopenharmony_ci    minItems: 1
10362306a36Sopenharmony_ci    maxItems: 4
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci  qcom,select-utmi-as-pipe-clk:
10662306a36Sopenharmony_ci    description:
10762306a36Sopenharmony_ci      If present, disable USB3 pipe_clk requirement.
10862306a36Sopenharmony_ci      Used when dwc3 operates without SSPHY and only
10962306a36Sopenharmony_ci      HS/FS/LS modes are supported.
11062306a36Sopenharmony_ci    type: boolean
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci  wakeup-source: true
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci# Required child node:
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_cipatternProperties:
11762306a36Sopenharmony_ci  "^usb@[0-9a-f]+$":
11862306a36Sopenharmony_ci    $ref: snps,dwc3.yaml#
11962306a36Sopenharmony_ci    unevaluatedProperties: false
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci    properties:
12262306a36Sopenharmony_ci      wakeup-source: false
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_cirequired:
12562306a36Sopenharmony_ci  - compatible
12662306a36Sopenharmony_ci  - reg
12762306a36Sopenharmony_ci  - "#address-cells"
12862306a36Sopenharmony_ci  - "#size-cells"
12962306a36Sopenharmony_ci  - ranges
13062306a36Sopenharmony_ci  - clocks
13162306a36Sopenharmony_ci  - clock-names
13262306a36Sopenharmony_ci  - interrupts
13362306a36Sopenharmony_ci  - interrupt-names
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciallOf:
13662306a36Sopenharmony_ci  - if:
13762306a36Sopenharmony_ci      properties:
13862306a36Sopenharmony_ci        compatible:
13962306a36Sopenharmony_ci          contains:
14062306a36Sopenharmony_ci            enum:
14162306a36Sopenharmony_ci              - qcom,ipq4019-dwc3
14262306a36Sopenharmony_ci    then:
14362306a36Sopenharmony_ci      properties:
14462306a36Sopenharmony_ci        clocks:
14562306a36Sopenharmony_ci          maxItems: 3
14662306a36Sopenharmony_ci        clock-names:
14762306a36Sopenharmony_ci          items:
14862306a36Sopenharmony_ci            - const: core
14962306a36Sopenharmony_ci            - const: sleep
15062306a36Sopenharmony_ci            - const: mock_utmi
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci  - if:
15362306a36Sopenharmony_ci      properties:
15462306a36Sopenharmony_ci        compatible:
15562306a36Sopenharmony_ci          contains:
15662306a36Sopenharmony_ci            enum:
15762306a36Sopenharmony_ci              - qcom,ipq8064-dwc3
15862306a36Sopenharmony_ci    then:
15962306a36Sopenharmony_ci      properties:
16062306a36Sopenharmony_ci        clocks:
16162306a36Sopenharmony_ci          items:
16262306a36Sopenharmony_ci            - description: Master/Core clock, has to be >= 125 MHz
16362306a36Sopenharmony_ci                for SS operation and >= 60MHz for HS operation.
16462306a36Sopenharmony_ci        clock-names:
16562306a36Sopenharmony_ci          items:
16662306a36Sopenharmony_ci            - const: core
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci  - if:
16962306a36Sopenharmony_ci      properties:
17062306a36Sopenharmony_ci        compatible:
17162306a36Sopenharmony_ci          contains:
17262306a36Sopenharmony_ci            enum:
17362306a36Sopenharmony_ci              - qcom,ipq9574-dwc3
17462306a36Sopenharmony_ci              - qcom,msm8953-dwc3
17562306a36Sopenharmony_ci              - qcom,msm8996-dwc3
17662306a36Sopenharmony_ci              - qcom,msm8998-dwc3
17762306a36Sopenharmony_ci              - qcom,sa8775p-dwc3
17862306a36Sopenharmony_ci              - qcom,sc7180-dwc3
17962306a36Sopenharmony_ci              - qcom,sc7280-dwc3
18062306a36Sopenharmony_ci              - qcom,sdm670-dwc3
18162306a36Sopenharmony_ci              - qcom,sdm845-dwc3
18262306a36Sopenharmony_ci              - qcom,sdx55-dwc3
18362306a36Sopenharmony_ci              - qcom,sm6350-dwc3
18462306a36Sopenharmony_ci    then:
18562306a36Sopenharmony_ci      properties:
18662306a36Sopenharmony_ci        clocks:
18762306a36Sopenharmony_ci          maxItems: 5
18862306a36Sopenharmony_ci        clock-names:
18962306a36Sopenharmony_ci          items:
19062306a36Sopenharmony_ci            - const: cfg_noc
19162306a36Sopenharmony_ci            - const: core
19262306a36Sopenharmony_ci            - const: iface
19362306a36Sopenharmony_ci            - const: sleep
19462306a36Sopenharmony_ci            - const: mock_utmi
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci  - if:
19762306a36Sopenharmony_ci      properties:
19862306a36Sopenharmony_ci        compatible:
19962306a36Sopenharmony_ci          contains:
20062306a36Sopenharmony_ci            enum:
20162306a36Sopenharmony_ci              - qcom,ipq6018-dwc3
20262306a36Sopenharmony_ci    then:
20362306a36Sopenharmony_ci      properties:
20462306a36Sopenharmony_ci        clocks:
20562306a36Sopenharmony_ci          minItems: 3
20662306a36Sopenharmony_ci          maxItems: 4
20762306a36Sopenharmony_ci        clock-names:
20862306a36Sopenharmony_ci          oneOf:
20962306a36Sopenharmony_ci            - items:
21062306a36Sopenharmony_ci                - const: core
21162306a36Sopenharmony_ci                - const: sleep
21262306a36Sopenharmony_ci                - const: mock_utmi
21362306a36Sopenharmony_ci            - items:
21462306a36Sopenharmony_ci                - const: cfg_noc
21562306a36Sopenharmony_ci                - const: core
21662306a36Sopenharmony_ci                - const: sleep
21762306a36Sopenharmony_ci                - const: mock_utmi
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci  - if:
22062306a36Sopenharmony_ci      properties:
22162306a36Sopenharmony_ci        compatible:
22262306a36Sopenharmony_ci          contains:
22362306a36Sopenharmony_ci            enum:
22462306a36Sopenharmony_ci              - qcom,ipq8074-dwc3
22562306a36Sopenharmony_ci    then:
22662306a36Sopenharmony_ci      properties:
22762306a36Sopenharmony_ci        clocks:
22862306a36Sopenharmony_ci          maxItems: 4
22962306a36Sopenharmony_ci        clock-names:
23062306a36Sopenharmony_ci          items:
23162306a36Sopenharmony_ci            - const: cfg_noc
23262306a36Sopenharmony_ci            - const: core
23362306a36Sopenharmony_ci            - const: sleep
23462306a36Sopenharmony_ci            - const: mock_utmi
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci  - if:
23762306a36Sopenharmony_ci      properties:
23862306a36Sopenharmony_ci        compatible:
23962306a36Sopenharmony_ci          contains:
24062306a36Sopenharmony_ci            enum:
24162306a36Sopenharmony_ci              - qcom,ipq5332-dwc3
24262306a36Sopenharmony_ci              - qcom,msm8994-dwc3
24362306a36Sopenharmony_ci              - qcom,qcs404-dwc3
24462306a36Sopenharmony_ci    then:
24562306a36Sopenharmony_ci      properties:
24662306a36Sopenharmony_ci        clocks:
24762306a36Sopenharmony_ci          maxItems: 4
24862306a36Sopenharmony_ci        clock-names:
24962306a36Sopenharmony_ci          items:
25062306a36Sopenharmony_ci            - const: core
25162306a36Sopenharmony_ci            - const: iface
25262306a36Sopenharmony_ci            - const: sleep
25362306a36Sopenharmony_ci            - const: mock_utmi
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci  - if:
25662306a36Sopenharmony_ci      properties:
25762306a36Sopenharmony_ci        compatible:
25862306a36Sopenharmony_ci          contains:
25962306a36Sopenharmony_ci            enum:
26062306a36Sopenharmony_ci              - qcom,sc8280xp-dwc3
26162306a36Sopenharmony_ci    then:
26262306a36Sopenharmony_ci      properties:
26362306a36Sopenharmony_ci        clocks:
26462306a36Sopenharmony_ci          maxItems: 9
26562306a36Sopenharmony_ci        clock-names:
26662306a36Sopenharmony_ci          items:
26762306a36Sopenharmony_ci            - const: cfg_noc
26862306a36Sopenharmony_ci            - const: core
26962306a36Sopenharmony_ci            - const: iface
27062306a36Sopenharmony_ci            - const: sleep
27162306a36Sopenharmony_ci            - const: mock_utmi
27262306a36Sopenharmony_ci            - const: noc_aggr
27362306a36Sopenharmony_ci            - const: noc_aggr_north
27462306a36Sopenharmony_ci            - const: noc_aggr_south
27562306a36Sopenharmony_ci            - const: noc_sys
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci  - if:
27862306a36Sopenharmony_ci      properties:
27962306a36Sopenharmony_ci        compatible:
28062306a36Sopenharmony_ci          contains:
28162306a36Sopenharmony_ci            enum:
28262306a36Sopenharmony_ci              - qcom,sdm660-dwc3
28362306a36Sopenharmony_ci    then:
28462306a36Sopenharmony_ci      properties:
28562306a36Sopenharmony_ci        clocks:
28662306a36Sopenharmony_ci          minItems: 5
28762306a36Sopenharmony_ci          maxItems: 6
28862306a36Sopenharmony_ci        clock-names:
28962306a36Sopenharmony_ci          oneOf:
29062306a36Sopenharmony_ci            - items:
29162306a36Sopenharmony_ci                - const: cfg_noc
29262306a36Sopenharmony_ci                - const: core
29362306a36Sopenharmony_ci                - const: iface
29462306a36Sopenharmony_ci                - const: sleep
29562306a36Sopenharmony_ci                - const: mock_utmi
29662306a36Sopenharmony_ci                - const: bus
29762306a36Sopenharmony_ci            - items:
29862306a36Sopenharmony_ci                - const: cfg_noc
29962306a36Sopenharmony_ci                - const: core
30062306a36Sopenharmony_ci                - const: sleep
30162306a36Sopenharmony_ci                - const: mock_utmi
30262306a36Sopenharmony_ci                - const: bus
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci  - if:
30562306a36Sopenharmony_ci      properties:
30662306a36Sopenharmony_ci        compatible:
30762306a36Sopenharmony_ci          contains:
30862306a36Sopenharmony_ci            enum:
30962306a36Sopenharmony_ci              - qcom,qcm2290-dwc3
31062306a36Sopenharmony_ci              - qcom,sm6115-dwc3
31162306a36Sopenharmony_ci              - qcom,sm6125-dwc3
31262306a36Sopenharmony_ci              - qcom,sm8150-dwc3
31362306a36Sopenharmony_ci              - qcom,sm8250-dwc3
31462306a36Sopenharmony_ci              - qcom,sm8450-dwc3
31562306a36Sopenharmony_ci              - qcom,sm8550-dwc3
31662306a36Sopenharmony_ci    then:
31762306a36Sopenharmony_ci      properties:
31862306a36Sopenharmony_ci        clocks:
31962306a36Sopenharmony_ci          minItems: 6
32062306a36Sopenharmony_ci        clock-names:
32162306a36Sopenharmony_ci          items:
32262306a36Sopenharmony_ci            - const: cfg_noc
32362306a36Sopenharmony_ci            - const: core
32462306a36Sopenharmony_ci            - const: iface
32562306a36Sopenharmony_ci            - const: sleep
32662306a36Sopenharmony_ci            - const: mock_utmi
32762306a36Sopenharmony_ci            - const: xo
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci  - if:
33062306a36Sopenharmony_ci      properties:
33162306a36Sopenharmony_ci        compatible:
33262306a36Sopenharmony_ci          contains:
33362306a36Sopenharmony_ci            enum:
33462306a36Sopenharmony_ci              - qcom,sm8350-dwc3
33562306a36Sopenharmony_ci    then:
33662306a36Sopenharmony_ci      properties:
33762306a36Sopenharmony_ci        clocks:
33862306a36Sopenharmony_ci          minItems: 5
33962306a36Sopenharmony_ci          maxItems: 6
34062306a36Sopenharmony_ci        clock-names:
34162306a36Sopenharmony_ci          minItems: 5
34262306a36Sopenharmony_ci          items:
34362306a36Sopenharmony_ci            - const: cfg_noc
34462306a36Sopenharmony_ci            - const: core
34562306a36Sopenharmony_ci            - const: iface
34662306a36Sopenharmony_ci            - const: sleep
34762306a36Sopenharmony_ci            - const: mock_utmi
34862306a36Sopenharmony_ci            - const: xo
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci  - if:
35162306a36Sopenharmony_ci      properties:
35262306a36Sopenharmony_ci        compatible:
35362306a36Sopenharmony_ci          contains:
35462306a36Sopenharmony_ci            enum:
35562306a36Sopenharmony_ci              - qcom,ipq4019-dwc3
35662306a36Sopenharmony_ci              - qcom,ipq6018-dwc3
35762306a36Sopenharmony_ci              - qcom,ipq8064-dwc3
35862306a36Sopenharmony_ci              - qcom,ipq8074-dwc3
35962306a36Sopenharmony_ci              - qcom,msm8994-dwc3
36062306a36Sopenharmony_ci              - qcom,qcs404-dwc3
36162306a36Sopenharmony_ci              - qcom,sc7180-dwc3
36262306a36Sopenharmony_ci              - qcom,sdm670-dwc3
36362306a36Sopenharmony_ci              - qcom,sdm845-dwc3
36462306a36Sopenharmony_ci              - qcom,sdx55-dwc3
36562306a36Sopenharmony_ci              - qcom,sdx65-dwc3
36662306a36Sopenharmony_ci              - qcom,sm4250-dwc3
36762306a36Sopenharmony_ci              - qcom,sm6125-dwc3
36862306a36Sopenharmony_ci              - qcom,sm6350-dwc3
36962306a36Sopenharmony_ci              - qcom,sm8150-dwc3
37062306a36Sopenharmony_ci              - qcom,sm8250-dwc3
37162306a36Sopenharmony_ci              - qcom,sm8350-dwc3
37262306a36Sopenharmony_ci              - qcom,sm8450-dwc3
37362306a36Sopenharmony_ci              - qcom,sm8550-dwc3
37462306a36Sopenharmony_ci    then:
37562306a36Sopenharmony_ci      properties:
37662306a36Sopenharmony_ci        interrupts:
37762306a36Sopenharmony_ci          items:
37862306a36Sopenharmony_ci            - description: The interrupt that is asserted
37962306a36Sopenharmony_ci                when a wakeup event is received on USB2 bus.
38062306a36Sopenharmony_ci            - description: The interrupt that is asserted
38162306a36Sopenharmony_ci                when a wakeup event is received on USB3 bus.
38262306a36Sopenharmony_ci            - description: Wakeup event on DM line.
38362306a36Sopenharmony_ci            - description: Wakeup event on DP line.
38462306a36Sopenharmony_ci        interrupt-names:
38562306a36Sopenharmony_ci          items:
38662306a36Sopenharmony_ci            - const: hs_phy_irq
38762306a36Sopenharmony_ci            - const: ss_phy_irq
38862306a36Sopenharmony_ci            - const: dm_hs_phy_irq
38962306a36Sopenharmony_ci            - const: dp_hs_phy_irq
39062306a36Sopenharmony_ci
39162306a36Sopenharmony_ci  - if:
39262306a36Sopenharmony_ci      properties:
39362306a36Sopenharmony_ci        compatible:
39462306a36Sopenharmony_ci          contains:
39562306a36Sopenharmony_ci            enum:
39662306a36Sopenharmony_ci              - qcom,msm8953-dwc3
39762306a36Sopenharmony_ci              - qcom,msm8996-dwc3
39862306a36Sopenharmony_ci              - qcom,msm8998-dwc3
39962306a36Sopenharmony_ci              - qcom,sm6115-dwc3
40062306a36Sopenharmony_ci    then:
40162306a36Sopenharmony_ci      properties:
40262306a36Sopenharmony_ci        interrupts:
40362306a36Sopenharmony_ci          maxItems: 2
40462306a36Sopenharmony_ci        interrupt-names:
40562306a36Sopenharmony_ci          items:
40662306a36Sopenharmony_ci            - const: hs_phy_irq
40762306a36Sopenharmony_ci            - const: ss_phy_irq
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci  - if:
41062306a36Sopenharmony_ci      properties:
41162306a36Sopenharmony_ci        compatible:
41262306a36Sopenharmony_ci          contains:
41362306a36Sopenharmony_ci            enum:
41462306a36Sopenharmony_ci              - qcom,ipq5332-dwc3
41562306a36Sopenharmony_ci              - qcom,sdm660-dwc3
41662306a36Sopenharmony_ci    then:
41762306a36Sopenharmony_ci      properties:
41862306a36Sopenharmony_ci        interrupts:
41962306a36Sopenharmony_ci          minItems: 1
42062306a36Sopenharmony_ci          maxItems: 2
42162306a36Sopenharmony_ci        interrupt-names:
42262306a36Sopenharmony_ci          minItems: 1
42362306a36Sopenharmony_ci          items:
42462306a36Sopenharmony_ci            - const: hs_phy_irq
42562306a36Sopenharmony_ci            - const: ss_phy_irq
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci  - if:
42862306a36Sopenharmony_ci      properties:
42962306a36Sopenharmony_ci        compatible:
43062306a36Sopenharmony_ci          contains:
43162306a36Sopenharmony_ci            enum:
43262306a36Sopenharmony_ci              - qcom,sc7280-dwc3
43362306a36Sopenharmony_ci    then:
43462306a36Sopenharmony_ci      properties:
43562306a36Sopenharmony_ci        interrupts:
43662306a36Sopenharmony_ci          minItems: 3
43762306a36Sopenharmony_ci          maxItems: 4
43862306a36Sopenharmony_ci        interrupt-names:
43962306a36Sopenharmony_ci          minItems: 3
44062306a36Sopenharmony_ci          items:
44162306a36Sopenharmony_ci            - const: hs_phy_irq
44262306a36Sopenharmony_ci            - const: dp_hs_phy_irq
44362306a36Sopenharmony_ci            - const: dm_hs_phy_irq
44462306a36Sopenharmony_ci            - const: ss_phy_irq
44562306a36Sopenharmony_ci
44662306a36Sopenharmony_ci  - if:
44762306a36Sopenharmony_ci      properties:
44862306a36Sopenharmony_ci        compatible:
44962306a36Sopenharmony_ci          contains:
45062306a36Sopenharmony_ci            enum:
45162306a36Sopenharmony_ci              - qcom,sc8280xp-dwc3
45262306a36Sopenharmony_ci    then:
45362306a36Sopenharmony_ci      properties:
45462306a36Sopenharmony_ci        interrupts:
45562306a36Sopenharmony_ci          maxItems: 4
45662306a36Sopenharmony_ci        interrupt-names:
45762306a36Sopenharmony_ci          items:
45862306a36Sopenharmony_ci            - const: pwr_event
45962306a36Sopenharmony_ci            - const: dp_hs_phy_irq
46062306a36Sopenharmony_ci            - const: dm_hs_phy_irq
46162306a36Sopenharmony_ci            - const: ss_phy_irq
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci  - if:
46462306a36Sopenharmony_ci      properties:
46562306a36Sopenharmony_ci        compatible:
46662306a36Sopenharmony_ci          contains:
46762306a36Sopenharmony_ci            enum:
46862306a36Sopenharmony_ci              - qcom,sa8775p-dwc3
46962306a36Sopenharmony_ci    then:
47062306a36Sopenharmony_ci      properties:
47162306a36Sopenharmony_ci        interrupts:
47262306a36Sopenharmony_ci          minItems: 3
47362306a36Sopenharmony_ci          maxItems: 4
47462306a36Sopenharmony_ci        interrupt-names:
47562306a36Sopenharmony_ci          minItems: 3
47662306a36Sopenharmony_ci          items:
47762306a36Sopenharmony_ci            - const: pwr_event
47862306a36Sopenharmony_ci            - const: dp_hs_phy_irq
47962306a36Sopenharmony_ci            - const: dm_hs_phy_irq
48062306a36Sopenharmony_ci            - const: ss_phy_irq
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ciadditionalProperties: false
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_ciexamples:
48562306a36Sopenharmony_ci  - |
48662306a36Sopenharmony_ci    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
48762306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
48862306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
48962306a36Sopenharmony_ci    soc {
49062306a36Sopenharmony_ci        #address-cells = <2>;
49162306a36Sopenharmony_ci        #size-cells = <2>;
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci        usb@a6f8800 {
49462306a36Sopenharmony_ci            compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
49562306a36Sopenharmony_ci            reg = <0 0x0a6f8800 0 0x400>;
49662306a36Sopenharmony_ci
49762306a36Sopenharmony_ci            #address-cells = <2>;
49862306a36Sopenharmony_ci            #size-cells = <2>;
49962306a36Sopenharmony_ci            ranges;
50062306a36Sopenharmony_ci            clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
50162306a36Sopenharmony_ci                     <&gcc GCC_USB30_PRIM_MASTER_CLK>,
50262306a36Sopenharmony_ci                     <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
50362306a36Sopenharmony_ci                     <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
50462306a36Sopenharmony_ci                     <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
50562306a36Sopenharmony_ci            clock-names = "cfg_noc",
50662306a36Sopenharmony_ci                          "core",
50762306a36Sopenharmony_ci                          "iface",
50862306a36Sopenharmony_ci                          "sleep",
50962306a36Sopenharmony_ci                          "mock_utmi";
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci            assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
51262306a36Sopenharmony_ci                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
51362306a36Sopenharmony_ci            assigned-clock-rates = <19200000>, <150000000>;
51462306a36Sopenharmony_ci
51562306a36Sopenharmony_ci            interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
51662306a36Sopenharmony_ci                         <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
51762306a36Sopenharmony_ci                         <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
51862306a36Sopenharmony_ci                         <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
51962306a36Sopenharmony_ci            interrupt-names = "hs_phy_irq", "ss_phy_irq",
52062306a36Sopenharmony_ci                          "dm_hs_phy_irq", "dp_hs_phy_irq";
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_ci            power-domains = <&gcc USB30_PRIM_GDSC>;
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci            resets = <&gcc GCC_USB30_PRIM_BCR>;
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci            usb@a600000 {
52762306a36Sopenharmony_ci                compatible = "snps,dwc3";
52862306a36Sopenharmony_ci                reg = <0 0x0a600000 0 0xcd00>;
52962306a36Sopenharmony_ci                interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
53062306a36Sopenharmony_ci                iommus = <&apps_smmu 0x740 0>;
53162306a36Sopenharmony_ci                snps,dis_u2_susphy_quirk;
53262306a36Sopenharmony_ci                snps,dis_enblslpm_quirk;
53362306a36Sopenharmony_ci                phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
53462306a36Sopenharmony_ci                phy-names = "usb2-phy", "usb3-phy";
53562306a36Sopenharmony_ci            };
53662306a36Sopenharmony_ci        };
53762306a36Sopenharmony_ci    };
538