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 37xx/375/38x/8k SoCs
18        items:
19          - enum:
20              - marvell,armada3700-xhci
21              - marvell,armada-375-xhci
22              - marvell,armada-380-xhci
23              - marvell,armada-8k-xhci
24          - const: generic-xhci
25      - description: Broadcom SoCs with power domains
26        items:
27          - enum:
28              - brcm,bcm2711-xhci
29          - const: brcm,xhci-brcm-v2
30      - description: Broadcom STB SoCs with xHCI
31        enum:
32          - brcm,xhci-brcm-v2
33          - brcm,bcm7445-xhci
34      - description: Generic xHCI device
35        const: xhci-platform
36        deprecated: true
37
38  reg:
39    maxItems: 1
40
41  interrupts:
42    maxItems: 1
43
44  clocks:
45    minItems: 1
46    maxItems: 2
47
48  clock-names:
49    minItems: 1
50    items:
51      - const: core
52      - const: reg
53
54  power-domains:
55    maxItems: 1
56
57unevaluatedProperties: false
58
59required:
60  - compatible
61  - reg
62  - interrupts
63
64allOf:
65  - $ref: usb-xhci.yaml#
66  - if:
67      properties:
68        compatible:
69          contains:
70            const: brcm,bcm2711-xhci
71    then:
72      required:
73        - power-domains
74    else:
75      properties:
76        power-domains: false
77
78examples:
79  - |
80    usb@f0931000 {
81      compatible = "generic-xhci";
82      reg = <0xf0931000 0x8c8>;
83      interrupts = <0x0 0x4e 0x0>;
84    };
85