FreeBSD manual
download PDF document: gpioled.4.pdf
GPIOLED(4) FreeBSD 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).
hint.gpioled.%d.invert
If set to 1, the pin will be set to 0 to light the
LED, and 1 to clear it.
hint.gpioled.%d.state The initial state of the LED when the driver takes
control over it. If set to 1 or 0, the LED will
be on or off correspondingly. If set to -1, the
LED will be kept in its original state.
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";
...
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 restriction
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/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.
FreeBSD 14.0-RELEASE-p11 May 23, 2019 FreeBSD 14.0-RELEASE-p11