NAME¶
gpioled
—
GPIO led generic device driver
SYNOPSIS¶
device gpio
device gpioled
This driver attaches a
led(4) device to a GPIO pin.
DESCRIPTION¶
The
gpioled driver provides a glue to attach a
led(4) compatible device to a GPIO pin. Each led
on the system has a
name which is used to
export a device in
/dev/led/<name>.
The GPIO pin can then be controlled by writing to this device as described on
led(4).
On a hint based system, like
MIPS
,
these values are configureable 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 others 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";
};
};
And optionally, you can choose 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 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/boot/fdt/dts/bindings-gpio.txt.
The property
name is the arbitrary name of
device in
/dev/led/ to create for
led(4).
SEE ALSO¶
fdt(4),
gpio(4),
led(4),
gpioiic(4)
HISTORY¶
The
gpioled
manual page first appeared in
FreeBSD 10.1.
AUTHORS¶
This manual page was written by
Luiz Otavio O
Souza.