diff options
| -rw-r--r-- | drivers/serial/bfin_5xx.c | 30 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | 6 |
6 files changed, 35 insertions, 25 deletions
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index d6b4ead693b7..636b6876c6fb 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c | |||
| @@ -530,11 +530,7 @@ static unsigned int bfin_serial_get_mctrl(struct uart_port *port) | |||
| 530 | if (uart->cts_pin < 0) | 530 | if (uart->cts_pin < 0) |
| 531 | return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR; | 531 | return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR; |
| 532 | 532 | ||
| 533 | # ifdef BF54x | 533 | if (UART_GET_CTS(uart)) |
| 534 | if (UART_GET_MSR(uart) & CTS) | ||
| 535 | # else | ||
| 536 | if (gpio_get_value(uart->cts_pin)) | ||
| 537 | # endif | ||
| 538 | return TIOCM_DSR | TIOCM_CAR; | 534 | return TIOCM_DSR | TIOCM_CAR; |
| 539 | else | 535 | else |
| 540 | #endif | 536 | #endif |
| @@ -549,17 +545,9 @@ static void bfin_serial_set_mctrl(struct uart_port *port, unsigned int mctrl) | |||
| 549 | return; | 545 | return; |
| 550 | 546 | ||
| 551 | if (mctrl & TIOCM_RTS) | 547 | if (mctrl & TIOCM_RTS) |
| 552 | # ifdef BF54x | 548 | UART_CLEAR_RTS(uart); |
| 553 | UART_PUT_MCR(uart, UART_GET_MCR(uart) & ~MRTS); | ||
| 554 | # else | ||
| 555 | gpio_set_value(uart->rts_pin, 0); | ||
| 556 | # endif | ||
| 557 | else | 549 | else |
| 558 | # ifdef BF54x | 550 | UART_SET_RTS(uart); |
| 559 | UART_PUT_MCR(uart, UART_GET_MCR(uart) | MRTS); | ||
| 560 | # else | ||
| 561 | gpio_set_value(uart->rts_pin, 1); | ||
| 562 | # endif | ||
| 563 | #endif | 551 | #endif |
| 564 | } | 552 | } |
| 565 | 553 | ||
| @@ -752,11 +740,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
| 752 | 740 | ||
| 753 | /* Disable UART */ | 741 | /* Disable UART */ |
| 754 | ier = UART_GET_IER(uart); | 742 | ier = UART_GET_IER(uart); |
| 755 | #ifdef CONFIG_BF54x | 743 | UART_DISABLE_INTS(uart); |
| 756 | UART_CLEAR_IER(uart, 0xF); | ||
| 757 | #else | ||
| 758 | UART_PUT_IER(uart, 0); | ||
| 759 | #endif | ||
| 760 | 744 | ||
| 761 | /* Set DLAB in LCR to Access DLL and DLH */ | 745 | /* Set DLAB in LCR to Access DLL and DLH */ |
| 762 | UART_SET_DLAB(uart); | 746 | UART_SET_DLAB(uart); |
| @@ -771,11 +755,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
| 771 | UART_PUT_LCR(uart, lcr); | 755 | UART_PUT_LCR(uart, lcr); |
| 772 | 756 | ||
| 773 | /* Enable UART */ | 757 | /* Enable UART */ |
| 774 | #ifdef CONFIG_BF54x | 758 | UART_ENABLE_INTS(uart, ier); |
| 775 | UART_SET_IER(uart, ier); | ||
| 776 | #else | ||
| 777 | UART_PUT_IER(uart, ier); | ||
| 778 | #endif | ||
| 779 | 759 | ||
| 780 | val = UART_GET_GCTL(uart); | 760 | val = UART_GET_GCTL(uart); |
| 781 | val |= UCEN; | 761 | val |= UCEN; |
diff --git a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h index 26e3c8076b4e..96bd09e31e36 100644 --- a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 62 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | 64 | ||
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h index d016603b6615..e924569ad1d8 100644 --- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #ifdef CONFIG_BFIN_UART0_CTSRTS | 62 | #ifdef CONFIG_BFIN_UART0_CTSRTS |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | # ifndef CONFIG_UART0_CTS_PIN | 64 | # ifndef CONFIG_UART0_CTS_PIN |
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h index f79d1a0e9129..41d7b6490bb1 100644 --- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 62 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | 64 | ||
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h index 5eb46a77d919..59b4ad4e5b4a 100644 --- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | |||
| @@ -57,6 +57,12 @@ | |||
| 57 | #define UART_SET_DLAB(uart) /* MMRs not muxed on BF54x */ | 57 | #define UART_SET_DLAB(uart) /* MMRs not muxed on BF54x */ |
| 58 | #define UART_CLEAR_DLAB(uart) /* MMRs not muxed on BF54x */ | 58 | #define UART_CLEAR_DLAB(uart) /* MMRs not muxed on BF54x */ |
| 59 | 59 | ||
| 60 | #define UART_GET_CTS(x) (UART_GET_MSR(x) & CTS) | ||
| 61 | #define UART_SET_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) | MRTS)) | ||
| 62 | #define UART_CLEAR_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) & ~MRTS)) | ||
| 63 | #define UART_ENABLE_INTS(x, v) UART_SET_IER(x, v) | ||
| 64 | #define UART_DISABLE_INTS(x) UART_CLEAR_IER(x, 0xF) | ||
| 65 | |||
| 60 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 66 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 61 | # define CONFIG_SERIAL_BFIN_CTSRTS | 67 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 62 | 68 | ||
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h index 7a9628769296..30d90b580f18 100644 --- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #ifdef CONFIG_BFIN_UART0_CTSRTS | 62 | #ifdef CONFIG_BFIN_UART0_CTSRTS |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | # ifndef CONFIG_UART0_CTS_PIN | 64 | # ifndef CONFIG_UART0_CTS_PIN |
