From e57c6e5b50d330516e30f61b824613d551316086 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Thu, 26 Mar 2015 01:31:54 +0100 Subject: ARM: tegra: rename colibri_t20 board/configuration/device-tree In accordance with our other modules supported by U-Boot and as agreed upon for Apalis/Colibri T30 get rid of the carrier board in the board/ configuration/device-tree naming. While at it also bring the prompt more in line with our other products. Signed-off-by: Marcel Ziswiler Signed-off-by: Tom Warren --- board/toradex/colibri_t20/colibri_t20.c | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 board/toradex/colibri_t20/colibri_t20.c (limited to 'board/toradex/colibri_t20/colibri_t20.c') diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c new file mode 100644 index 0000000000..46560948a6 --- /dev/null +++ b/board/toradex/colibri_t20/colibri_t20.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2012 Lucas Stach + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include + +#ifdef CONFIG_TEGRA_MMC +/* + * Routine: pin_mux_mmc + * Description: setup the pin muxes/tristate values for the SDMMC(s) + */ +void pin_mux_mmc(void) +{ + funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_4_BIT); + pinmux_tristate_disable(PMUX_PINGRP_GMB); +} +#endif + +#ifdef CONFIG_TEGRA_NAND +void pin_mux_nand(void) +{ + funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_NDFLASH_KBC_8_BIT); +} +#endif + +#ifdef CONFIG_USB_EHCI_TEGRA +void pin_mux_usb(void) +{ + /* module internal USB bus to connect ethernet chipset */ + funcmux_select(PERIPH_ID_USB2, FUNCMUX_USB2_ULPI); + + /* ULPI reference clock output */ + pinmux_set_func(PMUX_PINGRP_CDEV2, PMUX_FUNC_PLLP_OUT4); + pinmux_tristate_disable(PMUX_PINGRP_CDEV2); + + /* PHY reset GPIO */ + pinmux_tristate_disable(PMUX_PINGRP_UAC); + + /* VBus GPIO */ + pinmux_tristate_disable(PMUX_PINGRP_DTE); + + /* USB 1 aka Tegra USB port 3 VBus */ + pinmux_tristate_disable(PMUX_PINGRP_SPIG); +} +#endif -- cgit From 00a5270bd843f436d2c60d2a8512a302061596f5 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Thu, 26 Mar 2015 02:17:07 +0100 Subject: ARM: tegra: fix colibri_t20 asix reset Fix ASIX USB to Ethernet chip reset. Signed-off-by: Marcel Ziswiler Acked-by: Stephen Warren Signed-off-by: Tom Warren --- board/toradex/colibri_t20/colibri_t20.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'board/toradex/colibri_t20/colibri_t20.c') diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c index 46560948a6..5d8bdecb8e 100644 --- a/board/toradex/colibri_t20/colibri_t20.c +++ b/board/toradex/colibri_t20/colibri_t20.c @@ -46,7 +46,14 @@ void pin_mux_usb(void) /* VBus GPIO */ pinmux_tristate_disable(PMUX_PINGRP_DTE); - /* USB 1 aka Tegra USB port 3 VBus */ + /* Reset ASIX using LAN_RESET */ + gpio_request(GPIO_PV4, "LAN_RESET"); + gpio_direction_output(GPIO_PV4, 0); + pinmux_tristate_disable(PMUX_PINGRP_GPV); + udelay(5); + gpio_set_value(GPIO_PV4, 1); + + /* USBH_PEN: USB 1 aka Tegra USB port 3 VBus */ pinmux_tristate_disable(PMUX_PINGRP_SPIG); } #endif -- cgit From 76a30fedd44428c7108084266389c9b4ba5678c8 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Fri, 27 Mar 2015 01:31:45 +0100 Subject: ARM: tegra: colibri_t20: fix nand pinmux Pingroup ATC seems to come out of reset with config set to NAND, so we need to explicitly configure some other function to this group in order to avoid clashing settings. Signed-off-by: Marcel Ziswiler Signed-off-by: Tom Warren --- board/toradex/colibri_t20/colibri_t20.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'board/toradex/colibri_t20/colibri_t20.c') diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c index 5d8bdecb8e..8ae9ccf538 100644 --- a/board/toradex/colibri_t20/colibri_t20.c +++ b/board/toradex/colibri_t20/colibri_t20.c @@ -27,6 +27,12 @@ void pin_mux_mmc(void) void pin_mux_nand(void) { funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_NDFLASH_KBC_8_BIT); + + /* + * configure pingroup ATC to something unrelated to + * avoid ATC overriding KBC + */ + pinmux_set_func(PMUX_PINGRP_ATC, PMUX_FUNC_GMI); } #endif -- cgit