aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/mcfserial.c
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2007-03-06 20:28:13 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-06 21:08:38 -0500
commitebfcfef44e4a759dd08a4b5e28848787b5530c0c (patch)
treee343b5f3366e4dd9982151f6c5173779f1fd5a86 /drivers/serial/mcfserial.c
parent8668fb5d8d1bbae1492baf4b8d72b5151a5c4d40 (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>
Diffstat (limited to 'drivers/serial/mcfserial.c')
-rw-r--r--drivers/serial/mcfserial.c11
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;