diff options
Diffstat (limited to 'drivers/serial')
-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; |