From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] doc: DT: Add Generic Serial Device Tree Bindings
Date: Mon, 18 Apr 2016 16:05:24 +0200 [thread overview]
Message-ID: <10322130.q5nmK1X286@wuerfel> (raw)
In-Reply-To: <CAMuHMdWmHUhhwbYDcmNXuxBRC6n+tp=oX03dBaK2VgL4OA72MQ@mail.gmail.com>
On Monday 18 April 2016 14:34:12 Geert Uytterhoeven wrote:
> Hi Arnd,
>
> CC Richard (serial-mctrl-gpio)
> CC Grant (ePAPR successor) and Frank
>
> On Sat, Apr 16, 2016 at 6:30 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Thursday 14 April 2016 14:13:19 Geert Uytterhoeven wrote:
> >> Document a set of generic properties for describing UARTs in a
> >> device tree:
> >> 1. The GPIO modem control properties are currently duplicated across
> >> hardware-specific binding documentation,
> >> 2. The property for dedicated RTS/CTS hardware flow control lines is
> >> already supported by several drivers, albeit with a vendor-specific
> >> prefix, hence make it generic.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > Originally the ISA 8250 uart binding (from ieee) was used as the
> > template for other uart bindings. How about documenting the parts that
> > are used in 8250-of today (current-speed, clock-frequency,
> > reg-offset, reg-shift, fifo-size, reg-io-width, auto-flow-control)
> > in the same file?
>
> I don't think we have the habit of documenting (duplicating) bindings for ePAPR
> under Documentation/devicetree/bindings/. Perhaps we should?
>
> Apart from that, most of the properties you mention look legacy or overly
> broad too me.
>
> - current-speed: This is configuration, not a property of the hardware.
> For the console, this has been deprecated by appending the serial config
> to chosen/stdout-path (e.g. "serial0:115200n8").
> For non-consoles, its use is debatable, IMHO.
> It's users are mostly legacy powerpc and early adaptors of DT on ARM.
> - clock-frequency: Legacy predating the Common Clock Framework.
> Any modern SoC uses clock specifiers with clock handles pointing to clock
> providers.
I think both are still used by IBM Firmware, which does not use the clock
binding or the linux syntax for passing the speed.
> - reg-offset, reg-shift, reg-io-width: These are much broader than serial,
> and IMHO thus don't belong in
> Documentation/devicetree/bindings/serial/serial.txt.
The exact meaning can be explained elsewhere, but I think the binding
can mention that they are allowed.
> - auto-flow-control: Looks a bit like a vague version of "uart-has-rtscts".
> Documentation/devicetree/bindings/serial/8250.txt doesn't make it clear
> whether this is about hardware capabilities or software configuration.
> Even the driver doesn't make it clear:
> #define UART_CAP_AFE (1 << 11) /* MCR-based hw flow control */
> "MCR" could mean RTS/CTS, DSR/DTR, ...
> - fifo-size: This one could be generic. atmel-usart uses a vendor-specific
> version "atmel,fifo-size".
>
> I suggest we move forward with my initial set, as I have patches that depend on
> them? We can always add more properties later.
Sounds ok to me.
> >> - out1-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
> >> used as the UART's OUT1 line.
> >> - out2-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
> >> used as the UART's OUT2 line.
> >
> > I had to look up what OUT1 and OUT2 are, but I still don't see how you'd
> > implement them using a GPIO line: From all I can tell, these are usually
> > internal registers in a hardware uart but they are not assigned to an
> > external line on the standard db9 or even the old db25 connectors. Should
> > we drop these instead?
>
> They're indeed fairly exotic, and they're burried deeply in the ns16550
> datasheet. We do have TIOCM_OUT1 and TIOCM_LOOP in asm-generic/termios.h,
> probably for obscure historical reasons.
>
> If we drop them, I guess they should be removed from the helper code in
> drivers/tty/serial/serial_mctrl_gpio.c, too? There don't seem to be any
> current users.
I think it makes sense for user space to toggle at least TIOCM_OUT1
through the ioctl and for drivers to implement it correctly. Apparently
the "Hayes SmartModem" used this for resetting the modem from its
integrated uart.
Arnd
next prev parent reply other threads:[~2016-04-18 14:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-14 12:13 [PATCH 0/5] serial: Add Generic Serial Device Tree Bindings Geert Uytterhoeven
2016-04-14 12:13 ` [PATCH 1/5] doc: DT: " Geert Uytterhoeven
2016-04-14 17:21 ` Rob Herring
2016-04-16 16:30 ` Arnd Bergmann
2016-04-18 12:34 ` Geert Uytterhoeven
2016-04-18 14:05 ` Arnd Bergmann [this message]
2016-04-18 15:43 ` Richard Genoud
2016-04-18 17:02 ` Peter Hurley
2016-04-14 12:13 ` [PATCH 2/5] serial: imx: Use generic uart-has-rtscts DT property Geert Uytterhoeven
2016-04-14 17:22 ` Rob Herring
2016-04-14 17:38 ` Geert Uytterhoeven
2016-04-14 12:13 ` [PATCH 3/5] serial: mxs-auart: " Geert Uytterhoeven
2016-04-14 12:13 ` [PATCH 4/5] serial: sirf: Introduce helper variable struct device_node *np Geert Uytterhoeven
2016-04-14 12:13 ` [PATCH 5/5] serial: sirf: Use generic uart-has-rtscts DT property Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10322130.q5nmK1X286@wuerfel \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox