Part Number: BEAGLEBK
Hello,
I am working on optimising a system which employs a Beaglebone Black and a number of slaves connected via I2C.
I was having some problems with slaves rarely (once every 24 hours or so) holding onto the I2C lines, causing the entire board to crash. I believe this can be overcome by a better linux I2C driver, which properly implements the I2C standard's recovery protocol (toggling CLK a number of times to get the slave to release the line).
To fix this this I have upgraded from the board's initial Debian 8/Linux 3.16 system to Debian 10/Linux 4.19, (provided here) hoping that the later version would have a better implementation of the I2C driver. I have been running this for a few hours now, and have yet to see a crash.
However, ideally I want to ensure that the recovery function is implemented correctly, so I've spent a lot of time reading manuals/forums (so far to no avail) to figure out where this particular driver is located. In the related thread on this forum (here), and in a number of other places, people were pointed to /i2c/busses/i2c-omap.c, however I cannot find this file anywhere (on either the standard Debian 8 OS, or Debian 10).
Would somebody be able to tell me A) Where I can find the main I2C driver? (I previously found some guidance, but not the answer, here) and B) Whether Linux 4.19 should have an effective I2C recovery implementation (better than that in Linux 3.16). I suspect that it does based on updates such as this
Thank you

