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  dma-coherent: true
55
56  power-domains:
57    maxItems: 1
58
59unevaluatedProperties: false
60
61required:
62  - compatible
63  - reg
64  - interrupts
65
66allOf:
67  - $ref: usb-xhci.yaml#
68  - if:
69      properties:
70        compatible:
71          contains:
72            const: brcm,bcm2711-xhci
73    then:
74      required:
75        - power-domains
76    else:
77      properties:
78        power-domains: false
79
80examples:
81  - |
82    usb@f0931000 {
83      compatible = "generic-xhci";
84      reg = <0xf0931000 0x8c8>;
85      interrupts = <0x0 0x4e 0x0>;
86    };
87