summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2014-08-20 17:02:37 +0000
committerloos <loos@FreeBSD.org>2014-08-20 17:02:37 +0000
commit01adfcd353e234439214159111d698f91fc2a59c (patch)
tree02991514978467ce342c0caaf8e2949fa77805aa /sbin
parentb8c3f9e51b811dfd77531b3a718263911d618583 (diff)
downloadFreeBSD-src-01adfcd353e234439214159111d698f91fc2a59c.zip
FreeBSD-src-01adfcd353e234439214159111d698f91fc2a59c.tar.gz
Rewrite of ti_i2c based on gonzo's patch, fix the following bugs/problems:
. interrupt storm detected on "intr70:"; throttling interrupt source; . Added access serialization on iicbus_transfer(), previously there was no such protection and a new transfer could easily confuse the controller; . Add error checkings (i.e. stop the transfer when a error is detected and do _not_ overwrite the previous error); . On command done interrupt do not assume that the transfer was finished sucessfully as we will receive the command done interrupt even after errors; . Simplify the FIFO handling; . Reset the FIFO between the transfers as the FIFO may contain data from the last (failed) transfer; . Fix the iicbus speed for AM335x, which in turn will make better use of the I2C noise filter (set to one internal clock cycle); . Move the read and write handler to ithread instead of notifying the requesting thread with wakeup(9); . Fix the comments based on OMAP4 TRM. The above changes allows me to read the EDID from my HDMI monitor on BBB with gonzo's patches to support TDA19988 (which does 128 bytes reads) and repeatedly scan the iicbus (with a modified i2c(8)) without lock up the bus. Phabric: D465
Diffstat (limited to 'sbin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud