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 VDD power supply to the hub 40 41 peer-hub: 42 $ref: /schemas/types.yaml#/definitions/phandle 43 description: 44 phandle to the peer hub on the controller. 45 46 i2c-bus: 47 $ref: /schemas/types.yaml#/definitions/phandle 48 description: 49 phandle of an usb hub connected via i2c bus. 50 51required: 52 - compatible 53 - reg 54 55allOf: 56 - if: 57 properties: 58 compatible: 59 contains: 60 const: microchip,usb5744 61 then: 62 properties: 63 reset-gpios: false 64 vdd-supply: false 65 peer-hub: false 66 i2c-bus: false 67 else: 68 $ref: /schemas/usb/usb-device.yaml 69 required: 70 - peer-hub 71 72additionalProperties: false 73 74examples: 75 - | 76 #include <dt-bindings/gpio/gpio.h> 77 i2c: i2c { 78 #address-cells = <1>; 79 #size-cells = <0>; 80 hub: usb-hub@2d { 81 compatible = "microchip,usb5744"; 82 reg = <0x2d>; 83 }; 84 }; 85 86 usb { 87 #address-cells = <1>; 88 #size-cells = <0>; 89 90 /* 2.0 hub on port 1 */ 91 hub_2_0: hub@1 { 92 compatible = "usb424,2744"; 93 reg = <1>; 94 peer-hub = <&hub_3_0>; 95 i2c-bus = <&hub>; 96 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 97 }; 98 99 /* 3.0 hub on port 2 */ 100 hub_3_0: hub@2 { 101 compatible = "usb424,5744"; 102 reg = <2>; 103 peer-hub = <&hub_2_0>; 104 i2c-bus = <&hub>; 105 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 106 }; 107 }; 108