mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 03:55:02 +07:00
1dd7093742
Document new led-pattern property for initialization of LED triggers. The property format is trigger-specific (except being array of integers). For pattern trigger, the explanation of pattern format was moved to a common file shared with sysfs ABI. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
128 lines
5.5 KiB
Plaintext
128 lines
5.5 KiB
Plaintext
* Common leds properties.
|
|
|
|
LED and flash LED devices provide the same basic functionality as current
|
|
regulators, but extended with LED and flash LED specific features like
|
|
blinking patterns, flash timeout, flash faults and external flash strobe mode.
|
|
|
|
Many LED devices expose more than one current output that can be connected
|
|
to one or more discrete LED component. Since the arrangement of connections
|
|
can influence the way of the LED device initialization, the LED components
|
|
have to be tightly coupled with the LED device binding. They are represented
|
|
by child nodes of the parent LED device binding.
|
|
|
|
Optional properties for child nodes:
|
|
- led-sources : List of device current outputs the LED is connected to. The
|
|
outputs are identified by the numbers that must be defined
|
|
in the LED device binding documentation.
|
|
- label : The label for this LED. If omitted, the label is taken from the node
|
|
name (excluding the unit address). It has to uniquely identify
|
|
a device, i.e. no other LED class device can be assigned the same
|
|
label.
|
|
|
|
- default-state : The initial state of the LED. Valid values are "on", "off",
|
|
and "keep". If the LED is already on or off and the default-state property is
|
|
set the to same value, then no glitch should be produced where the LED
|
|
momentarily turns off (or on). The "keep" setting will keep the LED at
|
|
whatever its current state is, without producing a glitch. The default is
|
|
off if this property is not present.
|
|
|
|
- linux,default-trigger : This parameter, if present, is a
|
|
string defining the trigger assigned to the LED. Current triggers are:
|
|
"backlight" - LED will act as a back-light, controlled by the framebuffer
|
|
system
|
|
"default-on" - LED will turn on (but for leds-gpio see "default-state"
|
|
property in Documentation/devicetree/bindings/leds/leds-gpio.txt)
|
|
"heartbeat" - LED "double" flashes at a load average based rate
|
|
"disk-activity" - LED indicates disk activity
|
|
"ide-disk" - LED indicates IDE disk activity (deprecated),
|
|
in new implementations use "disk-activity"
|
|
"timer" - LED flashes at a fixed, configurable rate
|
|
"pattern" - LED alters the brightness for the specified duration with one
|
|
software timer (requires "led-pattern" property)
|
|
|
|
- led-pattern : Array of integers with default pattern for certain triggers.
|
|
Each trigger may parse this property differently:
|
|
- one-shot : two numbers specifying delay on and delay off (in ms),
|
|
- timer : two numbers specifying delay on and delay off (in ms),
|
|
- pattern : the pattern is given by a series of tuples, of
|
|
brightness and duration (in ms). The exact format is
|
|
described in:
|
|
Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
|
|
|
|
|
|
- led-max-microamp : Maximum LED supply current in microamperes. This property
|
|
can be made mandatory for the board configurations
|
|
introducing a risk of hardware damage in case an excessive
|
|
current is set.
|
|
For flash LED controllers with configurable current this
|
|
property is mandatory for the LEDs in the non-flash modes
|
|
(e.g. torch or indicator).
|
|
|
|
- panic-indicator : This property specifies that the LED should be used,
|
|
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:
|
|
- flash-max-microamp : Maximum flash LED supply current in microamperes.
|
|
- flash-max-timeout-us : Maximum timeout in microseconds after which the flash
|
|
LED is turned off.
|
|
|
|
For controllers that have no configurable current the flash-max-microamp
|
|
property can be omitted.
|
|
For controllers that have no configurable timeout the flash-max-timeout-us
|
|
property can be omitted.
|
|
|
|
* 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 {
|
|
compatible = "gpio-leds";
|
|
|
|
system-status {
|
|
label = "Status";
|
|
linux,default-trigger = "heartbeat";
|
|
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
usb {
|
|
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
|
|
trigger-sources = <&ohci_port1>, <&ehci_port1>;
|
|
};
|
|
};
|
|
|
|
max77693-led {
|
|
compatible = "maxim,max77693-led";
|
|
|
|
camera-flash {
|
|
label = "Flash";
|
|
led-sources = <0>, <1>;
|
|
led-max-microamp = <50000>;
|
|
flash-max-microamp = <320000>;
|
|
flash-max-timeout-us = <500000>;
|
|
};
|
|
};
|