sb1250-duart.c: SB1250 DUART serial support
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 17 Jul 2007 11:03:50 +0000 (04:03 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 17 Jul 2007 17:23:03 +0000 (10:23 -0700)
commitb45d52797432bd6b5d9786dbda940eb8d0b9ed06
tree1bc6d7961c37c5cab006976b90ab084a11f33457
parentf9e86f419073605b4520848021cc042963c227c7
sb1250-duart.c: SB1250 DUART serial support

This is a driver for the SB1250 DUART, a dual serial port implementation
included in the Broadcom family of SOCs descending from the SiByte SB1250
MIPS64 chip multiprocessor.  It is a new implementation replacing the
old-fashioned driver currently present in the linux-mips.org tree.  It
supports all the usual features one would expect from a(n asynchronous)
serial driver, including modem line control (as far as hardware supports it
-- there is edge detection logic missing from the DCD and RI lines and the
driver does not implement polling of these lines at the moment), the serial
console, BREAK transmission and reception, including the magic SysRq.  The
receive FIFO threshold is not maintained though.

The driver was tested with a SWARM board which uses a BCM1250 SOC (which is
dual MIPS64 CMP) and has both ports of the single DUART implemented wired
externally.  Both were tested.  Testing included using the ports as
terminal lines at 1200bps (which is the ports minimum), 115200bps and a
couple of random speeds inbetween.  The modem lines were verified to
operate correctly.  No testing was performed with a use as a network
interface, like with SLIP or PPP.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/mips/sibyte/bcm1480/setup.c
arch/mips/sibyte/sb1250/setup.c
drivers/serial/Kconfig
drivers/serial/Makefile
drivers/serial/sb1250-duart.c [new file with mode: 0644]
include/asm-mips/sibyte/bcm1480_regs.h
include/asm-mips/sibyte/sb1250_regs.h
include/asm-mips/sibyte/sb1250_uart.h
include/linux/serial_core.h