DS28E17IIC(4)

DS28E17IIC(4) | Device Drivers Manual | DS28E17IIC(4)

# NAME

`ds28e17iic` — Driver for Maxim DS28E17 1-Wire to I2C bridge

# SYNOPSIS

`ds28e17iic* at onewire?`

# DESCRIPTION

The `ds28e17iic` driver provides a 1-Wire to I2C bridge with a iic(4) bus at the far end using the DS28E17 bridge chip.

The DS28E17 will automatically detect and deal with a device at the other end of the bus that uses I2C clock stretching.

# SYSCTL VARIABLES

The following sysctl(3) variables are provided:

`hw.ds28e17iic0.readycount`
`hw.ds28e17iic0.readydelay`
  When the driver sends a transaction down the 1-Wire bus, these variables are how long to delay before reading the status on whether or not the conversion is done and the number of times to perform this read back. In general, these values should be as short as possible, but if there are too short, a EAGAIN timeout will occur when the end device is just taking a longer than expect amount of time to respond. This may be particularly noticed if end device is doing clock stretching.
`hw.ds28e17iic0.reportreadnostop`
  If set to 1, report that an attempt to do a Read without a Stop occurred. The chip does not support that operation. Read without Stop will be treated as a Read with a Stop with the hope that the end device will be able to deal with that.
`hw.ds28e17iic0.reportzerolen`
  If set to 1, report that an attempt to perform a zero length read or zero length write occurred. The chip does not support zero length reads or writes.
`hw.ds28e17iic0.debug`
  If the driver is compiled with `DS28E17IIC_DEBUG`, this node will appear and can be used to set the debugging level.

# SEE ALSO

onewire(4), iic(4), sysctl(8)

# HISTORY

The `ds28e17iic` driver first appeared in NetBSD 11.0.

# AUTHORS

The `ds28e17iic` driver was written by Brad Spencer <brad@anduin.eldar.org>.

# BUGS

While this may not be considered a bug, the DS28E17 chip will detach itself from the onewire(4) bus if there is not a device connected to its SDA and SCL pins.

The i2cscan(8) command will not function entirely correctly when run against a DS28E17 chip. The default mode of doing a I2C Write with Stop that is zero length is not supported by the DS28E17 chip. When the i2cscan(8) command is used with its one byte read mode it will find devices as long as the device does not NACK on a I2C read.

January 12, 2025 | NetBSD 11.0