xref: /linux/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
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    maxItems: 1
80    description: |
81      gpio specifier to check GPIO determining if USB function should be
82      enabled.
83
84  phys:
85    maxItems: 1
86
87  phy-names:
88    items:
89      - const: usb
90
91  dmas:
92    minItems: 2
93    maxItems: 4
94
95  dma-names:
96    minItems: 2
97    items:
98      - const: ch0
99      - const: ch1
100      - const: ch2
101      - const: ch3
102
103  dr_mode: true
104
105  power-domains:
106    maxItems: 1
107
108  resets:
109    minItems: 1
110    items:
111      - description: USB 2.0 host
112      - description: USB 2.0 peripheral
113
114required:
115  - compatible
116  - reg
117  - clocks
118  - interrupts
119
120allOf:
121  - if:
122      properties:
123        compatible:
124          contains:
125            enum:
126              - renesas,usbhs-r9a07g043
127              - renesas,usbhs-r9a07g044
128              - renesas,usbhs-r9a07g054
129    then:
130      properties:
131        interrupts:
132          items:
133            - description: U2P_IXL_INT
134            - description: U2P_INT_DMA[0]
135            - description: U2P_INT_DMA[1]
136            - description: U2P_INT_DMAERR
137      required:
138        - resets
139    else:
140      properties:
141        interrupts:
142          maxItems: 1
143
144additionalProperties: false
145
146examples:
147  - |
148    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
149    #include <dt-bindings/interrupt-controller/arm-gic.h>
150    #include <dt-bindings/power/r8a7790-sysc.h>
151
152    usbhs: usb@e6590000 {
153        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
154        reg = <0xe6590000 0x100>;
155        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
156        clocks = <&cpg CPG_MOD 704>;
157    };
158