Il 06/06/2018 20:55, Matwey V. Kornilov ha scritto:
2018-06-06 16:11 GMT+03:00 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>:
On Wed, 2018-06-06 at 14:15 +0200, Giulio Benetti wrote:
Il 06/06/2018 13:56, Andy Shevchenko ha scritto:
On Wed, 2018-06-06 at 11:49 +0200, Giulio Benetti wrote:
em485 gets lost during
Copy em485 to final uart port.
Is it needed at all?
The individual driver decides either to use software emulation (and
calls explicitly serial8250_em485_init() for that) or do HW assisted
stuff.
In 8250_dw.c, during probe(), I need to call dw8250_rs485_config()
against local struct uart_8250_port uart = {};
Inside serial8250_register_8250_port() not all uart fields are
copied(em485 too).
So after probe, em485 is NULL.
Another way could be to call dw8250_rs485_config() against real uart
port, after calling serial8250_register_8250_port(),
would it make sense?
Look at OMAP case closely. They have a callback to configure RS485 which
is called in uart_set_rs485_config() which is called whenever user
space does TIOCGRS485 IOCTL.
So, it's completely driven by user space which makes sense by my
opinion.
AFAIU, Giulio wants to add support for rs485-enabled-at-boot-time
device tree option (see bindings/serial/rs485.txt for reference).
Yes, I want to add support for "rs485-enabled-at-boot-time" property,
maybe I had to write better commit log and a cover letter. Sorry.
I suppose it is only important for use-case when rs485 used as slave
(peripheral role).
It's important also for master, because RTS, if RTS_AFTER_SEND is set,
remains not asserted(trasnmission) until userspace opens that serial port.
Sorry again for not explaining myself well.
--
Giulio Benetti
CTO
MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale € 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html