I have an application that can program an EEPROM over I2C (specifically over HDMI). On other linux ARM machines I can use I2C set to reprogram the device just fine. In addition I2Cdetect shows the devices as being available.
http://www.lm-sensors.org/wiki/i2cToolsDocumentation
http://www.lm-sensors.org/wiki/man/i2cdetect
On the BBB however when I run I2C detect it sees all of the devices but they all return the code "UU" which means the hardware has locked the device. The output looks similar to below. (all of the UUs should be numbers)
# i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x03-0x77. Continue? [Y/n] 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- UU UU -- -- -- -- -- -- 50: UU UU UU -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
It refuses to let me write (with i2cset) to any on-board I2C device or the HDMI I2C. We are using the latest debian release 7.5 Wheezy.
Is there something special going on with the BBB drivers or GPU that locks these I2C devices or buses? I haven't found any documentation anywhere about this or seen this behavior on other hardware.
Bill