usb: misc: Add driver for usb4604

This is a minimal driver to support bringing a usb4604 device
from microchip out of reset and into hub mode. The usb4604 device
is related to the usb3503 device, but it didn't seem close enough
to warrant putting both into the same file. This patch borrows
some of the usb3503 structure and trims it down to just handle
the optional reset gpio and adds the i2c command to put the
device into hub mode.

Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/00001716A.pdf
Cc: <devicetree@vger.kernel.org>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Stephen Boyd
2016-06-25 22:24:54 -07:00
committed by Greg Kroah-Hartman
parent 29b4817d40
commit 740a6a1720
4 changed files with 201 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
SMSC USB4604 High-Speed Hub Controller
Required properties:
- compatible: Should be "smsc,usb4604"
Optional properties:
- reg: Specifies the i2c slave address, it is required and should be 0x2d
if I2C is used.
- reset-gpios: Should specify GPIO for reset.
- initial-mode: Should specify initial mode.
(1 for HUB mode, 2 for STANDBY mode)
Examples:
usb-hub@2d {
compatible = "smsc,usb4604";
reg = <0x2d>;
reset-gpios = <&gpx3 5 1>;
initial-mode = <1>;
};