GPIOLOCK(4) BSD Kernel Interfaces Manual GPIOLOCK(4)NAME
gpiolock -- support for multi-position keylocks attached to GPIO pins
SYNOPSIS
gpiolock* at gpio? offset ? mask ?
gpiolock* at gpio?
DESCRIPTION
The gpiolock driver allows connecting of multi-position keylocks over GPIO pins. The keylock driver registers with an in-kernel keylock sup-
porting system and provides kauth(9) support through an experimental security model. The keylock state can be queried using the hw.keylock
sysctl variables. Only locks with 2-4 positions are currently supported. The pin number is specified in the kernel configuration with the
offset locator. The mask locator denotes the pins used for the lock (minimum 2, maximum 4 pins are used). The offset and mask can also be
specified when gpiolock is attached at runtime using the GPIOATTACH ioctl(2) on the gpio(4) device.
SEE ALSO gpio(4), intro(4)HISTORY
The gpiolock driver first appeared in NetBSD 6.0.
AUTHORS
The gpiolock driver was written by Marc Balmer <marc@msys.ch>.
BSD August 21, 2009 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