xref: /freebsd/sys/contrib/device-tree/Bindings/usb/renesas,usbhs.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/renesas,usbhs.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas USBHS (HS-USB) controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  compatible:
14c66ec88fSEmmanuel Vadot    oneOf:
15c66ec88fSEmmanuel Vadot      - items:
16c66ec88fSEmmanuel Vadot          - const: renesas,usbhs-r7s72100 # RZ/A1
17c66ec88fSEmmanuel Vadot          - const: renesas,rza1-usbhs
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot      - items:
20354d7675SEmmanuel Vadot          - enum:
21354d7675SEmmanuel Vadot              - renesas,usbhs-r7s9210   # RZ/A2
22*7d0873ebSEmmanuel Vadot          - const: renesas,rza2-usbhs
23*7d0873ebSEmmanuel Vadot
24*7d0873ebSEmmanuel Vadot      - items:
25*7d0873ebSEmmanuel Vadot          - enum:
268d13bc63SEmmanuel Vadot              - renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five
27354d7675SEmmanuel Vadot              - renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
28c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g054 # RZ/V2L
29*7d0873ebSEmmanuel Vadot          - const: renesas,rzg2l-usbhs
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot      - items:
32c66ec88fSEmmanuel Vadot          - enum:
33c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7742  # RZ/G1H
34c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7743  # RZ/G1M
35c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7744  # RZ/G1N
36c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7745  # RZ/G1E
37c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77470 # RZ/G1C
38c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7790  # R-Car H2
39c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7791  # R-Car M2-W
40c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7792  # R-Car V2H
41c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7793  # R-Car M2-N
42c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7794  # R-Car E2
43c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen2-usbhs
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot      - items:
46c66ec88fSEmmanuel Vadot          - enum:
47c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774a1 # RZ/G2M
48c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774b1 # RZ/G2N
49c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774c0 # RZ/G2E
506be33864SEmmanuel Vadot              - renesas,usbhs-r8a774e1 # RZ/G2H
51c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7795  # R-Car H3
52c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7796  # R-Car M3-W
53c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77961 # R-Car M3-W+
54c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77965 # R-Car M3-N
55c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77990 # R-Car E3
56c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77995 # R-Car D3
57c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen3-usbhs
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot  reg:
60c66ec88fSEmmanuel Vadot    maxItems: 1
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot  clocks:
63c66ec88fSEmmanuel Vadot    minItems: 1
64c66ec88fSEmmanuel Vadot    items:
65c66ec88fSEmmanuel Vadot      - description: USB 2.0 host
66c66ec88fSEmmanuel Vadot      - description: USB 2.0 peripheral
67c66ec88fSEmmanuel Vadot      - description: USB 2.0 clock selector
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot  interrupts:
70354d7675SEmmanuel Vadot    minItems: 1
71354d7675SEmmanuel Vadot    maxItems: 4
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot  renesas,buswait:
74c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
75c66ec88fSEmmanuel Vadot    description: |
76c66ec88fSEmmanuel Vadot      Integer to use BUSWAIT register.
77c66ec88fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadot  renesas,enable-gpio:
795def4c47SEmmanuel Vadot    maxItems: 1
80c66ec88fSEmmanuel Vadot    description: |
81c66ec88fSEmmanuel Vadot      gpio specifier to check GPIO determining if USB function should be
82c66ec88fSEmmanuel Vadot      enabled.
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot  phys:
85c66ec88fSEmmanuel Vadot    maxItems: 1
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot  phy-names:
88c66ec88fSEmmanuel Vadot    items:
89c66ec88fSEmmanuel Vadot      - const: usb
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot  dmas:
92c66ec88fSEmmanuel Vadot    minItems: 2
93c66ec88fSEmmanuel Vadot    maxItems: 4
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot  dma-names:
96c66ec88fSEmmanuel Vadot    minItems: 2
97c66ec88fSEmmanuel Vadot    items:
98c66ec88fSEmmanuel Vadot      - const: ch0
99c66ec88fSEmmanuel Vadot      - const: ch1
100c66ec88fSEmmanuel Vadot      - const: ch2
101c66ec88fSEmmanuel Vadot      - const: ch3
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot  dr_mode: true
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot  power-domains:
106c66ec88fSEmmanuel Vadot    maxItems: 1
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot  resets:
109c66ec88fSEmmanuel Vadot    minItems: 1
110c66ec88fSEmmanuel Vadot    items:
111c66ec88fSEmmanuel Vadot      - description: USB 2.0 host
112c66ec88fSEmmanuel Vadot      - description: USB 2.0 peripheral
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadotrequired:
115c66ec88fSEmmanuel Vadot  - compatible
116c66ec88fSEmmanuel Vadot  - reg
117c66ec88fSEmmanuel Vadot  - clocks
118c66ec88fSEmmanuel Vadot  - interrupts
119c66ec88fSEmmanuel Vadot
120354d7675SEmmanuel VadotallOf:
121354d7675SEmmanuel Vadot  - if:
122354d7675SEmmanuel Vadot      properties:
123354d7675SEmmanuel Vadot        compatible:
124354d7675SEmmanuel Vadot          contains:
125c9ccf3a3SEmmanuel Vadot            enum:
126d5b0e70fSEmmanuel Vadot              - renesas,usbhs-r9a07g043
127c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g044
128c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g054
129354d7675SEmmanuel Vadot    then:
130354d7675SEmmanuel Vadot      properties:
131354d7675SEmmanuel Vadot        interrupts:
132354d7675SEmmanuel Vadot          items:
133354d7675SEmmanuel Vadot            - description: U2P_IXL_INT
134354d7675SEmmanuel Vadot            - description: U2P_INT_DMA[0]
135354d7675SEmmanuel Vadot            - description: U2P_INT_DMA[1]
136354d7675SEmmanuel Vadot            - description: U2P_INT_DMAERR
137d5b0e70fSEmmanuel Vadot      required:
138d5b0e70fSEmmanuel Vadot        - resets
139354d7675SEmmanuel Vadot    else:
140354d7675SEmmanuel Vadot      properties:
141354d7675SEmmanuel Vadot        interrupts:
142354d7675SEmmanuel Vadot          maxItems: 1
143354d7675SEmmanuel Vadot
144c66ec88fSEmmanuel VadotadditionalProperties: false
145c66ec88fSEmmanuel Vadot
146c66ec88fSEmmanuel Vadotexamples:
147c66ec88fSEmmanuel Vadot  - |
148c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
149c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
150c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
151c66ec88fSEmmanuel Vadot
152c66ec88fSEmmanuel Vadot    usbhs: usb@e6590000 {
153c66ec88fSEmmanuel Vadot        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
154c66ec88fSEmmanuel Vadot        reg = <0xe6590000 0x100>;
155c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
156c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 704>;
157c66ec88fSEmmanuel Vadot    };
158