diff options
-rw-r--r-- | arch/arm/cpu/armv7/tegra2/board.c | 4 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/tegra2/funcmux.c | 5 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-tegra2/funcmux.h | 1 |
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, |