1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas USB 3.0 Peripheral controller
8
9maintainers:
10  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12properties:
13  compatible:
14    items:
15      - enum:
16          - renesas,r8a774a1-usb3-peri # RZ/G2M
17          - renesas,r8a774b1-usb3-peri # RZ/G2N
18          - renesas,r8a774c0-usb3-peri # RZ/G2E
19          - renesas,r8a774e1-usb3-peri # RZ/G2H
20          - renesas,r8a7795-usb3-peri  # R-Car H3
21          - renesas,r8a7796-usb3-peri  # R-Car M3-W
22          - renesas,r8a77961-usb3-peri # R-Car M3-W+
23          - renesas,r8a77965-usb3-peri # R-Car M3-N
24          - renesas,r8a77990-usb3-peri # R-Car E3
25      - const: renesas,rcar-gen3-usb3-peri
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  clocks:
34    maxItems: 1
35
36  phys:
37    maxItems: 1
38
39  phy-names:
40    const: usb
41
42  power-domains:
43    maxItems: 1
44
45  resets:
46    maxItems: 1
47
48  usb-role-switch:
49    $ref: /schemas/types.yaml#/definitions/flag
50    description: Support role switch.
51
52  companion:
53    $ref: /schemas/types.yaml#/definitions/phandle
54    description: phandle of a companion.
55
56  ports:
57    description: |
58      any connector to the data bus of this controller should be modelled
59      using the OF graph bindings specified, if the "usb-role-switch"
60      property is used.
61    type: object
62    properties:
63      port@0:
64        type: object
65        description: High Speed (HS) data bus.
66
67      port@1:
68        type: object
69        description: Super Speed (SS) data bus.
70
71    required:
72      - port@0
73      - port@1
74
75required:
76  - compatible
77  - interrupts
78  - clocks
79
80additionalProperties: false
81
82examples:
83  - |
84    #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
85    #include <dt-bindings/interrupt-controller/arm-gic.h>
86    #include <dt-bindings/power/r8a774c0-sysc.h>
87
88    usb3_peri0: usb@ee020000 {
89        compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri";
90        reg = <0xee020000 0x400>;
91        interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
92        clocks = <&cpg CPG_MOD 328>;
93        companion = <&xhci0>;
94        usb-role-switch;
95
96        ports {
97                #address-cells = <1>;
98                #size-cells = <0>;
99                port@0 {
100                        reg = <0>;
101                        usb3_hs_ep: endpoint {
102                                remote-endpoint = <&hs_ep>;
103                        };
104                };
105                port@1 {
106                        reg = <1>;
107                        usb3_role_switch: endpoint {
108                                remote-endpoint = <&hd3ss3220_out_ep>;
109                        };
110                };
111        };
112    };
113