Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Renesas USBHS (HS-USB) controller
8
9maintainers:
10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12properties:
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 - const: renesas,rza2-usbhs
23
24 - items:
25 - enum:
26 - renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five
27 - renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
28 - renesas,usbhs-r9a07g054 # RZ/V2L
29 - renesas,usbhs-r9a08g045 # RZ/G3S
30 - renesas,usbhs-r9a09g056 # RZ/V2N
31 - renesas,usbhs-r9a09g057 # RZ/V2H(P)
32 - const: renesas,rzg2l-usbhs
33
34 - items:
35 - enum:
36 - renesas,usbhs-r8a7742 # RZ/G1H
37 - renesas,usbhs-r8a7743 # RZ/G1M
38 - renesas,usbhs-r8a7744 # RZ/G1N
39 - renesas,usbhs-r8a7745 # RZ/G1E
40 - renesas,usbhs-r8a77470 # RZ/G1C
41 - renesas,usbhs-r8a7790 # R-Car H2
42 - renesas,usbhs-r8a7791 # R-Car M2-W
43 - renesas,usbhs-r8a7792 # R-Car V2H
44 - renesas,usbhs-r8a7793 # R-Car M2-N
45 - renesas,usbhs-r8a7794 # R-Car E2
46 - const: renesas,rcar-gen2-usbhs
47
48 - items:
49 - enum:
50 - renesas,usbhs-r8a774a1 # RZ/G2M
51 - renesas,usbhs-r8a774b1 # RZ/G2N
52 - renesas,usbhs-r8a774c0 # RZ/G2E
53 - renesas,usbhs-r8a774e1 # RZ/G2H
54 - renesas,usbhs-r8a7795 # R-Car H3
55 - renesas,usbhs-r8a7796 # R-Car M3-W
56 - renesas,usbhs-r8a77961 # R-Car M3-W+
57 - renesas,usbhs-r8a77965 # R-Car M3-N
58 - renesas,usbhs-r8a77990 # R-Car E3
59 - renesas,usbhs-r8a77995 # R-Car D3
60 - const: renesas,rcar-gen3-usbhs
61
62 - const: renesas,usbhs-r9a09g077 # RZ/T2H
63
64 - items:
65 - const: renesas,usbhs-r9a09g087 # RZ/N2H
66 - const: renesas,usbhs-r9a09g077 # RZ/T2H
67
68 reg:
69 maxItems: 1
70
71 clocks:
72 minItems: 1
73 items:
74 - description: USB 2.0 host
75 - description: USB 2.0 peripheral
76 - description: USB 2.0 clock selector
77
78 interrupts:
79 minItems: 1
80 maxItems: 4
81
82 renesas,buswait:
83 $ref: /schemas/types.yaml#/definitions/uint32
84 description: |
85 Integer to use BUSWAIT register.
86
87 renesas,enable-gpio:
88 deprecated: true
89 maxItems: 1
90
91 renesas,enable-gpios:
92 maxItems: 1
93 description: |
94 gpio specifier to check GPIO determining if USB function should be
95 enabled.
96
97 phys:
98 maxItems: 1
99
100 phy-names:
101 items:
102 - const: usb
103
104 dmas:
105 minItems: 2
106 maxItems: 4
107
108 dma-names:
109 minItems: 2
110 items:
111 - const: ch0
112 - const: ch1
113 - const: ch2
114 - const: ch3
115
116 dr_mode: true
117
118 power-domains:
119 maxItems: 1
120
121 resets:
122 minItems: 1
123 items:
124 - description: USB 2.0 host
125 - description: USB 2.0 peripheral
126
127required:
128 - compatible
129 - reg
130 - clocks
131 - interrupts
132
133allOf:
134 - if:
135 properties:
136 compatible:
137 contains:
138 const: renesas,rzg2l-usbhs
139 then:
140 properties:
141 interrupts:
142 items:
143 - description: U2P_IXL_INT
144 - description: U2P_INT_DMA[0]
145 - description: U2P_INT_DMA[1]
146 - description: U2P_INT_DMAERR
147 required:
148 - resets
149 else:
150 if:
151 properties:
152 compatible:
153 contains:
154 const: renesas,usbhs-r9a09g077
155 then:
156 properties:
157 resets: false
158 clocks:
159 maxItems: 1
160 interrupts:
161 items:
162 - description: USB function interrupt USB_FI
163 - description: USB function DMA0 transmit completion interrupt USB_FDMA0
164 - description: USB function DMA1 transmit completion interrupt USB_FDMA1
165 else:
166 properties:
167 interrupts:
168 maxItems: 1
169
170additionalProperties: false
171
172examples:
173 - |
174 #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
175 #include <dt-bindings/interrupt-controller/arm-gic.h>
176 #include <dt-bindings/power/r8a7790-sysc.h>
177
178 usbhs: usb@e6590000 {
179 compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
180 reg = <0xe6590000 0x100>;
181 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
182 clocks = <&cpg CPG_MOD 704>;
183 };