I2C writes produce duplicated bytes

Arno Willig arno.willig at hertz.st
Tue Apr 29 05:44:23 PDT 2014


Hi,

I am working with "ASRock FM2A75M-HD+" mainboards equipped with "AMD A4-4000
APU"s.

For some reasons I am required to write EDID data to VGA-connected TFT
panels which worked fine with an older mainboard with nvidia gpu.

With the ASRock board the smbus i2c DDC channel was recognized as "Radeon
aux bus DP-auxch" in linux 3.13.5 by i2cdetect. However this seems to be
fixed in 3.15.0-rc3, now it's "card0-VGA-1", which looks correct.

My problem is the following:


I tried to write to address 0x10 in the EDID block (val==0xaa)
i2cset -y 6 0x50 0x10 0xaa

Unfortunately the byte value is also copied to address 0x11, which is bad.
Some experiments showed that bytes written to all addresses are duplicated
to the next address. (Apparently a byte value written to address 0x0f is
duplicated to 0x00 and 0x1f is duplicated to 0x10 and so ).

This behaviour also seems to render ddc/ci commands unusable on this hardware.

Could this be a kernel bug in the radeon driver or is it an issue with the
mainboards?

Thanks for helping!




Ciao, Arno




More information about the dri-devel mailing list