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