Re: Serial ports with non connected RTS/CTS

Rob Herring
2016-04-04T05:16:33Z

On Sat, Apr 02, 2016 at 09:36:38PM -0700, Peter Hurley wrote:
> On 01/27/2016 02:30 AM, Martin Fuzzey wrote:
> > Hi all,
> >
> > currently, at least for 8250 based serial ports using of_serial, there is no way of indicating that the RTS / CTS lines, although supported by the UART, are not actually connected on the board.
> >
> > This means that userspace needs to know about this and not use the CRTSCTS termios flag (otherwise no data is sent).
> >
> > This is currently the case for Debian stattach for example (nettools 1.60) which unconditionally uses CRTSCTS (but the busybox version of slattach has a "-F" option that can be used to disable CRTSCTS).
> >
> > Would it not be better to allow this situation to be described in the device tree?
> >
> > Such an option already exists for the imx UART (""fsl,uart-has-rtscts")
> >
> > of_serial already has the "auto-flow-control" DT property but, as stated in the documentation:
> > "The driver is allowed to detect support for the capability even without this property."
> >
> > In the past there was a (since reverted) property "has-hw-flow-control"
> > See
> > 06aa82e "serial: uart: add hw flow control support configuration"
> > a6eec92 " Revert "serial: uart: add hw flow control support configuration"
> >
> > However that just provided another (redundant) way of *activating* hardware flow control and did not allow it to be disactivated.
> >
> > Would a new DT property "no-rtscts" to do this be acceptable?

Yes.

It's really a "the h/w designers left CTS tied/floating inactive by
mistake" flag. What is done with RTS doesn't really matter. So just
"no-cts" perhaps.

> > I think it would have to be a negative property to avoid breaking old device trees.

Agreed.

Rob