I'm trying to connect something to the BeagleBoard over the I2C
interface but I'm not exactly sure how to do it. I've worked with
microcontrollers, linux and serial communication before, but haven't
worked with I2C or custom kernels. Any information or reference
material will be very helpful, and I'll return the favor by writing a
full how-to document on the subject.
Here are a few of my questions so far:
1) It looks like I need to enable "I2C2_OMAP_BEAGLE". Where do I do
this? Is this already done on the Angstrom demo image? Is this in the
kernel before compiling?
2) Voltage levels. Can I use a transistor to simple increase the logic
levels from 1.8v to 5v? For example, connect the 1.8v I2C header to
the transistor base and send 5v running through the Collector/
Emitter. Otherwise, would the logic level converter from SparkFun
(http://bit.ly/13iFtA) work?
3) How do I access the I2C interface from code and/or the command
line? I can write C, I'll probably be writing this project in Python
or Ruby.
Is there anything else I'm missing or should be aware of? Please help
fill in the blanks. Think about what somebody would need to know to
get I2C working from start to finish. Otherwise I might revert to
interfacing the I2C device with my Arduino and then connecting that to
the Beagle Board. I'd like to avoid this, since the Beagle Board has
I2C built-in.
Thanks,
Jeremy