Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 322694
b: refs/heads/master
c: 7be0670
h: refs/heads/master
v: v3
  • Loading branch information
Dirk Behme authored and Greg Kroah-Hartman committed Sep 5, 2012
1 parent 057bfdb commit 9472d31
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9ec1882df244c4ee1baa692676fef5e8b0f5487d
refs/heads/master: 7be0670f7b9198382938a03ff3db7f47ef6b4780
18 changes: 4 additions & 14 deletions trunk/drivers/tty/serial/imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@
#define UCR4_OREN (1<<1) /* Receiver overrun interrupt enable */
#define UCR4_DREN (1<<0) /* Recv data ready interrupt enable */
#define UFCR_RXTL_SHF 0 /* Receiver trigger level shift */
#define UFCR_DCEDTE (1<<6) /* DCE/DTE mode select */
#define UFCR_RFDIV (7<<7) /* Reference freq divider mask */
#define UFCR_RFDIV_REG(x) (((x) < 7 ? 6 - (x) : 6) << 7)
#define UFCR_TXTL_SHF 10 /* Transmitter trigger level shift */
Expand Down Expand Up @@ -667,22 +668,11 @@ static void imx_break_ctl(struct uart_port *port, int break_state)
static int imx_setup_ufcr(struct imx_port *sport, unsigned int mode)
{
unsigned int val;
unsigned int ufcr_rfdiv;

/* set receiver / transmitter trigger level.
* RFDIV is set such way to satisfy requested uartclk value
*/
val = TXTL << 10 | RXTL;
ufcr_rfdiv = (clk_get_rate(sport->clk_per) + sport->port.uartclk / 2)
/ sport->port.uartclk;

if(!ufcr_rfdiv)
ufcr_rfdiv = 1;

val |= UFCR_RFDIV_REG(ufcr_rfdiv);

/* set receiver / transmitter trigger level */
val = readl(sport->port.membase + UFCR) & (UFCR_RFDIV | UFCR_DCEDTE);
val |= TXTL << UFCR_TXTL_SHF | RXTL;
writel(val, sport->port.membase + UFCR);

return 0;
}

Expand Down

0 comments on commit 9472d31

Please sign in to comment.