---
name: "iic"
section: "4"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/iic"
---

# iic(4)

Inter IC (I2C) bus

## NAME

**iic** – Inter IC (I2C) bus

## SYNOPSIS

**iic\* at kiic?                  # macppc** **iic\* at piic?                  # macppc** **iic\* at smu?                   # macppc** **iic\* at alipm?                 # alpha i386 sparc64**  **iic\* at amdiic?                # amd64 i386** **iic\* at amdpm?                 # i386** **iic\* at glxpcib?               # i386** **iic\* at gscsio?                # i386** **iic\* at ichiic?                # amd64 i386** **iic\* at iicmux?                # arm64** **iic\* at nviic?                 # amd64 i386** **iic\* at pcamux?                # arm64** **iic\* at pcfiic?                # sparc64** **iic\* at piixpm?                # amd64 i386** **iic\* at viapm?                 # amd64 i386** **iic\* at gpioiic?               # i386** **iic\* at gdiumiic?              # loongson** **iic\* at tsciic?                # alpha** **iic\* at amliic?                # arm64** **iic\* at apliic?                # arm64** **iic\* at bcmbsc?                # arm64 armv7** **iic\* at dwiic?                 # amd64 arm64** **iic\* at octiic?                # octeon** **iic\* at imxiic?                # arm64 armv7** **iic\* at mviic?                 # arm64** **iic\* at rkiic?                 # arm64 armv7** **iic\* at qciic?                 # arm64** **iic\* at sxitwi?                # arm64 armv7** **iic\* at mpfiic?                # riscv64** **iic\* at ociic?                 # riscv64** **iic\* at smtiic?                # riscv64**

## DESCRIPTION

I2C is a two-wire bus developed by Philips used for connecting integrated circuits. It is commonly used for connecting devices such as EEPROMs, temperature sensors, fan controllers, real-time clocks, tuners, and other types of integrated circuits.

The **iic** driver provides a uniform programming interface layer between I2C master controllers and various I2C slave devices. Each I2C master controller attaches an **iic** framework; several slave devices can then be attached to the **iic** bus.

All I2C slave devices are uniquely identified by the address on the bus. The master accesses a particular slave device using its address. Devices are found on the bus using a sophisticated scanning routine which attempts to identify commonly available devices. On other machines (such as sparc64 and macppc) where the machine ROM supplies a list of I2C devices, that list is used instead.

System Management Bus (SMBus) protocol is also supported by emulating it with the I2C commands.

## SUPPORTED MASTERS

- [alipm(4)](/alipm/4.md)

  Acer Labs M7101 SMBus controller

- [amdiic(4)](/amdiic/4.md)

  AMD-8111 SMBus controller

- [amdpm(4)](/amdpm/4.md)

  AMD-756/766/768/8111 Power Management and SMBus controller

- [amliic(4)](/amliic/4.md)

  Amlogic I2C controller

- [apliic(4)](/apliic/4.md)

  Apple I2C controller

- [bcmbsc(4)](/bcmbsc/4.md)

  Broadcom Serial Control controller

- [dwiic(4)](/dwiic/4.md)

  Synopsys DesignWare I2C controller

- [glxpcib(4)](/glxpcib/4.md)

  AMD CS5536 PCI-ISA bridge with timecounter, watchdog timer, and GPIO

- [gpioiic(4)](/gpioiic/4.md)

  GPIO I2C controller

- [gscsio(4)](/gscsio/4.md)

  National Semiconductor Geode SC1100 I2C controller

- [ichiic(4)](/ichiic/4.md)

  Intel ICH SMBus controller

- [imxiic(4)](/imxiic/4.md)

  Freescale i.MX I2C controller

- [kiic(4)](/kiic/4.md)

  Apple Kauai I2C controller

- [mpfiic(4)](/mpfiic/4.md)

  Microchip PolarFire SoC MSS I2C controller

- [mviic(4)](/mviic/4.md)

  Marvell Armada 3700 onboard I2C controller

- [nviic(4)](/nviic/4.md)

  NVIDIA nForce2/3/4 SMBus controller

- [ociic(4)](/ociic/4.md)

  OpenCores I2C controller

- [octiic(4)](/octiic/4.md)

  OCTEON two-wire serial interface

- [pcfiic(4)](/pcfiic/4.md)

  Philips PCF8584 I2C controller

