On 2009-01-23, Stuart Henderson <[email protected]> wrote:
> On 2009-01-23, Lars Noodén <[email protected]> wrote:
>> A while back Marc Balmer wrote:
>>
>> Beware that the GPIO subsystem has seen substantial
>> changes recently. In -current, and thus upcoming
>> releases, GPIO pins can only be configured at
>> securelevel 0.
>>
>> Where is a description of the upcoming changes, for those who would like
>> to plan?
>>
>> Regards
>> -Lars
>
> It's probably simplest to just read the new version of the manual
> pages:
>
> http://www.openbsd.org/cgi-bin/man.cgi?query=gpioctl&manpath=OpenBSD+Current&arch=i386
> http://www.openbsd.org/cgi-bin/man.cgi?query=gpio&manpath=OpenBSD+Current&arch=i386
Oh, sorry; seems the online copy isn't updated yet; here it is
in plaintext.
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 In-
put/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 logi-
cal 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 individu-
al 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 con-
troller.
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 se-
curelevels 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
<[email protected]>. Device attachment was added by
Marc Balmer <[email protected]>.
OpenBSD 4.4 December 5, 2008 2
_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech