gpioctl man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]

GPIOCTL(8)		OpenBSD System Manager's Manual		    GPIOCTL(8)

NAME
     gpioctl - control GPIO devices

SYNOPSIS
     gpioctl [-q] device attach device offset mask
     gpioctl [-q] device detach device
     gpioctl [-q] device pin [0 | 1 | 2]
     gpioctl [-q] device pin [on | off | toggle]
     gpioctl [-q] device pin set [flags] [name]
     gpioctl [-q] device pin unset

DESCRIPTION
     The gpioctl program allows manipulation of GPIO (General Purpose
     Input/Output) device pins.	 Such devices can be either part of the
     chipset or embedded CPU, or a separate chip.  The usual way of using GPIO
     is to connect some simple devices such as LEDs and 1-wire thermal sensors
     to its pins.

     Each GPIO device has an associated device file in the /dev directory.
     device can be specified with or without the /dev prefix.  For example,
     /dev/gpio0 or gpio0.

     GPIO pins can be either ``read'' or ``written'' with the values of
     logical 0 or 1.  If only a pin number is specified on the command line,
     the pin state will be read from the GPIO controller and displayed.	 To
     write to a pin, a value must be specified after the pin number.  Values
     can be either 0 or 1.  A value of 2 has a special meaning: it ``toggles''
     the pin, i.e. changes its state to the opposite.  Instead of the
     numerical values, the word on, off, or toggle can be used.

     Only pins that have been configured at securelevel 0, typically during
     system startup, are accessible once the securelevel has been raised.
     Pins can be given symbolic names for easier use.  Besides using
     individual pins, device drivers that use GPIO pins can be attached to a
     gpio(4) device using the gpioctl command.

     The following configuration flags are supported by the GPIO framework:

	   in	   input direction
	   out	   output direction
	   inout   bi-directional
	   od	   open-drain output
	   pp	   push-pull output
	   tri	   tri-state (output disabled)
	   pu	   internal pull-up enabled
	   pd	   internal pull-down enabled
	   iin	   invert input
	   iout	   invert output

     Note that not all the flags can be supported by the particular GPIO
     controller.

     When executed with only the gpio(4) device name as argument, gpioctl
     reads information about the GPIO device and displays it.  At securelevel
     0 the number of physically available pins is displayed, at higher
     securelevels the number of configured (set) pins is displayed.

     The options are as follows:

     -q	     Operate quietly i.e. nothing is printed to stdout.

FILES
     /dev/gpiou	 GPIO device unit u file.

EXAMPLES
     Configure pin 20 to have push-pull output:

	   # gpioctl gpio0 20 set out pp

     Write logical 1 to pin 20:

	   # gpioctl gpio0 20 1

     Attach a onewire(4) bus on a gpioow(4) device on pin 4:

	   # gpioctl gpio0 attach gpioow 4 0x01

     Detach the gpioow0 device:

	   # gpioctl gpio0 detach gpioow0

     Configure pin 5 as output and name it error_led:

	   # gpioctl gpio0 5 set out error_led

     Toggle the error_led:

	   # gpioctl gpio0 error_led 2

SEE ALSO
     gpio(4)

HISTORY
     The gpioctl command first appeared in OpenBSD 3.6.

AUTHORS
     The gpioctl program was written by Alexander Yurchenko
     <grange@openbsd.org>.  Device attachment was added by
     Marc Balmer <mbalmer@openbsd.org>.

OpenBSD 4.9		       December 5, 2008			   OpenBSD 4.9
[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net