Scroll to navigation

GPIOLED(4) Device Drivers Manual GPIOLED(4)

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.
May 14, 2014 Debian