aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/i2c/busses
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/i2c/busses')
-rw-r--r--Documentation/i2c/busses/i2c-ali153542
-rw-r--r--Documentation/i2c/busses/i2c-ali156327
-rw-r--r--Documentation/i2c/busses/i2c-ali15x3112
-rw-r--r--Documentation/i2c/busses/i2c-amd75625
-rw-r--r--Documentation/i2c/busses/i2c-amd811141
-rw-r--r--Documentation/i2c/busses/i2c-i80180
-rw-r--r--Documentation/i2c/busses/i2c-i81046
-rw-r--r--Documentation/i2c/busses/i2c-nforce241
-rw-r--r--Documentation/i2c/busses/i2c-parport154
-rw-r--r--Documentation/i2c/busses/i2c-parport-light11
-rw-r--r--Documentation/i2c/busses/i2c-pca-isa23
-rw-r--r--Documentation/i2c/busses/i2c-piix472
-rw-r--r--Documentation/i2c/busses/i2c-prosavage23
-rw-r--r--Documentation/i2c/busses/i2c-savage426
-rw-r--r--Documentation/i2c/busses/i2c-sis559559
-rw-r--r--Documentation/i2c/busses/i2c-sis63049
-rw-r--r--Documentation/i2c/busses/i2c-sis69x73
-rw-r--r--Documentation/i2c/busses/i2c-via34
-rw-r--r--Documentation/i2c/busses/i2c-viapro47
-rw-r--r--Documentation/i2c/busses/i2c-voodoo362
-rw-r--r--Documentation/i2c/busses/scx200_acb14
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 @@
1Kernel driver i2c-ali1535
2
3Supported 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
8Authors:
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
15Description
16-----------
17
18This is the driver for the SMB Host controller on Acer Labs Inc. (ALI)
19M1535 South Bridge.
20
21The M1535 is a South bridge for portable systems. It is very similar to the
22M15x3 South bridges also produced by Acer Labs Inc. Some of the registers
23within the part have moved and some have been redefined slightly.
24Additionally, the sequencing of the SMBus transactions has been modified to
25be more consistent with the sequencing recommended by the manufacturer and
26observed through testing. These changes are reflected in this driver and
27can be identified by comparing this driver to the i2c-ali15x3 driver. For
28an overview of these chips see http://www.acerlabs.com
29
30The SMB controller is part of the M7101 device, which is an ACPI-compliant
31Power Management Unit (PMU).
32
33The whole M7101 device has to be enabled for the SMB to work. You can't
34just enable the SMB alone. The SMB and the ACPI have separate I/O spaces.
35We make sure that the SMB is enabled. We leave the ACPI alone.
36
37
38Features
39--------
40
41This driver controls the SMB Host only. This driver does not use
42interrupts.
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 @@
1Kernel driver i2c-ali1563
2
3Supported 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
8Author: Patrick Mochel <mochel@digitalimplant.org>
9
10Description
11-----------
12
13This is the driver for the SMB Host controller on Acer Labs Inc. (ALI)
14M1563 South Bridge.
15
16For an overview of these chips see http://www.acerlabs.com
17
18The M1563 southbridge is deceptively similar to the M1533, with a few
19notable exceptions. One of those happens to be the fact they upgraded the
20i2c core to be SMBus 2.0 compliant, and happens to be almost identical to
21the i2c controller found in the Intel 801 south bridges.
22
23Features
24--------
25
26This driver controls the SMB Host only. This driver does not use
27interrupts.
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 @@
1Kernel driver i2c-ali15x3
2
3Supported 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
8Authors:
9 Frodo Looijaard <frodol@dds.nl>,
10 Philip Edelbrock <phil@netroedge.com>,
11 Mark D. Studebaker <mdsxyz123@yahoo.com>
12
13Module Parameters
14-----------------
15
16* force_addr: int
17 Initialize the base address of the i2c controller
18
19
20Notes
21-----
22
23The force_addr parameter is useful for boards that don't set the address in
24the BIOS. Does not do a PCI force; the device must still be present in
25lspci. Don't use this unless the driver complains that the base address is
26not set.
27
28Example: 'modprobe i2c-ali15x3 force_addr=0xe800'
29
30SMBus periodically hangs on ASUS P5A motherboards and can only be cleared
31by a power cycle. Cause unknown (see Issues below).
32
33
34Description
35-----------
36
37This is the driver for the SMB Host controller on Acer Labs Inc. (ALI)
38M1541 and M1543C South Bridges.
39
40The M1543C is a South bridge for desktop systems.
41The M1541 is a South bridge for portable systems.
42They 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
62For an overview of these chips see http://www.acerlabs.com. At this time the
63full data sheets on the web site are password protected, however if you
64contact the ALI office in San Jose they may give you the password.
65
66The M1533/M1543C devices appear as FOUR separate devices on the PCI bus. An
67output 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
83The SMB controller is part of the M7101 device, which is an ACPI-compliant
84Power Management Unit (PMU).
85
86The whole M7101 device has to be enabled for the SMB to work. You can't
87just enable the SMB alone. The SMB and the ACPI have separate I/O spaces.
88We make sure that the SMB is enabled. We leave the ACPI alone.
89
90Features
91--------
92
93This driver controls the SMB Host only. The SMB Slave
94controller on the M15X3 is not enabled. This driver does not use
95interrupts.
96
97
98Issues
99------
100
101This driver requests the I/O space for only the SMB
102registers. It doesn't use the ACPI region.
103
104On the ASUS P5A motherboard, there are several reports that
105the SMBus will hang and this can only be resolved by
106powering off the computer. It appears to be worse when the board
107gets hot, for example under heavy CPU load, or in the summer.
108There may be electrical problems on this board.
109On the P5A, the W83781D sensor chip is on both the ISA and
110SMBus. Therefore the SMBus hangs can generally be avoided
111by 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 @@
1Kernel driver i2c-amd756
2
3Supported 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
13Authors:
14 Frodo Looijaard <frodol@dds.nl>,
15 Philip Edelbrock <phil@netroedge.com>
16
17Description
18-----------
19
20This driver supports the AMD 756, 766, 768 and 8111 Peripheral Bus
21Controllers, and the nVidia nForce.
22
23Note that for the 8111, there are two SMBus adapters. The SMBus 1.0 adapter
24is supported by this driver, and the SMBus 2.0 adapter is supported by the
25i2c-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 @@
1Kernel driver i2c-adm8111
2
3Supported adapters:
4 * AMD-8111 SMBus 2.0 PCI interface
5
6Datasheets:
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
11Author: Vojtech Pavlik <vojtech@suse.cz>
12
13Description
14-----------
15
16If you see something like this:
17
1800: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
23in your 'lspci -v', then this driver is for your chipset.
24
25Process Call Support
26--------------------
27
28Supported.
29
30SMBus 2.0 Support
31-----------------
32
33Supported. Both PEC and block process call support is implemented. Slave
34mode or host notification are not yet implemented.
35
36Notes
37-----
38
39Note that for the 8111, there are two SMBus adapters. The SMBus 2.0 adapter
40is supported by this driver, and the SMBus 1.0 adapter is supported by the
41i2c-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 @@
1Kernel driver i2c-i801
2
3Supported 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
15Authors:
16 Frodo Looijaard <frodol@dds.nl>,
17 Philip Edelbrock <phil@netroedge.com>,
18 Mark Studebaker <mdsxyz123@yahoo.com>
19
20
21Module Parameters
22-----------------
23
24* force_addr: int
25 Forcibly enable the ICH at the given address. EXTREMELY DANGEROUS!
26
27
28Description
29-----------
30
31The ICH (properly known as the 82801AA), ICH0 (82801AB), ICH2 (82801BA),
32ICH3 (82801CA/CAM) and later devices are Intel chips that are a part of
33Intel's '810' chipset for Celeron-based PCs, '810E' chipset for
34Pentium-based PCs, '815E' chipset, and others.
35
36The ICH chips contain at least SEVEN separate PCI functions in TWO logical
37PCI devices. An output of lspci will show something similar to the
38following:
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
46The SMBus controller is function 3 in device 1f. Class 0c05 is SMBus Serial
47Controller.
48
49If you do NOT see the 24x3 device at function 3, and you can't figure out
50any way in the BIOS to enable it,
51
52The ICH chips are quite similar to Intel's PIIX4 chip, at least in the
53SMBus controller.
54
55See the file i2c-piix4 for some additional information.
56
57
58Process Call Support
59--------------------
60
61Not supported.
62
63
64I2C Block Read Support
65----------------------
66
67Not supported at the moment.
68
69
70SMBus 2.0 Support
71-----------------
72
73The 82801DB (ICH4) and later chips support several SMBus 2.0 features.
74
75**********************
76The lm_sensors project gratefully acknowledges the support of Texas
77Instruments in the initial development of this driver.
78
79The lm_sensors project gratefully acknowledges the support of Intel in the
80development 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 @@
1Kernel driver i2c-i810
2
3Supported adapters:
4 * Intel 82810, 82810-DC100, 82810E, and 82815 (GMCH)
5
6Authors:
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
13Main contact: Mark Studebaker <mdsxyz123@yahoo.com>
14
15Description
16-----------
17
18WARNING: If you have an '810' or '815' motherboard, your standard I2C
19temperature sensors are most likely on the 801's I2C bus. You want the
20i2c-i801 driver for those, not this driver.
21
22Now for the i2c-i810...
23
24The GMCH chip contains two I2C interfaces.
25
26The first interface is used for DDC (Data Display Channel) which is a
27serial channel through the VGA monitor connector to a DDC-compliant
28monitor. This interface is defined by the Video Electronics Standards
29Association (VESA). The standards are available for purchase at
30http://www.vesa.org .
31
32The second interface is a general-purpose I2C bus. It may be connected to a
33TV-out chip such as the BT869 or possibly to a digital flat-panel display.
34
35Features
36--------
37
38Both busses use the i2c-algo-bit driver for 'bit banging'
39and support for specific transactions is provided by i2c-algo-bit.
40
41Issues
42------
43
44If you enable bus testing in i2c-algo-bit (insmod i2c-algo-bit bit_test=1),
45the test may fail; if so, the i2c-i810 driver won't be inserted. However,
46we 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 @@
1Kernel driver i2c-nforce2
2
3Supported 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
10Datasheet: not publically available, but seems to be similar to the
11 AMD-8111 SMBus 2.0 adapter.
12
13Authors:
14 Hans-Frieder Vogt <hfvogt@arcor.de>,
15 Thomas Leibold <thomas@plx.com>,
16 Patrick Dreker <patrick@dreker.de>
17
18Description
19-----------
20
21i2c-nforce2 is a driver for the SMBuses included in the nVidia nForce2 MCP.
22
23If your 'lspci -v' listing shows something like the following,
24
2500: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
31then this driver should support the SMBuses of your motherboard.
32
33
34Notes
35-----
36
37The SMBus adapter in the nForce2 chipset seems to be very similar to the
38SMBus 2.0 adapter in the AMD-8111 southbridge. However, I could only get
39the driver to work with direct I/O access, which is different to the EC
40interface of the AMD-8111. Tested on Asus A7N8X. The ACPI DSDT table of the
41Asus 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 @@
1Kernel driver i2c-parport
2
3Author: Jean Delvare <khali@linux-fr.org>
4
5This is a unified driver for several i2c-over-parallel-port adapters,
6such as the ones made by Philips, Velleman or ELV. This driver is
7meant 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
14It 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
21These devices use different pinout configurations, so you have to tell
22the driver what you have, using the type module parameter. There is no
23way to autodetect the devices. Support for different pinout configurations
24can be easily added when needed.
25
26
27Building your own adapter
28-------------------------
29
30If you want to build you own i2c-over-parallel-port adapter, here is
31a sample electronics schema (credits go to Sylvain Munaut):
32
33Device PC
34Side ___________________Vdd (+) Side
35 | | |
36 --- --- ---
37 | | | | | |
38 |R| |R| |R|
39 | | | | | |
40 --- --- ---
41 | | |
42 | | /| |
43SCL ----------x--------o |-----------x------------------- pin 2
44 | \| | |
45 | | |
46 | |\ | |
47SDA ----------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
63Remarks:
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
84Device PC
85Side ______________________________Vdd (+) Side
86 | | | |
87 --- --- --- ---
88 | | | | | | | |
89 |R| |R| |R| |R|
90 | | | | | | | |
91 --- --- --- ---
92 | | | |
93 | | |\ | |
94SCL ----------x--------x--| o---x------------------------ pin 15
95 | | |/ |
96 | | |
97 | | /| |
98 | ---o |-------------x-------------- pin 2
99 | \| | |
100 | | |
101 | | |
102 | |\ | |
103SDA ---------------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
120If possible, you should use the same pinout configuration as existing
121adapters do, so you won't even have to change the code.
122
123
124Similar (but different) drivers
125-------------------------------
126
127This driver is NOT the same as the i2c-pport driver found in the i2c
128package. The i2c-pport driver makes use of modern parallel port features so
129that you don't need additional electronics. It has other restrictions
130however, and was not ported to Linux 2.6 (yet).
131
132This driver is also NOT the same as the i2c-pcf-epp driver found in the
133lm_sensors package. The i2c-pcf-epp driver doesn't use the parallel port as
134an I2C bus directly. Instead, it uses it to control an external I2C bus
135master. That driver was not ported to Linux 2.6 (yet) either.
136
137
138Legacy documentation for Velleman adapter
139-----------------------------------------
140
141Useful links:
142Velleman http://www.velleman.be/
143Velleman K8000 Howto http://howto.htlw16.ac.at/k8000-howto.html
144
145The project has lead to new libs for the Velleman K8000 and K8005:
146 LIBK8000 v1.99.1 and LIBK8005 v0.21
147With these libs, you can control the K8000 interface card and the K8005
148stepper motor card with the simple commands which are in the original
149Velleman software, like SetIOchannel, ReadADchannel, SendStepCCWFull and
150many 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 @@
1Kernel driver i2c-parport-light
2
3Author: Jean Delvare <khali@linux-fr.org>
4
5This driver is a light version of i2c-parport. It doesn't depend
6on the parport driver, and uses direct I/O access instead. This might be
7prefered on embedded systems where wasting memory for the clean but heavy
8parport handling is not an option. The drawback is a reduced portability
9and the impossibility to daisy-chain other parallel port devices.
10
11Please 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 @@
1Kernel driver i2c-pca-isa
2
3Supported adapters:
4This driver supports ISA boards using the Philips PCA 9564
5Parallel bus to I2C bus controller
6
7Author: Ian Campbell <icampbell@arcom.com>, Arcom Control Systems
8
9Module 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
19Description
20-----------
21
22This driver supports ISA boards using the Philips PCA 9564
23Parallel 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 @@
1Kernel driver i2c-piix4
2
3Supported 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
12Authors:
13 Frodo Looijaard <frodol@dds.nl>
14 Philip Edelbrock <phil@netroedge.com>
15
16
17Module 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
28Description
29-----------
30
31The PIIX4 (properly known as the 82371AB) is an Intel chip with a lot of
32functionality. Among other things, it implements the PCI bus. One of its
33minor functions is implementing a System Management Bus. This is a true
34SMBus - you can not access it on I2C levels. The good news is that it
35natively understands SMBus commands and you do not have to worry about
36timing problems. The bad news is that non-SMBus devices connected to it can
37confuse it mightily. Yes, this is known to happen...
38
39Do 'lspci -v' and see whether it contains an entry like this:
40
410000:00:02.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
42 Flags: medium devsel, IRQ 9
43
44Bus and device numbers may differ, but the function number must be
45identical (like many PCI devices, the PIIX4 incorporates a number of
46different 'functions', which can be considered as separate devices). If you
47find such an entry, you have a PIIX4 SMBus controller.
48
49On some computers (most notably, some Dells), the SMBus is disabled by
50default. If you use the insmod parameter 'force=1', the kernel module will
51try to enable it. THIS IS VERY DANGEROUS! If the BIOS did not set up a
52correct address for this module, you could get in big trouble (read:
53crashes, data corruption, etc.). Try this only as a last resort (try BIOS
54updates first, for example), and backup first! An even more dangerous
55option 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
57parts of the PIIX4 needs a range of 8 of these addresses to function
58correctly. If these addresses are already reserved by some other device,
59you will get into big trouble! DON'T USE THIS IF YOU ARE NOT VERY SURE
60ABOUT WHAT YOU ARE DOING!
61
62The PIIX4E is just an new version of the PIIX4; it is supported as well.
63The PIIX/PIIX3 does not implement an SMBus or I2C bus, so you can't use
64this driver on those mainboards.
65
66The ServerWorks Southbridges, the Intel 440MX, and the Victory766 are
67identical to the PIIX4 in I2C/SMBus support.
68
69A few OSB4 southbridges are known to be misconfigured by the BIOS. In this
70case, you have you use the fix_hstcfg module parameter. Do not use it
71unless you know you have to, because in some cases it also breaks
72configuration 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 @@
1Kernel driver i2c-prosavage
2
3Supported adapters:
4
5 S3/VIA KM266/VT8375 aka ProSavage8
6 S3/VIA KM133/VT8365 aka Savage4
7
8Author: Henk Vergonet <henk@god.dyndns.org>
9
10Description
11-----------
12
13The Savage4 chips contain two I2C interfaces (aka a I2C 'master' or
14'host').
15
16The first interface is used for DDC (Data Display Channel) which is a
17serial channel through the VGA monitor connector to a DDC-compliant
18monitor. This interface is defined by the Video Electronics Standards
19Association (VESA). The standards are available for purchase at
20http://www.vesa.org . The second interface is a general-purpose I2C bus.
21
22Usefull 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 @@
1Kernel driver i2c-savage4
2
3Supported adapters:
4 * Savage4
5 * Savage2000
6
7Authors:
8 Alexander Wold <awold@bigfoot.com>,
9 Mark D. Studebaker <mdsxyz123@yahoo.com>
10
11Description
12-----------
13
14The Savage4 chips contain two I2C interfaces (aka a I2C 'master'
15or 'host').
16
17The first interface is used for DDC (Data Display Channel) which is a
18serial channel through the VGA monitor connector to a DDC-compliant
19monitor. This interface is defined by the Video Electronics Standards
20Association (VESA). The standards are available for purchase at
21http://www.vesa.org . The DDC bus is not yet supported because its register
22is not directly memory-mapped.
23
24The second interface is a general-purpose I2C bus. This is the only
25interface 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 @@
1Kernel driver i2c-sis5595
2
3Authors:
4 Frodo Looijaard <frodol@dds.nl>,
5 Mark D. Studebaker <mdsxyz123@yahoo.com>,
6 Philip Edelbrock <phil@netroedge.com>
7
8Supported adapters:
9 * Silicon Integrated Systems Corp. SiS5595 Southbridge
10 Datasheet: Publicly available at the Silicon Integrated Systems Corp. site.
11
12Note: 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
40Module 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
49Description
50-----------
51
52i2c-sis5595 is a true SMBus host driver for motherboards with the SiS5595
53southbridges.
54
55WARNING: If you are trying to access the integrated sensors on the SiS5595
56chip, you want the sis5595 driver for those, not this driver. This driver
57is a BUS driver, not a CHIP driver. A BUS driver is used by other CHIP
58drivers 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 @@
1Kernel driver i2c-sis630
2
3Supported 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
9Author: Alexander Malysh <amalysh@web.de>
10
11Module 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
23Description
24-----------
25
26This SMBus only driver is known to work on motherboards with the above
27named chipsets.
28
29If you see something like this:
30
3100:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 31)
3200:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
33
34or like this:
35
3600:00.0 Host bridge: Silicon Integrated Systems [SiS] 730 Host (rev 02)
3700:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
38
39in your 'lspci' output , then this driver is for your chipset.
40
41Thank You
42---------
43Philip Edelbrock <phil@netroedge.com>
44- testing SiS730 support
45Mark M. Hoffman <mhoffman@lightlink.com>
46- bug fixes
47
48To 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 @@
1Kernel driver i2c-sis96x
2
3Replaces 2.4.x i2c-sis645
4
5Supported 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
12Author: Mark M. Hoffman <mhoffman@lightlink.com>
13
14Description
15-----------
16
17This SMBus only driver is known to work on motherboards with the above
18named chipset combinations. The driver was developed without benefit of a
19proper datasheet from SiS. The SMBus registers are assumed compatible with
20those of the SiS630, although they are located in a completely different
21place. Thanks to Alexander Malysh <amalysh@web.de> for providing the
22SiS630 datasheet (and driver).
23
24The command "lspci" as root should produce something like these lines:
25
2600:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
2700:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
2800:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016
29
30or perhaps this...
31
3200:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
3300:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0961
3400: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
38If you cant see it please look on quirk_sis_96x_smbus
39(drivers/pci/quirks.c) (also if southbridge detection fails)
40
41I suspect that this driver could be made to work for the following SiS
42chipsets as well: 635, and 635T. If anyone owns a board with those chips
43AND is willing to risk crashing & burning an otherwise well-behaved kernel
44in the name of progress... please contact me at <mhoffman@lightlink.com> or
45via the project's mailing list: <sensors@stimpy.netroedge.com>. Please
46send bug reports and/or success stories as well.
47
48
49TO DOs
50------
51
52* The driver does not support SMBus block reads/writes; I may add them if a
53scenario is found where they're needed.
54
55
56Thank You
57---------
58
59Mark D. Studebaker <mdsxyz123@yahoo.com>
60 - design hints and bug fixes
61Alexander Maylsh <amalysh@web.de>
62 - ditto, plus an important datasheet... almost the one I really wanted
63Hans-Günter Lütke Uphues <hg_lu@t-online.de>
64 - patch for SiS735
65Robert Zwerus <arzie@dds.nl>
66 - testing for SiS645DX
67Kianusch Sayah Karadji <kianusch@sk-tech.net>
68 - patch for SiS645DX/962
69Ken Healy
70 - patch for SiS655
71
72To 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 @@
1Kernel driver i2c-via
2
3Supported adapters:
4 * VIA Technologies, InC. VT82C586B
5 Datasheet: Publicly available at the VIA website
6
7Author: Kyösti Mälkki <kmalkki@cc.hut.fi>
8
9Description
10-----------
11
12i2c-via is an i2c bus driver for motherboards with VIA chipset.
13
14The following VIA pci chipsets are supported:
15 - MVP3, VP3, VP2/97, VPX/97
16 - others with South bridge VT82C586B
17
18Your 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 @@
1Kernel driver i2c-viapro
2
3Supported 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
13Authors:
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
19Module 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
27Description
28-----------
29
30i2c-viapro is a true SMBus host driver for motherboards with one of the
31supported VIA southbridges.
32
33Your 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
44If none of these show up, you should look in the BIOS for settings like
45enable 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 @@
1Kernel driver i2c-voodoo3
2
3Supported adapters:
4 * 3dfx Voodoo3 based cards
5 * Voodoo Banshee based cards
6
7Authors:
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
13Main contact: Philip Edelbrock <phil@netroedge.com>
14
15The code is based upon Ralph's test code (he did the hard stuff ;')
16
17Description
18-----------
19
20The 3dfx Voodoo3 chip contains two I2C interfaces (aka a I2C 'master' or
21'host').
22
23The first interface is used for DDC (Data Display Channel) which is a
24serial channel through the VGA monitor connector to a DDC-compliant
25monitor. This interface is defined by the Video Electronics Standards
26Association (VESA). The standards are available for purchase at
27http://www.vesa.org .
28
29The second interface is a general-purpose I2C bus. The intent by 3dfx was
30to allow manufacturers to add extra chips to the video card such as a
31TV-out chip such as the BT869 or possibly even I2C based temperature
32sensors like the ADM1021 or LM75.
33
34Stability
35---------
36
37Seems to be stable on the test machine, but needs more testing on other
38machines. Simultaneous accesses of the DDC and I2C busses may cause errors.
39
40Supported Devices
41-----------------
42
43Specifically, this driver was written and tested on the '3dfx Voodoo3 AGP
443000' which has a tv-out feature (s-video or composite). According to the
45docs and discussions, this code should work for any Voodoo3 based cards as
46well as Voodoo Banshee based cards. The DDC interface has been tested on a
47Voodoo Banshee card.
48
49Issues
50------
51
52Probably many, but it seems to work OK on my system. :')
53
54
55External Device Connection
56--------------------------
57
58The digital video input jumpers give availability to the I2C bus.
59Specifically, pins 13 and 25 (bottom row middle, and bottom right-end) are
60the I2C clock and I2C data lines, respectively. +5V and GND are probably
61also easily available making the addition of extra I2C/SMBus devices easy
62to 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 @@
1Kernel driver scx200_acb
2
3Author: Christer Weinigel <wingel@nano-system.com>
4
5Module Parameters
6-----------------
7
8* base: int
9 Base addresses for the ACCESS.bus controllers
10
11Description
12-----------
13
14Enable the use of the ACCESS.bus controllers of a SCx200 processor.