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          - const: renesas,usbhs-r7s9210 # RZ/A2
21          - const: renesas,rza2-usbhs
22
23      - items:
24          - enum:
25              - renesas,usbhs-r8a7743  # RZ/G1M
26              - renesas,usbhs-r8a7744  # RZ/G1N
27              - renesas,usbhs-r8a7745  # RZ/G1E
28              - renesas,usbhs-r8a77470 # RZ/G1C
29              - renesas,usbhs-r8a7790  # R-Car H2
30              - renesas,usbhs-r8a7791  # R-Car M2-W
31              - renesas,usbhs-r8a7792  # R-Car V2H
32              - renesas,usbhs-r8a7793  # R-Car M2-N
33              - renesas,usbhs-r8a7794  # R-Car E2
34          - const: renesas,rcar-gen2-usbhs
35
36      - items:
37          - enum:
38              - renesas,usbhs-r8a774a1 # RZ/G2M
39              - renesas,usbhs-r8a774b1 # RZ/G2N
40              - renesas,usbhs-r8a774c0 # RZ/G2E
41              - renesas,usbhs-r8a7795  # R-Car H3
42              - renesas,usbhs-r8a7796  # R-Car M3-W
43              - renesas,usbhs-r8a77965 # R-Car M3-N
44              - renesas,usbhs-r8a77990 # R-Car E3
45              - renesas,usbhs-r8a77995 # R-Car D3
46          - const: renesas,rcar-gen3-usbhs
47
48  reg:
49    maxItems: 1
50
51  clocks:
52    minItems: 1
53    maxItems: 3
54    items:
55      - description: USB 2.0 host
56      - description: USB 2.0 peripheral
57      - description: USB 2.0 clock selector
58
59  interrupts:
60    maxItems: 1
61
62  renesas,buswait:
63    $ref: /schemas/types.yaml#/definitions/uint32
64    description: |
65      Integer to use BUSWAIT register.
66
67  renesas,enable-gpio:
68    description: |
69      gpio specifier to check GPIO determining if USB function should be
70      enabled.
71
72  phys:
73    maxItems: 1
74    items:
75      - description: phandle + phy specifier pair.
76
77  phy-names:
78    maxItems: 1
79    items:
80      - const: usb
81
82  dmas:
83    minItems: 2
84    maxItems: 4
85
86  dma-names:
87    minItems: 2
88    maxItems: 4
89    items:
90      - const: ch0
91      - const: ch1
92      - const: ch2
93      - const: ch3
94
95  dr_mode: true
96
97  power-domains:
98    maxItems: 1
99
100  resets:
101    minItems: 1
102    maxItems: 2
103    items:
104      - description: USB 2.0 host
105      - description: USB 2.0 peripheral
106
107required:
108  - compatible
109  - reg
110  - clocks
111  - interrupts
112
113additionalProperties: false
114
115examples:
116  - |
117    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
118    #include <dt-bindings/interrupt-controller/arm-gic.h>
119    #include <dt-bindings/power/r8a7790-sysc.h>
120
121    usbhs: usb@e6590000 {
122        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
123        reg = <0 0xe6590000 0 0x100>;
124        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
125        clocks = <&cpg CPG_MOD 704>;
126    };
127