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