Merge remote-tracking branch 'spi/for-5.10' into spi-linus
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / renesas,usb3-peri.yaml
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
7 title: Renesas USB 3.0 Peripheral controller
8
9 maintainers:
10   - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12 properties:
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
75 required:
76   - compatible
77   - interrupts
78   - clocks
79
80 additionalProperties: false
81
82 examples:
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     };