ce4100: Add errata fixes for UART on CE4100
authorDirk Brandewie <dirk.brandewie@gmail.com>
Mon, 22 Nov 2010 14:28:48 +0000 (06:28 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 6 Dec 2010 14:58:26 +0000 (15:58 +0100)
commit5ec6960f6f0c7be9cc6e5506fdf0070add3b6e08
treeae1c1a2dc298a1b0ffa51b827a5bbbb801b7f9ef
parent9cdca869724e766eb48c061967cb777ddb436c76
ce4100: Add errata fixes for UART on CE4100

This patch enables the UART on the CE4100. The UART has a couple of
issues that need to be worked around. First the UART is mostly PC
compatible except that it is clocked eight times faster than a
standard PC so the default configuration provided in
arch/x86/include/asm/serial.h needs to be overridden. Second the TX
interrupt may not be set correctly all the time. Lastly accessing the
UART via I/O space for early_prink() hangs the chip when the IOAPIC is
enabled.

A custom mem_serial_in() is provided to work around the TX interrupt
issue. The configuration issues are dealt with in the call back
registered with the 8250 driver via serial8250_set_isa_configurator()

Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
LKML-Reference: <1290436128-17958-1-git-send-email-dirk.brandewie@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/platform/ce4100/ce4100.c