Re: [PATCH 1/7] serial: 8250_dwlib: RS485 HW half duplex support

From: Lukas Wunner
Date: Tue Mar 08 2022 - 15:30:22 EST


On Tue, Mar 08, 2022 at 04:53:56PM +0200, Andy Shevchenko wrote:
> On Tue, Mar 8, 2022 at 4:50 PM Lukas Wunner <lukas@xxxxxxxxx> wrote:
> > Of course, if hardware-assisted DE assertion requires a particular pinmux
> > state, we could double-check whether that pinmux state is set.
>
> I'm wondering how to achieve this.

On DT platforms, the devicetree specifies the pin controller settings
which need to be configured for a device to be usable, e.g.:

pinctrl-names = "default";
pinctrl-0 = <...>;

Before a driver is bound to the device, really_probe() in drivers/base/dd.c
calls pinctrl_bind_pins() which configures the pin controller accordingly.
In other words, the OS is fully in charge of configuring the pinmux.

I'm not sure how this is done on ACPI platforms. If the pinmux is
exclusively under the control of the platform firmware and the OS has
no way of getting or setting the pinmux configuration, then that would
be a competitive disadvantage vis-à-vis DT platforms which should really
be addressed. However I notice there are various drivers for Intel
chipsets in drivers/pinctrl/intel/, so surely there's a way to let the
OS handle pinmux settings?

Thanks,

Lukas