mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-02 19:13:01 +07:00
serial: sh-sci: Add support for loopback mode.
This plugs in loopback control for SCFCR-enabled ports and plugs it in via the TIOCM_LOOP control, as others do. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
cdf7c42fec
commit
dc7e3ef7da
@ -1113,10 +1113,23 @@ static unsigned int sci_tx_empty(struct uart_port *port)
|
||||
* handled via the ->init_pins() op, which is a bit of a one-way street,
|
||||
* lacking any ability to defer pin control -- this will later be
|
||||
* converted over to the GPIO framework).
|
||||
*
|
||||
* Other modes (such as loopback) are supported generically on certain
|
||||
* port types, but not others. For these it's sufficient to test for the
|
||||
* existence of the support register and simply ignore the port type.
|
||||
*/
|
||||
static void sci_set_mctrl(struct uart_port *port, unsigned int mctrl)
|
||||
{
|
||||
/* Nothing to do here. */
|
||||
if (mctrl & TIOCM_LOOP) {
|
||||
struct plat_sci_reg *reg;
|
||||
|
||||
/*
|
||||
* Standard loopback mode for SCFCR ports.
|
||||
*/
|
||||
reg = sci_getreg(port, SCFCR);
|
||||
if (reg->size)
|
||||
sci_out(port, SCFCR, sci_in(port, SCFCR) | 1);
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned int sci_get_mctrl(struct uart_port *port)
|
||||
|
Loading…
Reference in New Issue
Block a user