linux-old/Documentation/i2c/summary
<<
>>
Prefs
   1This is an explanation of what i2c is, and what is supported in this package.
   2
   3I2C and SMBus
   4=============
   5
   6I2C (pronounce: I squared C) is a protocol developed by Philips. It is a 
   7slow two-wire protocol (10-400 kHz), but it suffices for many types of 
   8devices.
   9
  10SMBus (System Management Bus) is a subset of the I2C protocol. Many
  11modern mainboards have a System Management Bus. There are a lot of 
  12devices which can be connected to a SMBus; the most notable are modern 
  13memory chips with EEPROM memories and chips for hardware monitoring.
  14
  15Because the SMBus is just a special case of the generalized I2C bus, we
  16can simulate the SMBus protocol on plain I2C busses. The reverse is
  17regretfully impossible.
  18
  19
  20Terminology
  21===========
  22
  23When we talk about I2C, we use the following terms:
  24  Bus    -> Algorithm
  25            Adapter
  26  Device -> Driver
  27            Client
  28
  29An Algorithm driver contains general code that can be used for a whole class
  30of I2C adapters. Each specific adapter driver depends on one algorithm
  31driver.
  32A Driver driver (yes, this sounds ridiculous, sorry) contains the general
  33code to access some type of device. Each detected device gets its own
  34data in the Client structure. Usually, Driver and Client are more closely
  35integrated than Algorithm and Adapter.
  36
  37For a given configuration, you will need a driver for your I2C bus (usually
  38a separate Adapter and Algorithm driver), and drivers for your I2C devices
  39(usually one driver for each device). There are no I2C device drivers
  40in this package. See the lm_sensors project http://www.lm-sensors.nu
  41for device drivers.
  42
  43
  44Included Bus Drivers
  45====================
  46Note that only stable drivers are patched into the kernel by 'mkpatch'.
  47
  48
  49Base modules
  50------------
  51
  52i2c-core: The basic I2C code, including the /proc/bus/i2c* interface
  53i2c-dev:  The /dev/i2c-* interface
  54i2c-proc: The /proc/sys/dev/sensors interface for device (client) drivers
  55
  56Algorithm drivers
  57-----------------
  58
  59i2c-algo-8xx:    An algorithm for CPM's I2C device in Motorola 8xx processors (NOT BUILT BY DEFAULT)
  60i2c-algo-bit:    A bit-banging algorithm
  61i2c-algo-pcf:    A PCF 8584 style algorithm
  62i2c-algo-ppc405: An algorithm for the I2C device in IBM 405xx processors (NOT BUILT BY DEFAULT)
  63
  64Adapter drivers
  65---------------
  66
  67i2c-elektor:     Elektor ISA card (uses i2c-algo-pcf)
  68i2c-elv:         ELV parallel port adapter (uses i2c-algo-bit)
  69i2c-pcf-epp:     PCF8584 on a EPP parallel port (uses i2c-algo-pcf) (BROKEN - missing i2c-pcf-epp.h)
  70i2c-philips-par: Philips style parallel port adapter (uses i2c-algo-bit)
  71i2c-ppc405:      IBM 405xx processor I2C device (uses i2c-algo-ppc405) (NOT BUILT BY DEFAULT)
  72i2c-pport:       Primitive parallel port adapter (uses i2c-algo-bit)
  73i2c-rpx:         RPX board Motorola 8xx I2C device (uses i2c-algo-8xx) (NOT BUILT BY DEFAULT)
  74i2c-velleman:    Velleman K8000 parallel port adapter (uses i2c-algo-bit)
  75
  76
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.