[U-Boot] [PATCH] ARM: tegra: TrimSlice: add support for USB1 port
Lucas Stach
dev at lynxeye.de
Fri Nov 2 00:17:43 CET 2012
Hi Stephen,
Am Donnerstag, den 01.11.2012, 16:14 -0600 schrieb Stephen Warren:
> From: Stephen Warren <swarren at nvidia.com>
>
> 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.
>
Hm, I don't really like to abuse the VBUS GPIO for this function. As the
GPIO controlled routing is more a sort of pinmux can't you just add the
GPIO enable to pin_mux_usb()?
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> board/compulab/dts/tegra20-trimslice.dts | 3 ++-
> board/compulab/trimslice/trimslice.c | 8 ++++++++
> include/configs/trimslice.h | 1 +
> 3 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/board/compulab/dts/tegra20-trimslice.dts b/board/compulab/dts/tegra20-trimslice.dts
> index db79e77..4450674 100644
> --- a/board/compulab/dts/tegra20-trimslice.dts
> +++ b/board/compulab/dts/tegra20-trimslice.dts
> @@ -8,6 +8,7 @@
>
> aliases {
> usb0 = "/usb at c5008000";
> + usb1 = "/usb at c5000000";
> };
>
> memory {
> @@ -48,7 +49,7 @@
> };
>
> usb at c5000000 {
> - status = "disabled";
> + nvidia,vbus-gpio = <&gpio 170 0>; /* PV2 */
> };
>
> usb at c5004000 {
> diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c
> index 9ef66fd..8f4dd09 100644
> --- a/board/compulab/trimslice/trimslice.c
> +++ b/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)
> {
> diff --git a/include/configs/trimslice.h b/include/configs/trimslice.h
> index eeb0dbe..165bc73 100644
> --- a/include/configs/trimslice.h
> +++ b/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
More information about the U-Boot
mailing list