mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-27 08:14:35 +08:00
serial: sprd: Add loopback function support
Add loopback function support for Spreadtrum serial controller. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Link: https://lore.kernel.org/r/1275cd9968f1ceb5ac049cc23f1e508025cd552f.1566375260.git.baolin.wang@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6cbdf5c659
commit
37ba760b6b
@ -79,6 +79,7 @@
|
||||
/* control register 1 */
|
||||
#define SPRD_CTL1 0x001C
|
||||
#define SPRD_DMA_EN BIT(15)
|
||||
#define SPRD_LOOPBACK_EN BIT(14)
|
||||
#define RX_HW_FLOW_CTL_THLD BIT(6)
|
||||
#define RX_HW_FLOW_CTL_EN BIT(7)
|
||||
#define TX_HW_FLOW_CTL_EN BIT(8)
|
||||
@ -164,7 +165,14 @@ static unsigned int sprd_get_mctrl(struct uart_port *port)
|
||||
|
||||
static void sprd_set_mctrl(struct uart_port *port, unsigned int mctrl)
|
||||
{
|
||||
/* nothing to do */
|
||||
u32 val = serial_in(port, SPRD_CTL1);
|
||||
|
||||
if (mctrl & TIOCM_LOOP)
|
||||
val |= SPRD_LOOPBACK_EN;
|
||||
else
|
||||
val &= ~SPRD_LOOPBACK_EN;
|
||||
|
||||
serial_out(port, SPRD_CTL1, val);
|
||||
}
|
||||
|
||||
static void sprd_stop_rx(struct uart_port *port)
|
||||
|
Loading…
Reference in New Issue
Block a user