Fixes UART mis-behavior on dm646x.
Signed-off-by: Sudhakar Rajashekhara <[EMAIL PROTECTED]>
---
arch/arm/mach-davinci/board-dm646x-evm.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c
b/arch/arm/mach-davinci/board-dm646x-evm.c
index 9f8dac9..818a676 100644
--- a/arch/arm/mach-davinci/board-dm646x-evm.c
+++ b/arch/arm/mach-davinci/board-dm646x-evm.c
@@ -58,6 +58,20 @@ static void __init evm_init_i2c(void)
davinci_init_i2c(&i2c_pdata);
}
+#define UART_DM646X_SCR (DAVINCI_UART0_BASE + 0x40)
+/*
+ * Internal UARTs need to be initialized for the 8250 autoconfig to work
+ * properly. Note that the TX watermark initialization may not be needed
+ * once the 8250.c watermark handling code is merged.
+ */
+static int __init dm646x_serial_reset(void)
+{
+ davinci_writel(0x08, UART_DM646X_SCR);
+
+ return 0;
+}
+late_initcall(dm646x_serial_reset);
+
static void board_init(void)
{
davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DM646X_LPSC_AEMIF, 1);
--
1.5.4.1
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source