| 1 |
Kernel driver `i2c-voodoo3.o' |
|---|
| 2 |
|
|---|
| 3 |
Status: 'Beta' and still under development and testing |
|---|
| 4 |
|
|---|
| 5 |
Supported adapters: |
|---|
| 6 |
* 3dfx Voodoo3 based cards |
|---|
| 7 |
* Voodoo Banshee based cards |
|---|
| 8 |
|
|---|
| 9 |
Author: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock |
|---|
| 10 |
<phil@netroedge.com>, Ralph Metzler <rjkm@thp.uni-koeln.de>, |
|---|
| 11 |
and Mark D. Studebaker <mdsxyz123@yahoo.com> |
|---|
| 12 |
|
|---|
| 13 |
Main contact: Philip Edelbrock <phil@netroedge.com> |
|---|
| 14 |
|
|---|
| 15 |
The code is based upon Ralph's test code (he did the hard stuff ;') |
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
Module Parameters |
|---|
| 19 |
----------------- |
|---|
| 20 |
|
|---|
| 21 |
(none) |
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
Description |
|---|
| 25 |
----------- |
|---|
| 26 |
|
|---|
| 27 |
The 3dfx Voodoo3 chip contains two I2C interfaces (aka a I2C 'master' |
|---|
| 28 |
or 'host'). |
|---|
| 29 |
|
|---|
| 30 |
The first interface is used for DDC (Data Display Channel) |
|---|
| 31 |
which is a serial channel through the VGA monitor connector |
|---|
| 32 |
to a DDC-compliant monitor. This interface is defined by the |
|---|
| 33 |
Video Electronics Standards Association (VESA). The standards |
|---|
| 34 |
are available for purchase at http://www.vesa.org . |
|---|
| 35 |
|
|---|
| 36 |
The second interface is a general-purpose I2C bus. |
|---|
| 37 |
The intent by 3dfx was to allow manufacturers to add extra |
|---|
| 38 |
chips to the video card such as a TV-out chip such as the BT869 or possibly |
|---|
| 39 |
even I2C based temperature sensors like the ADM1021 or LM75. |
|---|
| 40 |
|
|---|
| 41 |
The 'feature' set of this driver is based on the i2c-piix4 (SMBus) |
|---|
| 42 |
features. I.e., SMBus byte reads and writes, as well as detected faults in |
|---|
| 43 |
transmission. Quick reads/writes, block transactions, word transactions, |
|---|
| 44 |
are yet unwritten but are probably not too hard to add. |
|---|
| 45 |
|
|---|
| 46 |
This driver uses the i2c-algo-bit module which must be |
|---|
| 47 |
modprobed and/or enabled in your kernel |
|---|
| 48 |
(Character Devices -> I2C Support -> I2C Bit-Banging Interfaces). |
|---|
| 49 |
|
|---|
| 50 |
Stability |
|---|
| 51 |
--------- |
|---|
| 52 |
Seems to be stable on the test machine, but needs more testing on other |
|---|
| 53 |
machines. |
|---|
| 54 |
|
|---|
| 55 |
Simultaneous accesses of the DDC and I2C busses may cause errors. |
|---|
| 56 |
|
|---|
| 57 |
|
|---|
| 58 |
Supported Devices |
|---|
| 59 |
----------------- |
|---|
| 60 |
Specifically, this driver was written and tested on the '3dfx Voodoo3 AGP |
|---|
| 61 |
3000' which has a tv-out feature (s-video or composite). According to the |
|---|
| 62 |
docs and discussions, this code should work for any Voodoo3 based cards as |
|---|
| 63 |
well as Voodoo Banshee based cards. The DDC interface has been tested |
|---|
| 64 |
on a Voodoo Banshee card. |
|---|
| 65 |
|
|---|
| 66 |
Features |
|---|
| 67 |
-------- |
|---|
| 68 |
This driver controls the I2C controller of the Voodoo3 chip. 'byte read' |
|---|
| 69 |
transactions and 'data_byte write' transactions are supported, but all else |
|---|
| 70 |
is not (but is probably easy to add if the need arises). |
|---|
| 71 |
|
|---|
| 72 |
Issues |
|---|
| 73 |
------ |
|---|
| 74 |
Probably many, but it seems to work OK on my system. :') |
|---|
| 75 |
|
|---|
| 76 |
|
|---|
| 77 |
External Device Connection |
|---|
| 78 |
-------------------------- |
|---|
| 79 |
The digital video input jumpers give availability to the I2C bus. |
|---|
| 80 |
Specifically, pins 13 and 25 (bottom row middle, and bottom right-end) are |
|---|
| 81 |
the I2C clock and I2C data lines, respectively. +5V and GND are probably |
|---|
| 82 |
also easily available making the addition of extra I2C/SMBus devices easy |
|---|
| 83 |
to implement. |
|---|