Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   brad
Date:           Mon Nov  4 20:43:39 UTC 2024

Modified Files:
        src/distrib/sets/lists/man: mi
        src/distrib/sets/lists/manhtml: mi
        src/distrib/sets/lists/modules: mi
        src/share/man/man4: Makefile
        src/sys/dev/i2c: files.i2c
        src/sys/modules: Makefile
Added Files:
        src/share/man/man4: ds2482ow.4
        src/sys/dev/i2c: ds2482ow.c ds2482owreg.h ds2482owvar.h
        src/sys/modules/ds2482ow: Makefile ds2482ow.ioconf

Log Message:
Add a driver for the Maxim DS2482-100 and DS2482-800 I2C to 1-Wire
bridge.

This chip provides a I2C device that then has 1 or 8 1-Wire busses on
the other side.  The 1-Wire buses show up as onewire(4) buses in the
NetBSD.

The chip can be used in situations where:

* You have a I2C bus extended a long distance, say with a LTC4311
  active terminator / extender or one of the differential I2C
  extenders and you would like to have a 1-Wire device on the far end
  and it isn't possible to add wiring to get to the far end.

* You are either out of GPIO pins or the GPIO pins are not reliable
  enough to use gpioow(4), but you do have working I2C.

The DS2482 does all of the 1-Wire signals in hardware and provides for
a couple of pullup options for the 1-Wire devices.

All of the functions of the DS2482-100 and -800 are supported except
for overdrive speed support.  To do this will likely require some API
changes to onewire(4).

Breakout boards exist for the DS2482 for both variants, but they
appear to be more expensive than expected.  The chip itself is quiet
cheap and wasn't all that hard to SMD solder to a board.  No other
components are really needed.

There are other members in the same family, the DS2482-101, DS2484 and
DS2485.  The DS2482-101 has a sleep pin, but from the datasheet
appears to program the same as the -100 variant.  The DS2484 has a
slightly different way to set configuration information and probably
won't quite work with the driver, but isn't far off.  The DS2485 is
very different and would require a new driver to function.


To generate a diff of this commit:
cvs rdiff -u -r1.1789 -r1.1790 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.11 -r1.12 src/distrib/sets/lists/manhtml/mi
cvs rdiff -u -r1.160 -r1.161 src/distrib/sets/lists/modules/mi
cvs rdiff -u -r1.736 -r1.737 src/share/man/man4/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man4/ds2482ow.4
cvs rdiff -u -r0 -r1.1 src/sys/dev/i2c/ds2482ow.c \
    src/sys/dev/i2c/ds2482owreg.h src/sys/dev/i2c/ds2482owvar.h
cvs rdiff -u -r1.126 -r1.127 src/sys/dev/i2c/files.i2c
cvs rdiff -u -r1.292 -r1.293 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/ds2482ow/Makefile \
    src/sys/modules/ds2482ow/ds2482ow.ioconf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index