diff options
| author | Steve French <sfrench@us.ibm.com> | 2010-05-14 11:15:28 -0400 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2010-05-14 11:15:28 -0400 |
| commit | 5f65f150fbc580ccfd57e5528e1fc905aaaef65c (patch) | |
| tree | 257527e3b5f8f04c39451f17481004d9e8d28350 /drivers/serial/imx.c | |
| parent | baa456331738b4e76a92318b62b354377a30ad80 (diff) | |
| parent | 6a251b0ab67989f468f4cb65179e0cf40cf8c295 (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/serial/imx.c')
| -rw-r--r-- | drivers/serial/imx.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c index 4315b23590bd..eacb588a9345 100644 --- a/drivers/serial/imx.c +++ b/drivers/serial/imx.c | |||
| @@ -120,7 +120,8 @@ | |||
| 120 | #define MX2_UCR3_RXDMUXSEL (1<<2) /* RXD Muxed Input Select, on mx2/mx3 */ | 120 | #define MX2_UCR3_RXDMUXSEL (1<<2) /* RXD Muxed Input Select, on mx2/mx3 */ |
| 121 | #define UCR3_INVT (1<<1) /* Inverted Infrared transmission */ | 121 | #define UCR3_INVT (1<<1) /* Inverted Infrared transmission */ |
| 122 | #define UCR3_BPEN (1<<0) /* Preset registers enable */ | 122 | #define UCR3_BPEN (1<<0) /* Preset registers enable */ |
| 123 | #define UCR4_CTSTL_32 (32<<10) /* CTS trigger level (32 chars) */ | 123 | #define UCR4_CTSTL_SHF 10 /* CTS trigger level shift */ |
| 124 | #define UCR4_CTSTL_MASK 0x3F /* CTS trigger is 6 bits wide */ | ||
| 124 | #define UCR4_INVR (1<<9) /* Inverted infrared reception */ | 125 | #define UCR4_INVR (1<<9) /* Inverted infrared reception */ |
| 125 | #define UCR4_ENIRI (1<<8) /* Serial infrared interrupt enable */ | 126 | #define UCR4_ENIRI (1<<8) /* Serial infrared interrupt enable */ |
| 126 | #define UCR4_WKEN (1<<7) /* Wake interrupt enable */ | 127 | #define UCR4_WKEN (1<<7) /* Wake interrupt enable */ |
| @@ -591,6 +592,9 @@ static int imx_setup_ufcr(struct imx_port *sport, unsigned int mode) | |||
| 591 | return 0; | 592 | return 0; |
| 592 | } | 593 | } |
| 593 | 594 | ||
| 595 | /* half the RX buffer size */ | ||
| 596 | #define CTSTL 16 | ||
| 597 | |||
| 594 | static int imx_startup(struct uart_port *port) | 598 | static int imx_startup(struct uart_port *port) |
| 595 | { | 599 | { |
| 596 | struct imx_port *sport = (struct imx_port *)port; | 600 | struct imx_port *sport = (struct imx_port *)port; |
| @@ -607,6 +611,10 @@ static int imx_startup(struct uart_port *port) | |||
| 607 | if (USE_IRDA(sport)) | 611 | if (USE_IRDA(sport)) |
| 608 | temp |= UCR4_IRSC; | 612 | temp |= UCR4_IRSC; |
| 609 | 613 | ||
| 614 | /* set the trigger level for CTS */ | ||
| 615 | temp &= ~(UCR4_CTSTL_MASK<< UCR4_CTSTL_SHF); | ||
| 616 | temp |= CTSTL<< UCR4_CTSTL_SHF; | ||
| 617 | |||
| 610 | writel(temp & ~UCR4_DREN, sport->port.membase + UCR4); | 618 | writel(temp & ~UCR4_DREN, sport->port.membase + UCR4); |
| 611 | 619 | ||
| 612 | if (USE_IRDA(sport)) { | 620 | if (USE_IRDA(sport)) { |
