LVDS and DP through i2c
Kai-Uwe Behrmann
ku.b at gmx.de
Wed Dec 22 23:25:39 PST 2010
Hello,
I try to talk to LVDS and DP connected displays over the i2c bus. What
works nicely for external DVI displays appears silent for the internal
one and DP. Any pointer what could be used or what shall be done to get a
communication?
example code for EDID fetching:
/* 1. select i2c-dev node */
const char * device_name = "/dev/i2c-0";
/* 2. open device node */
int fd = open( device_name, O_RDWR );
/* 3. set adress */
ioctl(fd, I2C_SLAVE, 0x50)
/* 4. request desired block */
usleep(50000);
char bits[128] = {0};
int ret = write( fd, &bits, 1 );
if(ret == 1)
{
/* 5. read data from node */
char data[128];
usleep(50000);
ret = read( fd, &data, 128 );
}
Already point 4 fails )-1) with a LVDS i2c node.
The DP port returns arbitrary data in point 5.
The DP is on a nvidia card, LVDS seems good on nvidia but not working on
a evergreen.
Why?
libXcm[1] shall become capable of handling direct display communication
for calibration (MCCS), identification (EEDID) and so on.
kind regards
Kai-Uwe Behrmann
--
developing for colour management
www.behrmann.name + www.oyranos.org
[1] http://www.oyranos.org/scm
More information about the xorg
mailing list