summaryrefslogtreecommitdiffstats
path: root/Documentation/i2c/busses/i2c-voodoo3
blob: 62d90a454d399dadfac84060ecc6fbd9d0196302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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.
OpenPOWER on IntegriCloud