blob: fc833363cfb4925828ccfd7c136001ec15b7bf59 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Genesys Logic USB hub controller
8
9maintainers:
10 - Icenowy Zheng <uwu@icenowy.me>
11
Tom Rini53633a82024-02-29 12:33:36 -050012properties:
13 compatible:
14 enum:
15 - usb5e3,608
16 - usb5e3,610
17 - usb5e3,620
18 - usb5e3,626
19
20 reg: true
21
22 reset-gpios:
23 description: GPIO controlling the RESET# pin.
24
25 vdd-supply:
26 description:
Tom Rini6b642ac2024-10-01 12:20:28 -060027 The regulator that provides 3.3V or 5.0V core power to the hub.
Tom Rini53633a82024-02-29 12:33:36 -050028
Tom Rini93743d22024-04-01 09:08:13 -040029 peer-hub:
30 $ref: /schemas/types.yaml#/definitions/phandle
31 description:
Tom Rini6b642ac2024-10-01 12:20:28 -060032 For onboard hub controllers that support USB 3.x and USB 2.0 hubs
33 with shared resets and power supplies, this property is used to identify
34 the hubs with which these are shared.
Tom Rini93743d22024-04-01 09:08:13 -040035
Tom Rini53633a82024-02-29 12:33:36 -050036required:
37 - compatible
38 - reg
39
Tom Rini6b642ac2024-10-01 12:20:28 -060040allOf:
41 - $ref: usb-device.yaml#
42 - if:
43 properties:
44 compatible:
45 contains:
46 enum:
47 - usb5e3,608
48 then:
49 properties:
50 peer-hub: false
51 vdd-supply: false
52
53 - if:
54 properties:
55 compatible:
56 contains:
57 enum:
58 - usb5e3,610
59 - usb5e3,620
60 then:
61 properties:
62 peer-hub: true
63 vdd-supply: true
64
Tom Rini53633a82024-02-29 12:33:36 -050065additionalProperties: false
66
67examples:
68 - |
69 #include <dt-bindings/gpio/gpio.h>
70 usb {
71 dr_mode = "host";
72 #address-cells = <1>;
73 #size-cells = <0>;
74
75 hub: hub@1 {
76 compatible = "usb5e3,608";
77 reg = <1>;
78 reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
79 };
80 };
Tom Rini6b642ac2024-10-01 12:20:28 -060081
82 - |
83 #include <dt-bindings/gpio/gpio.h>
84 usb {
85 dr_mode = "host";
86 #address-cells = <1>;
87 #size-cells = <0>;
88
89 /* 2.0 hub on port 1 */
90 hub_2_0: hub@1 {
91 compatible = "usb5e3,610";
92 reg = <1>;
93 peer-hub = <&hub_3_0>;
94 reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
95 vdd-supply = <&vcc_5v>;
96 };
97
98 /* 3.1 hub on port 4 */
99 hub_3_0: hub@2 {
100 compatible = "usb5e3,620";
101 reg = <2>;
102 peer-hub = <&hub_2_0>;
103 reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
104 vdd-supply = <&vcc_5v>;
105 };
106 };