diff options
Diffstat (limited to 'static/netbsd/man4/gpio.4 4.html')
| -rw-r--r-- | static/netbsd/man4/gpio.4 4.html | 244 |
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> — <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 <<a class="In">sys/types.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/gpio.h</a>></code> - <br/> - <code class="In">#include <<a class="In">sys/ioctl.h</a>></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"><<a class="In">sys/gpio.h</a>></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;"> </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> - <<a class="Mt" href="mailto:grange@openbsd.org">grange@openbsd.org</a>>. - <code class="Nm">gpio</code> was ported to <span class="Ux">NetBSD</span> by - <span class="An">Jared D. McNeill</span> - <<a class="Mt" href="mailto:jmcneill@NetBSD.org">jmcneill@NetBSD.org</a>>. - Runtime device attachment was added by <span class="An">Marc Balmer</span> - <<a class="Mt" href="mailto:marc@msys.ch">marc@msys.ch</a>>.</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> |
