summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/mcpgpio.4 4.html
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man4/mcpgpio.4 4.html
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man4/mcpgpio.4 4.html')
-rw-r--r--static/netbsd/man4/mcpgpio.4 4.html99
1 files changed, 99 insertions, 0 deletions
diff --git a/static/netbsd/man4/mcpgpio.4 4.html b/static/netbsd/man4/mcpgpio.4 4.html
new file mode 100644
index 00000000..32b10b05
--- /dev/null
+++ b/static/netbsd/man4/mcpgpio.4 4.html
@@ -0,0 +1,99 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">MCPGPIO(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">MCPGPIO(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">mcpgpio</code> &#x2014; <span class="Nd">Driver
+ for Microchip I/O Expanders on I2C and SPI bus</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<section class="Ss">
+<h2 class="Ss" id="I2C"><a class="permalink" href="#I2C">I2C</a></h2>
+<p class="Pp"><code class="Cd">mcpgpio* at iic? addr ?</code>
+ <br/>
+ <code class="Cd">gpio* at gpiobus?</code></p>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="SPI"><a class="permalink" href="#SPI">SPI</a></h2>
+<p class="Pp"><code class="Cd">mcpgpio0 at spi? slave 0 flags 0</code>
+ <br/>
+ <code class="Cd">mcpgpio1 at spi? slave 0 flags 1</code>
+ <br/>
+ <code class="Cd">mcpgpio2 at spi? slave 0 flags 2</code>
+ <br/>
+ <code class="Cd">mcpgpio3 at spi? slave 0 flags 3</code>
+ <br/>
+ <code class="Cd">gpio* at gpiobus?</code></p>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">mcpgpio</code> driver supports the following
+ Microchip I/O Expanders:</p>
+<dl class="Bl-tag">
+ <dt>MCP23008</dt>
+ <dd>8-bit I/O expander, I2C interface</dd>
+ <dt>MCP23S08</dt>
+ <dd>8-bit I/O expander, SPI interface</dd>
+ <dt>MCP23017</dt>
+ <dd>16-bit I/O expander, I2C interface</dd>
+ <dt>MCP23S17</dt>
+ <dd>16-bit I/O expander, SPI interface</dd>
+ <dt>MCP23018</dt>
+ <dd>16-bit I/O expander, open-drain outputs, I2C interface</dd>
+ <dt>MCP23S18</dt>
+ <dd>16-bit I/O expander, open-drain outputs, SPI interface</dd>
+</dl>
+<p class="Pp">Access to the pins is provided by the <a class="Xr">gpio(4)</a>
+ interface.</p>
+<p class="Pp">The SPI version of these devices support multiple chips per chip
+ select signal. On the MCP23S08 and MCP23S17, this is achieved by tying the
+ address select pins to VDD or GND to select an address (0-3 on MCP23S08 or
+ 0-7 on MCP23S17). The MCP23S18 has a similar capability, but uses an analog
+ voltage input on a single address select pin, along with an internal voltage
+ divider ladder and a series of comparators to generate the 3 address bits;
+ see the data sheet for details. The <var class="Ar">flags</var> argument in
+ the configuration directive for SPI attachments selects the hardware address
+ of the chip instance for that driver instance.</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">gpio(4)</a>, <a class="Xr">iic(4)</a>,
+ <a class="Xr">intro(4)</a>, <a class="Xr">spi(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">mcpgpio</code> driver first appeared in
+ <span class="Ux">NetBSD 7.0</span>. It was overhauled in
+ <span class="Ux">NetBSD 10.0</span> to support additional chip types and to
+ add the I2C attachment.</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">mcpgpio</code> driver was written by
+ <span class="An">Frank Kardel</span>
+ &lt;<a class="Mt" href="mailto:kardel@NetBSD.org">kardel@NetBSD.org</a>&gt;
+ and <span class="An">Jason R. Thorpe</span>
+ &lt;<a class="Mt" href="mailto:thorpej@NetBSD.org">thorpej@NetBSD.org</a>&gt;.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp">SPI instances of the <code class="Nm">mcpgpio</code> driver do not
+ utilize the Device Tree bindings for this device.</p>
+<p class="Pp">The <code class="Nm">mcpgpio</code> driver does not currently act
+ as a GPIO provider for the platform device tree.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">January 10, 2022</td>
+ <td class="foot-os">NetBSD 10.1</td>
+ </tr>
+</table>