102be19e9SMichal Simek# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 202be19e9SMichal Simek%YAML 1.2 302be19e9SMichal Simek--- 402be19e9SMichal Simek$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml# 502be19e9SMichal Simek$schema: http://devicetree.org/meta-schemas/core.yaml# 602be19e9SMichal Simek 702be19e9SMichal Simektitle: Microchip USB5744 4-port Hub Controller 802be19e9SMichal Simek 902be19e9SMichal Simekdescription: 1002be19e9SMichal Simek Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS), 1102be19e9SMichal Simek low power, low pin count configurable and fully compliant with the USB 3.1 1202be19e9SMichal Simek Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed 1302be19e9SMichal Simek (LS) USB signaling, offering complete coverage of all defined USB operating 1402be19e9SMichal Simek speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0 1502be19e9SMichal Simek controller, so 5 Gbps SuperSpeed data transfers are not affected by slower 1602be19e9SMichal Simek USB 2.0 traffic. 1702be19e9SMichal Simek 1802be19e9SMichal Simekmaintainers: 1902be19e9SMichal Simek - Piyush Mehta <piyush.mehta@amd.com> 2002be19e9SMichal Simek - Michal Simek <michal.simek@amd.com> 2102be19e9SMichal Simek 2202be19e9SMichal Simekproperties: 2302be19e9SMichal Simek compatible: 2402be19e9SMichal Simek enum: 2502be19e9SMichal Simek - usb424,2744 2602be19e9SMichal Simek - usb424,5744 2702be19e9SMichal Simek - microchip,usb5744 2802be19e9SMichal Simek 2902be19e9SMichal Simek reg: 3002be19e9SMichal Simek maxItems: 1 3102be19e9SMichal Simek 3202be19e9SMichal Simek reset-gpios: 3302be19e9SMichal Simek maxItems: 1 3402be19e9SMichal Simek description: 3502be19e9SMichal Simek GPIO controlling the GRST# pin. 3602be19e9SMichal Simek 3702be19e9SMichal Simek vdd-supply: 3802be19e9SMichal Simek description: 39*a367031aSStefan Eichenberger 3V3 power supply to the hub 40*a367031aSStefan Eichenberger 41*a367031aSStefan Eichenberger vdd2-supply: 42*a367031aSStefan Eichenberger description: 43*a367031aSStefan Eichenberger 1V2 power supply to the hub 4402be19e9SMichal Simek 4502be19e9SMichal Simek peer-hub: 4602be19e9SMichal Simek $ref: /schemas/types.yaml#/definitions/phandle 4702be19e9SMichal Simek description: 4802be19e9SMichal Simek phandle to the peer hub on the controller. 4902be19e9SMichal Simek 5002be19e9SMichal Simek i2c-bus: 5102be19e9SMichal Simek $ref: /schemas/types.yaml#/definitions/phandle 5202be19e9SMichal Simek description: 5302be19e9SMichal Simek phandle of an usb hub connected via i2c bus. 5402be19e9SMichal Simek 5502be19e9SMichal Simekrequired: 5602be19e9SMichal Simek - compatible 5702be19e9SMichal Simek - reg 5802be19e9SMichal Simek 5902be19e9SMichal SimekallOf: 6002be19e9SMichal Simek - if: 6102be19e9SMichal Simek properties: 6202be19e9SMichal Simek compatible: 6302be19e9SMichal Simek contains: 6402be19e9SMichal Simek const: microchip,usb5744 6502be19e9SMichal Simek then: 6602be19e9SMichal Simek properties: 6702be19e9SMichal Simek reset-gpios: false 6802be19e9SMichal Simek vdd-supply: false 69*a367031aSStefan Eichenberger vdd2-supply: false 7002be19e9SMichal Simek peer-hub: false 7102be19e9SMichal Simek i2c-bus: false 7202be19e9SMichal Simek else: 7302be19e9SMichal Simek $ref: /schemas/usb/usb-device.yaml 7402be19e9SMichal Simek required: 7502be19e9SMichal Simek - peer-hub 7602be19e9SMichal Simek 7702be19e9SMichal SimekadditionalProperties: false 7802be19e9SMichal Simek 7902be19e9SMichal Simekexamples: 8002be19e9SMichal Simek - | 8102be19e9SMichal Simek #include <dt-bindings/gpio/gpio.h> 8202be19e9SMichal Simek i2c: i2c { 8302be19e9SMichal Simek #address-cells = <1>; 8402be19e9SMichal Simek #size-cells = <0>; 8502be19e9SMichal Simek hub: usb-hub@2d { 8602be19e9SMichal Simek compatible = "microchip,usb5744"; 8702be19e9SMichal Simek reg = <0x2d>; 8802be19e9SMichal Simek }; 8902be19e9SMichal Simek }; 9002be19e9SMichal Simek 9102be19e9SMichal Simek usb { 9202be19e9SMichal Simek #address-cells = <1>; 9302be19e9SMichal Simek #size-cells = <0>; 9402be19e9SMichal Simek 9502be19e9SMichal Simek /* 2.0 hub on port 1 */ 9602be19e9SMichal Simek hub_2_0: hub@1 { 9702be19e9SMichal Simek compatible = "usb424,2744"; 9802be19e9SMichal Simek reg = <1>; 9902be19e9SMichal Simek peer-hub = <&hub_3_0>; 10002be19e9SMichal Simek i2c-bus = <&hub>; 10102be19e9SMichal Simek reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 10202be19e9SMichal Simek }; 10302be19e9SMichal Simek 10402be19e9SMichal Simek /* 3.0 hub on port 2 */ 10502be19e9SMichal Simek hub_3_0: hub@2 { 10602be19e9SMichal Simek compatible = "usb424,5744"; 10702be19e9SMichal Simek reg = <2>; 10802be19e9SMichal Simek peer-hub = <&hub_2_0>; 10902be19e9SMichal Simek i2c-bus = <&hub>; 11002be19e9SMichal Simek reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>; 11102be19e9SMichal Simek }; 11202be19e9SMichal Simek }; 113