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 7999686d7b47..8cc4cedadd99 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 | ||