summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/ds28e17iic.4 3.html
blob: 07aca3af367009b7d1334f45e428c195a417c23f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<table class="head">
  <tr>
    <td class="head-ltitle">DS28E17IIC(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">DS28E17IIC(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">ds28e17iic</code> &#x2014;
    <span class="Nd">Driver for Maxim DS28E17 1-Wire to I2C bridge</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">ds28e17iic* at onewire?</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">ds28e17iic</code> driver provides a 1-Wire to
    I2C bridge with a <a class="Xr">iic(4)</a> bus at the far end using the
    DS28E17 bridge chip.</p>
<p class="Pp">The DS28E17 will automatically detect and deal with a device at
    the other end of the bus that uses I2C clock stretching.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
  VARIABLES</a></h1>
<p class="Pp">The following <a class="Xr">sysctl(3)</a> variables are
  provided:</p>
<dl class="Bl-tag">
  <dt id="hw.ds28e17iic0.readycount"><a class="permalink" href="#hw.ds28e17iic0.readycount"><code class="Li">hw.ds28e17iic0.readycount</code></a></dt>
  <dd style="width: auto;">&#x00A0;</dd>
  <dt id="hw.ds28e17iic0.readydelay"><a class="permalink" href="#hw.ds28e17iic0.readydelay"><code class="Li">hw.ds28e17iic0.readydelay</code></a></dt>
  <dd>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.</dd>
  <dt id="hw.ds28e17iic0.reportreadnostop"><a class="permalink" href="#hw.ds28e17iic0.reportreadnostop"><code class="Li">hw.ds28e17iic0.reportreadnostop</code></a></dt>
  <dd>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.</dd>
  <dt id="hw.ds28e17iic0.reportzerolen"><a class="permalink" href="#hw.ds28e17iic0.reportzerolen"><code class="Li">hw.ds28e17iic0.reportzerolen</code></a></dt>
  <dd>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.</dd>
  <dt id="hw.ds28e17iic0.debug"><a class="permalink" href="#hw.ds28e17iic0.debug"><code class="Li">hw.ds28e17iic0.debug</code></a></dt>
  <dd>If the driver is compiled with <code class="Dv">DS28E17IIC_DEBUG</code>,
      this node will appear and can be used to set the debugging level.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">onewire(4)</a>, <a class="Xr">iic(4)</a>,
    <a class="Xr">sysctl(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">ds28e17iic</code> driver first appeared in
    <span class="Ux">NetBSD 11.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">ds28e17iic</code> driver was written by
    <span class="An">Brad Spencer</span>
    &lt;<a class="Mt" href="mailto:brad@anduin.eldar.org">brad@anduin.eldar.org</a>&gt;.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">While this may not be considered a bug, the DS28E17 chip will
    detach itself from the <a class="Xr">onewire(4)</a> bus if there is not a
    device connected to its SDA and SCL pins.</p>
<p class="Pp">The <a class="Xr">i2cscan(8)</a> 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 <a class="Xr">i2cscan(8)</a> 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.</p>
<p class="Pp"></p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">January 12, 2025</td>
    <td class="foot-os">NetBSD 10.1</td>
  </tr>
</table>