]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h
tty: Blackin CTS/RTS
[linux-2.6-omap-h63xx.git] / arch / blackfin / mach-bf527 / include / mach / bfin_serial_5xx.h
index d2b160c14f04630193bc880f49a8b6c4aa442295..a625659dd67f4470d0ff310e833362ddd6ff3ebe 100644 (file)
@@ -53,9 +53,9 @@
 #define UART_SET_DLAB(uart)     do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0)
 #define UART_CLEAR_DLAB(uart)   do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0)
 
-#define UART_GET_CTS(x) gpio_get_value(x->cts_pin)
-#define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1)
-#define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0)
+#define UART_GET_CTS(x) (!gpio_get_value(x->cts_pin))
+#define UART_DISABLE_RTS(x) gpio_set_value(x->rts_pin, 1)
+#define UART_ENABLE_RTS(x) gpio_set_value(x->rts_pin, 0)
 #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v)
 #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0)
 
@@ -87,6 +87,7 @@
 struct bfin_serial_port {
        struct uart_port port;
        unsigned int old_status;
+       int status_irq;
        unsigned int lsr;
 #ifdef CONFIG_SERIAL_BFIN_DMA
        int tx_done;
@@ -125,6 +126,7 @@ static inline void UART_CLEAR_LSR(struct bfin_serial_port *uart)
 struct bfin_serial_res {
        unsigned long uart_base_addr;
        int uart_irq;
+       int uart_status_irq;
 #ifdef CONFIG_SERIAL_BFIN_DMA
        unsigned int uart_tx_dma_channel;
        unsigned int uart_rx_dma_channel;
@@ -140,6 +142,7 @@ struct bfin_serial_res bfin_serial_resource[] = {
        {
         0xFFC00400,
         IRQ_UART0_RX,
+        IRQ_UART0_ERROR,
 #ifdef CONFIG_SERIAL_BFIN_DMA
         CH_UART0_TX,
         CH_UART0_RX,
@@ -154,6 +157,7 @@ struct bfin_serial_res bfin_serial_resource[] = {
        {
         0xFFC02000,
         IRQ_UART1_RX,
+        IRQ_UART1_ERROR,
 #ifdef CONFIG_SERIAL_BFIN_DMA
         CH_UART1_TX,
         CH_UART1_RX,