Merge tag 'firewire-fixes-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / devicetree / 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   - Michal Simek <michal.simek@amd.com>
20   - Mubin Sayyed <mubin.sayyed@amd.com>
21   - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
22
23 properties:
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
56 required:
57   - compatible
58   - reg
59
60 allOf:
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
75
76 additionalProperties: false
77
78 examples:
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     };