Thread (3 messages) 3 messages, 2 authors, 2016-06-28

[PATCH] usb: misc: Add driver for usb4604

From: robh@kernel.org (Rob Herring)
Date: 2016-06-28 20:56:47
Also in: linux-arm-msm, linux-devicetree, lkml

On Sat, Jun 25, 2016 at 10:24:54PM -0700, Stephen Boyd wrote:
quoted hunk ↗ jump to hunk
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: <redacted>
Signed-off-by: Stephen Boyd <redacted>
---
 Documentation/devicetree/bindings/usb/usb4604.txt |  19 +++
 drivers/usb/misc/Kconfig                          |   6 +
 drivers/usb/misc/Makefile                         |   1 +
 drivers/usb/misc/usb4604.c                        | 175 ++++++++++++++++++++++
 4 files changed, 201 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/usb4604.txt
 create mode 100644 drivers/usb/misc/usb4604.c
diff --git a/Documentation/devicetree/bindings/usb/usb4604.txt b/Documentation/devicetree/bindings/usb/usb4604.txt
new file mode 100644
index 000000000000..82506d17712c
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb4604.txt
@@ -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)
I was going to ask what would be the purpose of standby mode, and 
say it needs a vendor prefix, but I see you are re-using this from the 
3503.
+
+Examples:
+	usb-hub at 2d {
I'm not sure what we'll do when/if we need this as a USB bus child node.

Acked-by: Rob Herring <robh@kernel.org>
+		compatible = "smsc,usb4604";
+		reg = <0x2d>;
+		reset-gpios = <&gpx3 5 1>;
+		initial-mode = <1>;
+	};
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help