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:           Thu Jan 23 19:02:43 UTC 2025

Modified Files:
        src/distrib/sets/lists/debug: module.mi
        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/onewire: files.onewire
        src/sys/modules: Makefile
Added Files:
        src/share/man/man4: ds28e17iic.4
        src/sys/dev/onewire: ds28e17iic.c ds28e17iicreg.h ds28e17iicvar.h
        src/sys/modules/ds28e17iic: Makefile ds28e17iic.ioconf

Log Message:
A driver for the DS28E17 1-Wire to I2C bridge chip.

This chip acts like a 1-Wire slave device and provides a iic(4) master
at the end of the 1-Wire bus.  More or less it is the polar opposite
of the DS2482 [ds2482ow(4)] chip.

This device couples well with ds2482ow(4) and can be used to provide a
I2C bus at very great lengths from the controlling computer.

All features of the chip are supported, except for 1-Wire overdrive
support, which requires more work from the onewire(4) infrastructure.

The chip does not support Read without Stop.  Attempts to do this will
get turned into a Read with Stop and one will have to hope for the
best.  The chip also does not support zero length I2C reads or zero
length I2C writes.  This has the side effect of making the default
mode, a zero length I2C write, for i2scan(8) return false positives.
The alternative mode that i2cscan(8) can use, the single byte read,
should work as expected.

The chip has automatic support for end devices that do I2C clock
stretching.

It was noticed that this chip does not work with the gpioow(4) driver.
That might be an interesting thing to debug if one has a good logic
analyzer on hand.  While the presence pulse is detected, the gpioow(4)
driver is not able to complete the initial ROM enumeration.  The
DS28E17 works flawlessly when driven by a DS2482 [ds2482ow(4)] driver
chip.  Poke me if you want any more details.

The chip is pretty inexpensive and only requires a single cap to get
it hooked up.  However, the package it comes in is only a 16-QFN
package, so it could provide to be hard to solider onto a board for
some.  There are side tabs, so it was possible with a very small iron
and lots of flux.  There is a slightly expensive breakout board sold
by Mikroe that probably works well -> https://www.mikroe.com/1-wire-i2c-click


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/distrib/sets/lists/debug/module.mi
cvs rdiff -u -r1.1794 -r1.1795 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.16 -r1.17 src/distrib/sets/lists/manhtml/mi
cvs rdiff -u -r1.162 -r1.163 src/distrib/sets/lists/modules/mi
cvs rdiff -u -r1.739 -r1.740 src/share/man/man4/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man4/ds28e17iic.4
cvs rdiff -u -r0 -r1.1 src/sys/dev/onewire/ds28e17iic.c \
    src/sys/dev/onewire/ds28e17iicreg.h src/sys/dev/onewire/ds28e17iicvar.h
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/onewire/files.onewire
cvs rdiff -u -r1.294 -r1.295 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/ds28e17iic/Makefile \
    src/sys/modules/ds28e17iic/ds28e17iic.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