]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/toradex/colibri_t20/colibri_t20.c
8ae9ccf538488dfc2a16570bee81654b2304cb96
[karo-tx-uboot.git] / board / toradex / colibri_t20 / colibri_t20.c
1 /*
2  *  Copyright (C) 2012 Lucas Stach
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #include <common.h>
8 #include <asm/arch/clock.h>
9 #include <asm/arch/funcmux.h>
10 #include <asm/arch/pinmux.h>
11 #include <asm/arch-tegra/board.h>
12 #include <asm/gpio.h>
13
14 #ifdef CONFIG_TEGRA_MMC
15 /*
16  * Routine: pin_mux_mmc
17  * Description: setup the pin muxes/tristate values for the SDMMC(s)
18  */
19 void pin_mux_mmc(void)
20 {
21         funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_4_BIT);
22         pinmux_tristate_disable(PMUX_PINGRP_GMB);
23 }
24 #endif
25
26 #ifdef CONFIG_TEGRA_NAND
27 void pin_mux_nand(void)
28 {
29         funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_NDFLASH_KBC_8_BIT);
30
31         /*
32          * configure pingroup ATC to something unrelated to
33          * avoid ATC overriding KBC
34          */
35         pinmux_set_func(PMUX_PINGRP_ATC, PMUX_FUNC_GMI);
36 }
37 #endif
38
39 #ifdef CONFIG_USB_EHCI_TEGRA
40 void pin_mux_usb(void)
41 {
42         /* module internal USB bus to connect ethernet chipset */
43         funcmux_select(PERIPH_ID_USB2, FUNCMUX_USB2_ULPI);
44
45         /* ULPI reference clock output */
46         pinmux_set_func(PMUX_PINGRP_CDEV2, PMUX_FUNC_PLLP_OUT4);
47         pinmux_tristate_disable(PMUX_PINGRP_CDEV2);
48
49         /* PHY reset GPIO */
50         pinmux_tristate_disable(PMUX_PINGRP_UAC);
51
52         /* VBus GPIO */
53         pinmux_tristate_disable(PMUX_PINGRP_DTE);
54
55         /* Reset ASIX using LAN_RESET */
56         gpio_request(GPIO_PV4, "LAN_RESET");
57         gpio_direction_output(GPIO_PV4, 0);
58         pinmux_tristate_disable(PMUX_PINGRP_GPV);
59         udelay(5);
60         gpio_set_value(GPIO_PV4, 1);
61
62         /* USBH_PEN: USB 1 aka Tegra USB port 3 VBus */
63         pinmux_tristate_disable(PMUX_PINGRP_SPIG);
64 }
65 #endif