xref: /linux/Documentation/devicetree/bindings/usb/usb-uhci.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/usb-uhci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic Platform UHCI Controller
8
9maintainers:
10  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12properties:
13  compatible:
14    oneOf:
15      - const: generic-uhci
16      - const: platform-uhci
17        deprecated: true
18      - items:
19          - enum:
20              - aspeed,ast2400-uhci
21              - aspeed,ast2500-uhci
22              - aspeed,ast2600-uhci
23              - aspeed,ast2700-uhci
24          - const: generic-uhci
25
26  reg:
27    maxItems: 1
28
29  interrupts:
30    maxItems: 1
31
32  resets:
33    maxItems: 1
34
35  '#ports':
36    $ref: /schemas/types.yaml#/definitions/uint32
37
38  clocks:
39    maxItems: 1
40
41required:
42  - compatible
43  - reg
44  - interrupts
45
46allOf:
47  - $ref: usb-hcd.yaml
48  - if:
49      properties:
50        compatible:
51          contains:
52            const: generic-uhci
53    then:
54      required:
55        - clocks
56
57  - if:
58      properties:
59        compatible:
60          contains:
61            const: aspeed,ast2700-uhci
62    then:
63      required:
64        - resets
65
66unevaluatedProperties: false
67
68examples:
69  - |
70    #include <dt-bindings/clock/aspeed-clock.h>
71
72    usb@d8007b00 {
73        compatible = "generic-uhci";
74        reg = <0xd8007b00 0x200>;
75        interrupts = <43>;
76        clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
77    };
78  - |
79    #include <dt-bindings/clock/aspeed-clock.h>
80
81    usb@1e6b0000 {
82        compatible = "aspeed,ast2500-uhci", "generic-uhci";
83        reg = <0x1e6b0000 0x100>;
84        interrupts = <14>;
85        #ports = <2>;
86        clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
87    };
88...
89