Home
last modified time | relevance | path

Searched hist:"930 b3123192e66c4cd10e2158f4792b905f6bf05" (Results 1 – 2 of 2) sorted by relevance

/freebsd/sys/dev/iicbus/
H A Diic_recover_bus.c930b3123192e66c4cd10e2158f4792b905f6bf05 Thu Jun 29 03:50:58 CEST 2017 Ian Lepore <ian@FreeBSD.org> Add iic_recover_bus(), a helper function that can be used by any i2c driver
which is able to manipulate the clock and data lines directly.

When an i2c bus is hung by a slave device stuck in the middle of a
transaction that didn't complete properly, this function manipulates the
clock and data lines in a sequence known to reliably reset slave devices.
The most common cause of a hung i2c bus is a system reboot in the middle of
an i2c transfer (so it doesnt' happen often, but now there is a way other
than power cycling to recover from it).
H A Diic_recover_bus.h930b3123192e66c4cd10e2158f4792b905f6bf05 Thu Jun 29 03:50:58 CEST 2017 Ian Lepore <ian@FreeBSD.org> Add iic_recover_bus(), a helper function that can be used by any i2c driver
which is able to manipulate the clock and data lines directly.

When an i2c bus is hung by a slave device stuck in the middle of a
transaction that didn't complete properly, this function manipulates the
clock and data lines in a sequence known to reliably reset slave devices.
The most common cause of a hung i2c bus is a system reboot in the middle of
an i2c transfer (so it doesnt' happen often, but now there is a way other
than power cycling to recover from it).