Am 23.12.10, 11:09 -0500 schrieb Alex Deucher:
On Thu, Dec 23, 2010 at 2:25 AM, Kai-Uwe Behrmann <[email protected]> wrote:
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.


For radeon, make sure you are using at least 2.6.34, as previous
kernels did not expose i2c buses properly due to missing pre/post_xfer
i2c bit algo hooks.  Next, make sure you are opening the correct i2c

2.6.35 worked nicely. Thanks for the tip.

bus.   On radeons, we expose all of the on board i2c buses.  In most
cases, each connector uses a different i2c bus and there are
additional buses for thermal chips and fan controllers, etc.  Finally,

I check the return values in the code above and the received EDID header.

not all oems implement an EDID for the laptop panels, or in some cases
the EDID image is stored in the vbios.  If you just want the EDID, you
can query that using randr or via sysfs.

For xrandr people seem to have to wait until the KMS patch is not rejecting for wrong checksum. sysfs looks interessting too.

Alex


kind regards
Kai-Uwe Behrmann
--
developing for colour management www.behrmann.name + www.oyranos.org
_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: [email protected]

Reply via email to