]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - board/nvidia/seaboard/seaboard.c
ARM: tegra: fix ULPI PHY on Ventana and Seaboard
[people/ms/u-boot.git] / board / nvidia / seaboard / seaboard.c
index ce2db40f9ebf2351af0975f1036242377327a752..4e01deb02fb0670fd99aa8fc7ffefc665173aec1 100644 (file)
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/tegra.h>
+#include <asm/arch-tegra/board.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.h>
 #include <asm/arch/gpio.h>
 void gpio_early_init_uart(void)
 {
        /* Enable UART via GPIO_PI3 (port 8, bit 3) so serial console works */
-#ifndef CONFIG_SPL_BUILD
-       gpio_request(GPIO_PI3, NULL);
-#endif
-       gpio_direction_output(GPIO_PI3, 0);
+       gpio_request(TEGRA_GPIO(I, 3), "uart_en");
+       gpio_direction_output(TEGRA_GPIO(I, 3), 0);
 }
 #endif
 
@@ -45,6 +44,12 @@ void pin_mux_mmc(void)
 
 void pin_mux_usb(void)
 {
-       /* For USB's GPIO PD0. For now, since we have no pinmux in fdt */
+       /* For USB0's GPIO PD0. For now, since we have no pinmux in fdt */
        pinmux_tristate_disable(PMUX_PINGRP_SLXK);
+       /* For USB1's ULPI signals */
+       funcmux_select(PERIPH_ID_USB2, FUNCMUX_USB2_ULPI);
+       pinmux_set_func(PMUX_PINGRP_CDEV2, PMUX_FUNC_PLLP_OUT4);
+       pinmux_tristate_disable(PMUX_PINGRP_CDEV2);
+       /* USB1 PHY reset GPIO */
+       pinmux_tristate_disable(PMUX_PINGRP_UAC);
 }