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 - Michal Simek <michal.simek@amd.com> 20 - Mubin Sayyed <mubin.sayyed@amd.com> 21 - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com> 22 23properties: 24 compatible: 25 enum: 26 - usb424,2744 27 - usb424,5744 28 - microchip,usb5744 29 30 reg: 31 maxItems: 1 32 33 reset-gpios: 34 maxItems: 1 35 description: 36 GPIO controlling the GRST# pin. 37 38 vdd-supply: 39 description: 40 3V3 power supply to the hub 41 42 vdd2-supply: 43 description: 44 1V2 power supply to the hub 45 46 peer-hub: 47 $ref: /schemas/types.yaml#/definitions/phandle 48 description: 49 phandle to the peer hub on the controller. 50 51 i2c-bus: 52 $ref: /schemas/types.yaml#/definitions/phandle 53 description: 54 phandle of an usb hub connected via i2c bus. 55 56required: 57 - compatible 58 - reg 59 60allOf: 61 - if: 62 properties: 63 compatible: 64 contains: 65 const: microchip,usb5744 66 then: 67 properties: 68 reset-gpios: false 69 vdd-supply: false 70 vdd2-supply: false 71 peer-hub: false 72 i2c-bus: false 73 else: 74 $ref: /schemas/usb/usb-device.yaml 75 required: 76 - peer-hub 77 78additionalProperties: false 79 80examples: 81 - | 82 #include <dt-bindings/gpio/gpio.h> 83 i2c: i2c { 84 #address-cells = <1>; 85 #size-cells = <0>; 86 hub: usb-hub@2d { 87 compatible = "microchip,usb5744"; 88 reg = <0x2d>; 89 }; 90 }; 91 92 usb { 93 #address-cells = <1>; 94 #size-cells = <0>; 95 96 /* 2.0 hub on port 1 */ 97 hub_2_0: hub@1 { 98 compatible = "usb424,2744"; 99 reg = <1>; 100 peer-hub = <&hub_3_0>; 101 i2c-bus = <&hub>; 102 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 103 }; 104 105 /* 3.0 hub on port 2 */ 106 hub_3_0: hub@2 { 107 compatible = "usb424,5744"; 108 reg = <2>; 109 peer-hub = <&hub_2_0>; 110 i2c-bus = <&hub>; 111 reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 112 }; 113 }; 114