xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/usb/renesas,usbhs.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Renesas USBHS (HS-USB) controller
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunproperties:
13*4882a593Smuzhiyun  compatible:
14*4882a593Smuzhiyun    oneOf:
15*4882a593Smuzhiyun      - items:
16*4882a593Smuzhiyun          - const: renesas,usbhs-r7s72100 # RZ/A1
17*4882a593Smuzhiyun          - const: renesas,rza1-usbhs
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun      - items:
20*4882a593Smuzhiyun          - const: renesas,usbhs-r7s9210 # RZ/A2
21*4882a593Smuzhiyun          - const: renesas,rza2-usbhs
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun      - items:
24*4882a593Smuzhiyun          - enum:
25*4882a593Smuzhiyun              - renesas,usbhs-r8a7742  # RZ/G1H
26*4882a593Smuzhiyun              - renesas,usbhs-r8a7743  # RZ/G1M
27*4882a593Smuzhiyun              - renesas,usbhs-r8a7744  # RZ/G1N
28*4882a593Smuzhiyun              - renesas,usbhs-r8a7745  # RZ/G1E
29*4882a593Smuzhiyun              - renesas,usbhs-r8a77470 # RZ/G1C
30*4882a593Smuzhiyun              - renesas,usbhs-r8a7790  # R-Car H2
31*4882a593Smuzhiyun              - renesas,usbhs-r8a7791  # R-Car M2-W
32*4882a593Smuzhiyun              - renesas,usbhs-r8a7792  # R-Car V2H
33*4882a593Smuzhiyun              - renesas,usbhs-r8a7793  # R-Car M2-N
34*4882a593Smuzhiyun              - renesas,usbhs-r8a7794  # R-Car E2
35*4882a593Smuzhiyun          - const: renesas,rcar-gen2-usbhs
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun      - items:
38*4882a593Smuzhiyun          - enum:
39*4882a593Smuzhiyun              - renesas,usbhs-r8a774a1 # RZ/G2M
40*4882a593Smuzhiyun              - renesas,usbhs-r8a774b1 # RZ/G2N
41*4882a593Smuzhiyun              - renesas,usbhs-r8a774c0 # RZ/G2E
42*4882a593Smuzhiyun              - renesas,usbhs-r8a774e1 # RZ/G2H
43*4882a593Smuzhiyun              - renesas,usbhs-r8a7795  # R-Car H3
44*4882a593Smuzhiyun              - renesas,usbhs-r8a7796  # R-Car M3-W
45*4882a593Smuzhiyun              - renesas,usbhs-r8a77961 # R-Car M3-W+
46*4882a593Smuzhiyun              - renesas,usbhs-r8a77965 # R-Car M3-N
47*4882a593Smuzhiyun              - renesas,usbhs-r8a77990 # R-Car E3
48*4882a593Smuzhiyun              - renesas,usbhs-r8a77995 # R-Car D3
49*4882a593Smuzhiyun          - const: renesas,rcar-gen3-usbhs
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun  reg:
52*4882a593Smuzhiyun    maxItems: 1
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun  clocks:
55*4882a593Smuzhiyun    minItems: 1
56*4882a593Smuzhiyun    maxItems: 3
57*4882a593Smuzhiyun    items:
58*4882a593Smuzhiyun      - description: USB 2.0 host
59*4882a593Smuzhiyun      - description: USB 2.0 peripheral
60*4882a593Smuzhiyun      - description: USB 2.0 clock selector
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun  interrupts:
63*4882a593Smuzhiyun    maxItems: 1
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun  renesas,buswait:
66*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32
67*4882a593Smuzhiyun    description: |
68*4882a593Smuzhiyun      Integer to use BUSWAIT register.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun  renesas,enable-gpio:
71*4882a593Smuzhiyun    description: |
72*4882a593Smuzhiyun      gpio specifier to check GPIO determining if USB function should be
73*4882a593Smuzhiyun      enabled.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun  phys:
76*4882a593Smuzhiyun    maxItems: 1
77*4882a593Smuzhiyun    items:
78*4882a593Smuzhiyun      - description: phandle + phy specifier pair.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun  phy-names:
81*4882a593Smuzhiyun    maxItems: 1
82*4882a593Smuzhiyun    items:
83*4882a593Smuzhiyun      - const: usb
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun  dmas:
86*4882a593Smuzhiyun    minItems: 2
87*4882a593Smuzhiyun    maxItems: 4
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun  dma-names:
90*4882a593Smuzhiyun    minItems: 2
91*4882a593Smuzhiyun    maxItems: 4
92*4882a593Smuzhiyun    items:
93*4882a593Smuzhiyun      - const: ch0
94*4882a593Smuzhiyun      - const: ch1
95*4882a593Smuzhiyun      - const: ch2
96*4882a593Smuzhiyun      - const: ch3
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun  dr_mode: true
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun  power-domains:
101*4882a593Smuzhiyun    maxItems: 1
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun  resets:
104*4882a593Smuzhiyun    minItems: 1
105*4882a593Smuzhiyun    maxItems: 2
106*4882a593Smuzhiyun    items:
107*4882a593Smuzhiyun      - description: USB 2.0 host
108*4882a593Smuzhiyun      - description: USB 2.0 peripheral
109*4882a593Smuzhiyun
110*4882a593Smuzhiyunrequired:
111*4882a593Smuzhiyun  - compatible
112*4882a593Smuzhiyun  - reg
113*4882a593Smuzhiyun  - clocks
114*4882a593Smuzhiyun  - interrupts
115*4882a593Smuzhiyun
116*4882a593SmuzhiyunadditionalProperties: false
117*4882a593Smuzhiyun
118*4882a593Smuzhiyunexamples:
119*4882a593Smuzhiyun  - |
120*4882a593Smuzhiyun    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
121*4882a593Smuzhiyun    #include <dt-bindings/interrupt-controller/arm-gic.h>
122*4882a593Smuzhiyun    #include <dt-bindings/power/r8a7790-sysc.h>
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun    usbhs: usb@e6590000 {
125*4882a593Smuzhiyun        compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
126*4882a593Smuzhiyun        reg = <0xe6590000 0x100>;
127*4882a593Smuzhiyun        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
128*4882a593Smuzhiyun        clocks = <&cpg CPG_MOD 704>;
129*4882a593Smuzhiyun    };
130