i2c works?

Anyone using i2c with the beagleboard? Perhaps from userspace, even?

b.g.

I've been struggling to get i2c working on the Beagleboard, but I've
recently (about 5 minutes ago) gotten it to work. I have successfully
connected from the Beagleboard i2c-2 to a Gumstix Robostix i2c. I'm
using kernel version 2.6.26-r64, with config options CONFIG_I2C_OMAP
and CONFIG_I2C2_OMAP_BEAGLE turned on. To do the level shifting from
the Beagleboards 1.8v to the Robostix 5.0v, I used a small board that
uses the NXP PCA9306 level translator. On the Beagleboard I connected
to the 2nd i2c bus on the expansion connector (pin 23 for sda, pin 24
for scl, pin 1 for 1.8 volts, pin 27 for ground) and on the Robostix
board I connected to the i2c bus on the UART connector (pin 12 for
sda, pin 16 for scl, pin 14 for 5 volts and pin 10 for ground). Most
(all) of my problems were self inflicted, like connecting to the wrong
pins on both the Beagleboard and the Robostix board.

I used i2cdetect (from i2c-tools-3.0.1-r0) on the Beagleboard to probe
the address bus and the Robostix correctly identified itself as 0xb:

root@beagleboard:~# i2cdetect -ya 2
     0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- 0b -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

I then used a program called i2c-io (from the Gumstix/Robostix
utilities) to read a Robostix register from the Beagleboard:

root@beagleboard:/usr/local/bin# i2c-io --dev /dev/i2c-2 0xb readreg 0
0x02

frank