Merge tag 'docs-5.15' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / renesas,usbhs.yaml
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/renesas,usbhs.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas USBHS (HS-USB) controller
8
9 maintainers:
10   - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12 properties:
13   compatible:
14     oneOf:
15       - items:
16           - const: renesas,usbhs-r7s72100 # RZ/A1
17           - const: renesas,rza1-usbhs
18
19       - items:
20           - enum:
21               - renesas,usbhs-r7s9210   # RZ/A2
22               - renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
23           - const: renesas,rza2-usbhs
24
25       - items:
26           - enum:
27               - renesas,usbhs-r8a7742  # RZ/G1H
28               - renesas,usbhs-r8a7743  # RZ/G1M
29               - renesas,usbhs-r8a7744  # RZ/G1N
30               - renesas,usbhs-r8a7745  # RZ/G1E
31               - renesas,usbhs-r8a77470 # RZ/G1C
32               - renesas,usbhs-r8a7790  # R-Car H2
33               - renesas,usbhs-r8a7791  # R-Car M2-W
34               - renesas,usbhs-r8a7792  # R-Car V2H
35               - renesas,usbhs-r8a7793  # R-Car M2-N
36               - renesas,usbhs-r8a7794  # R-Car E2
37           - const: renesas,rcar-gen2-usbhs
38
39       - items:
40           - enum:
41               - renesas,usbhs-r8a774a1 # RZ/G2M
42               - renesas,usbhs-r8a774b1 # RZ/G2N
43               - renesas,usbhs-r8a774c0 # RZ/G2E
44               - renesas,usbhs-r8a774e1 # RZ/G2H
45               - renesas,usbhs-r8a7795  # R-Car H3
46               - renesas,usbhs-r8a7796  # R-Car M3-W
47               - renesas,usbhs-r8a77961 # R-Car M3-W+
48               - renesas,usbhs-r8a77965 # R-Car M3-N
49               - renesas,usbhs-r8a77990 # R-Car E3
50               - renesas,usbhs-r8a77995 # R-Car D3
51           - const: renesas,rcar-gen3-usbhs
52
53   reg:
54     maxItems: 1
55
56   clocks:
57     minItems: 1
58     items:
59       - description: USB 2.0 host
60       - description: USB 2.0 peripheral
61       - description: USB 2.0 clock selector
62
63   interrupts:
64     minItems: 1
65     maxItems: 4
66
67   renesas,buswait:
68     $ref: /schemas/types.yaml#/definitions/uint32
69     description: |
70       Integer to use BUSWAIT register.
71
72   renesas,enable-gpio:
73     maxItems: 1
74     description: |
75       gpio specifier to check GPIO determining if USB function should be
76       enabled.
77
78   phys:
79     maxItems: 1
80
81   phy-names:
82     items:
83       - const: usb
84
85   dmas:
86     minItems: 2
87     maxItems: 4
88
89   dma-names:
90     minItems: 2
91     items:
92       - const: ch0
93       - const: ch1
94       - const: ch2
95       - const: ch3
96
97   dr_mode: true
98
99   power-domains:
100     maxItems: 1
101
102   resets:
103     minItems: 1
104     items:
105       - description: USB 2.0 host
106       - description: USB 2.0 peripheral
107
108 required:
109   - compatible
110   - reg
111   - clocks
112   - interrupts
113
114 allOf:
115   - if:
116       properties:
117         compatible:
118           contains:
119             const: renesas,usbhs-r9a07g044
120     then:
121       properties:
122         interrupts:
123           items:
124             - description: U2P_IXL_INT
125             - description: U2P_INT_DMA[0]
126             - description: U2P_INT_DMA[1]
127             - description: U2P_INT_DMAERR
128     else:
129       properties:
130         interrupts:
131           maxItems: 1
132
133 additionalProperties: false
134
135 examples:
136   - |
137     #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
138     #include <dt-bindings/interrupt-controller/arm-gic.h>
139     #include <dt-bindings/power/r8a7790-sysc.h>
140
141     usbhs: usb@e6590000 {
142         compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
143         reg = <0xe6590000 0x100>;
144         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
145         clocks = <&cpg CPG_MOD 704>;
146     };