summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/gpio.4 4.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man4/gpio.4 4.html')
-rw-r--r--static/netbsd/man4/gpio.4 4.html244
1 files changed, 0 insertions, 244 deletions
diff --git a/static/netbsd/man4/gpio.4 4.html b/static/netbsd/man4/gpio.4 4.html
deleted file mode 100644
index 5a628215..00000000
--- a/static/netbsd/man4/gpio.4 4.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">GPIO(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">GPIO(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">gpio</code> &#x2014; <span class="Nd">General
- Purpose Input/Output</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">gpio* at elansc?</code>
- <br/>
- <code class="Cd">gpio* at emcfan?</code>
- <br/>
- <code class="Cd">gpio* at epgpio?</code>
- <br/>
- <code class="Cd">gpio* at gcscpcib?</code>
- <br/>
- <code class="Cd">gpio* at gpiosim?</code>
- <br/>
- <code class="Cd">gpio* at gscpcib?</code>
- <br/>
- <code class="Cd">gpio* at ichlpcib?</code>
- <br/>
- <code class="Cd">gpio* at nsclpcsio?</code>
- <br/>
- <code class="Cd">gpio* at sc16is7xx?</code>
- <br/>
- <code class="Cd">gpio* at soekrisgpio?</code>
- <br/>
- <code class="Cd">gpio* at ppbus?</code>
- <br/>
- <code class="Cd">gpio* at ptcd?</code>
- <br/>
- <code class="Cd">gpio* at umcpmio?</code>
- <br/>
- <code class="Cd">gpio* at wbsio?</code></p>
-<p class="Pp">
- <br/>
- <code class="In">#include &lt;<a class="In">sys/types.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/gpio.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/ioctl.h</a>&gt;</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">gpio</code> device attaches to the GPIO
- controller and provides a uniform programming interface to its pins.</p>
-<p class="Pp">Each GPIO controller with an attached <code class="Nm">gpio</code>
- device has an associated device file under the <span class="Pa">/dev</span>
- directory, e.g. <span class="Pa">/dev/gpio0</span>. Access from userland is
- performed through <a class="Xr">ioctl(2)</a> calls on these devices.</p>
-<p class="Pp">Whether the layout of the GPIO device can be configured is subject
- to authorization by the <a class="Xr">kauth(9)</a> framework.</p>
-<p class="Pp">If for example <a class="Xr">secmodel_securelevel(9)</a> is
- active, the layout of the GPIO device is defined at a securelevel less than
- 1, i.e. typically during system boot, and cannot be changed later. GPIO pins
- can be configured and given a symbolic name and device drivers that use GPIO
- pins can be attached to the <code class="Nm">gpio</code> device at a
- securelevel less than 1. All other pins will not be accessible once the
- runlevel has been raised.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="IOCTL_INTERFACE"><a class="permalink" href="#IOCTL_INTERFACE">IOCTL
- INTERFACE</a></h1>
-<p class="Pp">The following structures and constants are defined in the
- <code class="In">&lt;<a class="In">sys/gpio.h</a>&gt;</code> header
- file:</p>
-<p class="Pp"></p>
-<dl class="Bl-tag Bl-compact">
- <dt id="GPIOINFO"><a class="permalink" href="#GPIOINFO"><code class="Dv">GPIOINFO</code></a>
- (<code class="Dv">struct gpio_info</code>)</dt>
- <dd>Returns information about the GPIO controller in the
- <var class="Fa">gpio_info</var> structure:
- <div class="Bd Pp Li">
- <pre>struct gpio_info {
- int gpio_npins; /* total number of pins available */
-};</pre>
- </div>
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOREAD"><a class="permalink" href="#GPIOREAD"><code class="Dv">GPIOREAD</code></a>
- (<code class="Dv">struct gpio_req</code>)</dt>
- <dd>Returns the input pin value in the <var class="Fa">gpio_req</var>
- structure:
- <div class="Bd Pp Li">
- <pre>#define GPIOMAXNAME 64
-
-struct gpio_req {
- char gp_name[GPIOMAXNAME]; /* pin name */
- int gp_pin; /* pin number */
- int gp_value; /* value */
-};</pre>
- </div>
- <p class="Pp">The <var class="Fa">gp_name</var> or
- <var class="Fa">gp_pin</var> field must be set before calling. If both
- are set, gp_name takes precedence. On return, the
- <var class="Fa">gp_name</var> field contains the current name of the
- pin, if set by the controller driver or an earlier call to
- <code class="Dv">GPIOSET</code>.</p>
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOWRITE"><a class="permalink" href="#GPIOWRITE"><code class="Dv">GPIOWRITE</code></a>
- (<code class="Dv">struct gpio_req</code>)</dt>
- <dd>Writes the output value to the pin. The value set in the
- <var class="Fa">gp_value</var> field must be either
- <code class="Dv">GPIO_PIN_LOW</code> (logical 0) or
- <code class="Dv">GPIO_PIN_HIGH</code> (logical 1). On return, the
- <var class="Fa">gp_value</var> field contains the old pin state.
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOTOGGLE"><a class="permalink" href="#GPIOTOGGLE"><code class="Dv">GPIOTOGGLE</code></a>
- (<code class="Dv">struct gpio_req</code>)</dt>
- <dd>Toggles the pin output value, i.e. changes it to the opposite.
- <var class="Fa">gp_value</var> field is ignored and on return contains the
- old pin state.
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOSET"><a class="permalink" href="#GPIOSET"><code class="Dv">GPIOSET</code></a>
- (<code class="Dv">struct gpio_set</code>)</dt>
- <dd>Changes pin configuration flags with the new ones provided in the
- <var class="Fa">gpio_set</var> structure:
- <div class="Bd Pp Li">
- <pre>#define GPIOMAXNAME 64
-
-struct gpio_set {
- char gp_name[GPIOMAXNAME]; /* pin name */
- int gp_pin; /* pin number */
- int gp_caps; /* pin capabilities (ro) */
- int gp_flags; /* pin configuration flags */
- char gp_name2[GPIOMAXNAME]; /* new name */
-};</pre>
- </div>
- <p class="Pp">The <var class="Fa">gp_flags</var> field is a combination of
- the following flags:</p>
- <p class="Pp"></p>
- <dl class="Bl-tag Bl-compact">
- <dt id="GPIO_PIN_INPUT"><a class="permalink" href="#GPIO_PIN_INPUT"><code class="Dv">GPIO_PIN_INPUT</code></a></dt>
- <dd>input direction</dd>
- <dt id="GPIO_PIN_OUTPUT"><a class="permalink" href="#GPIO_PIN_OUTPUT"><code class="Dv">GPIO_PIN_OUTPUT</code></a></dt>
- <dd>output direction</dd>
- <dt id="GPIO_PIN_INOUT"><a class="permalink" href="#GPIO_PIN_INOUT"><code class="Dv">GPIO_PIN_INOUT</code></a></dt>
- <dd>bi-directional</dd>
- <dt id="GPIO_PIN_OPENDRAIN"><a class="permalink" href="#GPIO_PIN_OPENDRAIN"><code class="Dv">GPIO_PIN_OPENDRAIN</code></a></dt>
- <dd>open-drain output</dd>
- <dt id="GPIO_PIN_PUSHPULL"><a class="permalink" href="#GPIO_PIN_PUSHPULL"><code class="Dv">GPIO_PIN_PUSHPULL</code></a></dt>
- <dd>push-pull output</dd>
- <dt id="GPIO_PIN_TRISTATE"><a class="permalink" href="#GPIO_PIN_TRISTATE"><code class="Dv">GPIO_PIN_TRISTATE</code></a></dt>
- <dd>output disabled</dd>
- <dt id="GPIO_PIN_PULLUP"><a class="permalink" href="#GPIO_PIN_PULLUP"><code class="Dv">GPIO_PIN_PULLUP</code></a></dt>
- <dd>internal pull-up enabled</dd>
- <dt id="GPIO_PIN_PULLDOWN"><a class="permalink" href="#GPIO_PIN_PULLDOWN"><code class="Dv">GPIO_PIN_PULLDOWN</code></a></dt>
- <dd>internal pull-down enabled</dd>
- <dt id="GPIO_PIN_INVIN"><a class="permalink" href="#GPIO_PIN_INVIN"><code class="Dv">GPIO_PIN_INVIN</code></a></dt>
- <dd>invert input</dd>
- <dt id="GPIO_PIN_INVOUT"><a class="permalink" href="#GPIO_PIN_INVOUT"><code class="Dv">GPIO_PIN_INVOUT</code></a></dt>
- <dd>invert output</dd>
- <dt id="GPIO_PIN_PULSATE"><a class="permalink" href="#GPIO_PIN_PULSATE"><code class="Dv">GPIO_PIN_PULSATE</code></a></dt>
- <dd>pulsate output</dd>
- <dt id="GPIO_PIN_ALT0"><a class="permalink" href="#GPIO_PIN_ALT0"><code class="Dv">GPIO_PIN_ALT0
- -</code></a></dt>
- <dd style="width: auto;">&#x00A0;</dd>
- <dt id="GPIO_PIN_ALT7"><a class="permalink" href="#GPIO_PIN_ALT7"><code class="Dv">GPIO_PIN_ALT7</code></a></dt>
- <dd>select alternate pin function 0 to 7</dd>
- </dl>
- <p class="Pp">Note that the GPIO controller may not support all of these
- flags. On return the <var class="Fa">gp_caps</var> field contains flags
- that are supported. If no flags are specified, the pin configuration
- stays unchanged.</p>
- <p class="Pp">Only GPIO pins that have been set using
- <var class="Ar">GPIOSET</var> will be accessible at securelevels greater
- than 0.</p>
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOUNSET"><a class="permalink" href="#GPIOUNSET"><code class="Dv">GPIOUNSET</code></a>
- (<code class="Dv">struct gpio_set</code>)</dt>
- <dd>Unset the specified pin, i.e. clear its name and make it inaccessible at
- securelevels greater than 0.
- <p class="Pp"></p>
- </dd>
- <dt id="GPIOATTACH"><a class="permalink" href="#GPIOATTACH"><code class="Dv">GPIOATTACH</code></a>
- (<code class="Dv">struct gpio_attach</code>)</dt>
- <dd>Attach the device described in the <var class="Fa">gpio_attach</var>
- structure on this gpio device.
- <div class="Bd Pp Li">
- <pre>struct gpio_attach {
- char ga_dvname[16]; /* device name */
- int ga_offset; /* pin number */
- uint32_t ga_mask; /* binary mask */
- uint32_t ga_flags; /* driver dependent */
-};</pre>
- </div>
- <p class="Pp">The <a class="Xr">drvctl(8)</a> command can be used to detach
- a device from a gpio pin.</p>
- </dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
-<dl class="Bl-tag Bl-compact">
- <dt>/dev/gpio<var class="Ar">u</var></dt>
- <dd>GPIO device unit <var class="Ar">u</var> file.</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">ioctl(2)</a>, <a class="Xr">drvctl(8)</a>,
- <a class="Xr">gpioctl(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">gpio</code> device first appeared in
- <span class="Ux">OpenBSD 3.6</span> and <span class="Ux">NetBSD
- 4.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">gpio</code> driver was written by
- <span class="An">Alexander Yurchenko</span>
- &lt;<a class="Mt" href="mailto:grange@openbsd.org">grange@openbsd.org</a>&gt;.
- <code class="Nm">gpio</code> was ported to <span class="Ux">NetBSD</span> by
- <span class="An">Jared D. McNeill</span>
- &lt;<a class="Mt" href="mailto:jmcneill@NetBSD.org">jmcneill@NetBSD.org</a>&gt;.
- Runtime device attachment was added by <span class="An">Marc Balmer</span>
- &lt;<a class="Mt" href="mailto:marc@msys.ch">marc@msys.ch</a>&gt;.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
-<p class="Pp">Event capabilities are not supported.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">May 4, 2021</td>
- <td class="foot-os">NetBSD 10.1</td>
- </tr>
-</table>