xref: /linux/Documentation/devicetree/bindings/usb/realtek,rts5411.yaml (revision c94cd9508b1335b949fd13ebd269313c65492df0)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/realtek,rts5411.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Realtek RTS5411 USB 3.0 hub controller
8
9maintainers:
10  - Matthias Kaehlcke <mka@chromium.org>
11
12allOf:
13  - $ref: usb-device.yaml#
14
15properties:
16  compatible:
17    items:
18      - enum:
19          - usbbda,5411
20          - usbbda,411
21
22  reg: true
23
24  '#address-cells':
25    const: 1
26
27  '#size-cells':
28    const: 0
29
30  vdd-supply:
31    description:
32      phandle to the regulator that provides power to the hub.
33
34  peer-hub:
35    $ref: /schemas/types.yaml#/definitions/phandle
36    description:
37      phandle to the peer hub on the controller.
38
39  ports:
40    $ref: /schemas/graph.yaml#/properties/ports
41
42    properties:
43      port@1:
44        $ref: /schemas/graph.yaml#/properties/port
45        description:
46          1st downstream facing USB port
47
48      port@2:
49        $ref: /schemas/graph.yaml#/properties/port
50        description:
51          2nd downstream facing USB port
52
53      port@3:
54        $ref: /schemas/graph.yaml#/properties/port
55        description:
56          3rd downstream facing USB port
57
58      port@4:
59        $ref: /schemas/graph.yaml#/properties/port
60        description:
61          4th downstream facing USB port
62
63patternProperties:
64  '^.*@[1-4]$':
65    description: The hard wired USB devices
66    type: object
67    $ref: /schemas/usb/usb-device.yaml
68    additionalProperties: true
69
70required:
71  - peer-hub
72  - compatible
73  - reg
74
75additionalProperties: false
76
77examples:
78  - |
79    usb {
80        dr_mode = "host";
81        #address-cells = <1>;
82        #size-cells = <0>;
83
84        /* 2.0 hub on port 1 */
85        hub_2_0: hub@1 {
86            compatible = "usbbda,5411";
87            reg = <1>;
88            vdd-supply = <&pp3300_hub>;
89            peer-hub = <&hub_3_0>;
90            #address-cells = <1>;
91            #size-cells = <0>;
92            /* USB 2.0 device on port 2 */
93            device@2 {
94                compatible = "usb123,4567";
95                reg = <2>;
96            };
97        };
98
99        /* 3.0 hub on port 2 */
100        hub_3_0: hub@2 {
101            compatible = "usbbda,411";
102            reg = <2>;
103            vdd-supply = <&pp3300_hub>;
104            peer-hub = <&hub_2_0>;
105
106            ports {
107                #address-cells = <1>;
108                #size-cells = <0>;
109                /* Type-A connector on port 4 */
110                port@4 {
111                    reg = <4>;
112                    endpoint {
113                      remote-endpoint = <&usb_a0_ss>;
114                    };
115                };
116            };
117        };
118    };
119