blob: e2a72deae7760195d27fc450750d84144b1c3372 [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/microchip,usb5744.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip USB5744 4-port Hub Controller
8
9description:
10 Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
11 low power, low pin count configurable and fully compliant with the USB 3.1
12 Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
13 (LS) USB signaling, offering complete coverage of all defined USB operating
14 speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
15 controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
16 USB 2.0 traffic.
17
18maintainers:
Tom Rini53633a82024-02-29 12:33:36 -050019 - Michal Simek <michal.simek@amd.com>
Tom Rini93743d22024-04-01 09:08:13 -040020 - Mubin Sayyed <mubin.sayyed@amd.com>
21 - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Tom Rini53633a82024-02-29 12:33:36 -050022
23properties:
24 compatible:
25 enum:
26 - usb424,2744
27 - usb424,5744
28 - microchip,usb5744
29
30 reg:
31 maxItems: 1
32
33 reset-gpios:
34 maxItems: 1
35 description:
36 GPIO controlling the GRST# pin.
37
38 vdd-supply:
39 description:
40 3V3 power supply to the hub
41
42 vdd2-supply:
43 description:
44 1V2 power supply to the hub
45
46 peer-hub:
47 $ref: /schemas/types.yaml#/definitions/phandle
48 description:
49 phandle to the peer hub on the controller.
50
51 i2c-bus:
52 $ref: /schemas/types.yaml#/definitions/phandle
53 description:
54 phandle of an usb hub connected via i2c bus.
55
56required:
57 - compatible
58 - reg
59
60allOf:
61 - if:
62 properties:
63 compatible:
64 contains:
65 const: microchip,usb5744
66 then:
67 properties:
68 reset-gpios: false
69 vdd-supply: false
70 vdd2-supply: false
71 peer-hub: false
72 i2c-bus: false
73 else:
74 $ref: /schemas/usb/usb-device.yaml
Tom Rini53633a82024-02-29 12:33:36 -050075
76additionalProperties: false
77
78examples:
79 - |
80 #include <dt-bindings/gpio/gpio.h>
81 i2c: i2c {
82 #address-cells = <1>;
83 #size-cells = <0>;
84 hub: usb-hub@2d {
85 compatible = "microchip,usb5744";
86 reg = <0x2d>;
87 };
88 };
89
90 usb {
91 #address-cells = <1>;
92 #size-cells = <0>;
93
94 /* 2.0 hub on port 1 */
95 hub_2_0: hub@1 {
96 compatible = "usb424,2744";
97 reg = <1>;
98 peer-hub = <&hub_3_0>;
99 i2c-bus = <&hub>;
100 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
101 };
102
103 /* 3.0 hub on port 2 */
104 hub_3_0: hub@2 {
105 compatible = "usb424,5744";
106 reg = <2>;
107 peer-hub = <&hub_2_0>;
108 i2c-bus = <&hub>;
109 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
110 };
111 };