xref: /freebsd/sys/contrib/device-tree/Bindings/usb/microchip,usb5744.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
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  - Piyush Mehta <piyush.mehta@amd.com>
20f126890aSEmmanuel Vadot  - Michal Simek <michal.simek@amd.com>
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadotproperties:
23f126890aSEmmanuel Vadot  compatible:
24f126890aSEmmanuel Vadot    enum:
25f126890aSEmmanuel Vadot      - usb424,2744
26f126890aSEmmanuel Vadot      - usb424,5744
27f126890aSEmmanuel Vadot      - microchip,usb5744
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot  reg:
30f126890aSEmmanuel Vadot    maxItems: 1
31f126890aSEmmanuel Vadot
32f126890aSEmmanuel Vadot  reset-gpios:
33f126890aSEmmanuel Vadot    maxItems: 1
34f126890aSEmmanuel Vadot    description:
35f126890aSEmmanuel Vadot      GPIO controlling the GRST# pin.
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadot  vdd-supply:
38f126890aSEmmanuel Vadot    description:
39*84943d6fSEmmanuel Vadot      3V3 power supply to the hub
40*84943d6fSEmmanuel Vadot
41*84943d6fSEmmanuel Vadot  vdd2-supply:
42*84943d6fSEmmanuel Vadot    description:
43*84943d6fSEmmanuel Vadot      1V2 power supply to the hub
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot  peer-hub:
46f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
47f126890aSEmmanuel Vadot    description:
48f126890aSEmmanuel Vadot      phandle to the peer hub on the controller.
49f126890aSEmmanuel Vadot
50f126890aSEmmanuel Vadot  i2c-bus:
51f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
52f126890aSEmmanuel Vadot    description:
53f126890aSEmmanuel Vadot      phandle of an usb hub connected via i2c bus.
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadotrequired:
56f126890aSEmmanuel Vadot  - compatible
57f126890aSEmmanuel Vadot  - reg
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel VadotallOf:
60f126890aSEmmanuel Vadot  - if:
61f126890aSEmmanuel Vadot      properties:
62f126890aSEmmanuel Vadot        compatible:
63f126890aSEmmanuel Vadot          contains:
64f126890aSEmmanuel Vadot            const: microchip,usb5744
65f126890aSEmmanuel Vadot    then:
66f126890aSEmmanuel Vadot      properties:
67f126890aSEmmanuel Vadot        reset-gpios: false
68f126890aSEmmanuel Vadot        vdd-supply: false
69*84943d6fSEmmanuel Vadot        vdd2-supply: false
70f126890aSEmmanuel Vadot        peer-hub: false
71f126890aSEmmanuel Vadot        i2c-bus: false
72f126890aSEmmanuel Vadot    else:
73f126890aSEmmanuel Vadot      $ref: /schemas/usb/usb-device.yaml
74f126890aSEmmanuel Vadot      required:
75f126890aSEmmanuel Vadot        - peer-hub
76f126890aSEmmanuel Vadot
77f126890aSEmmanuel VadotadditionalProperties: false
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadotexamples:
80f126890aSEmmanuel Vadot  - |
81f126890aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
82f126890aSEmmanuel Vadot    i2c: i2c {
83f126890aSEmmanuel Vadot        #address-cells = <1>;
84f126890aSEmmanuel Vadot        #size-cells = <0>;
85f126890aSEmmanuel Vadot        hub: usb-hub@2d {
86f126890aSEmmanuel Vadot            compatible = "microchip,usb5744";
87f126890aSEmmanuel Vadot            reg = <0x2d>;
88f126890aSEmmanuel Vadot        };
89f126890aSEmmanuel Vadot    };
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot    usb {
92f126890aSEmmanuel Vadot        #address-cells = <1>;
93f126890aSEmmanuel Vadot        #size-cells = <0>;
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot        /* 2.0 hub on port 1 */
96f126890aSEmmanuel Vadot        hub_2_0: hub@1 {
97f126890aSEmmanuel Vadot            compatible = "usb424,2744";
98f126890aSEmmanuel Vadot            reg = <1>;
99f126890aSEmmanuel Vadot            peer-hub = <&hub_3_0>;
100f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
101f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
102f126890aSEmmanuel Vadot        };
103f126890aSEmmanuel Vadot
104f126890aSEmmanuel Vadot        /* 3.0 hub on port 2 */
105f126890aSEmmanuel Vadot        hub_3_0: hub@2 {
106f126890aSEmmanuel Vadot            compatible = "usb424,5744";
107f126890aSEmmanuel Vadot            reg = <2>;
108f126890aSEmmanuel Vadot            peer-hub = <&hub_2_0>;
109f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
110f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
111f126890aSEmmanuel Vadot        };
112f126890aSEmmanuel Vadot    };
113