Searched hist:"930 b3123192e66c4cd10e2158f4792b905f6bf05" (Results 1 – 2 of 2) sorted by relevance
/freebsd/sys/dev/iicbus/ |
H A D | iic_recover_bus.c | 930b3123192e66c4cd10e2158f4792b905f6bf05 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 D | iic_recover_bus.h | 930b3123192e66c4cd10e2158f4792b905f6bf05 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).
|