summaryrefslogtreecommitdiff
path: root/drivers/serial/ns16550.c
diff options
context:
space:
mode:
authorPrafulla Wadaskar <prafulla@marvell.com>2010-10-27 21:58:31 +0530
committerWolfgang Denk <wd@denx.de>2010-12-16 23:02:51 +0100
commita160ea0b5ed6c7cfcdd61bc82313c1371888eeec (patch)
tree11413d3a310bb94790b0a906f28a1d4125c071e5 /drivers/serial/ns16550.c
parentce089c04a8b396dc8d1c96988e2feef2daa510a6 (diff)
downloadu-boot-imx-a160ea0b5ed6c7cfcdd61bc82313c1371888eeec.zip
u-boot-imx-a160ea0b5ed6c7cfcdd61bc82313c1371888eeec.tar.gz
u-boot-imx-a160ea0b5ed6c7cfcdd61bc82313c1371888eeec.tar.bz2
Serial: ns16550: Add support for CONFIG_SYS_NS16550_IER macro
On some processors this ier register configuration is different for ex. Marvell Armada100 This patch introduce CONFIG_SYS_NS16550_IER macro support to unconditionally initialize this register. Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
Diffstat (limited to 'drivers/serial/ns16550.c')
-rw-r--r--drivers/serial/ns16550.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 32f24de..8eeb48f 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -24,9 +24,13 @@
#define serial_in(y) readb(y)
#endif
+#ifndef CONFIG_SYS_NS16550_IER
+#define CONFIG_SYS_NS16550_IER 0x00
+#endif /* CONFIG_SYS_NS16550_IER */
+
void NS16550_init (NS16550_t com_port, int baud_divisor)
{
- serial_out(0x00, &com_port->ier);
+ serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
serial_out(0x7, &com_port->mdr1); /* mode select reset TL16C750*/
#endif
@@ -52,7 +56,7 @@ void NS16550_init (NS16550_t com_port, int baud_divisor)
#ifndef CONFIG_NS16550_MIN_FUNCTIONS
void NS16550_reinit (NS16550_t com_port, int baud_divisor)
{
- serial_out(0x00, &com_port->ier);
+ serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
serial_out(UART_LCR_BKSE | UART_LCRVAL, &com_port->lcr);
serial_out(0, &com_port->dll);
serial_out(0, &com_port->dlm);