xref: /linux/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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          - const: renesas,rzg2l-usbhs
30
31      - items:
32          - enum:
33              - renesas,usbhs-r8a7742  # RZ/G1H
34              - renesas,usbhs-r8a7743  # RZ/G1M
35              - renesas,usbhs-r8a7744  # RZ/G1N
36              - renesas,usbhs-r8a7745  # RZ/G1E
37              - renesas,usbhs-r8a77470 # RZ/G1C
38              - renesas,usbhs-r8a7790  # R-Car H2
39              - renesas,usbhs-r8a7791  # R-Car M2-W
40              - renesas,usbhs-r8a7792  # R-Car V2H
41              - renesas,usbhs-r8a7793  # R-Car M2-N
42              - renesas,usbhs-r8a7794  # R-Car E2
43          - const: renesas,rcar-gen2-usbhs
44
45      - items:
46          - enum:
47              - renesas,usbhs-r8a774a1 # RZ/G2M
48              - renesas,usbhs-r8a774b1 # RZ/G2N
49              - renesas,usbhs-r8a774c0 # RZ/G2E
50              - renesas,usbhs-r8a774e1 # RZ/G2H
51              - renesas,usbhs-r8a7795  # R-Car H3
52              - renesas,usbhs-r8a7796  # R-Car M3-W
53              - renesas,usbhs-r8a77961 # R-Car M3-W+
54              - renesas,usbhs-r8a77965 # R-Car M3-N
55              - renesas,usbhs-r8a77990 # R-Car E3
56              - renesas,usbhs-r8a77995 # R-Car D3
57          - const: renesas,rcar-gen3-usbhs
58
59  reg:
60    maxItems: 1
61
62  clocks:
63    minItems: 1
64    items:
65      - description: USB 2.0 host
66      - description: USB 2.0 peripheral
67      - description: USB 2.0 clock selector
68
69  interrupts:
70    minItems: 1
71    maxItems: 4
72
73  renesas,buswait:
74    $ref: /schemas/types.yaml#/definitions/uint32
75    description: |
76      Integer to use BUSWAIT register.
77
78  renesas,enable-gpio:
79    deprecated: true
80    maxItems: 1
81
82  renesas,enable-gpios:
83    maxItems: 1
84    description: |
85      gpio specifier to check GPIO determining if USB function should be
86      enabled.
87
88  phys:
89    maxItems: 1
90
91  phy-names:
92    items:
93      - const: usb
94
95  dmas:
96    minItems: 2
97    maxItems: 4
98
99  dma-names:
100    minItems: 2
101    items:
102      - const: ch0
103      - const: ch1
104      - const: ch2
105      - const: ch3
106
107  dr_mode: true
108
109  power-domains:
110    maxItems: 1
111
112  resets:
113    minItems: 1
114    items:
115      - description: USB 2.0 host
116      - description: USB 2.0 peripheral
117
118required:
119  - compatible
120  - reg
121  - clocks
122  - interrupts
123
124allOf:
125  - if:
126      properties:
127        compatible:
128          contains:
129            enum:
130              - renesas,usbhs-r9a07g043
131              - renesas,usbhs-r9a07g044
132              - renesas,usbhs-r9a07g054
133    then:
134      properties:
135        interrupts:
136          items:
137            - description: U2P_IXL_INT
138            - description: U2P_INT_DMA[0]
139            - description: U2P_INT_DMA[1]
140            - description: U2P_INT_DMAERR
141      required:
142        - resets
143    else:
144      properties:
145        interrupts:
146          maxItems: 1
147
148additionalProperties: false
149
150examples:
151  - |
152    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
153    #include <dt-bindings/interrupt-controller/arm-gic.h>
154    #include <dt-bindings/power/r8a7790-sysc.h>
155
156    usbhs: usb@e6590000 {
157        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
158        reg = <0xe6590000 0x100>;
159        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
160        clocks = <&cpg CPG_MOD 704>;
161    };
162