Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

gpioctl(8) [netbsd man page]

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

NAME
gpioctl -- control GPIO devices SYNOPSIS
gpioctl [-q] device attach device offset mask [flag] 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. Val- ues 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. To 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: 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 pulsate pulsate output at a hardware-defined frequency and duty cycle 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 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: # drvctl -d 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), drvctl(8) HISTORY
The gpioctl command first appeared in OpenBSD 3.6 and NetBSD 4.0. AUTHORS
The gpioctl program was written by Alexander Yurchenko <grange@openbsd.org>. Device attachment was added by Marc Balmer <marc@msys.ch>. BSD
November 13, 2011 BSD

Check Out this Related Man Page

GPIOLED(4)						   BSD Kernel Interfaces Manual 						GPIOLED(4)

NAME
gpioled -- GPIO LED generic device driver SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file: device gpio device gpioled DESCRIPTION
The gpioled driver provides glue to attach a led(4) compatible device to a GPIO pin. Each LED in the system has a name which is used to export a device as /dev/led/<name>. The GPIO pin can then be controlled by writing to this device as described in led(4). On a device.hints(5) based system, like MIPS, these values are configurable for gpioled: hint.gpioled.%d.at The gpiobus you are attaching to. Normally assigned to gpiobus0. hint.gpioled.%d.name Arbitrary name of device in /dev/led/ to create for led(4). hint.gpioled.%d.pins Which pin on the GPIO interface to map to this instance. Please note that this mask should only ever have one bit set (any other bits - i.e., pins - will be ignored). On a FDT(4) based system, like ARM, the DTS part for a gpioled device usually looks like: gpio: gpio { gpio-controller; ... led0 { compatible = "gpioled"; gpios = <&gpio 16 2 0>; /* GPIO pin 16. */ name = "ok"; }; led1 { compatible = "gpioled"; gpios = <&gpio 17 2 0>; /* GPIO pin 17. */ name = "user-led1"; }; }; Optionally, you can choose to combine all the LEDs under a single ``gpio-leds'' compatible node: simplebus0 { ... leds { compatible = "gpio-leds"; led0 { gpios = <&gpio 16 2 0>; name = "ok" }; led1 { gpios = <&gpio 17 2 0>; name = "user-led1" }; }; }; Both methods are equally supported and it is possible to have the LEDs defined with any sort of mix between the methods. The only restric- tion is that a GPIO pin cannot be mapped by two different (gpio)leds. For more details about the gpios property, please consult /usr/src/sys/boot/fdt/dts/bindings-gpio.txt. The property name is the arbitrary name of the device in /dev/led/ to create for led(4). SEE ALSO
fdt(4), gpio(4), gpioiic(4), led(4) HISTORY
The gpioled manual page first appeared in FreeBSD 10.1. AUTHORS
This manual page was written by Luiz Otavio O Souza. BSD
May 14, 2014 BSD
Man Page