xref: /linux/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml (revision 3e5a516f3bf1a33f2bf219f570e9b5c031616f6a)
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
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:
19  - Michal Simek <michal.simek@amd.com>
20  - Mubin Sayyed <mubin.sayyed@amd.com>
21  - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
22
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
75
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    };
112