diff options
author | Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> | 2025-05-01 21:40:03 +0100 |
---|---|---|
committer | Andi Shyti <andi@smida.it> | 2025-05-19 22:23:57 +0200 |
commit | ba9e1b5254783528e10b45b1f0fb40e21f4ff88a (patch) | |
tree | fff41396a6e0ce3f94cef3d0beab2aa5c8c03e3a /net/lapb/lapb_timer.c | |
parent | 218d2318185b165d254b4ddc013f99d3906e1859 (diff) |
i2c: riic: Implement bus recovery
Implement I2C bus recovery support for the RIIC controller by making use
of software-controlled SCL and SDA line manipulation. The controller allows
forcing SCL and SDA levels through control bits, which enables generation
of manual clock pulses and a stop condition to free a stuck bus.
This implementation wires up the bus recovery mechanism using
i2c_generic_scl_recovery and provides get/set operations for SCL and SDA.
This allows the RIIC driver to recover from bus hang scenarios where SDA
is held low by a slave.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Link: https://lore.kernel.org/r/20250501204003.141134-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions