diff options
| author | Greg Ungerer <gerg@snapgear.com> | 2007-03-06 20:28:13 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-06 21:08:38 -0500 |
| commit | ebfcfef44e4a759dd08a4b5e28848787b5530c0c (patch) | |
| tree | e343b5f3366e4dd9982151f6c5173779f1fd5a86 | |
| parent | 8668fb5d8d1bbae1492baf4b8d72b5151a5c4d40 (diff) | |
[PATCH] m68knommu: set GPIO lines for serial ports on 5282 in mcfserial.c
For the Freescale M5282 ColdFire,
Port UA Pin Assignment Register should set to UART mode.
Patch submitted by David Wu <davidwu@arcturusnetworks.com>.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | drivers/serial/mcfserial.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c index 08430961a895..4e2eb351f74e 100644 --- a/drivers/serial/mcfserial.c +++ b/drivers/serial/mcfserial.c | |||
| @@ -1541,8 +1541,8 @@ static void mcfrs_irqinit(struct mcf_serial *info) | |||
| 1541 | * External Pin Mask Setting & Enable External Pin for Interface | 1541 | * External Pin Mask Setting & Enable External Pin for Interface |
| 1542 | * mrcbis@aliceposta.it | 1542 | * mrcbis@aliceposta.it |
| 1543 | */ | 1543 | */ |
| 1544 | unsigned short *serpin_enable_mask; | 1544 | u16 *serpin_enable_mask; |
| 1545 | serpin_enable_mask = (MCF_IPSBAR + MCF_GPIO_PAR_UART); | 1545 | serpin_enable_mask = (u16 *) (MCF_IPSBAR + MCF_GPIO_PAR_UART); |
| 1546 | if (info->line == 0) | 1546 | if (info->line == 0) |
| 1547 | *serpin_enable_mask |= UART0_ENABLE_MASK; | 1547 | *serpin_enable_mask |= UART0_ENABLE_MASK; |
| 1548 | else if (info->line == 1) | 1548 | else if (info->line == 1) |
| @@ -1551,6 +1551,13 @@ static void mcfrs_irqinit(struct mcf_serial *info) | |||
| 1551 | *serpin_enable_mask |= UART2_ENABLE_MASK; | 1551 | *serpin_enable_mask |= UART2_ENABLE_MASK; |
| 1552 | } | 1552 | } |
| 1553 | #endif | 1553 | #endif |
| 1554 | #if defined(CONFIG_M528x) | ||
| 1555 | /* make sure PUAPAR is set for UART0 and UART1 */ | ||
| 1556 | if (info->line < 2) { | ||
| 1557 | volatile unsigned char *portp = (volatile unsigned char *) (MCF_MBAR + MCF5282_GPIO_PUAPAR); | ||
| 1558 | *portp |= (0x03 << (info->line * 2)); | ||
| 1559 | } | ||
| 1560 | #endif | ||
| 1554 | #elif defined(CONFIG_M520x) | 1561 | #elif defined(CONFIG_M520x) |
| 1555 | volatile unsigned char *icrp, *uartp; | 1562 | volatile unsigned char *icrp, *uartp; |
| 1556 | volatile unsigned long *imrp; | 1563 | volatile unsigned long *imrp; |
