From e21649be56a0cbe17ea892fc6c1a633369df0d50 Mon Sep 17 00:00:00 2001
From: Stephen Warren <swarren@nvidia.com>
Date: Wed, 16 May 2012 05:59:59 +0000
Subject: [PATCH] tegra: add UART1 on GPU funcmux entry

TrimSlice uses UART1 on the GPU pingroup.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
---
 arch/arm/cpu/armv7/tegra2/board.c          | 4 +++-
 arch/arm/cpu/armv7/tegra2/funcmux.c        | 5 +++++
 arch/arm/include/asm/arch-tegra2/funcmux.h | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/arm/cpu/armv7/tegra2/board.c b/arch/arm/cpu/armv7/tegra2/board.c
index 629ad5d67f..6106ef9992 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 e2d1273dc9..c27908821a 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 b455122594..dba2cf50d0 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,
 
-- 
2.39.5