xref: /linux/Documentation/devicetree/bindings/usb/apple,dwc3.yaml (revision f5e9d31e79c1ce8ba948ecac74d75e9c8d2f0c87)
1*71e13cc1SSven Peter# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*71e13cc1SSven Peter%YAML 1.2
3*71e13cc1SSven Peter---
4*71e13cc1SSven Peter$id: http://devicetree.org/schemas/usb/apple,dwc3.yaml#
5*71e13cc1SSven Peter$schema: http://devicetree.org/meta-schemas/core.yaml#
6*71e13cc1SSven Peter
7*71e13cc1SSven Petertitle: Apple Silicon DWC3 USB controller
8*71e13cc1SSven Peter
9*71e13cc1SSven Petermaintainers:
10*71e13cc1SSven Peter  - Sven Peter <sven@kernel.org>
11*71e13cc1SSven Peter
12*71e13cc1SSven Peterdescription:
13*71e13cc1SSven Peter  Apple Silicon SoCs use a Synopsys DesignWare DWC3 based controller for each of
14*71e13cc1SSven Peter  their Type-C ports.
15*71e13cc1SSven Peter
16*71e13cc1SSven PeterallOf:
17*71e13cc1SSven Peter  - $ref: snps,dwc3-common.yaml#
18*71e13cc1SSven Peter
19*71e13cc1SSven Peterproperties:
20*71e13cc1SSven Peter  compatible:
21*71e13cc1SSven Peter    oneOf:
22*71e13cc1SSven Peter      - items:
23*71e13cc1SSven Peter          - enum:
24*71e13cc1SSven Peter              - apple,t6000-dwc3
25*71e13cc1SSven Peter              - apple,t6020-dwc3
26*71e13cc1SSven Peter              - apple,t8112-dwc3
27*71e13cc1SSven Peter          - const: apple,t8103-dwc3
28*71e13cc1SSven Peter      - const: apple,t8103-dwc3
29*71e13cc1SSven Peter
30*71e13cc1SSven Peter  reg:
31*71e13cc1SSven Peter    items:
32*71e13cc1SSven Peter      - description: Core DWC3 region
33*71e13cc1SSven Peter      - description: Apple-specific DWC3 region
34*71e13cc1SSven Peter
35*71e13cc1SSven Peter  reg-names:
36*71e13cc1SSven Peter    items:
37*71e13cc1SSven Peter      - const: dwc3-core
38*71e13cc1SSven Peter      - const: dwc3-apple
39*71e13cc1SSven Peter
40*71e13cc1SSven Peter  interrupts:
41*71e13cc1SSven Peter    maxItems: 1
42*71e13cc1SSven Peter
43*71e13cc1SSven Peter  iommus:
44*71e13cc1SSven Peter    maxItems: 2
45*71e13cc1SSven Peter
46*71e13cc1SSven Peter  resets:
47*71e13cc1SSven Peter    maxItems: 1
48*71e13cc1SSven Peter
49*71e13cc1SSven Peter  power-domains:
50*71e13cc1SSven Peter    maxItems: 1
51*71e13cc1SSven Peter
52*71e13cc1SSven Peterrequired:
53*71e13cc1SSven Peter  - compatible
54*71e13cc1SSven Peter  - reg
55*71e13cc1SSven Peter  - reg-names
56*71e13cc1SSven Peter  - interrupts
57*71e13cc1SSven Peter  - iommus
58*71e13cc1SSven Peter  - resets
59*71e13cc1SSven Peter  - power-domains
60*71e13cc1SSven Peter  - usb-role-switch
61*71e13cc1SSven Peter
62*71e13cc1SSven PeterunevaluatedProperties: false
63*71e13cc1SSven Peter
64*71e13cc1SSven Peterexamples:
65*71e13cc1SSven Peter  - |
66*71e13cc1SSven Peter    #include <dt-bindings/interrupt-controller/apple-aic.h>
67*71e13cc1SSven Peter    #include <dt-bindings/interrupt-controller/irq.h>
68*71e13cc1SSven Peter
69*71e13cc1SSven Peter    usb@82280000 {
70*71e13cc1SSven Peter      compatible = "apple,t8103-dwc3";
71*71e13cc1SSven Peter      reg = <0x82280000 0xcd00>, <0x8228cd00 0x3200>;
72*71e13cc1SSven Peter      reg-names = "dwc3-core", "dwc3-apple";
73*71e13cc1SSven Peter      interrupts = <AIC_IRQ 777 IRQ_TYPE_LEVEL_HIGH>;
74*71e13cc1SSven Peter      iommus = <&dwc3_0_dart_0 0>, <&dwc3_0_dart_1 1>;
75*71e13cc1SSven Peter
76*71e13cc1SSven Peter      power-domains = <&ps_atc0_usb>;
77*71e13cc1SSven Peter      resets = <&atcphy0>;
78*71e13cc1SSven Peter
79*71e13cc1SSven Peter      usb-role-switch;
80*71e13cc1SSven Peter    };
81