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