summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/iic_gpiomux.4 4.html
blob: a5ba5bb3824dff6b2705171428687126e50048bd (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
<table class="head">
  <tr>
    <td class="head-ltitle">IIC_GPIOMUX(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">IIC_GPIOMUX(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">iic_gpiomux</code> &#x2014;
    <span class="Nd">driver for I2C mux hardware controlled via GPIO</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, place the following line
    in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device iic_gpiomux</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
    the following line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>iic_gpiomux_load=&quot;YES&quot;</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">iic_gpiomux</code> driver supports any type
    of I2C bus multiplexer (mux) hardware that is controlled by manipulating the
    state of one or more GPIO pins. It automatically connects an upstream I2C
    bus to one of the downstream buses as needed when slave devices on the
    downstream buses initiate I/O. More information on the automatic switching
    behavior is available in <a class="Xr">iicmux(4)</a>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="FDT_CONFIGURATION"><a class="permalink" href="#FDT_CONFIGURATION">FDT
  CONFIGURATION</a></h1>
<p class="Pp">On an <a class="Xr">fdt(4)</a> based system, an
    <code class="Nm">iic_gpiomux</code> device node may be defined as a child
    node of any arbitrary bus in the FDT data. The
    <var class="Va">i2c-parent</var> property indicates the connection to the
    upstream I2C bus. The children of the <code class="Nm">iic_gpiomux</code>
    node are additional i2c buses, which will have their own i2c slave devices
    described in their child nodes.</p>
<p class="Pp">The <code class="Nm">iic_gpiomux</code> driver conforms to the
    standard <code class="Li">i2c/i2c-mux-gpio.txt</code> bindings document.</p>
</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">iicbus(4)</a>, <a class="Xr">iicmux(4)</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">iic_gpiomux</code> driver first appeared in
    <span class="Ux">FreeBSD 13.0</span>.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">January 1, 2020</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>