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