]> git.baikalelectronics.ru Git - kernel.git/commit
USB: serial: f81534: add auto RTS direction support
authorJi-Ze Hong (Peter Hong) <hpeter@gmail.com>
Thu, 11 Jan 2018 06:47:16 +0000 (14:47 +0800)
committerJohan Hovold <johan@kernel.org>
Thu, 11 Jan 2018 10:00:16 +0000 (11:00 +0100)
commitdc7dcc2574ba9c2e5a16739e28df2f0a5c0559ac
tree2bacbdbd321dafcb6ca2eef00358471d8c8b8538
parent1e3a678f758c613ac03ee177fb824eee2a3d07b6
USB: serial: f81534: add auto RTS direction support

The F81532/534 had auto RTS direction support for RS485 mode.
We'll read it from internal Flash with address 0x2f01~0x2f04 for 4 ports.
There are 4 conditions below:
0: F81534_PORT_CONF_RS232.
1: F81534_PORT_CONF_RS485.
2: value error, default to F81534_PORT_CONF_RS232.
3: F81534_PORT_CONF_RS485_INVERT.

F81532/534 Clock register (offset +08h)

Bit0: UART Enable (always on)
Bit2-1: Clock source selector
00: 1.846MHz.
01: 18.46MHz.
10: 24MHz.
11: 14.77MHz.
Bit4: Auto direction(RTS) control (RTS pin Low when TX)
Bit5: Invert direction(RTS) when Bit4 enabled (RTS pin high when TX)

Signed-off-by: Ji-Ze Hong (Peter Hong) <hpeter+linux_kernel@gmail.com>
[ johan: rename mode-mask define, and only use GENMASK() for masks ]
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/f81534.c