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,r8a7795-usb3-peri  # R-Car H3
20          - renesas,r8a7796-usb3-peri  # R-Car M3-W
21          - renesas,r8a77961-usb3-peri # R-Car M3-W+
22          - renesas,r8a77965-usb3-peri # R-Car M3-N
23          - renesas,r8a77990-usb3-peri # R-Car E3
24      - const: renesas,rcar-gen3-usb3-peri
25
26  reg:
27    maxItems: 1
28
29  interrupts:
30    maxItems: 1
31
32  clocks:
33    maxItems: 1
34
35  phys:
36    maxItems: 1
37
38  phy-names:
39    const: usb
40
41  power-domains:
42    maxItems: 1
43
44  resets:
45    maxItems: 1
46
47  usb-role-switch:
48    $ref: /schemas/types.yaml#/definitions/flag
49    description: Support role switch.
50
51  companion:
52    $ref: /schemas/types.yaml#/definitions/phandle
53    description: phandle of a companion.
54
55  port:
56    description: |
57      any connector to the data bus of this controller should be modelled
58      using the OF graph bindings specified, if the "usb-role-switch"
59      property is used.
60
61required:
62  - compatible
63  - interrupts
64  - clocks
65
66additionalProperties: false
67
68examples:
69  - |
70    #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
71    #include <dt-bindings/interrupt-controller/arm-gic.h>
72    #include <dt-bindings/power/r8a774c0-sysc.h>
73
74    usb3_peri0: usb@ee020000 {
75        compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri";
76        reg = <0xee020000 0x400>;
77        interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
78        clocks = <&cpg CPG_MOD 328>;
79        companion = <&xhci0>;
80        usb-role-switch;
81
82        port {
83            usb3_role_switch: endpoint {
84                remote-endpoint = <&hd3ss3220_ep>;
85            };
86        };
87    };
88