Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80dc6e1c authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Greg Kroah-Hartman
Browse files

dt-bindings: leds: document new trigger-sources property



Some LEDs can be related to a specific device(s) described in the DT.
This property allows specifying such relations. E.g. USB LED should
usually be used to indicate some USB port(s) state.

Please note this binding is designed to be generic and not influenced by
any operating system design. Linux developers may find "trigger" part a
bit confusing since in Linux triggers are separated drivers. It
shouldn't define the binding though (we shouldn't add an extra level of
indirection).

Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8243edf4
Loading
Loading
Loading
Loading
+33 −2
Original line number Original line Diff line number Diff line
Common leds properties.
* Common leds properties.


LED and flash LED devices provide the same basic functionality as current
LED and flash LED devices provide the same basic functionality as current
regulators, but extended with LED and flash LED specific features like
regulators, but extended with LED and flash LED specific features like
@@ -49,6 +49,22 @@ Optional properties for child nodes:
- panic-indicator : This property specifies that the LED should be used,
- panic-indicator : This property specifies that the LED should be used,
		    if at all possible, as a panic indicator.
		    if at all possible, as a panic indicator.


- trigger-sources : List of devices which should be used as a source triggering
		    this LED activity. Some LEDs can be related to a specific
		    device and should somehow indicate its state. E.g. USB 2.0
		    LED may react to device(s) in a USB 2.0 port(s).
		    Another common example is switch or router with multiple
		    Ethernet ports each of them having its own LED assigned
		    (assuming they are not hardwired). In such cases this
		    property should contain phandle(s) of related source
		    device(s).
		    In many cases LED can be related to more than one device
		    (e.g. one USB LED vs. multiple USB ports). Each source
		    should be represented by a node in the device tree and be
		    referenced by a phandle and a set of phandle arguments. A
		    length of arguments should be specified by the
		    #trigger-source-cells property in the source node.

Required properties for flash LED child nodes:
Required properties for flash LED child nodes:
- flash-max-microamp : Maximum flash LED supply current in microamperes.
- flash-max-microamp : Maximum flash LED supply current in microamperes.
- flash-max-timeout-us : Maximum timeout in microseconds after which the flash
- flash-max-timeout-us : Maximum timeout in microseconds after which the flash
@@ -59,7 +75,17 @@ property can be omitted.
For controllers that have no configurable timeout the flash-max-timeout-us
For controllers that have no configurable timeout the flash-max-timeout-us
property can be omitted.
property can be omitted.


Examples:
* Trigger source providers

Each trigger source should be represented by a device tree node. It may be e.g.
a USB port or an Ethernet device.

Required properties for trigger source:
- #trigger-source-cells : Number of cells in a source trigger. Typically 0 for
			  nodes of simple trigger sources (e.g. a specific USB
			  port).

* Examples


gpio-leds {
gpio-leds {
	compatible = "gpio-leds";
	compatible = "gpio-leds";
@@ -69,6 +95,11 @@ gpio-leds {
		linux,default-trigger = "heartbeat";
		linux,default-trigger = "heartbeat";
		gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
		gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
	};
	};

	usb {
		gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
		trigger-sources = <&ohci_port1>, <&ehci_port1>;
	};
};
};


max77693-led {
max77693-led {