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