History log of /src/share/man/man4/iic.4
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.40 24-Oct-2025 brad

A driver for the NXP SC16IS7xx family of UART chips. This family is
mostly a 16C450 with features from the 16C550, 16C650 and 16C750 and
makes use of src/sys/dev/ic/com.c for much of the heavy lifting.

A BIG difference is that the chip family is attached via a I2C or SPI
bus and is in no way, shape or form, attached to the computer via a
computer bus.

Since spin locks are not allowed to be held while calling to the I2C
or SPI framework com.c grew a new hw feature flag where it could be
run at something other than a hard IP level and doesn't hold spin lock
(for very long). In particular, IPL_SOFTSERIAL. This method is
enabled via a hw feature flag and should not effect any other use of
com.c. Other changes with this new method of use include the use of
workqueues and such.

A further feature added to com.c was the abilty to take advantage of
the MCR prescaler that is present in the SC16IS7xx family and likely
present in the 16C650. This prescaler is tried if the baud rate
requested can not be met with the frequency oscillator that the chip is
built with.

The chip family does not use any particular frequency oscillator for
the baud rate generator. In order to deal with this the frequency can
be set via sysctl, a kernel option or with a FDT overlay if that is
supported.

Most of the features of the chip family are supported including the
gpio pins via gpiobus(4) that are present with some of the family
members.

The chip can attach via I2C or SPI and can make sure of FDT if that is
present in the system.

This chip family has been around for quite some time and there are a
number of breakout boards on Amazon. It is also reasonably priced and
you can roll your own board if you can perform simple SMD soldering as
very few additional components are required.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.39 11-Mar-2025 brad

Mention emcfan(4) and emcfanctl(8)


# 1.38 23-Jan-2025 brad

Mention ds28e17iic(4)


# 1.37 16-Dec-2024 brad

Mention umcpmio(4)


# 1.36 04-Nov-2024 brad

Mention ds2482ow


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
# 1.35 21-Nov-2022 brad

branches: 1.35.4;


Mention the driver for the Bosch BMP280/BME280


# 1.34 17-Nov-2022 brad

Mention the AHT20 driver


# 1.33 07-Dec-2021 brad

Mention the SCMD device


# 1.32 05-Dec-2021 msaitoh

s/covert/convert/ in comment.


# 1.31 06-Nov-2021 brad

Mention sht3xtemp(4)


# 1.30 14-Oct-2021 nia

Add sgp40mox(4)


# 1.29 05-Oct-2021 nia

Add sht4xtemp(4). Sort.


# 1.28 10-Sep-2021 nia

sort


# 1.27 10-Sep-2021 nia

iic.4: add missing client devs (those with man pages, many don't have one)


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.26 11-Mar-2021 nia

Remove dead references


# 1.25 27-Feb-2021 nia

iic.4: Add FILES section. Fix copypasto.


# 1.24 27-Feb-2021 nia

Describe the i2c ioctl interface


# 1.23 27-Feb-2021 nia

iic.4: add ssdfb


Revision tags: netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.22 26-Feb-2018 wiz

branches: 1.22.6;
Fix comment.


# 1.21 26-Feb-2018 pgoyette

Finally, remove extraneous entries for macppc's "iic at cuda". We
don't need three entries that differ only in wildcarding.


# 1.20 26-Feb-2018 pgoyette

Ooopppsss! Put the .Sh DESCRIPTION where it belongs, _after_ the
list of config attachments.


# 1.19 26-Feb-2018 pgoyette

Hmmm, for some reason the first entry in the generated list is not
in collating-sequence order. Move it to the proper place in the
list.


# 1.18 25-Feb-2018 pgoyette

Bump date for previous two changes.


# 1.17 25-Feb-2018 pgoyette

Fix the commands-to-generate-the-attachment list to use tab's instead
of multiple spaces in the regex bracket expressions, and alert the
reader to this. Otherwise, a cut-and-paste might simply expand the
tab characters to some number of spaces, and the result won't find
what you're looking for!

XXX Despite the indication that these commands should be run in csh
(or derivative), they seem to run just fine under /bin/sh as well.


# 1.16 25-Feb-2018 pgoyette

Regen attachment list, since we just added "iic* at imcsmb?"

This regen also caught a few other missing entries.


# 1.15 24-Jan-2018 wiz

Remove Tn.


# 1.14 24-Jan-2018 skrll

Remove port-acorn26

OK core@


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806
# 1.13 26-Jul-2016 msaitoh

Update supported masters and slaves.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 tls-maxphys-base
# 1.12 18-Mar-2014 riastradh

branches: 1.12.8;
Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1
# 1.11 20-Jul-2013 wiz

Use Mt for email addresses.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.10 15-Oct-2011 jruoho

branches: 1.10.2; 1.10.8; 1.10.12;
Xref i2cscan(8).


# 1.9 02-Oct-2011 jmcneill

Install dev/i2c/i2c_io.h and implement the API in the iic(4) driver.
Obsolete the I2C_SCAN option as this can now be done from userland.


# 1.8 30-Aug-2011 mbalmer

Also mention gpioiic(4).


# 1.7 30-Aug-2011 wiz

Sort SEE ALSO.


# 1.6 30-Aug-2011 jruoho

Xref dtviic(4).


Revision tags: cherry-xenmp-base uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.5 20-Dec-2010 jruoho

Note options I2C_SCAN.


Revision tags: uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 uebayasi-xip-base2 uebayasi-xip-base1
# 1.4 06-Feb-2010 pgoyette

Add man page and cross-refs for experimental acpismbus(4)


Revision tags: matt-premerge-20091211
# 1.3 22-Aug-2009 joerg

Kill empty lines.


# 1.2 05-Jun-2009 wiz

Drop trailing whitespace. Add a missing continuation line. Use more .An.


# 1.1 05-Jun-2009 hubertf

Add iic(4) manpage, partly taken from OpenBSD.