summaryrefslogtreecommitdiff
path: root/src/i830_i2c.c
AgeCommit message (Collapse)Author
2006-12-21Use Vesa DDC timeouts for all I2C busses.Keith Packard
The default I2C timeouts are very short, and while most modern monitors have no trouble responding at that rate, some older ones cannot manage.
2006-12-19Writing 1 to I2C line means to tristate the bus so others can manipulate it.Keith Packard
We were forcing bus lines to 1 which was breaking DDC for some monitors. Instead, make the PutBits function just tristate when writing 1 bits.
2006-11-30Tristate the clock/data pins during GPIO when released while getting values.Eric Anholt
While the register is laid out suggesting that you can read a low value while driving the output high, and the I2C spec seems to indicate that you should be able to as well, and on some hardware this works successfully, on the i865 and perhaps some other chips it doesn't. So, if we're not holding the clock or data pin low during GetBits, tristate the pin so that we can successfully read. This fixes i865 analog (VGA) DDC so it successfully sees slave acks. Also, improve the I2C bit-banging debugging.
2006-11-30Preserve some GPIO bits that the docs tell us to.Eric Anholt
2006-11-30Add debug code for the bit-banging I2C implementation.Eric Anholt
2006-11-02Add airlied's I2C code, ifdeffed out.Eric Anholt
I've gone back to compare our behavior to it several times, so I'll just keep the code in tree for now.
2006-09-08Remove xf86_ansic.h usage.Eric Anholt
2006-04-24Simplify the i2c code by using the GetBits/PutBits interface rather thanEric Anholt
reimplementing it.
2006-04-06Add enough of airlied's DDC/I2C work to pull EDID info from my CRT.Eric Anholt