OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [i2c/] [summary] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.