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

FreeBSD Manual Pages

  
 
  

home | help
GPIOLED(4)		     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  de-
     vice 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  in-
			    stance.  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 usu-
     ally 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 de-
     fined 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  cre-
     ate 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 ports 15.quarterly	  May 23, 2019			      GPIOLED(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gpioled&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help