Merge tag 'x86-urgent-2024-03-24' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / usb / realtek,rts5411.yaml
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
7 title: Realtek RTS5411 USB 3.0 hub controller
8
9 maintainers:
10   - Matthias Kaehlcke <mka@chromium.org>
11
12 allOf:
13   - $ref: usb-device.yaml#
14
15 properties:
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
63 patternProperties:
64   '^.*@[1-4]$':
65     description: The hard wired USB devices
66     type: object
67     $ref: /schemas/usb/usb-device.yaml
68
69 required:
70   - peer-hub
71   - compatible
72   - reg
73
74 additionalProperties: false
75
76 examples:
77   - |
78     usb {
79         dr_mode = "host";
80         #address-cells = <1>;
81         #size-cells = <0>;
82
83         /* 2.0 hub on port 1 */
84         hub_2_0: hub@1 {
85             compatible = "usbbda,5411";
86             reg = <1>;
87             vdd-supply = <&pp3300_hub>;
88             peer-hub = <&hub_3_0>;
89             #address-cells = <1>;
90             #size-cells = <0>;
91             /* USB 2.0 device on port 2 */
92             device@2 {
93                 compatible = "usb123,4567";
94                 reg = <2>;
95             };
96         };
97
98         /* 3.0 hub on port 2 */
99         hub_3_0: hub@2 {
100             compatible = "usbbda,411";
101             reg = <2>;
102             vdd-supply = <&pp3300_hub>;
103             peer-hub = <&hub_2_0>;
104
105             ports {
106                 #address-cells = <1>;
107                 #size-cells = <0>;
108                 /* Type-A connector on port 4 */
109                 port@4 {
110                     reg = <4>;
111                     endpoint {
112                       remote-endpoint = <&usb_a0_ss>;
113                     };
114                 };
115             };
116         };
117     };