- [piic(4)](/piic/4.md)

  Apple via-pmu I2C controller

- [piixpm(4)](/piixpm/4.md)

  Intel PIIX SMBus controller

- [rkiic(4)](/rkiic/4.md)

  Rockchip I2C controller

- [qciic(4)](/qciic/4.md)

  Qualcomm Snapdragon GENI I2C controller

- [rkpmic(4)](/rkpmic/4.md)

  Rockchip RK8xx Power Management IC

- [smtiic(4)](/smtiic/4.md)

  SpacemiT I2C controller

- [smu(4)](/smu/4.md)

  Apple System Management Unit

- [sxitwi(4)](/sxitwi/4.md)

  Allwinner Two Wire Interface controller

- [tsciic(4)](/tsciic/4.md)

  DECchip 21272 and 21274 Core Logic chipset I2C controller

- [viapm(4)](/viapm/4.md)

  VIA SMBus controller

## SUPPORTED SLAVES

- [abcrtc(4)](/abcrtc/4.md)

  Abracon AB1805 real-time clock

- [adc(4)](/adc/4.md)

  Analog Devices AD7416/AD7417/7418 temperature sensor

- [adl(4)](/adl/4.md)

  Andigilog aSC7621 temperature, voltage, and fan sensor

- [admcts(4)](/admcts/4.md)

  Analog Devices ADM1026 temperature and voltage sensor

- [admlc(4)](/admlc/4.md)

  Analog Devices ADM1024 temperature and voltage sensor

- [admtemp(4)](/admtemp/4.md)

  Analog Devices ADM1021 temperature sensor

- [admtm(4)](/admtm/4.md)

  Analog Devices ADM1025 temperature and voltage sensor

- [admtmp(4)](/admtmp/4.md)

  Analog Devices ADM1030 temperature sensor

- [admtt(4)](/admtt/4.md)

  Analog Devices ADM1031 temperature sensor

- [adt(4)](/adt/4.md)

  Analog Devices ADT7460 temperature, voltage, and fan sensor

- [adtfsm(4)](/adtfsm/4.md)

  Analog Devices ADT7462 temperature, voltage, and fan sensor

- [andl(4)](/andl/4.md)

  Andigilog aSC7611 temperature, voltage, and fan sensor

- [asbtm(4)](/asbtm/4.md)

  Asus ASB 100 temperature sensor

- [asms(4)](/asms/4.md)

  Apple sudden motion sensor

- [axppmic(4)](/axppmic/4.md)

  X-Powers AXP Power Management IC

- [bdpmic(4)](/bdpmic/4.md)

  ROHM BD718x7 Power Management IC

- [bgw(4)](/bgw/4.md)

  Bosch motion sensor

- [ccpmic(4)](/ccpmic/4.md)

  Intel Crystal Cove Power Management IC

- [cwfg(4)](/cwfg/4.md)

  CellWise CW201x fuel gauge

- [dapmic(4)](/dapmic/4.md)

  Dialog DA9063 Power Management IC

- [dsxrtc(4)](/dsxrtc/4.md)

  Maxim DS3231/DS3232 real-time clock

- [ecadc(4)](/ecadc/4.md)

  environmental monitoring subsystem temperature sensor

- [escodec(4)](/escodec/4.md)

  Everest Semiconductor ES8316 audio codec

- [fanpwr(4)](/fanpwr/4.md)

  Fairchild FAN53555 voltage regulator

- [fcu(4)](/fcu/4.md)

  Apple Fan Control Unit sensor device

- [fintek(4)](/fintek/4.md)

  Fintek F75375 temperature sensor

- [fusbtc(4)](/fusbtc/4.md)

  Fairchild FUSB302 USB Type-C Port controller

- [glenv(4)](/glenv/4.md)

  Genesys Logic GL518SM temperature, voltage, and fan sensor

- [iatp(4)](/iatp/4.md)

  Atmel maXTouch touchpad and touchscreen

- [ietp(4)](/ietp/4.md)

  Elantech touchpad

- [ihidev(4)](/ihidev/4.md)

  HID over I2C support

- [ipmi(4)](/ipmi/4.md)

  Intelligent Platform Management Interface driver

- [islrtc(4)](/islrtc/4.md)

  Intersil ISL1208/1218 real-time clock

- [lisa(4)](/lisa/4.md)

  STMicroelectronics LIS331DL MEMS motion sensor

