serial: 8250_pci: add RS485 for F81504/508/512
authorPeter Hung <hpeter@gmail.com>
Tue, 28 Jul 2015 03:59:24 +0000 (11:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Aug 2015 22:40:29 +0000 (15:40 -0700)
commitfecf27a373f5a6b393e93b14f8460299b8abd6f9
tree2fa95934a7919f65f50e204cae7b92861bc0e662
parenta3a10ce3429e5dee623ad5c8407ea58e204fcb0a
serial: 8250_pci: add RS485 for F81504/508/512

Add RS485 control for Fintek F81504/508/512

F81504/508/512 can control their RTS with H/W mode.
PCI configuration space for each port is 0x40 + idx * 8 + 7.

When it set with 0x01, it's configured with RS232 mode.
RTS is controlled by MCR.

When it set with 0x11, it's configured with RS485 mode.
RTS is controlled by H/W, RTS low with idle & RX, high with TX.

When it set with 0x31, it's configured with RS485 mode.
RTS is controlled by H/W, RTS high with idle & RX, low with TX.

We will force 0x01 on pci_fintek_setup().

Signed-off-by: Peter Hung <hpeter+linux_kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pci.c