1 /* 2 * Copyright 2008-2009 Analog Devices Inc. 3 * 4 * Licensed under the GPL-2 or later 5 */ 6 7 #include <asm/dma.h> 8 #include <asm/portmux.h> 9 10 #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) 11 # define CONFIG_SERIAL_BFIN_CTSRTS 12 13 # ifndef CONFIG_UART0_CTS_PIN 14 # define CONFIG_UART0_CTS_PIN -1 15 # endif 16 17 # ifndef CONFIG_UART0_RTS_PIN 18 # define CONFIG_UART0_RTS_PIN -1 19 # endif 20 21 # ifndef CONFIG_UART1_CTS_PIN 22 # define CONFIG_UART1_CTS_PIN -1 23 # endif 24 25 # ifndef CONFIG_UART1_RTS_PIN 26 # define CONFIG_UART1_RTS_PIN -1 27 # endif 28 #endif 29 30 struct bfin_serial_res { 31 unsigned long uart_base_addr; 32 int uart_irq; 33 int uart_status_irq; 34 #ifdef CONFIG_SERIAL_BFIN_DMA 35 unsigned int uart_tx_dma_channel; 36 unsigned int uart_rx_dma_channel; 37 #endif 38 #ifdef CONFIG_SERIAL_BFIN_CTSRTS 39 int uart_cts_pin; 40 int uart_rts_pin; 41 #endif 42 }; 43 44 struct bfin_serial_res bfin_serial_resource[] = { 45 #ifdef CONFIG_SERIAL_BFIN_UART0 46 { 47 0xFFC00400, 48 IRQ_UART0_RX, 49 IRQ_UART0_ERROR, 50 #ifdef CONFIG_SERIAL_BFIN_DMA 51 CH_UART0_TX, 52 CH_UART0_RX, 53 #endif 54 #ifdef CONFIG_SERIAL_BFIN_CTSRTS 55 CONFIG_UART0_CTS_PIN, 56 CONFIG_UART0_RTS_PIN, 57 #endif 58 }, 59 #endif 60 #ifdef CONFIG_SERIAL_BFIN_UART1 61 { 62 0xFFC02000, 63 IRQ_UART1_RX, 64 IRQ_UART1_ERROR, 65 #ifdef CONFIG_SERIAL_BFIN_DMA 66 CH_UART1_TX, 67 CH_UART1_RX, 68 #endif 69 #ifdef CONFIG_SERIAL_BFIN_CTSRTS 70 CONFIG_UART1_CTS_PIN, 71 CONFIG_UART1_RTS_PIN, 72 #endif 73 }, 74 #endif 75 }; 76 77 #define DRIVER_NAME "bfin-uart" 78 79 #include <asm/bfin_serial.h> 80