xref: /linux/Documentation/devicetree/bindings/usb/generic-xhci.yaml (revision f5e9d31e79c1ce8ba948ecac74d75e9c8d2f0c87)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/generic-xhci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: USB xHCI Controller
8
9maintainers:
10  - Mathias Nyman <mathias.nyman@intel.com>
11
12properties:
13  compatible:
14    oneOf:
15      - description: Generic xHCI device
16        const: generic-xhci
17      - description: Armada 375/38x SoCs
18        items:
19          - enum:
20              - marvell,armada-375-xhci
21              - marvell,armada-380-xhci
22      - description: Armada 37xx/8k SoCs
23        items:
24          - enum:
25              - marvell,armada3700-xhci
26              - marvell,armada-8k-xhci
27          - const: generic-xhci
28      - description: Broadcom SoCs with power domains
29        items:
30          - enum:
31              - brcm,bcm2711-xhci
32          - const: brcm,xhci-brcm-v2
33      - description: Broadcom STB SoCs with xHCI
34        enum:
35          - brcm,xhci-brcm-v2
36          - brcm,bcm7445-xhci
37      - description: Generic xHCI device
38        const: xhci-platform
39        deprecated: true
40
41  reg:
42    maxItems: 1
43
44  interrupts:
45    maxItems: 1
46
47  clocks:
48    minItems: 1
49    maxItems: 2
50
51  clock-names:
52    minItems: 1
53    items:
54      - const: core
55      - const: reg
56
57  dma-coherent: true
58
59  dr_mode:
60    enum:
61      - host
62      - otg
63
64  iommus:
65    maxItems: 1
66
67  power-domains:
68    maxItems: 1
69
70unevaluatedProperties: false
71
72required:
73  - compatible
74  - reg
75  - interrupts
76
77allOf:
78  - $ref: usb-xhci.yaml#
79  - if:
80      properties:
81        compatible:
82          contains:
83            const: brcm,bcm2711-xhci
84    then:
85      required:
86        - power-domains
87    else:
88      properties:
89        power-domains: false
90
91examples:
92  - |
93    usb@f0931000 {
94      compatible = "generic-xhci";
95      reg = <0xf0931000 0x8c8>;
96      interrupts = <0x0 0x4e 0x0>;
97    };
98