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