tegra: add alternate UART1 funcmux entry
(In at least some configurations) Whistler uses UART1 on pingroups UAA, UAB. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
aa53c7f55f
commit
b9607e7061
|
@ -101,6 +101,18 @@ int arch_cpu_init(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
static int uart_configs[] = {
|
||||
#ifdef CONFIG_TEGRA2_UARTA_UAA_UAB
|
||||
FUNCMUX_UART1_UAA_UAB,
|
||||
#else
|
||||
FUNCMUX_UART1_IRRX_IRTX,
|
||||
#endif
|
||||
FUNCMUX_UART2_IRDA,
|
||||
-1,
|
||||
FUNCMUX_UART4_GMC,
|
||||
-1,
|
||||
};
|
||||
|
||||
/**
|
||||
* Set up the specified uarts
|
||||
*
|
||||
|
@ -120,7 +132,7 @@ static void setup_uarts(int uart_ids)
|
|||
if (uart_ids & (1 << i)) {
|
||||
enum periph_id id = id_for_uart[i];
|
||||
|
||||
funcmux_select(id, FUNCMUX_DEFAULT);
|
||||
funcmux_select(id, uart_configs[i]);
|
||||
clock_ll_start_uart(id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,11 +31,22 @@ int funcmux_select(enum periph_id id, int config)
|
|||
|
||||
switch (id) {
|
||||
case PERIPH_ID_UART1:
|
||||
if (config == FUNCMUX_UART1_IRRX_IRTX) {
|
||||
switch (config) {
|
||||
case FUNCMUX_UART1_IRRX_IRTX:
|
||||
pinmux_set_func(PINGRP_IRRX, PMUX_FUNC_UARTA);
|
||||
pinmux_set_func(PINGRP_IRTX, PMUX_FUNC_UARTA);
|
||||
pinmux_tristate_disable(PINGRP_IRRX);
|
||||
pinmux_tristate_disable(PINGRP_IRTX);
|
||||
break;
|
||||
case FUNCMUX_UART1_UAA_UAB:
|
||||
pinmux_set_func(PINGRP_UAA, PMUX_FUNC_UARTA);
|
||||
pinmux_set_func(PINGRP_UAB, PMUX_FUNC_UARTA);
|
||||
pinmux_tristate_disable(PINGRP_UAA);
|
||||
pinmux_tristate_disable(PINGRP_UAB);
|
||||
bad_config = 0;
|
||||
break;
|
||||
}
|
||||
if (!bad_config) {
|
||||
/*
|
||||
* Tegra appears to boot with function UARTA pre-
|
||||
* selected on mux group SDB. If two mux groups are
|
||||
|
|
|
@ -30,6 +30,7 @@ enum {
|
|||
|
||||
/* UART configs */
|
||||
FUNCMUX_UART1_IRRX_IRTX = 0,
|
||||
FUNCMUX_UART1_UAA_UAB,
|
||||
FUNCMUX_UART2_IRDA = 0,
|
||||
FUNCMUX_UART4_GMC = 0,
|
||||
|
||||
|
|
Loading…
Reference in New Issue