From: Mike Frysinger <vapier@gentoo.org>
Date: Sun, 12 Oct 2008 01:15:53 +0000 (-0400)
Subject: Blackfin: add portmuxing for UARTs on the BF51x
X-Git-Tag: v2025.01-rc5-pxa1908~21557^2~12
X-Git-Url: http://git.dujemihanovic.xyz/posts?a=commitdiff_plain;h=51230e6e356ccf4c932e0c4ff54f1e49da02285c;p=u-boot.git

Blackfin: add portmuxing for UARTs on the BF51x

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---

diff --git a/cpu/blackfin/serial.h b/cpu/blackfin/serial.h
index ec40c266ac..90fceecb8e 100644
--- a/cpu/blackfin/serial.h
+++ b/cpu/blackfin/serial.h
@@ -95,7 +95,16 @@
 __attribute__((always_inline))
 static inline void serial_do_portmux(void)
 {
-#ifdef __ADSPBF52x__
+#if defined(__ADSPBF51x__)
+# define DO_MUX(port, mux_tx, mux_rx, tx, rx) \
+	bfin_write_PORT##port##_MUX((bfin_read_PORT##port##_MUX() & ~(PORT_x_MUX_##mux_tx##_MASK | PORT_x_MUX_##mux_rx##_MASK)) | PORT_x_MUX_##mux_tx##_FUNC_2 | PORT_x_MUX_##mux_rx##_FUNC_2); \
+	bfin_write_PORT##port##_FER(bfin_read_PORT##port##_FER() | P##port##tx | P##port##rx);
+	switch (CONFIG_UART_CONSOLE) {
+	case 0: DO_MUX(G, 5, 5, 9, 10);  break;	/* Port G; mux 5; PG9 and PG10 */
+	case 1: DO_MUX(F, 2, 3, 14, 15); break;	/* Port H; mux 2/3; PH14 and PH15 */
+	}
+	SSYNC();
+#elif defined(__ADSPBF52x__)
 # define DO_MUX(port, mux, tx, rx) \
 	bfin_write_PORT##port##_MUX((bfin_read_PORT##port##_MUX() & ~PORT_x_MUX_##mux##_MASK) | PORT_x_MUX_##mux##_FUNC_3); \
 	bfin_write_PORT##port##_FER(bfin_read_PORT##port##_FER() | P##port##tx | P##port##rx);