Hi Stephen,

Am Donnerstag, den 01.11.2012, 16:14 -0600 schrieb Stephen Warren:
> From: Stephen Warren <swar...@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 <swar...@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@c5008000";
> +             usb1 = "/usb@c5000000";
>       };
>  
>       memory {
> @@ -48,7 +49,7 @@
>       };
>  
>       usb@c5000000 {
> -             status = "disabled";
> +             nvidia,vbus-gpio = <&gpio 170 0>; /* PV2 */
>       };
>  
>       usb@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


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to