|
@@ -23,6 +23,7 @@
|
|
|
#include <linux/tty.h>
|
|
|
#include <linux/tty_flip.h>
|
|
|
#include <linux/serial_core.h>
|
|
|
+#include <linux/dma-mapping.h>
|
|
|
|
|
|
#if defined(CONFIG_KGDB_SERIAL_CONSOLE) || \
|
|
|
defined(CONFIG_KGDB_SERIAL_CONSOLE_MODULE)
|
|
@@ -33,12 +34,10 @@
|
|
|
#include <asm/gpio.h>
|
|
|
#include <mach/bfin_serial_5xx.h>
|
|
|
|
|
|
-#ifdef CONFIG_SERIAL_BFIN_DMA
|
|
|
-#include <linux/dma-mapping.h>
|
|
|
+#include <asm/dma.h>
|
|
|
#include <asm/io.h>
|
|
|
#include <asm/irq.h>
|
|
|
#include <asm/cacheflush.h>
|
|
|
-#endif
|
|
|
|
|
|
#ifdef CONFIG_SERIAL_BFIN_MODULE
|
|
|
# undef CONFIG_EARLY_PRINTK
|
|
@@ -688,6 +687,13 @@ static int bfin_serial_startup(struct uart_port *port)
|
|
|
|
|
|
# ifdef CONFIG_BF54x
|
|
|
{
|
|
|
+ /*
|
|
|
+ * UART2 and UART3 on BF548 share interrupt PINs and DMA
|
|
|
+ * controllers with SPORT2 and SPORT3. UART rx and tx
|
|
|
+ * interrupts are generated in PIO mode only when configure
|
|
|
+ * their peripheral mapping registers properly, which means
|
|
|
+ * request corresponding DMA channels in PIO mode as well.
|
|
|
+ */
|
|
|
unsigned uart_dma_ch_rx, uart_dma_ch_tx;
|
|
|
|
|
|
switch (uart->port.irq) {
|