]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/usb/microchip,usb5744.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / usb / microchip,usb5744.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/microchip,usb5744.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Microchip USB5744 4-port Hub Controller
8
9 description:
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
18 maintainers:
19 - Piyush Mehta <piyush.mehta@amd.com>
20 - Michal Simek <michal.simek@amd.com>
21
22 properties:
23 compatible:
24 enum:
25 - usb424,2744
26 - usb424,5744
27 - microchip,usb5744
28
29 reg:
30 maxItems: 1
31
32 reset-gpios:
33 maxItems: 1
34 description:
35 GPIO controlling the GRST# pin.
36
37 vdd-supply:
38 description:
39 3V3 power supply to the hub
40
41 vdd2-supply:
42 description:
43 1V2 power supply to the hub
44
45 peer-hub:
46 $ref: /schemas/types.yaml#/definitions/phandle
47 description:
48 phandle to the peer hub on the controller.
49
50 i2c-bus:
51 $ref: /schemas/types.yaml#/definitions/phandle
52 description:
53 phandle of an usb hub connected via i2c bus.
54
55 required:
56 - compatible
57 - reg
58
59 allOf:
60 - if:
61 properties:
62 compatible:
63 contains:
64 const: microchip,usb5744
65 then:
66 properties:
67 reset-gpios: false
68 vdd-supply: false
69 vdd2-supply: false
70 peer-hub: false
71 i2c-bus: false
72 else:
73 $ref: /schemas/usb/usb-device.yaml
74 required:
75 - peer-hub
76
77 additionalProperties: false
78
79 examples:
80 - |
81 #include <dt-bindings/gpio/gpio.h>
82 i2c: i2c {
83 #address-cells = <1>;
84 #size-cells = <0>;
85 hub: usb-hub@2d {
86 compatible = "microchip,usb5744";
87 reg = <0x2d>;
88 };
89 };
90
91 usb {
92 #address-cells = <1>;
93 #size-cells = <0>;
94
95 /* 2.0 hub on port 1 */
96 hub_2_0: hub@1 {
97 compatible = "usb424,2744";
98 reg = <1>;
99 peer-hub = <&hub_3_0>;
100 i2c-bus = <&hub>;
101 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
102 };
103
104 /* 3.0 hub on port 2 */
105 hub_3_0: hub@2 {
106 compatible = "usb424,5744";
107 reg = <2>;
108 peer-hub = <&hub_2_0>;
109 i2c-bus = <&hub>;
110 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
111 };
112 };