---
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://carta.tech/man/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)](/man/alipm/4.md)

  Acer Labs M7101 SMBus controller

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

  AMD-8111 SMBus controller

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

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

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

  Amlogic I2C controller

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

  Apple I2C controller

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

  Broadcom Serial Control controller

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

  Synopsys DesignWare I2C controller

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

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

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

  GPIO I2C controller

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

  National Semiconductor Geode SC1100 I2C controller

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

  Intel ICH SMBus controller

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

  Freescale i.MX I2C controller

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

  Apple Kauai I2C controller

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

  Microchip PolarFire SoC MSS I2C controller

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

  Marvell Armada 3700 onboard I2C controller

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

  NVIDIA nForce2/3/4 SMBus controller

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

  OpenCores I2C controller

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

  OCTEON two-wire serial interface

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

  Philips PCF8584 I2C controller

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

  Apple via-pmu I2C controller

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

  Intel PIIX SMBus controller

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

  Rockchip I2C controller

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

  Qualcomm Snapdragon GENI I2C controller

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

  Rockchip RK8xx Power Management IC

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

  SpacemiT I2C controller

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

  Apple System Management Unit

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

  Allwinner Two Wire Interface controller

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

  DECchip 21272 and 21274 Core Logic chipset I2C controller

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

  VIA SMBus controller

## SUPPORTED SLAVES

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

  Abracon AB1805 real-time clock

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

  Analog Devices AD7416/AD7417/7418 temperature sensor

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

  Andigilog aSC7621 temperature, voltage, and fan sensor

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

  Analog Devices ADM1026 temperature and voltage sensor

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

  Analog Devices ADM1024 temperature and voltage sensor

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

  Analog Devices ADM1021 temperature sensor

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

  Analog Devices ADM1025 temperature and voltage sensor

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

  Analog Devices ADM1030 temperature sensor

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

  Analog Devices ADM1031 temperature sensor

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

  Analog Devices ADT7460 temperature, voltage, and fan sensor

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

  Analog Devices ADT7462 temperature, voltage, and fan sensor

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

  Andigilog aSC7611 temperature, voltage, and fan sensor

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

  Asus ASB 100 temperature sensor

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

  Apple sudden motion sensor

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

  X-Powers AXP Power Management IC

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

  ROHM BD718x7 Power Management IC

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

  Bosch motion sensor

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

  Intel Crystal Cove Power Management IC

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

  CellWise CW201x fuel gauge

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

  Dialog DA9063 Power Management IC

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

  Maxim DS3231/DS3232 real-time clock

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

  environmental monitoring subsystem temperature sensor

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

  Everest Semiconductor ES8316 audio codec

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

  Fairchild FAN53555 voltage regulator

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

  Apple Fan Control Unit sensor device

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

  Fintek F75375 temperature sensor

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

  Fairchild FUSB302 USB Type-C Port controller

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

  Genesys Logic GL518SM temperature, voltage, and fan sensor

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

  Atmel maXTouch touchpad and touchscreen

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

  Elantech touchpad

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

  HID over I2C support

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

  Intelligent Platform Management Interface driver

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

  Intersil ISL1208/1218 real-time clock

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

  STMicroelectronics LIS331DL MEMS motion sensor

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

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

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

  National Semiconductor LM87 temperature, voltage, and fan sensor

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

  National Semiconductor LM93 temperature, voltage, and fan sensor

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

  National Semiconductor LM75/LM76/LM77 temperature sensor

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

  Maxim DS1624/DS1631/DS1721 temperature sensor

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

  Maxim DS1307/DS1339 real-time clock

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

  Maxim MAX6642/MAX6690 temperature sensor

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

  Microchip MCP79400 real-time clock

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

  M41T8x real-time clock

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

  Nuvoton W83795G/ADG temperature, voltage, and fan sensor

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

  Philips PCA955\[4567\] GPIO controller

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

  Philips PCA9532/9552 GPIO LED dimmer

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

  Philips PCA954\[678\] I2C switch/mux

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

  Philips PCF8591 temperature sensor

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

  NXP PCF8523 real-time clock

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

  NXP PCF8563 real-time clock

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

  NXP PCF85063A/TP real-time clock

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

  PiJuice HAT UPS

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

  Ricoh RS5C372 real-time clock

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

  Rockchip RK8xx Power Management IC

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

  SO-DIMM (JC-42.4) temperature sensor

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

  Texas Instruments TAS2764 digital amplifier

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

  Serial Presence Detect memory

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

  Solomon Systech SSD1306/SSD1309 OLED display module

- stsec(4)

  ST7 embedded controller

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

  Silergy SY8106A voltage regulator

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

  Texas Instruments TAS2770 digital amplifier

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

  USB Type-C Port Controller Interface

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

  Philips TDA8444 fan controller

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

  TI THMC50, Analog ADM1022/1028 temperature sensor

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

  TI USB Type-C power delivery controller

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

  Intel Dollar Cove TI Power Management IC

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

  TI TMP451 temperature sensor

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

  TAOS TSL2560/61 light sensor

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

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

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

  Winbond W83793G temperature, voltage, and fan sensor

## SEE ALSO

[iicmux(4)](/man/iicmux/4.md), [intro(4)](/man/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*⟩.
