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; |