diff options
Diffstat (limited to 'Documentation/i2c/busses')
21 files changed, 1061 insertions, 0 deletions
diff --git a/Documentation/i2c/busses/i2c-ali1535 b/Documentation/i2c/busses/i2c-ali1535 new file mode 100644 index 000000000000..0db3b4c74ad1 --- /dev/null +++ b/Documentation/i2c/busses/i2c-ali1535 | |||
@@ -0,0 +1,42 @@ | |||
1 | Kernel driver i2c-ali1535 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Acer Labs, Inc. ALI 1535 (south bridge) | ||
5 | Datasheet: Now under NDA | ||
6 | http://www.ali.com.tw/eng/support/datasheet_request.php | ||
7 | |||
8 | Authors: | ||
9 | Frodo Looijaard <frodol@dds.nl>, | ||
10 | Philip Edelbrock <phil@netroedge.com>, | ||
11 | Mark D. Studebaker <mdsxyz123@yahoo.com>, | ||
12 | Dan Eaton <dan.eaton@rocketlogix.com>, | ||
13 | Stephen Rousset<stephen.rousset@rocketlogix.com> | ||
14 | |||
15 | Description | ||
16 | ----------- | ||
17 | |||
18 | This is the driver for the SMB Host controller on Acer Labs Inc. (ALI) | ||
19 | M1535 South Bridge. | ||
20 | |||
21 | The M1535 is a South bridge for portable systems. It is very similar to the | ||
22 | M15x3 South bridges also produced by Acer Labs Inc. Some of the registers | ||
23 | within the part have moved and some have been redefined slightly. | ||
24 | Additionally, the sequencing of the SMBus transactions has been modified to | ||
25 | be more consistent with the sequencing recommended by the manufacturer and | ||
26 | observed through testing. These changes are reflected in this driver and | ||
27 | can be identified by comparing this driver to the i2c-ali15x3 driver. For | ||
28 | an overview of these chips see http://www.acerlabs.com | ||
29 | |||
30 | The SMB controller is part of the M7101 device, which is an ACPI-compliant | ||
31 | Power Management Unit (PMU). | ||
32 | |||
33 | The whole M7101 device has to be enabled for the SMB to work. You can't | ||
34 | just enable the SMB alone. The SMB and the ACPI have separate I/O spaces. | ||
35 | We make sure that the SMB is enabled. We leave the ACPI alone. | ||
36 | |||
37 | |||
38 | Features | ||
39 | -------- | ||
40 | |||
41 | This driver controls the SMB Host only. This driver does not use | ||
42 | interrupts. | ||
diff --git a/Documentation/i2c/busses/i2c-ali1563 b/Documentation/i2c/busses/i2c-ali1563 new file mode 100644 index 000000000000..99ad4b9bcc32 --- /dev/null +++ b/Documentation/i2c/busses/i2c-ali1563 | |||
@@ -0,0 +1,27 @@ | |||
1 | Kernel driver i2c-ali1563 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Acer Labs, Inc. ALI 1563 (south bridge) | ||
5 | Datasheet: Now under NDA | ||
6 | http://www.ali.com.tw/eng/support/datasheet_request.php | ||
7 | |||
8 | Author: Patrick Mochel <mochel@digitalimplant.org> | ||
9 | |||
10 | Description | ||
11 | ----------- | ||
12 | |||
13 | This is the driver for the SMB Host controller on Acer Labs Inc. (ALI) | ||
14 | M1563 South Bridge. | ||
15 | |||
16 | For an overview of these chips see http://www.acerlabs.com | ||
17 | |||
18 | The M1563 southbridge is deceptively similar to the M1533, with a few | ||
19 | notable exceptions. One of those happens to be the fact they upgraded the | ||
20 | i2c core to be SMBus 2.0 compliant, and happens to be almost identical to | ||
21 | the i2c controller found in the Intel 801 south bridges. | ||
22 | |||
23 | Features | ||
24 | -------- | ||
25 | |||
26 | This driver controls the SMB Host only. This driver does not use | ||
27 | interrupts. | ||
diff --git a/Documentation/i2c/busses/i2c-ali15x3 b/Documentation/i2c/busses/i2c-ali15x3 new file mode 100644 index 000000000000..ff28d381bebe --- /dev/null +++ b/Documentation/i2c/busses/i2c-ali15x3 | |||
@@ -0,0 +1,112 @@ | |||
1 | Kernel driver i2c-ali15x3 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Acer Labs, Inc. ALI 1533 and 1543C (south bridge) | ||
5 | Datasheet: Now under NDA | ||
6 | http://www.ali.com.tw/eng/support/datasheet_request.php | ||
7 | |||
8 | Authors: | ||
9 | Frodo Looijaard <frodol@dds.nl>, | ||
10 | Philip Edelbrock <phil@netroedge.com>, | ||
11 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
12 | |||
13 | Module Parameters | ||
14 | ----------------- | ||
15 | |||
16 | * force_addr: int | ||
17 | Initialize the base address of the i2c controller | ||
18 | |||
19 | |||
20 | Notes | ||
21 | ----- | ||
22 | |||
23 | The force_addr parameter is useful for boards that don't set the address in | ||
24 | the BIOS. Does not do a PCI force; the device must still be present in | ||
25 | lspci. Don't use this unless the driver complains that the base address is | ||
26 | not set. | ||
27 | |||
28 | Example: 'modprobe i2c-ali15x3 force_addr=0xe800' | ||
29 | |||
30 | SMBus periodically hangs on ASUS P5A motherboards and can only be cleared | ||
31 | by a power cycle. Cause unknown (see Issues below). | ||
32 | |||
33 | |||
34 | Description | ||
35 | ----------- | ||
36 | |||
37 | This is the driver for the SMB Host controller on Acer Labs Inc. (ALI) | ||
38 | M1541 and M1543C South Bridges. | ||
39 | |||
40 | The M1543C is a South bridge for desktop systems. | ||
41 | The M1541 is a South bridge for portable systems. | ||
42 | They are part of the following ALI chipsets: | ||
43 | |||
44 | * "Aladdin Pro 2" includes the M1621 Slot 1 North bridge with AGP and | ||
45 | 100MHz CPU Front Side bus | ||
46 | * "Aladdin V" includes the M1541 Socket 7 North bridge with AGP and 100MHz | ||
47 | CPU Front Side bus | ||
48 | Some Aladdin V motherboards: | ||
49 | Asus P5A | ||
50 | Atrend ATC-5220 | ||
51 | BCM/GVC VP1541 | ||
52 | Biostar M5ALA | ||
53 | Gigabyte GA-5AX (** Generally doesn't work because the BIOS doesn't | ||
54 | enable the 7101 device! **) | ||
55 | Iwill XA100 Plus | ||
56 | Micronics C200 | ||
57 | Microstar (MSI) MS-5169 | ||
58 | |||
59 | * "Aladdin IV" includes the M1541 Socket 7 North bridge | ||
60 | with host bus up to 83.3 MHz. | ||
61 | |||
62 | For an overview of these chips see http://www.acerlabs.com. At this time the | ||
63 | full data sheets on the web site are password protected, however if you | ||
64 | contact the ALI office in San Jose they may give you the password. | ||
65 | |||
66 | The M1533/M1543C devices appear as FOUR separate devices on the PCI bus. An | ||
67 | output of lspci will show something similar to the following: | ||
68 | |||
69 | 00:02.0 USB Controller: Acer Laboratories Inc. M5237 (rev 03) | ||
70 | 00:03.0 Bridge: Acer Laboratories Inc. M7101 <= THIS IS THE ONE WE NEED | ||
71 | 00:07.0 ISA bridge: Acer Laboratories Inc. M1533 (rev c3) | ||
72 | 00:0f.0 IDE interface: Acer Laboratories Inc. M5229 (rev c1) | ||
73 | |||
74 | ** IMPORTANT ** | ||
75 | ** If you have a M1533 or M1543C on the board and you get | ||
76 | ** "ali15x3: Error: Can't detect ali15x3!" | ||
77 | ** then run lspci. | ||
78 | ** If you see the 1533 and 5229 devices but NOT the 7101 device, | ||
79 | ** then you must enable ACPI, the PMU, SMB, or something similar | ||
80 | ** in the BIOS. | ||
81 | ** The driver won't work if it can't find the M7101 device. | ||
82 | |||
83 | The SMB controller is part of the M7101 device, which is an ACPI-compliant | ||
84 | Power Management Unit (PMU). | ||
85 | |||
86 | The whole M7101 device has to be enabled for the SMB to work. You can't | ||
87 | just enable the SMB alone. The SMB and the ACPI have separate I/O spaces. | ||
88 | We make sure that the SMB is enabled. We leave the ACPI alone. | ||
89 | |||
90 | Features | ||
91 | -------- | ||
92 | |||
93 | This driver controls the SMB Host only. The SMB Slave | ||
94 | controller on the M15X3 is not enabled. This driver does not use | ||
95 | interrupts. | ||
96 | |||
97 | |||
98 | Issues | ||
99 | ------ | ||
100 | |||
101 | This driver requests the I/O space for only the SMB | ||
102 | registers. It doesn't use the ACPI region. | ||
103 | |||
104 | On the ASUS P5A motherboard, there are several reports that | ||
105 | the SMBus will hang and this can only be resolved by | ||
106 | powering off the computer. It appears to be worse when the board | ||
107 | gets hot, for example under heavy CPU load, or in the summer. | ||
108 | There may be electrical problems on this board. | ||
109 | On the P5A, the W83781D sensor chip is on both the ISA and | ||
110 | SMBus. Therefore the SMBus hangs can generally be avoided | ||
111 | by accessing the W83781D on the ISA bus only. | ||
112 | |||
diff --git a/Documentation/i2c/busses/i2c-amd756 b/Documentation/i2c/busses/i2c-amd756 new file mode 100644 index 000000000000..67f30874d0bf --- /dev/null +++ b/Documentation/i2c/busses/i2c-amd756 | |||
@@ -0,0 +1,25 @@ | |||
1 | Kernel driver i2c-amd756 | ||
2 | |||
3 | Supported adapters: | ||
4 | * AMD 756 | ||
5 | * AMD 766 | ||
6 | * AMD 768 | ||
7 | * AMD 8111 | ||
8 | Datasheets: Publicly available on AMD website | ||
9 | |||
10 | * nVidia nForce | ||
11 | Datasheet: Unavailable | ||
12 | |||
13 | Authors: | ||
14 | Frodo Looijaard <frodol@dds.nl>, | ||
15 | Philip Edelbrock <phil@netroedge.com> | ||
16 | |||
17 | Description | ||
18 | ----------- | ||
19 | |||
20 | This driver supports the AMD 756, 766, 768 and 8111 Peripheral Bus | ||
21 | Controllers, and the nVidia nForce. | ||
22 | |||
23 | Note that for the 8111, there are two SMBus adapters. The SMBus 1.0 adapter | ||
24 | is supported by this driver, and the SMBus 2.0 adapter is supported by the | ||
25 | i2c-amd8111 driver. | ||
diff --git a/Documentation/i2c/busses/i2c-amd8111 b/Documentation/i2c/busses/i2c-amd8111 new file mode 100644 index 000000000000..db294ee7455a --- /dev/null +++ b/Documentation/i2c/busses/i2c-amd8111 | |||
@@ -0,0 +1,41 @@ | |||
1 | Kernel driver i2c-adm8111 | ||
2 | |||
3 | Supported adapters: | ||
4 | * AMD-8111 SMBus 2.0 PCI interface | ||
5 | |||
6 | Datasheets: | ||
7 | AMD datasheet not yet available, but almost everything can be found | ||
8 | in publically available ACPI 2.0 specification, which the adapter | ||
9 | follows. | ||
10 | |||
11 | Author: Vojtech Pavlik <vojtech@suse.cz> | ||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | If you see something like this: | ||
17 | |||
18 | 00:07.2 SMBus: Advanced Micro Devices [AMD] AMD-8111 SMBus 2.0 (rev 02) | ||
19 | Subsystem: Advanced Micro Devices [AMD] AMD-8111 SMBus 2.0 | ||
20 | Flags: medium devsel, IRQ 19 | ||
21 | I/O ports at d400 [size=32] | ||
22 | |||
23 | in your 'lspci -v', then this driver is for your chipset. | ||
24 | |||
25 | Process Call Support | ||
26 | -------------------- | ||
27 | |||
28 | Supported. | ||
29 | |||
30 | SMBus 2.0 Support | ||
31 | ----------------- | ||
32 | |||
33 | Supported. Both PEC and block process call support is implemented. Slave | ||
34 | mode or host notification are not yet implemented. | ||
35 | |||
36 | Notes | ||
37 | ----- | ||
38 | |||
39 | Note that for the 8111, there are two SMBus adapters. The SMBus 2.0 adapter | ||
40 | is supported by this driver, and the SMBus 1.0 adapter is supported by the | ||
41 | i2c-amd756 driver. | ||
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 new file mode 100644 index 000000000000..fd4b2712d570 --- /dev/null +++ b/Documentation/i2c/busses/i2c-i801 | |||
@@ -0,0 +1,80 @@ | |||
1 | Kernel driver i2c-i801 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Intel 82801AA and 82801AB (ICH and ICH0 - part of the | ||
5 | '810' and '810E' chipsets) | ||
6 | * Intel 82801BA (ICH2 - part of the '815E' chipset) | ||
7 | * Intel 82801CA/CAM (ICH3) | ||
8 | * Intel 82801DB (ICH4) (HW PEC supported, 32 byte buffer not supported) | ||
9 | * Intel 82801EB/ER (ICH5) (HW PEC supported, 32 byte buffer not supported) | ||
10 | * Intel 6300ESB | ||
11 | * Intel 82801FB/FR/FW/FRW (ICH6) | ||
12 | * Intel ICH7 | ||
13 | Datasheets: Publicly available at the Intel website | ||
14 | |||
15 | Authors: | ||
16 | Frodo Looijaard <frodol@dds.nl>, | ||
17 | Philip Edelbrock <phil@netroedge.com>, | ||
18 | Mark Studebaker <mdsxyz123@yahoo.com> | ||
19 | |||
20 | |||
21 | Module Parameters | ||
22 | ----------------- | ||
23 | |||
24 | * force_addr: int | ||
25 | Forcibly enable the ICH at the given address. EXTREMELY DANGEROUS! | ||
26 | |||
27 | |||
28 | Description | ||
29 | ----------- | ||
30 | |||
31 | The ICH (properly known as the 82801AA), ICH0 (82801AB), ICH2 (82801BA), | ||
32 | ICH3 (82801CA/CAM) and later devices are Intel chips that are a part of | ||
33 | Intel's '810' chipset for Celeron-based PCs, '810E' chipset for | ||
34 | Pentium-based PCs, '815E' chipset, and others. | ||
35 | |||
36 | The ICH chips contain at least SEVEN separate PCI functions in TWO logical | ||
37 | PCI devices. An output of lspci will show something similar to the | ||
38 | following: | ||
39 | |||
40 | 00:1e.0 PCI bridge: Intel Corporation: Unknown device 2418 (rev 01) | ||
41 | 00:1f.0 ISA bridge: Intel Corporation: Unknown device 2410 (rev 01) | ||
42 | 00:1f.1 IDE interface: Intel Corporation: Unknown device 2411 (rev 01) | ||
43 | 00:1f.2 USB Controller: Intel Corporation: Unknown device 2412 (rev 01) | ||
44 | 00:1f.3 Unknown class [0c05]: Intel Corporation: Unknown device 2413 (rev 01) | ||
45 | |||
46 | The SMBus controller is function 3 in device 1f. Class 0c05 is SMBus Serial | ||
47 | Controller. | ||
48 | |||
49 | If you do NOT see the 24x3 device at function 3, and you can't figure out | ||
50 | any way in the BIOS to enable it, | ||
51 | |||
52 | The ICH chips are quite similar to Intel's PIIX4 chip, at least in the | ||
53 | SMBus controller. | ||
54 | |||
55 | See the file i2c-piix4 for some additional information. | ||
56 | |||
57 | |||
58 | Process Call Support | ||
59 | -------------------- | ||
60 | |||
61 | Not supported. | ||
62 | |||
63 | |||
64 | I2C Block Read Support | ||
65 | ---------------------- | ||
66 | |||
67 | Not supported at the moment. | ||
68 | |||
69 | |||
70 | SMBus 2.0 Support | ||
71 | ----------------- | ||
72 | |||
73 | The 82801DB (ICH4) and later chips support several SMBus 2.0 features. | ||
74 | |||
75 | ********************** | ||
76 | The lm_sensors project gratefully acknowledges the support of Texas | ||
77 | Instruments in the initial development of this driver. | ||
78 | |||
79 | The lm_sensors project gratefully acknowledges the support of Intel in the | ||
80 | development of SMBus 2.0 / ICH4 features of this driver. | ||
diff --git a/Documentation/i2c/busses/i2c-i810 b/Documentation/i2c/busses/i2c-i810 new file mode 100644 index 000000000000..0544eb332887 --- /dev/null +++ b/Documentation/i2c/busses/i2c-i810 | |||
@@ -0,0 +1,46 @@ | |||
1 | Kernel driver i2c-i810 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Intel 82810, 82810-DC100, 82810E, and 82815 (GMCH) | ||
5 | |||
6 | Authors: | ||
7 | Frodo Looijaard <frodol@dds.nl>, | ||
8 | Philip Edelbrock <phil@netroedge.com>, | ||
9 | Kyösti Mälkki <kmalkki@cc.hut.fi>, | ||
10 | Ralph Metzler <rjkm@thp.uni-koeln.de>, | ||
11 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
12 | |||
13 | Main contact: Mark Studebaker <mdsxyz123@yahoo.com> | ||
14 | |||
15 | Description | ||
16 | ----------- | ||
17 | |||
18 | WARNING: If you have an '810' or '815' motherboard, your standard I2C | ||
19 | temperature sensors are most likely on the 801's I2C bus. You want the | ||
20 | i2c-i801 driver for those, not this driver. | ||
21 | |||
22 | Now for the i2c-i810... | ||
23 | |||
24 | The GMCH chip contains two I2C interfaces. | ||
25 | |||
26 | The first interface is used for DDC (Data Display Channel) which is a | ||
27 | serial channel through the VGA monitor connector to a DDC-compliant | ||
28 | monitor. This interface is defined by the Video Electronics Standards | ||
29 | Association (VESA). The standards are available for purchase at | ||
30 | http://www.vesa.org . | ||
31 | |||
32 | The second interface is a general-purpose I2C bus. It may be connected to a | ||
33 | TV-out chip such as the BT869 or possibly to a digital flat-panel display. | ||
34 | |||
35 | Features | ||
36 | -------- | ||
37 | |||
38 | Both busses use the i2c-algo-bit driver for 'bit banging' | ||
39 | and support for specific transactions is provided by i2c-algo-bit. | ||
40 | |||
41 | Issues | ||
42 | ------ | ||
43 | |||
44 | If you enable bus testing in i2c-algo-bit (insmod i2c-algo-bit bit_test=1), | ||
45 | the test may fail; if so, the i2c-i810 driver won't be inserted. However, | ||
46 | we think this has been fixed. | ||
diff --git a/Documentation/i2c/busses/i2c-nforce2 b/Documentation/i2c/busses/i2c-nforce2 new file mode 100644 index 000000000000..e379e182e64f --- /dev/null +++ b/Documentation/i2c/busses/i2c-nforce2 | |||
@@ -0,0 +1,41 @@ | |||
1 | Kernel driver i2c-nforce2 | ||
2 | |||
3 | Supported adapters: | ||
4 | * nForce2 MCP 10de:0064 | ||
5 | * nForce2 Ultra 400 MCP 10de:0084 | ||
6 | * nForce3 Pro150 MCP 10de:00D4 | ||
7 | * nForce3 250Gb MCP 10de:00E4 | ||
8 | * nForce4 MCP 10de:0052 | ||
9 | |||
10 | Datasheet: not publically available, but seems to be similar to the | ||
11 | AMD-8111 SMBus 2.0 adapter. | ||
12 | |||
13 | Authors: | ||
14 | Hans-Frieder Vogt <hfvogt@arcor.de>, | ||
15 | Thomas Leibold <thomas@plx.com>, | ||
16 | Patrick Dreker <patrick@dreker.de> | ||
17 | |||
18 | Description | ||
19 | ----------- | ||
20 | |||
21 | i2c-nforce2 is a driver for the SMBuses included in the nVidia nForce2 MCP. | ||
22 | |||
23 | If your 'lspci -v' listing shows something like the following, | ||
24 | |||
25 | 00:01.1 SMBus: nVidia Corporation: Unknown device 0064 (rev a2) | ||
26 | Subsystem: Asustek Computer, Inc.: Unknown device 0c11 | ||
27 | Flags: 66Mhz, fast devsel, IRQ 5 | ||
28 | I/O ports at c000 [size=32] | ||
29 | Capabilities: <available only to root> | ||
30 | |||
31 | then this driver should support the SMBuses of your motherboard. | ||
32 | |||
33 | |||
34 | Notes | ||
35 | ----- | ||
36 | |||
37 | The SMBus adapter in the nForce2 chipset seems to be very similar to the | ||
38 | SMBus 2.0 adapter in the AMD-8111 southbridge. However, I could only get | ||
39 | the driver to work with direct I/O access, which is different to the EC | ||
40 | interface of the AMD-8111. Tested on Asus A7N8X. The ACPI DSDT table of the | ||
41 | Asus A7N8X lists two SMBuses, both of which are supported by this driver. | ||
diff --git a/Documentation/i2c/busses/i2c-parport b/Documentation/i2c/busses/i2c-parport new file mode 100644 index 000000000000..9f1d0082da18 --- /dev/null +++ b/Documentation/i2c/busses/i2c-parport | |||
@@ -0,0 +1,154 @@ | |||
1 | Kernel driver i2c-parport | ||
2 | |||
3 | Author: Jean Delvare <khali@linux-fr.org> | ||
4 | |||
5 | This is a unified driver for several i2c-over-parallel-port adapters, | ||
6 | such as the ones made by Philips, Velleman or ELV. This driver is | ||
7 | meant as a replacement for the older, individual drivers: | ||
8 | * i2c-philips-par | ||
9 | * i2c-elv | ||
10 | * i2c-velleman | ||
11 | * video/i2c-parport (NOT the same as this one, dedicated to home brew | ||
12 | teletext adapters) | ||
13 | |||
14 | It currently supports the following devices: | ||
15 | * Philips adapter | ||
16 | * home brew teletext adapter | ||
17 | * Velleman K8000 adapter | ||
18 | * ELV adapter | ||
19 | * Analog Devices evaluation boards (ADM1025, ADM1030, ADM1031, ADM1032) | ||
20 | |||
21 | These devices use different pinout configurations, so you have to tell | ||
22 | the driver what you have, using the type module parameter. There is no | ||
23 | way to autodetect the devices. Support for different pinout configurations | ||
24 | can be easily added when needed. | ||
25 | |||
26 | |||
27 | Building your own adapter | ||
28 | ------------------------- | ||
29 | |||
30 | If you want to build you own i2c-over-parallel-port adapter, here is | ||
31 | a sample electronics schema (credits go to Sylvain Munaut): | ||
32 | |||
33 | Device PC | ||
34 | Side ___________________Vdd (+) Side | ||
35 | | | | | ||
36 | --- --- --- | ||
37 | | | | | | | | ||
38 | |R| |R| |R| | ||
39 | | | | | | | | ||
40 | --- --- --- | ||
41 | | | | | ||
42 | | | /| | | ||
43 | SCL ----------x--------o |-----------x------------------- pin 2 | ||
44 | | \| | | | ||
45 | | | | | ||
46 | | |\ | | | ||
47 | SDA ----------x----x---| o---x--------------------------- pin 13 | ||
48 | | |/ | | ||
49 | | | | ||
50 | | /| | | ||
51 | ---------o |----------------x-------------- pin 3 | ||
52 | \| | | | ||
53 | | | | ||
54 | --- --- | ||
55 | | | | | | ||
56 | |R| |R| | ||
57 | | | | | | ||
58 | --- --- | ||
59 | | | | ||
60 | ### ### | ||
61 | GND GND | ||
62 | |||
63 | Remarks: | ||
64 | - This is the exact pinout and electronics used on the Analog Devices | ||
65 | evaluation boards. | ||
66 | /| | ||
67 | - All inverters -o |- must be 74HC05, they must be open collector output. | ||
68 | \| | ||
69 | - All resitors are 10k. | ||
70 | - Pins 18-25 of the parallel port connected to GND. | ||
71 | - Pins 4-9 (D2-D7) could be used as VDD is the driver drives them high. | ||
72 | The ADM1032 evaluation board uses D4-D7. Beware that the amount of | ||
73 | current you can draw from the parallel port is limited. Also note that | ||
74 | all connected lines MUST BE driven at the same state, else you'll short | ||
75 | circuit the output buffers! So plugging the I2C adapter after loading | ||
76 | the i2c-parport module might be a good safety since data line state | ||
77 | prior to init may be unknown. | ||
78 | - This is 5V! | ||
79 | - Obviously you cannot read SCL (so it's not really standard-compliant). | ||
80 | Pretty easy to add, just copy the SDA part and use another input pin. | ||
81 | That would give (ELV compatible pinout): | ||
82 | |||
83 | |||
84 | Device PC | ||
85 | Side ______________________________Vdd (+) Side | ||
86 | | | | | | ||
87 | --- --- --- --- | ||
88 | | | | | | | | | | ||
89 | |R| |R| |R| |R| | ||
90 | | | | | | | | | | ||
91 | --- --- --- --- | ||
92 | | | | | | ||
93 | | | |\ | | | ||
94 | SCL ----------x--------x--| o---x------------------------ pin 15 | ||
95 | | | |/ | | ||
96 | | | | | ||
97 | | | /| | | ||
98 | | ---o |-------------x-------------- pin 2 | ||
99 | | \| | | | ||
100 | | | | | ||
101 | | | | | ||
102 | | |\ | | | ||
103 | SDA ---------------x---x--| o--------x------------------- pin 10 | ||
104 | | |/ | | ||
105 | | | | ||
106 | | /| | | ||
107 | ---o |------------------x--------- pin 3 | ||
108 | \| | | | ||
109 | | | | ||
110 | --- --- | ||
111 | | | | | | ||
112 | |R| |R| | ||
113 | | | | | | ||
114 | --- --- | ||
115 | | | | ||
116 | ### ### | ||
117 | GND GND | ||
118 | |||
119 | |||
120 | If possible, you should use the same pinout configuration as existing | ||
121 | adapters do, so you won't even have to change the code. | ||
122 | |||
123 | |||
124 | Similar (but different) drivers | ||
125 | ------------------------------- | ||
126 | |||
127 | This driver is NOT the same as the i2c-pport driver found in the i2c | ||
128 | package. The i2c-pport driver makes use of modern parallel port features so | ||
129 | that you don't need additional electronics. It has other restrictions | ||
130 | however, and was not ported to Linux 2.6 (yet). | ||
131 | |||
132 | This driver is also NOT the same as the i2c-pcf-epp driver found in the | ||
133 | lm_sensors package. The i2c-pcf-epp driver doesn't use the parallel port as | ||
134 | an I2C bus directly. Instead, it uses it to control an external I2C bus | ||
135 | master. That driver was not ported to Linux 2.6 (yet) either. | ||
136 | |||
137 | |||
138 | Legacy documentation for Velleman adapter | ||
139 | ----------------------------------------- | ||
140 | |||
141 | Useful links: | ||
142 | Velleman http://www.velleman.be/ | ||
143 | Velleman K8000 Howto http://howto.htlw16.ac.at/k8000-howto.html | ||
144 | |||
145 | The project has lead to new libs for the Velleman K8000 and K8005: | ||
146 | LIBK8000 v1.99.1 and LIBK8005 v0.21 | ||
147 | With these libs, you can control the K8000 interface card and the K8005 | ||
148 | stepper motor card with the simple commands which are in the original | ||
149 | Velleman software, like SetIOchannel, ReadADchannel, SendStepCCWFull and | ||
150 | many more, using /dev/velleman. | ||
151 | http://home.wanadoo.nl/hihihi/libk8000.htm | ||
152 | http://home.wanadoo.nl/hihihi/libk8005.htm | ||
153 | http://struyve.mine.nu:8080/index.php?block=k8000 | ||
154 | http://sourceforge.net/projects/libk8005/ | ||
diff --git a/Documentation/i2c/busses/i2c-parport-light b/Documentation/i2c/busses/i2c-parport-light new file mode 100644 index 000000000000..287436478520 --- /dev/null +++ b/Documentation/i2c/busses/i2c-parport-light | |||
@@ -0,0 +1,11 @@ | |||
1 | Kernel driver i2c-parport-light | ||
2 | |||
3 | Author: Jean Delvare <khali@linux-fr.org> | ||
4 | |||
5 | This driver is a light version of i2c-parport. It doesn't depend | ||
6 | on the parport driver, and uses direct I/O access instead. This might be | ||
7 | prefered on embedded systems where wasting memory for the clean but heavy | ||
8 | parport handling is not an option. The drawback is a reduced portability | ||
9 | and the impossibility to daisy-chain other parallel port devices. | ||
10 | |||
11 | Please see i2c-parport for documentation. | ||
diff --git a/Documentation/i2c/busses/i2c-pca-isa b/Documentation/i2c/busses/i2c-pca-isa new file mode 100644 index 000000000000..6fc8f4c27c3c --- /dev/null +++ b/Documentation/i2c/busses/i2c-pca-isa | |||
@@ -0,0 +1,23 @@ | |||
1 | Kernel driver i2c-pca-isa | ||
2 | |||
3 | Supported adapters: | ||
4 | This driver supports ISA boards using the Philips PCA 9564 | ||
5 | Parallel bus to I2C bus controller | ||
6 | |||
7 | Author: Ian Campbell <icampbell@arcom.com>, Arcom Control Systems | ||
8 | |||
9 | Module Parameters | ||
10 | ----------------- | ||
11 | |||
12 | * base int | ||
13 | I/O base address | ||
14 | * irq int | ||
15 | IRQ interrupt | ||
16 | * clock int | ||
17 | Clock rate as described in table 1 of PCA9564 datasheet | ||
18 | |||
19 | Description | ||
20 | ----------- | ||
21 | |||
22 | This driver supports ISA boards using the Philips PCA 9564 | ||
23 | Parallel bus to I2C bus controller | ||
diff --git a/Documentation/i2c/busses/i2c-piix4 b/Documentation/i2c/busses/i2c-piix4 new file mode 100644 index 000000000000..856b4b8b962c --- /dev/null +++ b/Documentation/i2c/busses/i2c-piix4 | |||
@@ -0,0 +1,72 @@ | |||
1 | Kernel driver i2c-piix4 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Intel 82371AB PIIX4 and PIIX4E | ||
5 | * Intel 82443MX (440MX) | ||
6 | Datasheet: Publicly available at the Intel website | ||
7 | * ServerWorks OSB4, CSB5 and CSB6 southbridges | ||
8 | Datasheet: Only available via NDA from ServerWorks | ||
9 | * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge | ||
10 | Datasheet: Publicly available at the SMSC website http://www.smsc.com | ||
11 | |||
12 | Authors: | ||
13 | Frodo Looijaard <frodol@dds.nl> | ||
14 | Philip Edelbrock <phil@netroedge.com> | ||
15 | |||
16 | |||
17 | Module Parameters | ||
18 | ----------------- | ||
19 | |||
20 | * force: int | ||
21 | Forcibly enable the PIIX4. DANGEROUS! | ||
22 | * force_addr: int | ||
23 | Forcibly enable the PIIX4 at the given address. EXTREMELY DANGEROUS! | ||
24 | * fix_hstcfg: int | ||
25 | Fix config register. Needed on some boards (Force CPCI735). | ||
26 | |||
27 | |||
28 | Description | ||
29 | ----------- | ||
30 | |||
31 | The PIIX4 (properly known as the 82371AB) is an Intel chip with a lot of | ||
32 | functionality. Among other things, it implements the PCI bus. One of its | ||
33 | minor functions is implementing a System Management Bus. This is a true | ||
34 | SMBus - you can not access it on I2C levels. The good news is that it | ||
35 | natively understands SMBus commands and you do not have to worry about | ||
36 | timing problems. The bad news is that non-SMBus devices connected to it can | ||
37 | confuse it mightily. Yes, this is known to happen... | ||
38 | |||
39 | Do 'lspci -v' and see whether it contains an entry like this: | ||
40 | |||
41 | 0000:00:02.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) | ||
42 | Flags: medium devsel, IRQ 9 | ||
43 | |||
44 | Bus and device numbers may differ, but the function number must be | ||
45 | identical (like many PCI devices, the PIIX4 incorporates a number of | ||
46 | different 'functions', which can be considered as separate devices). If you | ||
47 | find such an entry, you have a PIIX4 SMBus controller. | ||
48 | |||
49 | On some computers (most notably, some Dells), the SMBus is disabled by | ||
50 | default. If you use the insmod parameter 'force=1', the kernel module will | ||
51 | try to enable it. THIS IS VERY DANGEROUS! If the BIOS did not set up a | ||
52 | correct address for this module, you could get in big trouble (read: | ||
53 | crashes, data corruption, etc.). Try this only as a last resort (try BIOS | ||
54 | updates first, for example), and backup first! An even more dangerous | ||
55 | option is 'force_addr=<IOPORT>'. This will not only enable the PIIX4 like | ||
56 | 'force' foes, but it will also set a new base I/O port address. The SMBus | ||
57 | parts of the PIIX4 needs a range of 8 of these addresses to function | ||
58 | correctly. If these addresses are already reserved by some other device, | ||
59 | you will get into big trouble! DON'T USE THIS IF YOU ARE NOT VERY SURE | ||
60 | ABOUT WHAT YOU ARE DOING! | ||
61 | |||
62 | The PIIX4E is just an new version of the PIIX4; it is supported as well. | ||
63 | The PIIX/PIIX3 does not implement an SMBus or I2C bus, so you can't use | ||
64 | this driver on those mainboards. | ||
65 | |||
66 | The ServerWorks Southbridges, the Intel 440MX, and the Victory766 are | ||
67 | identical to the PIIX4 in I2C/SMBus support. | ||
68 | |||
69 | A few OSB4 southbridges are known to be misconfigured by the BIOS. In this | ||
70 | case, you have you use the fix_hstcfg module parameter. Do not use it | ||
71 | unless you know you have to, because in some cases it also breaks | ||
72 | configuration on southbridges that don't need it. | ||
diff --git a/Documentation/i2c/busses/i2c-prosavage b/Documentation/i2c/busses/i2c-prosavage new file mode 100644 index 000000000000..703687902511 --- /dev/null +++ b/Documentation/i2c/busses/i2c-prosavage | |||
@@ -0,0 +1,23 @@ | |||
1 | Kernel driver i2c-prosavage | ||
2 | |||
3 | Supported adapters: | ||
4 | |||
5 | S3/VIA KM266/VT8375 aka ProSavage8 | ||
6 | S3/VIA KM133/VT8365 aka Savage4 | ||
7 | |||
8 | Author: Henk Vergonet <henk@god.dyndns.org> | ||
9 | |||
10 | Description | ||
11 | ----------- | ||
12 | |||
13 | The Savage4 chips contain two I2C interfaces (aka a I2C 'master' or | ||
14 | 'host'). | ||
15 | |||
16 | The first interface is used for DDC (Data Display Channel) which is a | ||
17 | serial channel through the VGA monitor connector to a DDC-compliant | ||
18 | monitor. This interface is defined by the Video Electronics Standards | ||
19 | Association (VESA). The standards are available for purchase at | ||
20 | http://www.vesa.org . The second interface is a general-purpose I2C bus. | ||
21 | |||
22 | Usefull for gaining access to the TV Encoder chips. | ||
23 | |||
diff --git a/Documentation/i2c/busses/i2c-savage4 b/Documentation/i2c/busses/i2c-savage4 new file mode 100644 index 000000000000..6ecceab618d3 --- /dev/null +++ b/Documentation/i2c/busses/i2c-savage4 | |||
@@ -0,0 +1,26 @@ | |||
1 | Kernel driver i2c-savage4 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Savage4 | ||
5 | * Savage2000 | ||
6 | |||
7 | Authors: | ||
8 | Alexander Wold <awold@bigfoot.com>, | ||
9 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
10 | |||
11 | Description | ||
12 | ----------- | ||
13 | |||
14 | The Savage4 chips contain two I2C interfaces (aka a I2C 'master' | ||
15 | or 'host'). | ||
16 | |||
17 | The first interface is used for DDC (Data Display Channel) which is a | ||
18 | serial channel through the VGA monitor connector to a DDC-compliant | ||
19 | monitor. This interface is defined by the Video Electronics Standards | ||
20 | Association (VESA). The standards are available for purchase at | ||
21 | http://www.vesa.org . The DDC bus is not yet supported because its register | ||
22 | is not directly memory-mapped. | ||
23 | |||
24 | The second interface is a general-purpose I2C bus. This is the only | ||
25 | interface supported by the driver at the moment. | ||
26 | |||
diff --git a/Documentation/i2c/busses/i2c-sis5595 b/Documentation/i2c/busses/i2c-sis5595 new file mode 100644 index 000000000000..cc47db7d00a9 --- /dev/null +++ b/Documentation/i2c/busses/i2c-sis5595 | |||
@@ -0,0 +1,59 @@ | |||
1 | Kernel driver i2c-sis5595 | ||
2 | |||
3 | Authors: | ||
4 | Frodo Looijaard <frodol@dds.nl>, | ||
5 | Mark D. Studebaker <mdsxyz123@yahoo.com>, | ||
6 | Philip Edelbrock <phil@netroedge.com> | ||
7 | |||
8 | Supported adapters: | ||
9 | * Silicon Integrated Systems Corp. SiS5595 Southbridge | ||
10 | Datasheet: Publicly available at the Silicon Integrated Systems Corp. site. | ||
11 | |||
12 | Note: all have mfr. ID 0x1039. | ||
13 | |||
14 | SUPPORTED PCI ID | ||
15 | 5595 0008 | ||
16 | |||
17 | Note: these chips contain a 0008 device which is incompatible with the | ||
18 | 5595. We recognize these by the presence of the listed | ||
19 | "blacklist" PCI ID and refuse to load. | ||
20 | |||
21 | NOT SUPPORTED PCI ID BLACKLIST PCI ID | ||
22 | 540 0008 0540 | ||
23 | 550 0008 0550 | ||
24 | 5513 0008 5511 | ||
25 | 5581 0008 5597 | ||
26 | 5582 0008 5597 | ||
27 | 5597 0008 5597 | ||
28 | 5598 0008 5597/5598 | ||
29 | 630 0008 0630 | ||
30 | 645 0008 0645 | ||
31 | 646 0008 0646 | ||
32 | 648 0008 0648 | ||
33 | 650 0008 0650 | ||
34 | 651 0008 0651 | ||
35 | 730 0008 0730 | ||
36 | 735 0008 0735 | ||
37 | 745 0008 0745 | ||
38 | 746 0008 0746 | ||
39 | |||
40 | Module Parameters | ||
41 | ----------------- | ||
42 | |||
43 | * force_addr=0xaddr Set the I/O base address. Useful for boards | ||
44 | that don't set the address in the BIOS. Does not do a | ||
45 | PCI force; the device must still be present in lspci. | ||
46 | Don't use this unless the driver complains that the | ||
47 | base address is not set. | ||
48 | |||
49 | Description | ||
50 | ----------- | ||
51 | |||
52 | i2c-sis5595 is a true SMBus host driver for motherboards with the SiS5595 | ||
53 | southbridges. | ||
54 | |||
55 | WARNING: If you are trying to access the integrated sensors on the SiS5595 | ||
56 | chip, you want the sis5595 driver for those, not this driver. This driver | ||
57 | is a BUS driver, not a CHIP driver. A BUS driver is used by other CHIP | ||
58 | drivers to access chips on the bus. | ||
59 | |||
diff --git a/Documentation/i2c/busses/i2c-sis630 b/Documentation/i2c/busses/i2c-sis630 new file mode 100644 index 000000000000..9aca6889f748 --- /dev/null +++ b/Documentation/i2c/busses/i2c-sis630 | |||
@@ -0,0 +1,49 @@ | |||
1 | Kernel driver i2c-sis630 | ||
2 | |||
3 | Supported adapters: | ||
4 | * Silicon Integrated Systems Corp (SiS) | ||
5 | 630 chipset (Datasheet: available at http://amalysh.bei.t-online.de/docs/SIS/) | ||
6 | 730 chipset | ||
7 | * Possible other SiS chipsets ? | ||
8 | |||
9 | Author: Alexander Malysh <amalysh@web.de> | ||
10 | |||
11 | Module Parameters | ||
12 | ----------------- | ||
13 | |||
14 | * force = [1|0] Forcibly enable the SIS630. DANGEROUS! | ||
15 | This can be interesting for chipsets not named | ||
16 | above to check if it works for you chipset, but DANGEROUS! | ||
17 | |||
18 | * high_clock = [1|0] Forcibly set Host Master Clock to 56KHz (default, | ||
19 | what your BIOS use). DANGEROUS! This should be a bit | ||
20 | faster, but freeze some systems (i.e. my Laptop). | ||
21 | |||
22 | |||
23 | Description | ||
24 | ----------- | ||
25 | |||
26 | This SMBus only driver is known to work on motherboards with the above | ||
27 | named chipsets. | ||
28 | |||
29 | If you see something like this: | ||
30 | |||
31 | 00:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 31) | ||
32 | 00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 | ||
33 | |||
34 | or like this: | ||
35 | |||
36 | 00:00.0 Host bridge: Silicon Integrated Systems [SiS] 730 Host (rev 02) | ||
37 | 00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 | ||
38 | |||
39 | in your 'lspci' output , then this driver is for your chipset. | ||
40 | |||
41 | Thank You | ||
42 | --------- | ||
43 | Philip Edelbrock <phil@netroedge.com> | ||
44 | - testing SiS730 support | ||
45 | Mark M. Hoffman <mhoffman@lightlink.com> | ||
46 | - bug fixes | ||
47 | |||
48 | To anyone else which I forgot here ;), thanks! | ||
49 | |||
diff --git a/Documentation/i2c/busses/i2c-sis69x b/Documentation/i2c/busses/i2c-sis69x new file mode 100644 index 000000000000..5be48769f65b --- /dev/null +++ b/Documentation/i2c/busses/i2c-sis69x | |||
@@ -0,0 +1,73 @@ | |||
1 | Kernel driver i2c-sis96x | ||
2 | |||
3 | Replaces 2.4.x i2c-sis645 | ||
4 | |||
5 | Supported adapters: | ||
6 | * Silicon Integrated Systems Corp (SiS) | ||
7 | Any combination of these host bridges: | ||
8 | 645, 645DX (aka 646), 648, 650, 651, 655, 735, 745, 746 | ||
9 | and these south bridges: | ||
10 | 961, 962, 963(L) | ||
11 | |||
12 | Author: Mark M. Hoffman <mhoffman@lightlink.com> | ||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | This SMBus only driver is known to work on motherboards with the above | ||
18 | named chipset combinations. The driver was developed without benefit of a | ||
19 | proper datasheet from SiS. The SMBus registers are assumed compatible with | ||
20 | those of the SiS630, although they are located in a completely different | ||
21 | place. Thanks to Alexander Malysh <amalysh@web.de> for providing the | ||
22 | SiS630 datasheet (and driver). | ||
23 | |||
24 | The command "lspci" as root should produce something like these lines: | ||
25 | |||
26 | 00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645 | ||
27 | 00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 | ||
28 | 00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016 | ||
29 | |||
30 | or perhaps this... | ||
31 | |||
32 | 00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645 | ||
33 | 00:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0961 | ||
34 | 00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016 | ||
35 | |||
36 | (kernel versions later than 2.4.18 may fill in the "Unknown"s) | ||
37 | |||
38 | If you cant see it please look on quirk_sis_96x_smbus | ||
39 | (drivers/pci/quirks.c) (also if southbridge detection fails) | ||
40 | |||
41 | I suspect that this driver could be made to work for the following SiS | ||
42 | chipsets as well: 635, and 635T. If anyone owns a board with those chips | ||
43 | AND is willing to risk crashing & burning an otherwise well-behaved kernel | ||
44 | in the name of progress... please contact me at <mhoffman@lightlink.com> or | ||
45 | via the project's mailing list: <sensors@stimpy.netroedge.com>. Please | ||
46 | send bug reports and/or success stories as well. | ||
47 | |||
48 | |||
49 | TO DOs | ||
50 | ------ | ||
51 | |||
52 | * The driver does not support SMBus block reads/writes; I may add them if a | ||
53 | scenario is found where they're needed. | ||
54 | |||
55 | |||
56 | Thank You | ||
57 | --------- | ||
58 | |||
59 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
60 | - design hints and bug fixes | ||
61 | Alexander Maylsh <amalysh@web.de> | ||
62 | - ditto, plus an important datasheet... almost the one I really wanted | ||
63 | Hans-Günter Lütke Uphues <hg_lu@t-online.de> | ||
64 | - patch for SiS735 | ||
65 | Robert Zwerus <arzie@dds.nl> | ||
66 | - testing for SiS645DX | ||
67 | Kianusch Sayah Karadji <kianusch@sk-tech.net> | ||
68 | - patch for SiS645DX/962 | ||
69 | Ken Healy | ||
70 | - patch for SiS655 | ||
71 | |||
72 | To anyone else who has written w/ feedback, thanks! | ||
73 | |||
diff --git a/Documentation/i2c/busses/i2c-via b/Documentation/i2c/busses/i2c-via new file mode 100644 index 000000000000..55edfe1a640b --- /dev/null +++ b/Documentation/i2c/busses/i2c-via | |||
@@ -0,0 +1,34 @@ | |||
1 | Kernel driver i2c-via | ||
2 | |||
3 | Supported adapters: | ||
4 | * VIA Technologies, InC. VT82C586B | ||
5 | Datasheet: Publicly available at the VIA website | ||
6 | |||
7 | Author: Kyösti Mälkki <kmalkki@cc.hut.fi> | ||
8 | |||
9 | Description | ||
10 | ----------- | ||
11 | |||
12 | i2c-via is an i2c bus driver for motherboards with VIA chipset. | ||
13 | |||
14 | The following VIA pci chipsets are supported: | ||
15 | - MVP3, VP3, VP2/97, VPX/97 | ||
16 | - others with South bridge VT82C586B | ||
17 | |||
18 | Your lspci listing must show this : | ||
19 | |||
20 | Bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 10) | ||
21 | |||
22 | Problems? | ||
23 | |||
24 | Q: You have VT82C586B on the motherboard, but not in the listing. | ||
25 | |||
26 | A: Go to your BIOS setup, section PCI devices or similar. | ||
27 | Turn USB support on, and try again. | ||
28 | |||
29 | Q: No error messages, but still i2c doesn't seem to work. | ||
30 | |||
31 | A: This can happen. This driver uses the pins VIA recommends in their | ||
32 | datasheets, but there are several ways the motherboard manufacturer | ||
33 | can actually wire the lines. | ||
34 | |||
diff --git a/Documentation/i2c/busses/i2c-viapro b/Documentation/i2c/busses/i2c-viapro new file mode 100644 index 000000000000..702f5ac68c09 --- /dev/null +++ b/Documentation/i2c/busses/i2c-viapro | |||
@@ -0,0 +1,47 @@ | |||
1 | Kernel driver i2c-viapro | ||
2 | |||
3 | Supported adapters: | ||
4 | * VIA Technologies, Inc. VT82C596A/B | ||
5 | Datasheet: Sometimes available at the VIA website | ||
6 | |||
7 | * VIA Technologies, Inc. VT82C686A/B | ||
8 | Datasheet: Sometimes available at the VIA website | ||
9 | |||
10 | * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237 | ||
11 | Datasheet: available on request from Via | ||
12 | |||
13 | Authors: | ||
14 | Frodo Looijaard <frodol@dds.nl>, | ||
15 | Philip Edelbrock <phil@netroedge.com>, | ||
16 | Kyösti Mälkki <kmalkki@cc.hut.fi>, | ||
17 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
18 | |||
19 | Module Parameters | ||
20 | ----------------- | ||
21 | |||
22 | * force: int | ||
23 | Forcibly enable the SMBus controller. DANGEROUS! | ||
24 | * force_addr: int | ||
25 | Forcibly enable the SMBus at the given address. EXTREMELY DANGEROUS! | ||
26 | |||
27 | Description | ||
28 | ----------- | ||
29 | |||
30 | i2c-viapro is a true SMBus host driver for motherboards with one of the | ||
31 | supported VIA southbridges. | ||
32 | |||
33 | Your lspci -n listing must show one of these : | ||
34 | |||
35 | device 1106:3050 (VT82C596 function 3) | ||
36 | device 1106:3051 (VT82C596 function 3) | ||
37 | device 1106:3057 (VT82C686 function 4) | ||
38 | device 1106:3074 (VT8233) | ||
39 | device 1106:3147 (VT8233A) | ||
40 | device 1106:8235 (VT8231) | ||
41 | devide 1106:3177 (VT8235) | ||
42 | devide 1106:3227 (VT8237) | ||
43 | |||
44 | If none of these show up, you should look in the BIOS for settings like | ||
45 | enable ACPI / SMBus or even USB. | ||
46 | |||
47 | |||
diff --git a/Documentation/i2c/busses/i2c-voodoo3 b/Documentation/i2c/busses/i2c-voodoo3 new file mode 100644 index 000000000000..62d90a454d39 --- /dev/null +++ b/Documentation/i2c/busses/i2c-voodoo3 | |||
@@ -0,0 +1,62 @@ | |||
1 | Kernel driver i2c-voodoo3 | ||
2 | |||
3 | Supported adapters: | ||
4 | * 3dfx Voodoo3 based cards | ||
5 | * Voodoo Banshee based cards | ||
6 | |||
7 | Authors: | ||
8 | Frodo Looijaard <frodol@dds.nl>, | ||
9 | Philip Edelbrock <phil@netroedge.com>, | ||
10 | Ralph Metzler <rjkm@thp.uni-koeln.de>, | ||
11 | 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 | Description | ||
18 | ----------- | ||
19 | |||
20 | The 3dfx Voodoo3 chip contains two I2C interfaces (aka a I2C 'master' or | ||
21 | 'host'). | ||
22 | |||
23 | The first interface is used for DDC (Data Display Channel) which is a | ||
24 | serial channel through the VGA monitor connector to a DDC-compliant | ||
25 | monitor. This interface is defined by the Video Electronics Standards | ||
26 | Association (VESA). The standards are available for purchase at | ||
27 | http://www.vesa.org . | ||
28 | |||
29 | The second interface is a general-purpose I2C bus. The intent by 3dfx was | ||
30 | to allow manufacturers to add extra chips to the video card such as a | ||
31 | TV-out chip such as the BT869 or possibly even I2C based temperature | ||
32 | sensors like the ADM1021 or LM75. | ||
33 | |||
34 | Stability | ||
35 | --------- | ||
36 | |||
37 | Seems to be stable on the test machine, but needs more testing on other | ||
38 | machines. Simultaneous accesses of the DDC and I2C busses may cause errors. | ||
39 | |||
40 | Supported Devices | ||
41 | ----------------- | ||
42 | |||
43 | Specifically, this driver was written and tested on the '3dfx Voodoo3 AGP | ||
44 | 3000' which has a tv-out feature (s-video or composite). According to the | ||
45 | docs and discussions, this code should work for any Voodoo3 based cards as | ||
46 | well as Voodoo Banshee based cards. The DDC interface has been tested on a | ||
47 | Voodoo Banshee card. | ||
48 | |||
49 | Issues | ||
50 | ------ | ||
51 | |||
52 | Probably many, but it seems to work OK on my system. :') | ||
53 | |||
54 | |||
55 | External Device Connection | ||
56 | -------------------------- | ||
57 | |||
58 | The digital video input jumpers give availability to the I2C bus. | ||
59 | Specifically, pins 13 and 25 (bottom row middle, and bottom right-end) are | ||
60 | the I2C clock and I2C data lines, respectively. +5V and GND are probably | ||
61 | also easily available making the addition of extra I2C/SMBus devices easy | ||
62 | to implement. | ||
diff --git a/Documentation/i2c/busses/scx200_acb b/Documentation/i2c/busses/scx200_acb new file mode 100644 index 000000000000..08c8cd1df60c --- /dev/null +++ b/Documentation/i2c/busses/scx200_acb | |||
@@ -0,0 +1,14 @@ | |||
1 | Kernel driver scx200_acb | ||
2 | |||
3 | Author: Christer Weinigel <wingel@nano-system.com> | ||
4 | |||
5 | Module Parameters | ||
6 | ----------------- | ||
7 | |||
8 | * base: int | ||
9 | Base addresses for the ACCESS.bus controllers | ||
10 | |||
11 | Description | ||
12 | ----------- | ||
13 | |||
14 | Enable the use of the ACCESS.bus controllers of a SCx200 processor. | ||