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