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