blob: 1a07c0d2b1b142b8ab40c81fccda52357e2c6f3b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/renesas,usb-xhci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas USB xHCI controllers
8
9maintainers:
10 - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
12
13properties:
14 compatible:
15 oneOf:
16 - items:
17 - enum:
18 - renesas,xhci-r8a7742 # RZ/G1H
19 - renesas,xhci-r8a7743 # RZ/G1M
20 - renesas,xhci-r8a7744 # RZ/G1N
21 - renesas,xhci-r8a7790 # R-Car H2
22 - renesas,xhci-r8a7791 # R-Car M2-W
23 - renesas,xhci-r8a7793 # R-Car M2-N
24 - const: renesas,rcar-gen2-xhci # R-Car Gen2 and RZ/G1
25 - items:
26 - enum:
27 - renesas,xhci-r8a774a1 # RZ/G2M
28 - renesas,xhci-r8a774b1 # RZ/G2N
29 - renesas,xhci-r8a774c0 # RZ/G2E
30 - renesas,xhci-r8a774e1 # RZ/G2H
31 - renesas,xhci-r8a7795 # R-Car H3
32 - renesas,xhci-r8a7796 # R-Car M3-W
33 - renesas,xhci-r8a77961 # R-Car M3-W+
34 - renesas,xhci-r8a77965 # R-Car M3-N
35 - renesas,xhci-r8a77990 # R-Car E3
36 - const: renesas,rcar-gen3-xhci # R-Car Gen3 and RZ/G2
37 - items:
38 - enum:
39 - renesas,r9a09g011-xhci # RZ/V2M
40 - renesas,r9a09g055-xhci # RZ/V2MA
41 - const: renesas,rzv2m-xhci # RZ/{V2M, V2MA}
42
43 reg:
44 maxItems: 1
45
46 interrupts:
47 maxItems: 1
48
49 clocks:
50 minItems: 1
51 items:
52 - description: Main clock for host
53 - description: Register access clock
54
55 clock-names:
56 minItems: 1
57 items:
58 - const: axi
59 - const: reg
60
61 phys:
62 maxItems: 1
63
64 phy-names:
65 items:
66 - const: usb
67
68 power-domains:
69 maxItems: 1
70
71 resets:
72 maxItems: 1
73
74required:
75 - compatible
76 - reg
77 - interrupts
78 - clocks
79 - power-domains
80 - resets
81
82allOf:
83 - $ref: usb-xhci.yaml
84
85 - if:
86 properties:
87 compatible:
88 contains:
89 enum:
90 - renesas,rzv2m-xhci
91 then:
92 properties:
93 clocks:
94 minItems: 2
95 clock-names:
96 minItems: 2
97 required:
98 - clock-names
99 else:
100 properties:
101 clocks:
102 maxItems: 1
103
104unevaluatedProperties: false
105
106examples:
107 - |
108 #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
109 #include <dt-bindings/interrupt-controller/arm-gic.h>
110 #include <dt-bindings/power/r8a7795-sysc.h>
111
112 xhci0: usb@ee000000 {
113 compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
114 reg = <0xee000000 0xc00>;
115 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
116 clocks = <&cpg CPG_MOD 328>;
117 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
118 resets = <&cpg 328>;
119 };