[U-Boot] [PATCH 2/3] tegra: add ULPI on USB2 funcmux entry

Lucas Stach dev at lynxeye.de
Tue May 29 23:47:12 CEST 2012


Signed-off-by: Lucas Stach <dev at lynxeye.de>
CC: Stephen Warren <swarren at wwwdotorg.org>
CC: Tom Warren <twarren at nvidia.com>
---
 arch/arm/cpu/armv7/tegra2/funcmux.c        |   13 ++++++++++++-
 arch/arm/include/asm/arch-tegra2/funcmux.h |    3 +++
 2 Dateien geändert, 15 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/arch/arm/cpu/armv7/tegra2/funcmux.c b/arch/arm/cpu/armv7/tegra2/funcmux.c
index 820ba4e9..455d010 100644
--- a/arch/arm/cpu/armv7/tegra2/funcmux.c
+++ b/arch/arm/cpu/armv7/tegra2/funcmux.c
@@ -209,9 +209,20 @@ int funcmux_select(enum periph_id id, int config)
 				pinmux_set_func(grp[i], PMUX_FUNC_KBC);
 				pinmux_set_pullupdown(grp[i], PMUX_PULL_UP);
 			}
+		}
+		break;
 
-			break;
+	case PERIPH_ID_USB2:
+		if (config == FUNCMUX_USB2_ULPI) {
+			pinmux_set_func(PINGRP_UAA, PMUX_FUNC_ULPI);
+			pinmux_set_func(PINGRP_UAB, PMUX_FUNC_ULPI);
+			pinmux_set_func(PINGRP_UDA, PMUX_FUNC_ULPI);
+
+			pinmux_tristate_disable(PINGRP_UAA);
+			pinmux_tristate_disable(PINGRP_UAB);
+			pinmux_tristate_disable(PINGRP_UDA);
 		}
+		break;
 
 	default:
 		debug("%s: invalid periph_id %d", __func__, id);
diff --git a/arch/arm/include/asm/arch-tegra2/funcmux.h b/arch/arm/include/asm/arch-tegra2/funcmux.h
index b16c496..3cbc7d2 100644
--- a/arch/arm/include/asm/arch-tegra2/funcmux.h
+++ b/arch/arm/include/asm/arch-tegra2/funcmux.h
@@ -51,6 +51,9 @@ enum {
 	FUNCMUX_SDMMC4_ATC_ATD_8BIT = 0,
 	FUNCMUX_SDMMC4_ATB_GMA_4_BIT,
 	FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT,
+
+	/* USB configs */
+	FUNCMUX_USB2_ULPI = 0,
 };
 
 /**
-- 
1.7.10.2



More information about the U-Boot mailing list