]> git.sur5r.net Git - u-boot/blobdiff - arch/blackfin/cpu/serial.h
Merge branch 'master' of git://git.denx.de/u-boot-samsung
[u-boot] / 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); \