Forráskód Böngészése

ARM: tegra: TrimSlice: add support for USB1 port

TrimSlice's USB1 port has two purposes; it either acts as a device port
hosting Tegra's USB recovery protocol, or acts as a host port connected
to the internal USB->SATA bridge chip, which may in turn be connected to
an SSD or HDD. Add the appropriate device tree and board configuration
options to enable this port as a host port, and route the port to the
SATA bridge using the VBUS GPIO.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Stephen Warren 12 éve
szülő
commit
7155dc97f6

+ 2 - 1
board/compulab/dts/tegra20-trimslice.dts

@@ -8,6 +8,7 @@
 
 	aliases {
 		usb0 = "/usb@c5008000";
+		usb1 = "/usb@c5000000";
 	};
 
 	memory {
@@ -48,7 +49,7 @@
 	};
 
 	usb@c5000000 {
-		status = "disabled";
+		nvidia,vbus-gpio = <&gpio 170 0>; /* PV2 */
 	};
 
 	usb@c5004000 {

+ 8 - 0
board/compulab/trimslice/trimslice.c

@@ -34,6 +34,14 @@
 #include <mmc.h>
 #endif
 
+void pin_mux_usb(void)
+{
+	/*
+	 * USB1 internal/external mux GPIO, which masquerades as a VBUS GPIO
+	 * in the current device tree.
+	 */
+	pinmux_tristate_disable(PINGRP_UAC);
+}
 
 void pin_mux_spi(void)
 {

+ 1 - 0
include/configs/trimslice.h

@@ -80,6 +80,7 @@
 #define CONFIG_ENV_OFFSET		(512 * 1024)
 
 /* USB Host support */
+#define CONFIG_USB_MAX_CONTROLLER_COUNT 3
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_TEGRA
 #define CONFIG_USB_STORAGE