Kernel driver i2c-voodoo3

Supported adapters:
  * 3dfx Voodoo3 based cards
  * Voodoo Banshee based cards

Authors: 
	Frodo Looijaard <frodol@dds.nl>, 
	Philip Edelbrock <phil@netroedge.com>, 
	Ralph Metzler <rjkm@thp.uni-koeln.de>,
	Mark D. Studebaker <mdsxyz123@yahoo.com>

Main contact: Philip Edelbrock <phil@netroedge.com>
	
The code is based upon Ralph's test code (he did the hard stuff ;')

Description
-----------

The 3dfx Voodoo3 chip contains two I2C interfaces (aka a I2C 'master' or
'host'). 

The first interface is used for DDC (Data Display Channel) which is a
serial channel through the VGA monitor connector to a DDC-compliant
monitor. This interface is defined by the Video Electronics Standards
Association (VESA). The standards are available for purchase at
http://www.vesa.org .

The second interface is a general-purpose I2C bus. The intent by 3dfx was
to allow manufacturers to add extra chips to the video card such as a
TV-out chip such as the BT869 or possibly even I2C based temperature
sensors like the ADM1021 or LM75.

Stability
---------

Seems to be stable on the test machine, but needs more testing on other
machines. Simultaneous accesses of the DDC and I2C busses may cause errors.

Supported Devices
-----------------

Specifically, this driver was written and tested on the '3dfx Voodoo3 AGP
3000' which has a tv-out feature (s-video or composite).  According to the
docs and discussions, this code should work for any Voodoo3 based cards as
well as Voodoo Banshee based cards.  The DDC interface has been tested on a
Voodoo Banshee card.
	
Issues
------

Probably many, but it seems to work OK on my system. :')


External Device Connection
--------------------------

The digital video input jumpers give availability to the I2C bus. 
Specifically, pins 13 and 25 (bottom row middle, and bottom right-end) are     
the I2C clock and I2C data lines, respectively. +5V and GND are probably
also easily available making the addition of extra I2C/SMBus devices easy
to implement.
