opnsense-src/sys/dev/usb/misc
Andriy Gapon c178a7e73c cp2112: driver for the namesake GPIO and I2C master gadget
Documentation:
- CP2112 Datasheet
  https://www.silabs.com/documents/public/data-sheets/cp2112-datasheet.pdf
- AN495: CP2112 Interface Specification
  https://www.silabs.com/documents/public/application-notes/an495-cp2112-interface-specification.pdf
- CP2112 Errata
  https://www.silabs.com/documents/public/errata/cp2112-errata.pdf

The logic is implemented as three sub-drivers.
The parent driver claims the USB device and creates two child devices.
One acts as a GPIO controller and the other is an I2C controller.

Tested with CP2112 revision F02.
Both features seem to work.
HTU21 sensor was used as an I2C slave.

Reviewed by:	adrian, hselasky
MFC after:	2 weeks
Relnotes:	maybe
Differential Revision: https://reviews.freebsd.org/D25359
2020-08-06 13:41:42 +00:00
..
cp2112.c cp2112: driver for the namesake GPIO and I2C master gadget 2020-08-06 13:41:42 +00:00
udbp.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many) 2020-02-15 18:52:12 +00:00
udbp.h
ufm.c Start the retirement process for ufm 2020-04-01 16:22:31 +00:00
ugold.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many) 2020-02-15 18:52:12 +00:00
uled.c Add support for ThingM blink(1) notification LED to uled(4). 2017-03-31 08:20:59 +00:00