diff options
Diffstat (limited to 'drivers/serial')
| -rw-r--r-- | drivers/serial/amba-pl010.c | 1 | ||||
| -rw-r--r-- | drivers/serial/amba-pl011.c | 1 | ||||
| -rw-r--r-- | drivers/serial/clps711x.c | 9 | ||||
| -rw-r--r-- | drivers/serial/pxa.c | 21 |
4 files changed, 31 insertions, 1 deletions
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c index 679e678c7e6a..ddd0307fece2 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | 50 | ||
| 51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
| 52 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
| 53 | #include <asm/hardware.h> | ||
| 53 | #include <asm/hardware/amba.h> | 54 | #include <asm/hardware/amba.h> |
| 54 | #include <asm/hardware/amba_serial.h> | 55 | #include <asm/hardware/amba_serial.h> |
| 55 | 56 | ||
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 1ff629c74750..938d185841c9 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | 50 | ||
| 51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
| 52 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
| 53 | #include <asm/sizes.h> | ||
| 53 | #include <asm/hardware/amba.h> | 54 | #include <asm/hardware/amba.h> |
| 54 | #include <asm/hardware/clock.h> | 55 | #include <asm/hardware/clock.h> |
| 55 | #include <asm/hardware/amba_serial.h> | 56 | #include <asm/hardware/amba_serial.h> |
diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c index 87ef368384fb..6a67e8f585b3 100644 --- a/drivers/serial/clps711x.c +++ b/drivers/serial/clps711x.c | |||
| @@ -408,7 +408,11 @@ static struct uart_port clps711x_ports[UART_NR] = { | |||
| 408 | { | 408 | { |
| 409 | .iobase = SYSCON1, | 409 | .iobase = SYSCON1, |
| 410 | .irq = IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */ | 410 | .irq = IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */ |
| 411 | #ifdef CONFIG_MP1000_90MHZ | ||
| 412 | .uartclk = 4515840, | ||
| 413 | #else | ||
| 411 | .uartclk = 3686400, | 414 | .uartclk = 3686400, |
| 415 | #endif | ||
| 412 | .fifosize = 16, | 416 | .fifosize = 16, |
| 413 | .ops = &clps711x_pops, | 417 | .ops = &clps711x_pops, |
| 414 | .line = 0, | 418 | .line = 0, |
| @@ -417,7 +421,11 @@ static struct uart_port clps711x_ports[UART_NR] = { | |||
| 417 | { | 421 | { |
| 418 | .iobase = SYSCON2, | 422 | .iobase = SYSCON2, |
| 419 | .irq = IRQ_UTXINT2, /* IRQ_URXINT2 */ | 423 | .irq = IRQ_UTXINT2, /* IRQ_URXINT2 */ |
| 424 | #ifdef CONFIG_MP1000_90MHZ | ||
| 425 | .uartclk = 4515840, | ||
| 426 | #else | ||
| 420 | .uartclk = 3686400, | 427 | .uartclk = 3686400, |
| 428 | #endif | ||
| 421 | .fifosize = 16, | 429 | .fifosize = 16, |
| 422 | .ops = &clps711x_pops, | 430 | .ops = &clps711x_pops, |
| 423 | .line = 1, | 431 | .line = 1, |
| @@ -551,6 +559,7 @@ console_initcall(clps711xuart_console_init); | |||
| 551 | static struct uart_driver clps711x_reg = { | 559 | static struct uart_driver clps711x_reg = { |
| 552 | .driver_name = "ttyCL", | 560 | .driver_name = "ttyCL", |
| 553 | .dev_name = "ttyCL", | 561 | .dev_name = "ttyCL", |
| 562 | .devfs_name = "ttyCL", | ||
| 554 | .major = SERIAL_CLPS711X_MAJOR, | 563 | .major = SERIAL_CLPS711X_MAJOR, |
| 555 | .minor = SERIAL_CLPS711X_MINOR, | 564 | .minor = SERIAL_CLPS711X_MINOR, |
| 556 | .nr = UART_NR, | 565 | .nr = UART_NR, |
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index 90c2a86c421b..005f027e081a 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c | |||
| @@ -358,6 +358,9 @@ static int serial_pxa_startup(struct uart_port *port) | |||
| 358 | unsigned long flags; | 358 | unsigned long flags; |
| 359 | int retval; | 359 | int retval; |
| 360 | 360 | ||
| 361 | if (port->line == 3) /* HWUART */ | ||
| 362 | up->mcr |= UART_MCR_AFE; | ||
| 363 | else | ||
| 361 | up->mcr = 0; | 364 | up->mcr = 0; |
| 362 | 365 | ||
| 363 | /* | 366 | /* |
| @@ -481,8 +484,10 @@ serial_pxa_set_termios(struct uart_port *port, struct termios *termios, | |||
| 481 | 484 | ||
| 482 | if ((up->port.uartclk / quot) < (2400 * 16)) | 485 | if ((up->port.uartclk / quot) < (2400 * 16)) |
| 483 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR1; | 486 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR1; |
| 484 | else | 487 | else if ((up->port.uartclk / quot) < (230400 * 16)) |
| 485 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR8; | 488 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR8; |
| 489 | else | ||
| 490 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR32; | ||
| 486 | 491 | ||
| 487 | /* | 492 | /* |
| 488 | * Ok, we're now changing the port state. Do it with | 493 | * Ok, we're now changing the port state. Do it with |
| @@ -772,6 +777,20 @@ static struct uart_pxa_port serial_pxa_ports[] = { | |||
| 772 | .ops = &serial_pxa_pops, | 777 | .ops = &serial_pxa_pops, |
| 773 | .line = 2, | 778 | .line = 2, |
| 774 | }, | 779 | }, |
| 780 | }, { /* HWUART */ | ||
| 781 | .name = "HWUART", | ||
| 782 | .cken = CKEN4_HWUART, | ||
| 783 | .port = { | ||
| 784 | .type = PORT_PXA, | ||
| 785 | .iotype = UPIO_MEM, | ||
| 786 | .membase = (void *)&HWUART, | ||
| 787 | .mapbase = __PREG(HWUART), | ||
| 788 | .irq = IRQ_HWUART, | ||
| 789 | .uartclk = 921600 * 16, | ||
| 790 | .fifosize = 64, | ||
| 791 | .ops = &serial_pxa_pops, | ||
| 792 | .line = 3, | ||
| 793 | }, | ||
| 775 | } | 794 | } |
| 776 | }; | 795 | }; |
| 777 | 796 | ||
