On Mon, Mar 07, 2022 at 11:48:01AM +0200, Ilpo Järvinen wrote:
On Sun, 6 Mar 2022, Lukas Wunner wrote:
quoted
On Wed, Mar 02, 2022 at 11:56:05AM +0200, Ilpo Järvinen wrote:
quoted
This change is necessary for supporting devices with RS485
multipoint addressing [*].
If this is only used with RS485, why can't we just store the
addresses in struct serial_rs485 and use the existing TIOCSRS485
and TIOCGRS485 ioctls? There's 20 bytes of padding left in
struct serial_rs485 which you could use. No need to add more
user-space ABI.
It could if it is agreed that serial multipoint addressing is just
a thing in RS-485 and nowhere else? In that case, there is no point
in adding more generic support for it.
It's just that the above-quoted sentence in the commit message
specifically mentions RS485. If you intend to use it with RS232
as well, that should be made explicit, otherwise one wonders why
it wasn't integrated into struct serial_rs485.
I have no idea how common 9th bit addressing mode is with RS232.
Goggle turns up links saying it's mainly used with RS485, "but also
RS232". Since RS232 isn't a bus but a point-to-point link,
9th bit addressing doesn't seem to make as much sense.
quoted
quoted
[*] Technically, RS485 is just an electronic spec and does not
itself specify the 9th bit addressing mode but 9th bit seems
at least "semi-standard" way to do addressing with RS485.
Is 9th bit addressing actually used by an Intel customer or was
it implemented just for feature completeness? I think this mode
isn't used often (I've never seen a use case myself), primarily
because it requires disabling parity.
On what basis? ...The datasheet I'm looking at has a timing diagram
with both D8 (9th bit) and parity so I think your information must be
incorrect.
E.g. the discussion here says that 9th bit addressing requires that
parity is disabled or the character size is reduced to 7-bit:
https://www.microchip.com/forums/m299904.aspx
I guess that applies only to some UARTs, the Synopsys databook doesn't
mention any such constraints.
Thanks,
Lukas