- [lm(4)](/lm/4.md)

  National Semiconductor LM78/79/81 temperature, voltage, and fan sensor

- [lmenv(4)](/lmenv/4.md)

  National Semiconductor LM87 temperature, voltage, and fan sensor

- [lmn(4)](/lmn/4.md)

  National Semiconductor LM93 temperature, voltage, and fan sensor

- [lmtemp(4)](/lmtemp/4.md)

  National Semiconductor LM75/LM76/LM77 temperature sensor

- [maxds(4)](/maxds/4.md)

  Maxim DS1624/DS1631/DS1721 temperature sensor

- [maxrtc(4)](/maxrtc/4.md)

  Maxim DS1307/DS1339 real-time clock

- [maxtmp(4)](/maxtmp/4.md)

  Maxim MAX6642/MAX6690 temperature sensor

- [mcprtc(4)](/mcprtc/4.md)

  Microchip MCP79400 real-time clock

- [mfokrtc(4)](/mfokrtc/4.md)

  M41T8x real-time clock

- [nvt(4)](/nvt/4.md)

  Nuvoton W83795G/ADG temperature, voltage, and fan sensor

- [pcagpio(4)](/pcagpio/4.md)

  Philips PCA955\[4567\] GPIO controller

- [pcaled(4)](/pcaled/4.md)

  Philips PCA9532/9552 GPIO LED dimmer

- [pcamux(4)](/pcamux/4.md)

  Philips PCA954\[678\] I2C switch/mux

- [pcfadc(4)](/pcfadc/4.md)

  Philips PCF8591 temperature sensor

- [pcfrtc(4)](/pcfrtc/4.md)

  NXP PCF8523 real-time clock

- [pcxrtc(4)](/pcxrtc/4.md)

  NXP PCF8563 real-time clock

- [pcyrtc(4)](/pcyrtc/4.md)

  NXP PCF85063A/TP real-time clock

- [pijuice(4)](/pijuice/4.md)

  PiJuice HAT UPS

- [ricohrtc(4)](/ricohrtc/4.md)

  Ricoh RS5C372 real-time clock

- [rkpmic(4)](/rkpmic/4.md)

  Rockchip RK8xx Power Management IC

- [sdtemp(4)](/sdtemp/4.md)

  SO-DIMM (JC-42.4) temperature sensor

- [sncodec(4)](/sncodec/4.md)

  Texas Instruments TAS2764 digital amplifier

- [spdmem(4)](/spdmem/4.md)

  Serial Presence Detect memory

- [ssdfb(4)](/ssdfb/4.md)

  Solomon Systech SSD1306/SSD1309 OLED display module

- stsec(4)

  ST7 embedded controller

- [sypwr(4)](/sypwr/4.md)

  Silergy SY8106A voltage regulator

- [tascodec(4)](/tascodec/4.md)

  Texas Instruments TAS2770 digital amplifier

- [tcpci(4)](/tcpci/4.md)

  USB Type-C Port Controller Interface

- [tda(4)](/tda/4.md)

  Philips TDA8444 fan controller

- [thmc(4)](/thmc/4.md)

  TI THMC50, Analog ADM1022/1028 temperature sensor

- [tipd(4)](/tipd/4.md)

  TI USB Type-C power delivery controller

- [tipmic(4)](/tipmic/4.md)

  Intel Dollar Cove TI Power Management IC

- [titmp(4)](/titmp/4.md)

  TI TMP451 temperature sensor

- [tsl(4)](/tsl/4.md)

  TAOS TSL2560/61 light sensor

- [wbenv(4)](/wbenv/4.md)

  Winbond W83L784R/W83L785R/W83L785TS-L temperature, voltage, and fan sensor

- [wbng(4)](/wbng/4.md)

  Winbond W83793G temperature, voltage, and fan sensor

## SEE ALSO

[iicmux(4)](/iicmux/4.md), [intro(4)](/intro/4.md), iic(9)

## HISTORY

The I2C framework first appeared in NetBSD 2.0. OpenBSD support was added in OpenBSD 3.6. I2C bus scanning was added in OpenBSD 3.9.

## AUTHORS

The I2C framework was written by Steve C. Woodford and Jason R. Thorpe for NetBSD and then ported to OpenBSD by Alexander Yurchenko ⟨*grange@openbsd.org*⟩.
