xref: /openbsd-src/share/man/man4/iic.4 (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1.\"	$OpenBSD: iic.4,v 1.74 2008/09/10 16:13:43 reyk 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: September 10 2008 $
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.Sh DESCRIPTION
39.Tn I2C
40is a two-wire bus developed by Philips used for connecting
41integrated circuits.
42It is commonly used for connecting devices such as EEPROMs,
43temperature sensors, fan controllers, real-time clocks, tuners,
44and other types of integrated circuits.
45.Pp
46The
47.Nm
48driver provides a uniform programming interface layer between
49.Tn I2C
50master controllers and various
51.Tn I2C
52slave devices.
53Each
54.Tn I2C
55master controller attaches an
56.Nm
57framework; several slave devices can then be attached to the
58.Nm
59bus.
60.Pp
61All
62.Tn I2C
63slave devices are uniquely identified by the address on the bus.
64The master accesses a particular slave device using its address.
65Devices are found on the bus using a sophisticated scanning routine
66which attempts to identify commonly available devices.
67On other machines (such as sparc64 and macppc) where the machine ROM
68supplies a list of I2C devices, that list is used instead.
69.Pp
70System Management Bus (SMBus) protocol is also supported by emulating
71it with the
72.Tn I2C
73commands.
74.Sh SUPPORTED MASTERS
75.Bl -tag -width 13n -compact
76.It Xr alipm 4
77Acer Labs M7101 SMBus controller
78.It Xr amdiic 4
79AMD-8111 SMBus controller
80.It Xr amdpm 4
81AMD-756/766/768/8111 Power Management and SMBus controller
82.It Xr gpioiic 4
83GPIO I2C controller
84.It Xr gscsio 4
85National Semiconductor Geode SC1100 I2C controller
86.It Xr ichiic 4
87Intel ICH SMBus controller
88.It Xr kiic 4
89Apple Kauai I2C controller
90.It Xr nviic 4
91NVIDIA nForce2/3/4 SMBus controller
92.It Xr pcfiic 4
93Phillips PCF8584 I2C controller
94.It Xr piic 4
95Apple via-pmu I2C controller
96.It Xr piixpm 4
97Intel PIIX SMBus controller
98.It Xr smu 4
99Apple System Management Unit
100.It Xr viapm 4
101VIA SMBus controller
102.El
103.Sh SUPPORTED SLAVES
104.Bl -tag -width 13n -compact
105.It Xr adc 4
106Analog Devices AD7416/AD7417/7418 temperature sensor
107.It Xr adl 4
108Andigilog aSC7621 temperature, voltage, and fan sensor
109.It Xr admcts 4
110Analog Devices ADM1026 temperature and voltage sensor
111.It Xr admlc 4
112Analog Devices ADM1024 temperature and voltage sensor
113.It Xr admtemp 4
114Analog Devices ADM1021 temperature sensor
115.It Xr admtm 4
116Analog Devices ADM1025 temperature and voltage sensor
117.It Xr admtmp 4
118Analog Devices ADM1030 temperature sensor
119.It Xr admtt 4
120Analog Devices ADM1031 temperature sensor
121.It Xr adt 4
122Analog Devices ADT7460 temperature, voltage, and fan sensor
123.It Xr adtfsm 4
124Analog Devices ADT7462 temperature, voltage, and fan sensor
125.It Xr andl 4
126Andigilog aSC7611 temperature, voltage, and fan sensor
127.It Xr asbtm 4
128Asus ASB 100 temperature sensor
129.It Xr asms 4
130Apple sudden motion sensor
131.It Xr ecadc 4
132Environmental Monitoring Subsystem temperature sensor
133.It Xr fcu 4
134Apple Fan Control Unit sensor device
135.It Xr fintek 4
136Fintek F75375 temperature sensor
137.It Xr glenv 4
138Genesys Logic GL518SM temperature, voltage, and fan sensor
139.It Xr lm 4
140National Semiconductor LM78/79/81 temperature, voltage, and fan sensor
141.It Xr lmenv 4
142National Semiconductor LM87 temperature, voltage, and fan sensor
143.It Xr lmn 4
144National Semiconductor LM93 temperature, voltage, and fan sensor
145.It Xr lmtemp 4
146National Semiconductor LM75/LM76/LM77 temperature sensor
147.It Xr maxds 4
148Maxim DS1624/DS1631/DS1721 temperature sensor
149.It Xr maxtmp 4
150Maxim MAX6642/MAX6690 temperature sensor
151.It Xr pcagpio 4
152Philips PCA955[4567] GPIO controller
153.It Xr pcaled 4
154Philips PCA9532/9552 GPIO LED dimmer
155.It Xr pcfadc 4
156Philips PCF8591 temperature sensor
157.It Xr ricohrtc 4
158Ricoh RS5C372 Real Time Clock
159.It Xr sdtemp 4
160SO-DIMM (JC-42.4) temperature sensor
161.It Xr spdmem 4
162Serial Presence Detect memory
163.It Xr tda 4
164Philips TDA8444 fan controller
165.It Xr thmc 4
166TI THMC50, Analog ADM1022/1028 temperature sensor
167.It Xr tsl 4
168TAOS TSL2560/61 light sensor
169.It Xr wbenv 4
170Winbond W83L784R/W83L785R/W83L785TS-L temperature, voltage, and fan sensor
171.It Xr wbng 4
172Winbond W83793G temperature, voltage, and fan sensor
173.El
174.Sh SEE ALSO
175.Xr intro 4 ,
176.Xr iic 9
177.Sh HISTORY
178The
179.Tn I2C
180framework first appeared in
181.Nx 2.0 .
182.Ox
183support was added in
184.Ox 3.6 .
185I2C bus scanning was added in
186.Ox 3.9 .
187.Sh AUTHORS
188The
189.Tn I2C
190framework was written by
191Steve C. Woodford and Jason R. Thorpe for
192.Nx
193and then ported to
194.Ox
195by
196.An Alexander Yurchenko Aq grange@openbsd.org .
197