summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/cpu/armv7/tegra2/board.c4
-rw-r--r--arch/arm/cpu/armv7/tegra2/funcmux.c5
-rw-r--r--arch/arm/include/asm/arch-tegra2/funcmux.h1
3 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/tegra2/board.c b/arch/arm/cpu/armv7/tegra2/board.c
index 629ad5d..6106ef9 100644
--- a/arch/arm/cpu/armv7/tegra2/board.c
+++ b/arch/arm/cpu/armv7/tegra2/board.c
@@ -102,8 +102,10 @@ int arch_cpu_init(void)
#endif
static int uart_configs[] = {
-#ifdef CONFIG_TEGRA2_UARTA_UAA_UAB
+#if defined(CONFIG_TEGRA2_UARTA_UAA_UAB)
FUNCMUX_UART1_UAA_UAB,
+#elif defined(CONFIG_TEGRA2_UARTA_GPU)
+ FUNCMUX_UART1_GPU,
#else
FUNCMUX_UART1_IRRX_IRTX,
#endif
diff --git a/arch/arm/cpu/armv7/tegra2/funcmux.c b/arch/arm/cpu/armv7/tegra2/funcmux.c
index e2d1273..c279088 100644
--- a/arch/arm/cpu/armv7/tegra2/funcmux.c
+++ b/arch/arm/cpu/armv7/tegra2/funcmux.c
@@ -45,6 +45,11 @@ int funcmux_select(enum periph_id id, int config)
pinmux_tristate_disable(PINGRP_UAB);
bad_config = 0;
break;
+ case FUNCMUX_UART1_GPU:
+ pinmux_set_func(PINGRP_GPU, PMUX_FUNC_UARTA);
+ pinmux_tristate_disable(PINGRP_GPU);
+ bad_config = 0;
+ break;
}
if (!bad_config) {
/*
diff --git a/arch/arm/include/asm/arch-tegra2/funcmux.h b/arch/arm/include/asm/arch-tegra2/funcmux.h
index b455122..dba2cf5 100644
--- a/arch/arm/include/asm/arch-tegra2/funcmux.h
+++ b/arch/arm/include/asm/arch-tegra2/funcmux.h
@@ -31,6 +31,7 @@ enum {
/* UART configs */
FUNCMUX_UART1_IRRX_IRTX = 0,
FUNCMUX_UART1_UAA_UAB,
+ FUNCMUX_UART1_GPU,
FUNCMUX_UART2_IRDA = 0,
FUNCMUX_UART4_GMC = 0,