Re: [PATCH 1/2] dt-bindings: i2c-mux-gpio: Add optional DT property

From: Peter Rosin
Date: Tue Oct 26 2021 - 17:02:23 EST




On 2021-10-26 22:29, Rob Herring wrote:
> On Wed, Oct 13, 2021 at 04:10:02PM +0200, Horatiu Vultur wrote:
>> Add optional property 'select-delay' DT property. In case this is set
>> then a delay is added when changing mux state. The value is specified in
>> usec.
>>
>> Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
>> ---
>> Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt b/Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt
>> index d4cf10582a26..d0dacbad491a 100644
>> --- a/Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt
>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt
>> @@ -28,6 +28,7 @@ Required properties:
>> Optional properties:
>> - idle-state: value to set the muxer to when idle. When no value is
>> given, it defaults to the last value used.
>> +- select-delay: GPIO settle delay when changing mux state. In usec.
>
> Seems generally useful. Can we add this first to the mux control
> binding, then use it here (or better yet, use the mux binding if you
> can instead).

It is actually not very useful here, nor in the mux-control binding. The
same gpio lines (or mux-control) could be used to control several muxes,
all with vastly different needs as to how long the settle time needs to
be. I.e. it is not the gpio lines (or mux-control) that need to settle,
it is the signal(s) that travel through the controlled mux(es) that need
to settle.

In this case, a settle time property was added to the io-channel-mux
binding, which makes much more sense.

https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/commit/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml?h=char-misc-next&id=b9221f71c285

Cheers,
Peter

> Also, properties with units need a standard unit suffix.
>
>>
>> For each i2c child node, an I2C child bus will be created. They will
>> be numbered based on their order in the device tree.
>> --
>> 2.33.0
>>
>>