xref: /openbsd/share/man/man4/iic.4 (revision 8932bfb7)
1.\"	$OpenBSD: iic.4,v 1.79 2011/07/04 05:38:04 jmc Exp $
2.\"
3.\" Copyright (c) 2004, 2006 Alexander Yurchenko <grange@openbsd.org>
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd $Mdocdate: July 4 2011 $
18.Dt IIC 4
19.Os
20.Sh NAME
21.Nm iic
22.Nd Inter IC (I2C) bus
23.Sh SYNOPSIS
24.Cd "iic* at kiic?                  # macppc"
25.Cd "iic* at piic?                  # macppc"
26.Cd "iic* at smu?                   # macppc"
27.Cd "iic* at alipm?                 # alpha i386 sparc64 "
28.Cd "iic* at amdiic?                # amd64 i386"
29.Cd "iic* at amdpm?                 # i386"
30.Cd "iic* at gscsio?                # i386"
31.Cd "iic* at ichiic?                # amd64 i386"
32.Cd "iic* at iopiic?                # armish"
33.Cd "iic* at nviic?                 # amd64 i386"
34.Cd "iic* at pcfiic?                # sparc64"
35.Cd "iic* at piixpm?                # amd64 i386"
36.Cd "iic* at viapm?                 # amd64 i386"
37.Cd "iic* at gpioiic?               # i386"
38.Cd "iic* at gdiumiic?              # loongson"
39.Sh DESCRIPTION
40.Tn I2C
41is a two-wire bus developed by Philips used for connecting
42integrated circuits.
43It is commonly used for connecting devices such as EEPROMs,
44temperature sensors, fan controllers, real-time clocks, tuners,
45and other types of integrated circuits.
46.Pp
47The
48.Nm
49driver provides a uniform programming interface layer between
50.Tn I2C
51master controllers and various
52.Tn I2C
53slave devices.
54Each
55.Tn I2C
56master controller attaches an
57.Nm
58framework; several slave devices can then be attached to the
59.Nm
60bus.
61.Pp
62All
63.Tn I2C
64slave devices are uniquely identified by the address on the bus.
65The master accesses a particular slave device using its address.
66Devices are found on the bus using a sophisticated scanning routine
67which attempts to identify commonly available devices.
68On other machines (such as sparc64 and macppc) where the machine ROM
69supplies a list of I2C devices, that list is used instead.
70.Pp
71System Management Bus (SMBus) protocol is also supported by emulating
72it with the
73.Tn I2C
74commands.
75.Sh SUPPORTED MASTERS
76.Bl -tag -width 13n -compact
77.It Xr alipm 4
78Acer Labs M7101 SMBus controller
79.It Xr amdiic 4
80AMD-8111 SMBus controller
81.It Xr amdpm 4
82AMD-756/766/768/8111 Power Management and SMBus controller
83.It Xr gpioiic 4
84GPIO I2C controller
85.It Xr gscsio 4
86National Semiconductor Geode SC1100 I2C controller
87.It Xr ichiic 4
88Intel ICH SMBus controller
89.It Xr kiic 4
90Apple Kauai I2C controller
91.It Xr nviic 4
92NVIDIA nForce2/3/4 SMBus controller
93.It Xr pcfiic 4
94Phillips PCF8584 I2C controller
95.It Xr piic 4
96Apple via-pmu I2C controller
97.It Xr piixpm 4
98Intel PIIX SMBus controller
99.It Xr smu 4
100Apple System Management Unit
101.It Xr viapm 4
102VIA SMBus controller
103.El
104.Sh SUPPORTED SLAVES
105.Bl -tag -width 13n -compact
106.It Xr adc 4
107Analog Devices AD7416/AD7417/7418 temperature sensor
108.It Xr adl 4
109Andigilog aSC7621 temperature, voltage, and fan sensor
110.It Xr admcts 4
111Analog Devices ADM1026 temperature and voltage sensor
112.It Xr admlc 4
113Analog Devices ADM1024 temperature and voltage sensor
114.It Xr admtemp 4
115Analog Devices ADM1021 temperature sensor
116.It Xr admtm 4
117Analog Devices ADM1025 temperature and voltage sensor
118.It Xr admtmp 4
119Analog Devices ADM1030 temperature sensor
120.It Xr admtt 4
121Analog Devices ADM1031 temperature sensor
122.It Xr adt 4
123Analog Devices ADT7460 temperature, voltage, and fan sensor
124.It Xr adtfsm 4
125Analog Devices ADT7462 temperature, voltage, and fan sensor
126.It Xr andl 4
127Andigilog aSC7611 temperature, voltage, and fan sensor
128.It Xr asbtm 4
129Asus ASB 100 temperature sensor
130.It Xr asms 4
131Apple sudden motion sensor
132.It Xr ecadc 4
133environmental monitoring subsystem temperature sensor
134.It Xr fcu 4
135Apple Fan Control Unit sensor device
136.It Xr fintek 4
137Fintek F75375 temperature sensor
138.It Xr glenv 4
139Genesys Logic GL518SM temperature, voltage, and fan sensor
140.It Xr lisa 4
141STMicroelectronics LIS331DL MEMS motion sensor
142.It Xr lm 4
143National Semiconductor LM78/79/81 temperature, voltage, and fan sensor
144.It Xr lmenv 4
145National Semiconductor LM87 temperature, voltage, and fan sensor
146.It Xr lmn 4
147National Semiconductor LM93 temperature, voltage, and fan sensor
148.It Xr lmtemp 4
149National Semiconductor LM75/LM76/LM77 temperature sensor
150.It Xr maxds 4
151Maxim DS1624/DS1631/DS1721 temperature sensor
152.It Xr maxtmp 4
153Maxim MAX6642/MAX6690 temperature sensor
154.It Xr mfokclock 4
155M41T8x Real Time Clock
156.It Xr nvt 4
157Nuvoton W83795G/ADG temperature, voltage, and fan sensor
158.It Xr pcagpio 4
159Philips PCA955[4567] GPIO controller
160.It Xr pcaled 4
161Philips PCA9532/9552 GPIO LED dimmer
162.It Xr pcfadc 4
163Philips PCF8591 temperature sensor
164.It Xr ricohrtc 4
165Ricoh RS5C372 Real Time Clock
166.It Xr sdtemp 4
167SO-DIMM (JC-42.4) temperature sensor
168.It Xr spdmem 4
169Serial Presence Detect memory
170.It Xr stsec 4
171ST7 embedded controller
172.It Xr tda 4
173Philips TDA8444 fan controller
174.It Xr thmc 4
175TI THMC50, Analog ADM1022/1028 temperature sensor
176.It Xr tsl 4
177TAOS TSL2560/61 light sensor
178.It Xr wbenv 4
179Winbond W83L784R/W83L785R/W83L785TS-L temperature, voltage, and fan sensor
180.It Xr wbng 4
181Winbond W83793G temperature, voltage, and fan sensor
182.El
183.Sh SEE ALSO
184.Xr intro 4 ,
185.Xr iic 9
186.Sh HISTORY
187The
188.Tn I2C
189framework first appeared in
190.Nx 2.0 .
191.Ox
192support was added in
193.Ox 3.6 .
194I2C bus scanning was added in
195.Ox 3.9 .
196.Sh AUTHORS
197The
198.Tn I2C
199framework was written by
200Steve C. Woodford and Jason R. Thorpe for
201.Nx
202and then ported to
203.Ox
204by
205.An Alexander Yurchenko Aq grange@openbsd.org .
206