public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/3] tegra2: Fix conflicting pinmux for UARTA
@ 2012-01-06 22:14 Stephen Warren
  2012-01-06 22:14 ` [U-Boot] [PATCH 2/3] tegra2: Fix default RAM size selection in odmdata Stephen Warren
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Stephen Warren @ 2012-01-06 22:14 UTC (permalink / raw)
  To: u-boot

Tegra appears to boot with function UARTA pre-selected on mux
group SDB. If two mux groups are both set to the same function,
it's unclear which group's pins drive the RX signals into the
HW module. For UARTA, SDB certainly overrides group IRTX in
practice. To solve this, configure some alternative function on
SDB to avoid the conflict. Also, tri-state the group to avoid
driving any signal onto it until we know what's connected.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/cpu/armv7/tegra2/funcmux.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/armv7/tegra2/funcmux.c b/arch/arm/cpu/armv7/tegra2/funcmux.c
index 0878f51..140f8a7 100644
--- a/arch/arm/cpu/armv7/tegra2/funcmux.c
+++ b/arch/arm/cpu/armv7/tegra2/funcmux.c
@@ -37,6 +37,18 @@ int funcmux_select(enum periph_id id, int config)
 		pinmux_set_func(PINGRP_IRTX, PMUX_FUNC_UARTA);
 		pinmux_tristate_disable(PINGRP_IRRX);
 		pinmux_tristate_disable(PINGRP_IRTX);
+		/*
+		 * Tegra appears to boot with function UARTA pre-selected on
+		 * mux group SDB. If two mux groups are both set to the same
+		 * function, it's unclear which group's pins drive the RX
+		 * signals into the HW module. For UARTA, SDB certainly
+		 * overrides group IRTX in practice. To solve this, configure
+		 * some alternative function on SDB to avoid the conflict. Also,
+		 * tri-state the group to avoid driving any signal onto it until
+		 * we know what's connected.
+		 */
+		pinmux_tristate_enable(PINGRP_SDB);
+		pinmux_set_func(PINGRP_SDB,  PMUX_FUNC_SDIO3);
 		break;
 
 	case PERIPH_ID_UART2:
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-01-09 20:16 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-06 22:14 [U-Boot] [PATCH 1/3] tegra2: Fix conflicting pinmux for UARTA Stephen Warren
2012-01-06 22:14 ` [U-Boot] [PATCH 2/3] tegra2: Fix default RAM size selection in odmdata Stephen Warren
2012-01-09 19:39   ` Simon Glass
2012-01-06 22:14 ` [U-Boot] [PATCH 3/3] tegra2: Add support for Compal Paz00 (Toshiba AC100) Stephen Warren
2012-01-09 19:55   ` Simon Glass
2012-01-09 20:00     ` Stephen Warren
2012-01-09 20:04       ` Simon Glass
2012-01-09 20:10         ` Stephen Warren
2012-01-09 20:16           ` Simon Glass
2012-01-09 20:04     ` Stephen Warren
2012-01-09 20:09       ` Simon Glass
2012-01-09 19:35 ` [U-Boot] [PATCH 1/3] tegra2: Fix conflicting pinmux for UARTA Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox