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