xref: /freebsd/sys/contrib/device-tree/Bindings/usb/renesas,usbhs.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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*8d13bc63SEmmanuel Vadot              - renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five
23354d7675SEmmanuel Vadot              - renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
24c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g054 # RZ/V2L
25c66ec88fSEmmanuel Vadot          - const: renesas,rza2-usbhs
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot      - items:
28c66ec88fSEmmanuel Vadot          - enum:
29c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7742  # RZ/G1H
30c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7743  # RZ/G1M
31c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7744  # RZ/G1N
32c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7745  # RZ/G1E
33c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77470 # RZ/G1C
34c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7790  # R-Car H2
35c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7791  # R-Car M2-W
36c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7792  # R-Car V2H
37c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7793  # R-Car M2-N
38c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7794  # R-Car E2
39c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen2-usbhs
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot      - items:
42c66ec88fSEmmanuel Vadot          - enum:
43c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774a1 # RZ/G2M
44c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774b1 # RZ/G2N
45c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a774c0 # RZ/G2E
466be33864SEmmanuel Vadot              - renesas,usbhs-r8a774e1 # RZ/G2H
47c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7795  # R-Car H3
48c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a7796  # R-Car M3-W
49c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77961 # R-Car M3-W+
50c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77965 # R-Car M3-N
51c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77990 # R-Car E3
52c66ec88fSEmmanuel Vadot              - renesas,usbhs-r8a77995 # R-Car D3
53c66ec88fSEmmanuel Vadot          - const: renesas,rcar-gen3-usbhs
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  reg:
56c66ec88fSEmmanuel Vadot    maxItems: 1
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot  clocks:
59c66ec88fSEmmanuel Vadot    minItems: 1
60c66ec88fSEmmanuel Vadot    items:
61c66ec88fSEmmanuel Vadot      - description: USB 2.0 host
62c66ec88fSEmmanuel Vadot      - description: USB 2.0 peripheral
63c66ec88fSEmmanuel Vadot      - description: USB 2.0 clock selector
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  interrupts:
66354d7675SEmmanuel Vadot    minItems: 1
67354d7675SEmmanuel Vadot    maxItems: 4
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot  renesas,buswait:
70c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
71c66ec88fSEmmanuel Vadot    description: |
72c66ec88fSEmmanuel Vadot      Integer to use BUSWAIT register.
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot  renesas,enable-gpio:
755def4c47SEmmanuel Vadot    maxItems: 1
76c66ec88fSEmmanuel Vadot    description: |
77c66ec88fSEmmanuel Vadot      gpio specifier to check GPIO determining if USB function should be
78c66ec88fSEmmanuel Vadot      enabled.
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot  phys:
81c66ec88fSEmmanuel Vadot    maxItems: 1
82c66ec88fSEmmanuel Vadot
83c66ec88fSEmmanuel Vadot  phy-names:
84c66ec88fSEmmanuel Vadot    items:
85c66ec88fSEmmanuel Vadot      - const: usb
86c66ec88fSEmmanuel Vadot
87c66ec88fSEmmanuel Vadot  dmas:
88c66ec88fSEmmanuel Vadot    minItems: 2
89c66ec88fSEmmanuel Vadot    maxItems: 4
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot  dma-names:
92c66ec88fSEmmanuel Vadot    minItems: 2
93c66ec88fSEmmanuel Vadot    items:
94c66ec88fSEmmanuel Vadot      - const: ch0
95c66ec88fSEmmanuel Vadot      - const: ch1
96c66ec88fSEmmanuel Vadot      - const: ch2
97c66ec88fSEmmanuel Vadot      - const: ch3
98c66ec88fSEmmanuel Vadot
99c66ec88fSEmmanuel Vadot  dr_mode: true
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot  power-domains:
102c66ec88fSEmmanuel Vadot    maxItems: 1
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot  resets:
105c66ec88fSEmmanuel Vadot    minItems: 1
106c66ec88fSEmmanuel Vadot    items:
107c66ec88fSEmmanuel Vadot      - description: USB 2.0 host
108c66ec88fSEmmanuel Vadot      - description: USB 2.0 peripheral
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadotrequired:
111c66ec88fSEmmanuel Vadot  - compatible
112c66ec88fSEmmanuel Vadot  - reg
113c66ec88fSEmmanuel Vadot  - clocks
114c66ec88fSEmmanuel Vadot  - interrupts
115c66ec88fSEmmanuel Vadot
116354d7675SEmmanuel VadotallOf:
117354d7675SEmmanuel Vadot  - if:
118354d7675SEmmanuel Vadot      properties:
119354d7675SEmmanuel Vadot        compatible:
120354d7675SEmmanuel Vadot          contains:
121c9ccf3a3SEmmanuel Vadot            enum:
122d5b0e70fSEmmanuel Vadot              - renesas,usbhs-r9a07g043
123c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g044
124c9ccf3a3SEmmanuel Vadot              - renesas,usbhs-r9a07g054
125354d7675SEmmanuel Vadot    then:
126354d7675SEmmanuel Vadot      properties:
127354d7675SEmmanuel Vadot        interrupts:
128354d7675SEmmanuel Vadot          items:
129354d7675SEmmanuel Vadot            - description: U2P_IXL_INT
130354d7675SEmmanuel Vadot            - description: U2P_INT_DMA[0]
131354d7675SEmmanuel Vadot            - description: U2P_INT_DMA[1]
132354d7675SEmmanuel Vadot            - description: U2P_INT_DMAERR
133d5b0e70fSEmmanuel Vadot      required:
134d5b0e70fSEmmanuel Vadot        - resets
135354d7675SEmmanuel Vadot    else:
136354d7675SEmmanuel Vadot      properties:
137354d7675SEmmanuel Vadot        interrupts:
138354d7675SEmmanuel Vadot          maxItems: 1
139354d7675SEmmanuel Vadot
140c66ec88fSEmmanuel VadotadditionalProperties: false
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadotexamples:
143c66ec88fSEmmanuel Vadot  - |
144c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
145c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
146c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/r8a7790-sysc.h>
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot    usbhs: usb@e6590000 {
149c66ec88fSEmmanuel Vadot        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
150c66ec88fSEmmanuel Vadot        reg = <0xe6590000 0x100>;
151c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
152c66ec88fSEmmanuel Vadot        clocks = <&cpg CPG_MOD 704>;
153c66ec88fSEmmanuel Vadot    };
154