Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
GPIOLED(4)             FreeBSD Kernel Interfaces Manual             GPIOLED(4)

     gpioled - GPIO led generic device driver

     device gpio
     device gpioled

     This driver attaches a led(4) device to a GPIO pin.

     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:         The gpiobus you are attaching to.  Normally
                                assigned to gpiobus0.       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 {


             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

     The property name is the arbitrary name of device in /dev/led/ to create
     for led(4).

     fdt(4), gpio(4), led(4), gpioiic(4)

     The gpioled manual page first appeared in FreeBSD 10.1.

     This manual page was written by Luiz Otavio O Souza.

FreeBSD 11.0-PRERELEASE          May 14, 2014          FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help