summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/gpioled.4
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/gpioled.4')
-rw-r--r--static/freebsd/man4/gpioled.4173
1 files changed, 173 insertions, 0 deletions
diff --git a/static/freebsd/man4/gpioled.4 b/static/freebsd/man4/gpioled.4
new file mode 100644
index 00000000..45457d20
--- /dev/null
+++ b/static/freebsd/man4/gpioled.4
@@ -0,0 +1,173 @@
+.\" Copyright (c) 2013, Luiz Otavio O Souza <loos@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd May 23, 2019
+.Dt GPIOLED 4
+.Os
+.Sh NAME
+.Nm gpioled
+.Nd GPIO LED generic device driver
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device gpio"
+.Cd "device gpioled"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides glue to attach a
+.Xr led 4
+compatible device to a GPIO pin.
+Each LED in the system has a
+.Pa name
+which is used to export a device as
+.Pa /dev/led/<name> .
+The GPIO pin can then be controlled by writing to this device as described
+in
+.Xr led 4 .
+.Pp
+On a
+.Xr device.hints 5
+based system, like
+.Li MIPS ,
+these values are configurable for
+.Nm :
+.Bl -tag -width ".Va hint.gpioiic.%d.atXXX"
+.It Va hint.gpioled.%d.at
+The gpiobus you are attaching to.
+Normally assigned to gpiobus0.
+.It Va hint.gpioled.%d.name
+Arbitrary name of device in
+.Pa /dev/led/
+to create for
+.Xr led 4 .
+.It Va 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).
+.It Va hint.gpioled.%d.invert
+Use pin inversion. If set to 1, the pin will be set to 0 to light the LED, and 1
+to clear it.
+.It Va hint.gpioled.%d.invmode
+Whether or not to use hardware support when pin inversion is requested. Must be
+one of:
+.Bl -tag
+.It Va auto
+Use hardware pin inversion if available, else fallback to software pin
+inversion. This is the default.
+.It Va hw
+Use hardware pin inversion.
+.It Va sw
+Use software pin inversion.
+.El
+.It Va 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.
+.El
+.Pp
+On a
+.Xr FDT 4
+based system, like
+.Li ARM ,
+the DTS part for a
+.Nm gpioled
+device usually looks like:
+.Bd -literal
+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";
+ };
+};
+.Ed
+.Pp
+Optionally, you can choose to combine all the LEDs under a single
+.Dq gpio-leds
+compatible node:
+.Bd -literal
+simplebus0 {
+
+ ...
+
+ leds {
+ compatible = "gpio-leds";
+
+ led0 {
+ gpios = <&gpio 16 2 0>;
+ name = "ok"
+ };
+
+ led1 {
+ gpios = <&gpio 17 2 0>;
+ name = "user-led1"
+ };
+ };
+};
+.Ed
+.Pp
+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.
+.Pp
+For more details about the
+.Va gpios
+property, please consult
+.Pa /usr/src/sys/dts/bindings-gpio.txt .
+.Pp
+The property
+.Va name
+is the arbitrary name of the device in
+.Pa /dev/led/
+to create for
+.Xr led 4 .
+.Sh SEE ALSO
+.Xr fdt 4 ,
+.Xr gpio 4 ,
+.Xr gpioiic 4 ,
+.Xr led 4
+.Sh HISTORY
+The
+.Nm
+manual page first appeared in
+.Fx 10.1 .
+.Sh AUTHORS
+This
+manual page was written by
+.An Luiz Otavio O Souza .