How to use I2C
From IGEP - ISEE Wiki
Overview
This How-To is meant to be a starting point for people to learn use I2C for IGEP v2 devices as quickly and easily as possible. For this how-to i do a program that reads and decodes EDID information from EEPROM display. This program was tested in Linaro Headless with Kernel 2.6.35.y and Poky Linux distribution.
More information about EDID.
Feedback and Contributing
At any point, if you see a mistake you can contribute to this How-To.
Check I2C Devices
In this How-to i used pre-compiled modules, because: it's quick and it works. All versions of Linux are supported, as long as I2C support is included in the kernel.
To make sure that I2C driver works well, follow the next steps (tested in Linaro Headless):
sudo apt-get install i2c-tools i2cdetect -l
The result will be similar at that:
i2c-1 i2c OMAP I2C adapter I2C adapter i2c-3 i2c OMAP I2C adapter I2C adapter
It's important than i2c-3 is enable, because it connect by default to DVI-D.
Compile
Download (upload source code) and extract it. Compile program using your Cross Compiler, i used arm-linux-gnueabi-:
arm-linux-gnueabi-gcc parse-edid-beta2.c -o parse-edid-beta2
Make sure that i2c.dev.h has the same path as parse-edid-beta2.c.
NOTE: This program is a beta version, it decodes E-EDID Standard Release A, Revision 1 using i2c-dev driver. There are some functionalitise that are not implemented (see code comments) and other new ones that appear in other revisions. Besides it only parse the first EDID 128 bytes. (put this in overview)not pretends educational purpouse.
Run program as root.
Results
Under construction