Command Section

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";
             };
     };

     Optionally, you can choose to 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/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 13.1-RELEASE-p6          May 23, 2019          FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...