mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 08:26:59 +00:00
dt-bindings: usb: Add support for Microchip usb5744 hub controller
The Microchip usb5744 is a SS/HS USB 3.0 hub controller with 4 ports. Add description for USB related aspects of the USB5744 hub, it as well cover the option of connecting the controller as an i2c slave. When i2c interface is connected hub needs to be initialized first. Hub itself has fixed i2c address 0x2D but hardcoding address is not good idea because address can be shifted by i2c address translator in the middle. Signed-off-by: Piyush Mehta <piyush.mehta@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/067fb163bfe3162c596a6c69c96c43ac78288628.1683895176.git.michal.simek@amd.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3973767652
commit
02be19e914
1 changed files with 107 additions and 0 deletions
107
Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
Normal file
107
Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
Normal file
|
@ -0,0 +1,107 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip USB5744 4-port Hub Controller
|
||||
|
||||
description:
|
||||
Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
|
||||
low power, low pin count configurable and fully compliant with the USB 3.1
|
||||
Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
|
||||
(LS) USB signaling, offering complete coverage of all defined USB operating
|
||||
speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
|
||||
controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
|
||||
USB 2.0 traffic.
|
||||
|
||||
maintainers:
|
||||
- Piyush Mehta <piyush.mehta@amd.com>
|
||||
- Michal Simek <michal.simek@amd.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- usb424,2744
|
||||
- usb424,5744
|
||||
- microchip,usb5744
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO controlling the GRST# pin.
|
||||
|
||||
vdd-supply:
|
||||
description:
|
||||
VDD power supply to the hub
|
||||
|
||||
peer-hub:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to the peer hub on the controller.
|
||||
|
||||
i2c-bus:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle of an usb hub connected via i2c bus.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: microchip,usb5744
|
||||
then:
|
||||
properties:
|
||||
reset-gpios: false
|
||||
vdd-supply: false
|
||||
peer-hub: false
|
||||
i2c-bus: false
|
||||
else:
|
||||
$ref: /schemas/usb/usb-device.yaml
|
||||
required:
|
||||
- peer-hub
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c: i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
hub: usb-hub@2d {
|
||||
compatible = "microchip,usb5744";
|
||||
reg = <0x2d>;
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* 2.0 hub on port 1 */
|
||||
hub_2_0: hub@1 {
|
||||
compatible = "usb424,2744";
|
||||
reg = <1>;
|
||||
peer-hub = <&hub_3_0>;
|
||||
i2c-bus = <&hub>;
|
||||
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
/* 3.0 hub on port 2 */
|
||||
hub_3_0: hub@2 {
|
||||
compatible = "usb424,5744";
|
||||
reg = <2>;
|
||||
peer-hub = <&hub_2_0>;
|
||||
i2c-bus = <&hub>;
|
||||
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue