On Fri, Sep 13, 2024 at 10:37:30AM +0000, Wojciech Siudy (Nokia) wrote: > From: Wojciech Siudy <wojciech.siudy@xxxxxxxxx> > > For cases when the mux shares reset line with other chips we cannot > use it when channel selection or deselection times out, because it > could break them without proper init/probe. > > Signed-off-by: Wojciech Siudy <wojciech.siudy@xxxxxxxxx> > --- > .../devicetree/bindings/i2c/i2c-mux-pca954x.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > index 9aa0585200c9..872be72da965 100644 > --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml > @@ -63,6 +63,12 @@ properties: > necessary for example, if there are several multiplexers on the bus and > the devices behind them use same I2C addresses. > > + i2c-mux-timeout-reset: > + type: boolean > + description: Sends reset pulse if channel selection or deselection times > + out. Works only if reset GPIO provided. Do not use if other chips share > + the same reset line. Why is a dedicated property required for this? Why is it not sufficient to attempt an exclusive request of the reset line, and always perform a reset if selection or deselection times out? Rather than "Works only if reset GPIO provided", enforce this with a dependency. Thanks, Conor. > + > idle-state: > description: if present, overrides i2c-mux-idle-disconnect > $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state > @@ -146,6 +152,8 @@ examples: > interrupt-parent = <&ipic>; > interrupts = <17 IRQ_TYPE_LEVEL_LOW>; > interrupt-controller; > + i2c-mux-idle-disconnect; > + i2c-mux-timeout-reset; > #interrupt-cells = <2>; > > i2c@2 { > -- > 2.34.1 > >
Attachment:
signature.asc
Description: PGP signature