gpioled(4) 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 :

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).

HISTORY

The manual page first appeared in Fx 10.1 .

AUTHORS

This manual page was written by An Luiz Otavio O Souza .