Provided by: freebsd-manpages_10.1~RC1-1_all bug

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.