xref: /freebsd/sys/contrib/device-tree/Bindings/usb/microchip,usb5744.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f126890aSEmmanuel Vadot%YAML 1.2
3f126890aSEmmanuel Vadot---
4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml#
5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadottitle: Microchip USB5744 4-port Hub Controller
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadotdescription:
10f126890aSEmmanuel Vadot  Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
11f126890aSEmmanuel Vadot  low power, low pin count configurable and fully compliant with the USB 3.1
12f126890aSEmmanuel Vadot  Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
13f126890aSEmmanuel Vadot  (LS) USB signaling, offering complete coverage of all defined USB operating
14f126890aSEmmanuel Vadot  speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
15f126890aSEmmanuel Vadot  controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
16f126890aSEmmanuel Vadot  USB 2.0 traffic.
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadotmaintainers:
19f126890aSEmmanuel Vadot  - Michal Simek <michal.simek@amd.com>
20*8d13bc63SEmmanuel Vadot  - Mubin Sayyed <mubin.sayyed@amd.com>
21*8d13bc63SEmmanuel Vadot  - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadotproperties:
24f126890aSEmmanuel Vadot  compatible:
25f126890aSEmmanuel Vadot    enum:
26f126890aSEmmanuel Vadot      - usb424,2744
27f126890aSEmmanuel Vadot      - usb424,5744
28f126890aSEmmanuel Vadot      - microchip,usb5744
29f126890aSEmmanuel Vadot
30f126890aSEmmanuel Vadot  reg:
31f126890aSEmmanuel Vadot    maxItems: 1
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadot  reset-gpios:
34f126890aSEmmanuel Vadot    maxItems: 1
35f126890aSEmmanuel Vadot    description:
36f126890aSEmmanuel Vadot      GPIO controlling the GRST# pin.
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot  vdd-supply:
39f126890aSEmmanuel Vadot    description:
4084943d6fSEmmanuel Vadot      3V3 power supply to the hub
4184943d6fSEmmanuel Vadot
4284943d6fSEmmanuel Vadot  vdd2-supply:
4384943d6fSEmmanuel Vadot    description:
4484943d6fSEmmanuel Vadot      1V2 power supply to the hub
45f126890aSEmmanuel Vadot
46f126890aSEmmanuel Vadot  peer-hub:
47f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
48f126890aSEmmanuel Vadot    description:
49f126890aSEmmanuel Vadot      phandle to the peer hub on the controller.
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot  i2c-bus:
52f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
53f126890aSEmmanuel Vadot    description:
54f126890aSEmmanuel Vadot      phandle of an usb hub connected via i2c bus.
55f126890aSEmmanuel Vadot
56f126890aSEmmanuel Vadotrequired:
57f126890aSEmmanuel Vadot  - compatible
58f126890aSEmmanuel Vadot  - reg
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel VadotallOf:
61f126890aSEmmanuel Vadot  - if:
62f126890aSEmmanuel Vadot      properties:
63f126890aSEmmanuel Vadot        compatible:
64f126890aSEmmanuel Vadot          contains:
65f126890aSEmmanuel Vadot            const: microchip,usb5744
66f126890aSEmmanuel Vadot    then:
67f126890aSEmmanuel Vadot      properties:
68f126890aSEmmanuel Vadot        reset-gpios: false
69f126890aSEmmanuel Vadot        vdd-supply: false
7084943d6fSEmmanuel Vadot        vdd2-supply: false
71f126890aSEmmanuel Vadot        peer-hub: false
72f126890aSEmmanuel Vadot        i2c-bus: false
73f126890aSEmmanuel Vadot    else:
74f126890aSEmmanuel Vadot      $ref: /schemas/usb/usb-device.yaml
75f126890aSEmmanuel Vadot
76f126890aSEmmanuel VadotadditionalProperties: false
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadotexamples:
79f126890aSEmmanuel Vadot  - |
80f126890aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
81f126890aSEmmanuel Vadot    i2c: i2c {
82f126890aSEmmanuel Vadot        #address-cells = <1>;
83f126890aSEmmanuel Vadot        #size-cells = <0>;
84f126890aSEmmanuel Vadot        hub: usb-hub@2d {
85f126890aSEmmanuel Vadot            compatible = "microchip,usb5744";
86f126890aSEmmanuel Vadot            reg = <0x2d>;
87f126890aSEmmanuel Vadot        };
88f126890aSEmmanuel Vadot    };
89f126890aSEmmanuel Vadot
90f126890aSEmmanuel Vadot    usb {
91f126890aSEmmanuel Vadot        #address-cells = <1>;
92f126890aSEmmanuel Vadot        #size-cells = <0>;
93f126890aSEmmanuel Vadot
94f126890aSEmmanuel Vadot        /* 2.0 hub on port 1 */
95f126890aSEmmanuel Vadot        hub_2_0: hub@1 {
96f126890aSEmmanuel Vadot            compatible = "usb424,2744";
97f126890aSEmmanuel Vadot            reg = <1>;
98f126890aSEmmanuel Vadot            peer-hub = <&hub_3_0>;
99f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
100f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
101f126890aSEmmanuel Vadot        };
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot        /* 3.0 hub on port 2 */
104f126890aSEmmanuel Vadot        hub_3_0: hub@2 {
105f126890aSEmmanuel Vadot            compatible = "usb424,5744";
106f126890aSEmmanuel Vadot            reg = <2>;
107f126890aSEmmanuel Vadot            peer-hub = <&hub_2_0>;
108f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
109f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
110f126890aSEmmanuel Vadot        };
111f126890aSEmmanuel Vadot    };
112