xref: /freebsd/sys/contrib/device-tree/Bindings/usb/microchip,usb5744.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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      required:
76f126890aSEmmanuel Vadot        - peer-hub
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel VadotadditionalProperties: false
79f126890aSEmmanuel Vadot
80f126890aSEmmanuel Vadotexamples:
81f126890aSEmmanuel Vadot  - |
82f126890aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
83f126890aSEmmanuel Vadot    i2c: i2c {
84f126890aSEmmanuel Vadot        #address-cells = <1>;
85f126890aSEmmanuel Vadot        #size-cells = <0>;
86f126890aSEmmanuel Vadot        hub: usb-hub@2d {
87f126890aSEmmanuel Vadot            compatible = "microchip,usb5744";
88f126890aSEmmanuel Vadot            reg = <0x2d>;
89f126890aSEmmanuel Vadot        };
90f126890aSEmmanuel Vadot    };
91f126890aSEmmanuel Vadot
92f126890aSEmmanuel Vadot    usb {
93f126890aSEmmanuel Vadot        #address-cells = <1>;
94f126890aSEmmanuel Vadot        #size-cells = <0>;
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot        /* 2.0 hub on port 1 */
97f126890aSEmmanuel Vadot        hub_2_0: hub@1 {
98f126890aSEmmanuel Vadot            compatible = "usb424,2744";
99f126890aSEmmanuel Vadot            reg = <1>;
100f126890aSEmmanuel Vadot            peer-hub = <&hub_3_0>;
101f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
102f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
103f126890aSEmmanuel Vadot        };
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot        /* 3.0 hub on port 2 */
106f126890aSEmmanuel Vadot        hub_3_0: hub@2 {
107f126890aSEmmanuel Vadot            compatible = "usb424,5744";
108f126890aSEmmanuel Vadot            reg = <2>;
109f126890aSEmmanuel Vadot            peer-hub = <&hub_2_0>;
110f126890aSEmmanuel Vadot            i2c-bus = <&hub>;
111f126890aSEmmanuel Vadot            reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
112f126890aSEmmanuel Vadot        };
113f126890aSEmmanuel Vadot    };
114