original comment: +Wilson03172004,marked due to this pci host does not support MWI
[linux-2.4.git] / Documentation / i2c / proc-interface
1 i2c-core is the core i2c module (surprise!) which offers general routines on
2 which other modules build. You will find that all i2c-related modules depend
3 on this module, so it will (need to) be loaded whenever another i2c-related 
4 module is loaded. Seen from the outside, the most interesting is the /proc 
5 interface. Note that there is no corresponding sysctl interface!
6
7 /proc/bus/i2c
8 =============
9
10 Whenever i2c-core is loaded, you will find a file /proc/bus/i2c, which lists
11 all currently registered I2C adapters. Each line contains exactly one
12 I2C adapter. Each line has the following format: "i2c-%d\t%9s\t%-32s't%-32s\n",
13 which works out to four columns separated by tabs. Note that the file
14 will be empty, if no adapters are registered at all.
15
16 Adapters are numbered from 0 upwards. The first column contains the number
17 of the adapter, for example "i2c-4" for adapter 4. The name listed is also
18 the name of the /proc file which lists all devices attached to it, and
19 of the /dev file which corresponds to this adapter.
20
21 The second column documents what kind of adapter this is. Some adapters
22 understand the full I2C protocol, others only a subset called SMBus,
23 and yet others are some kind of pseudo-adapters that do not understand
24 i2c at all. Possible values in here are "i2c", "smbus", "i2c/smbus"
25 and "dummy". Because the SMBus protocol can be fully emulated by i2c
26 adapters, if you see "i2c" here, SMBus is supported too. There may
27 be some future adapters which support both specific SMBus commands and
28 general I2C, and they will display "i2c/smbus".
29
30 The third and fourth column are respectively the algorithm and adapter
31 name of this adapter. Each adapter is associated with an algorithm,
32 and several adapters can share the same algorithm. The combination of
33 algorithm name and adapter name should be unique for an adapter, but
34 you can't really count on that yet.
35
36
37 /proc/bus/i2c-*
38 ===============
39
40 Each registered adapter gets its own file in /proc/bus/, which lists
41 the devices registered to the adapter. Each line in such a file contains
42 one registered device. Each line has the following format:
43 "%02x\t%-32s\t%-32s\n", which works out to three columns separated by
44 tabs. Note that this file can be empty, if no devices are found on 
45 the adapter.
46
47 The first column contains the (hexadecimal) address of the client. As 
48 only 7-bit addresses are supported at this moment, two digits are
49 enough. 
50
51 The second and third column are respectively the client name and the
52 driver name of this client. Each client is associated with a driver,
53 and several clients can share the same driver.