| GPIOCTL(8) | System Manager's Manual | GPIOCTL(8) | 
gpioctl —
| gpioctl | [ -qs] device | 
| gpioctl | [ -q] deviceattachdevice
      offset mask
      [flag] | 
| gpioctl | [ -qs] device
      pin [0 |
      1 | 2] | 
| gpioctl | [ -qs] device
      pin [on |
      off | toggle] | 
| gpioctl | [ -q] device
      pinset[flags] [name] | 
| gpioctl | [ -q] device
      pinunset | 
| gpioctl | [ -q] device
      list | 
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 “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. Such drivers can be detached at
    runtime using the drvctl(8)
    command.
The following configuration flags are supported by the GPIO framework:
Note that not all the flags may 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-sgpioctl
      is used in shell scripts to query the state of a pin.# gpioctl gpio0 20 set out
  ppWrite logical 1 to pin 20:
# gpioctl gpio0 20 1Attach a onewire(4) bus on a gpioow(4) device on pin 4:
# gpioctl gpio0 attach gpioow 4
  0x01Detach the gpioow0 device:
# drvctl -d gpioow0Configure pin 5 as output and name it error_led:
# gpioctl gpio0 5 set out
  error_ledToggle the error_led:
# gpioctl gpio0 error_led
  2Enumerate all pins and display their symbolic names:
# gpioctl gpio0 listgpioctl command first appeared in
  OpenBSD 3.6 and NetBSD 4.0.
gpioctl program was written by
  Alexander Yurchenko
  <grange@openbsd.org>.
  Device attachment was added by Marc Balmer
  <marc@msys.ch>.
| October 20, 2019 | NetBSD 10.1 |