patch-2.3.34 linux/Documentation/i2c/summary

Next file: linux/Documentation/i2c/ten-bit-addresses
Previous file: linux/Documentation/i2c/smbus-protocol
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.33/linux/Documentation/i2c/summary linux/Documentation/i2c/summary
@@ -0,0 +1,63 @@
+This is an explanation of what i2c is, and what is supported.
+
+I2C and SMBus
+=============
+
+I2C (pronounce: I square C) is a protocol developed by Philips. It is a 
+slow two-wire protocol (10-100 kHz), but it suffices for many types of 
+devices.
+
+SMBus (System Management Bus) is a subset of the I2C protocol. Many
+modern mainboards have a System Management Bus. There are a lot of 
+devices which can be connected to a SMBus; the most notable are modern 
+memory chips with EEPROM memories and chips for hardware monitoring.
+
+Because the SMBus is just a special case of the generalized I2C bus, we
+can simulate the SMBus protocol on plain I2C busses. The reverse is
+regretfully impossible.
+
+
+Terminology
+===========
+
+When we talk about I2C, we use the following terms:
+  Bus    -> Algorithm
+            Adapter
+  Device -> Driver
+            Client
+An Algorithm driver contains general code that can be used for a whole class
+of I2C adapters. Each specific adapter driver depends on one algorithm
+driver.
+A Driver driver (yes, this sounds ridiculous, sorry) contains the general
+code to access some type of device. Each detected device gets its own
+data in the Client structure. Usually, Driver and Client are more closely
+integrated than Algorithm and Adapter.
+
+For a given configuration, you will need a driver for your I2C bus (usually
+a separate Adapter and Algorithm driver), and drivers for your I2C devices
+(usually one driver for each device).
+
+
+Included Drivers
+================
+
+Base modules
+------------
+
+i2c-core: The basic I2C code, including the /proc interface
+i2c-dev:  The /dev interface
+
+Algorithm drivers
+-----------------
+
+i2c-algo-bit: A bit-banging algorithm
+i2c-algo-pcf: A PCF 8584 style algorithm
+
+Adapter drivers
+---------------
+
+i2c-elektor:     Elektor ISA card (uses i2c-algo-pcf)
+i2c-elv:         ELV parallel port adapter (uses i2c-algo-bit)
+i2c-philips-par: Philips style parallel port adapter (uses i2c-algo-bit)
+i2c-velleman:    Velleman K9000 parallel port adapter (uses i2c-algo-bit)
+

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)