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. In this how-to, we use a program that reads and decodes EDID information from display. This program was tested in Linaro Headless with Kernel 2.6.35.y and Poky Linux distribution.
NOTE: This program is a beta version, it decodes EDID following E-EDID Standard Release A-1 from VESA using i2c-dev driver. There are some functionalities that are not implemented (see code comments) and other new ones that appear in other revisions. Besides, this program only parses the first EDID 128 bytes block. But this code is only a sample to learnt use I2C.
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 and Run
Download (upload source code) and extract it.
There are a some interesting things that it interesting know, open source program:
//1==enabled 0==disable #define FORCE 1 //Address DVI Standard: 0x50 #define ADDRESS 0x50
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.
Run program as root.
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.
Results
Under construction