devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/2] pca954x: Add DT bindings and driver changes for reset after timeout
@ 2024-10-18 10:03 Wojciech Siudy
  2024-10-18 10:03 ` [PATCH v5 1/2] dt-bindings: i2c: pca954x: Add timeout reset property Wojciech Siudy
  2024-10-18 10:03 ` [PATCH v5 2/2] pca954x: Reset if channel select fails Wojciech Siudy
  0 siblings, 2 replies; 11+ messages in thread
From: Wojciech Siudy @ 2024-10-18 10:03 UTC (permalink / raw)
  To: linux-kernel, linux-i2c, devicetree; +Cc: andi.shyti, peda, Wojciech Siudy

The pca954x mux might not respond under certain cicumstances, like
device behindit holding SDA after recovery loop or some internal issue
in mux itself. Those situations are indicated by ETIMEDOUT returned
from I2C transaction attempting selecting or deselecting the channel.
According to device documentation the reset pulse restores I2C
subsystem of the mux and deselects the channel.

Since the mux switches using transistor switches, the failure of line
behind mux that is currently conneted prevents sending commands to mux
itself, so external reset signal is required. 

The following series of patches implements the reset functionality if
it was selected in devicetree. This cannot be default behaviour,
beceuse the reset line might not be dedivated on some boards and such
reset pulse would make other chips need reinitialisation.

---
Changelog:
v2:
  * Removed mail header from the commit log
  * Decreased reset pulse hold time from 10 to 1 ms
v3:
  * Make this functionality enabled by appropriate property in
    devicetree
v4:
  * Fix missing condition check from devicetree
v5:
  * Declare dependency of a new property
---
Wojciech Siudy (2):
  dt-bindings: i2c: pca954x: Add timeout reset property
  pca954x: Reset if channel select fails

 .../bindings/i2c/i2c-mux-pca954x.yaml         | 11 ++++
 drivers/i2c/muxes/i2c-mux-pca954x.c           | 51 +++++++++++++++----
 2 files changed, 51 insertions(+), 11 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-10-24 10:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18 10:03 [PATCH v5 0/2] pca954x: Add DT bindings and driver changes for reset after timeout Wojciech Siudy
2024-10-18 10:03 ` [PATCH v5 1/2] dt-bindings: i2c: pca954x: Add timeout reset property Wojciech Siudy
2024-10-18 13:53   ` Rob Herring
2024-10-19 11:09     ` Wojciech Siudy (Nokia)
2024-10-21  7:27       ` Krzysztof Kozlowski
2024-10-24  7:05         ` ODP: " Wojciech Siudy (Nokia)
2024-10-24  7:08           ` Krzysztof Kozlowski
2024-10-24  9:18             ` Wojciech Siudy (Nokia)
2024-10-24  9:40               ` Krzysztof Kozlowski
2024-10-18 10:03 ` [PATCH v5 2/2] pca954x: Reset if channel select fails Wojciech Siudy
2024-10-24 10:59   ` Andi Shyti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).