Tegra: MMC: Add DT support to MMC driver for all T20 boards
[oweals/u-boot.git] / board / nvidia / harmony / harmony.c
index c23a87ddade33de09b6d7b882d203521c0ab12d0..312244139c7ff20ba4f68089928fc846eb6cca28 100644 (file)
 #include <asm/arch/funcmux.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/tegra.h>
-#include <asm/arch-tegra/mmc.h>
 #include <asm/gpio.h>
-#ifdef CONFIG_TEGRA_MMC
-#include <mmc.h>
-#endif
-
-/*
- * Routine: gpio_config_uart
- * Description: Does nothing on Harmony - no conflict w/SPI.
- */
-void gpio_config_uart(void)
-{
-}
 
 #ifdef CONFIG_TEGRA_MMC
 /*
  * Routine: pin_mux_mmc
  * Description: setup the pin muxes/tristate values for the SDMMC(s)
  */
-static void pin_mux_mmc(void)
+void pin_mux_mmc(void)
 {
        funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
        funcmux_select(PERIPH_ID_SDMMC2, FUNCMUX_SDMMC2_DTA_DTD_8BIT);
@@ -61,24 +49,13 @@ static void pin_mux_mmc(void)
        /* For CD GPIO PI5 */
        pinmux_tristate_disable(PINGRP_ATC);
 }
+#endif
 
-/* this is a weak define that we are overriding */
-int board_mmc_init(bd_t *bd)
+void pin_mux_usb(void)
 {
-       debug("board_mmc_init called\n");
-
-       /* Enable muxes, etc. for SDMMC controllers */
-       pin_mux_mmc();
-
-       debug("board_mmc_init: init SD slot J26\n");
-       /* init dev 0, SD slot J26, with 4-bit bus */
-       /* The board has an 8-bit bus, but 8-bit doesn't work yet */
-       tegra_mmc_init(0, 4, GPIO_PI6, GPIO_PH2);
-
-       debug("board_mmc_init: init SD slot J5\n");
-       /* init dev 2, SD slot J5, with 4-bit bus */
-       tegra_mmc_init(2, 4, GPIO_PT3, GPIO_PI5);
-
-       return 0;
+       funcmux_select(PERIPH_ID_USB2, FUNCMUX_USB2_ULPI);
+       pinmux_set_func(PINGRP_CDEV2, PMUX_FUNC_PLLP_OUT4);
+       pinmux_tristate_disable(PINGRP_CDEV2);
+       /* USB2 PHY reset GPIO */
+       pinmux_tristate_disable(PINGRP_UAC);
 }
-#endif