]> git.sur5r.net Git - u-boot/commitdiff
Blackfin: serial: convert to portmux framework
authorMike Frysinger <vapier@gentoo.org>
Wed, 2 Jun 2010 10:00:27 +0000 (06:00 -0400)
committerMike Frysinger <vapier@gentoo.org>
Tue, 13 Jul 2010 21:50:50 +0000 (17:50 -0400)
Use the new portmux framework to handle the details when possible.
Unfortunately, we cannot yet use this in the standalone initialization
logic, so we need to keep around the old portmux writes for now.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/cpu/serial.h

index 5f9be8622d69f208ae730a48ac4dd9383e453ff9..f9e311f3eee819620f186274011a242c2f5b39b8 100644 (file)
@@ -26,6 +26,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <asm/portmux.h>
+
 #define LOB(x) ((x) & 0xFF)
 #define HIB(x) (((x) >> 8) & 0xFF)
 
@@ -103,6 +105,23 @@ struct bfin_mmr_serial {
 __attribute__((always_inline))
 static inline void serial_do_portmux(void)
 {
+       if (!BFIN_DEBUG_EARLY_SERIAL) {
+               const unsigned short pins[] = {
+#if CONFIG_UART_CONSOLE == 0
+                       P_UART0_TX, P_UART0_RX,
+#elif CONFIG_UART_CONSOLE == 1
+                       P_UART1_TX, P_UART1_RX,
+#elif CONFIG_UART_CONSOLE == 2
+                       P_UART2_TX, P_UART2_RX,
+#elif CONFIG_UART_CONSOLE == 3
+                       P_UART3_TX, P_UART3_RX,
+#endif
+                       0,
+               };
+               peripheral_request_list(pins, "bfin-uart");
+               return;
+       }
+
 #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); \