summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/iicmux.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/iicmux.4 3.html')
-rw-r--r--static/freebsd/man4/iicmux.4 3.html113
1 files changed, 0 insertions, 113 deletions
diff --git a/static/freebsd/man4/iicmux.4 3.html b/static/freebsd/man4/iicmux.4 3.html
deleted file mode 100644
index a5a32816..00000000
--- a/static/freebsd/man4/iicmux.4 3.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">IICMUX(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">IICMUX(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">iicmux</code> &#x2014; <span class="Nd">I2C bus
- mulitiplexer framework</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 iicmux</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>iicmux_load=&quot;YES&quot;</pre>
-</div>
-<p class="Pp">Note that it is usually not necessary to explicitly load the
- driver module, as it will be loaded automatically along with the driver for
- the specific mux hardware in use.</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">iicmux</code> framework provides support code
- to help implement drivers for various I2C bus multiplexer (mux) hardware.
- <code class="Nm">iicmux</code> is not a standalone driver, it is a
- collection of support functions and driver methods which are used by
- individual mux hardware drivers. It will be loaded automatically when needed
- by a mux hardware driver. This manual page provides an overview of the I2C
- mux framework and its behavior.</p>
-<p class="Pp">Generally speaking, an I2C mux is connected to an upstream I2C
- bus, and to one or more downstream I2C buses, and it can be commanded to
- connect any one of the downstream buses to the upstream bus. Some hardware
- may be able to connect multiple downstream buses at the same time, but that
- concept is not supported by <code class="Nm">iicmux</code>.</p>
-<p class="Pp">The <code class="Nm">iicmux</code> framework operates
- automatically when I2C slave devices initiate I/O. It does not require (or
- even allow for) any external control to select the active downstream
- bus.</p>
-<p class="Pp">When there is no I/O in progress, the mux is said to be in the
- &#x201C;idle&#x201D; state. Some mux hardware has the ability to disconnect
- all downstream buses when in an idle state. Other hardware must always have
- one of the downstream buses connected. Individual mux hardware drivers
- typically provide a way to select which downstream bus (if any) should be
- connected while in the idle state. In the absence of such configuration,
- whichever downstream bus was last used remains connected to the upstream
- bus.</p>
-<p class="Pp" id="iicbus_request_bus">When an I2C slave device on a bus
- downstream of a mux initiates I/O, it first requests exclusive use of the
- bus by calling
- <a class="permalink" href="#iicbus_request_bus"><code class="Fn">iicbus_request_bus</code></a>().
- This request is communicated to the bus's parent, which is the
- <code class="Nm">iicmux</code> framework mux driver. Once exclusive bus
- ownership is obtained, the mux driver connects the upstream I2C bus to the
- downstream bus which hosts the slave device that requested bus ownership.
- The mux hardware maintains that upstream-to-downstream connection until the
- slave device calls
- <a class="permalink" href="#iicbus_release_bus"><code class="Fn" id="iicbus_release_bus">iicbus_release_bus</code></a>().
- Before releasing ownership, the mux driver returns the mux hardware to the
- idle state.</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 I2C mux device
- node is defined as a child node of its upstream I2C bus when the mux device
- is an I2C slave itself. It may be defined as a child node of any other bus
- or device in the system when it is not an I2C slave, in which case the
- <var class="Va">i2c-parent</var> property indicates which upstream bus the
- mux is attached to. In either case, the children of the mux node are
- additional I2C buses, which will have one or more I2C slave devices
- described in their child nodes.</p>
-<p class="Pp">Drivers using the <code class="Nm">iicmux</code> framework conform
- to the standard <code class="Li">i2c/i2c-mux.txt</code> bindings
- document.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HINTS_CONFIGURATION"><a class="permalink" href="#HINTS_CONFIGURATION">HINTS
- CONFIGURATION</a></h1>
-<p class="Pp">On a <a class="Xr">device.hints(5)</a> based system, these values
- are configurable for <code class="Nm">iicmux</code> framework drivers :</p>
-<dl class="Bl-tag">
- <dt id="hint._driver_._unit_.at"><var class="Va">hint.&lt;driver&gt;.&lt;unit&gt;.at</var></dt>
- <dd>The upstream <a class="Xr">iicbus(4)</a> the
- <code class="Nm">iicmux</code> instance is attached to.</dd>
-</dl>
-<p class="Pp">When configured via hints, the driver automatically adds an iicbus
- instance for every downstream bus supported by the chip. There is currently
- no way to indicate used versus unused downstream buses.</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></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">iicmux</code> framework 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>