~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/firmware-guide/acpi/dsd/leds.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 .. include:: <isonum.txt>
  3 
  4 ========================================
  5 Describing and referring to LEDs in ACPI
  6 ========================================
  7 
  8 Individual LEDs are described by hierarchical data extension [5] nodes under the
  9 device node, the LED driver chip. The "reg" property in the LED specific nodes
 10 tells the numerical ID of each individual LED output to which the LEDs are
 11 connected. [leds] The hierarchical data nodes are named "led@X", where X is the
 12 number of the LED output.
 13 
 14 Referring to LEDs in Device tree is documented in [video-interfaces], in
 15 "flash-leds" property documentation. In short, LEDs are directly referred to by
 16 using phandles.
 17 
 18 While Device tree allows referring to any node in the tree [devicetree], in
 19 ACPI references are limited to device nodes only [acpi]. For this reason using
 20 the same mechanism on ACPI is not possible. A mechanism to refer to non-device
 21 ACPI nodes is documented in [data-node-ref].
 22 
 23 ACPI allows (as does DT) using integer arguments after the reference. A
 24 combination of the LED driver device reference and an integer argument,
 25 referring to the "reg" property of the relevant LED, is used to identify
 26 individual LEDs. The value of the "reg" property is a contract between the
 27 firmware and software, it uniquely identifies the LED driver outputs.
 28 
 29 Under the LED driver device, The first hierarchical data extension package list
 30 entry shall contain the string "led@" followed by the number of the LED,
 31 followed by the referred object name. That object shall be named "LED" followed
 32 by the number of the LED.
 33 
 34 Example
 35 =======
 36 
 37 An ASL example of a camera sensor device and a LED driver device for two LEDs is
 38 show below. Objects not relevant for LEDs or the references to them have been
 39 omitted. ::
 40 
 41         Device (LED)
 42         {
 43                 Name (_DSD, Package () {
 44                         ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
 45                         Package () {
 46                                 Package () { "led@0", LED0 },
 47                                 Package () { "led@1", LED1 },
 48                         }
 49                 })
 50                 Name (LED0, Package () {
 51                         ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 52                         Package () {
 53                                 Package () { "reg", 0 },
 54                                 Package () { "flash-max-microamp", 1000000 },
 55                                 Package () { "flash-timeout-us", 200000 },
 56                                 Package () { "led-max-microamp", 100000 },
 57                                 Package () { "label", "white:flash" },
 58                         }
 59                 })
 60                 Name (LED1, Package () {
 61                         ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 62                         Package () {
 63                                 Package () { "reg", 1 },
 64                                 Package () { "led-max-microamp", 10000 },
 65                                 Package () { "label", "red:indicator" },
 66                         }
 67                 })
 68         }
 69 
 70         Device (SEN)
 71         {
 72                 Name (_DSD, Package () {
 73                         ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 74                         Package () {
 75                                 Package () {
 76                                         "flash-leds",
 77                                         Package () { ^LED, "led@0", ^LED, "led@1" },
 78                                 }
 79                         }
 80                 })
 81         }
 82 
 83 where
 84 ::
 85 
 86         LED     LED driver device
 87         LED0    First LED
 88         LED1    Second LED
 89         SEN     Camera sensor device (or another device the LED is related to)
 90 
 91 References
 92 ==========
 93 
 94 [acpi] Advanced Configuration and Power Interface Specification.
 95     https://uefi.org/specifications/ACPI/6.4/, referenced 2021-11-30.
 96 
 97 [data-node-ref] Documentation/firmware-guide/acpi/dsd/data-node-references.rst
 98 
 99 [devicetree] Devicetree. https://www.devicetree.org, referenced 2019-02-21.
100 
101 [dsd-guide] DSD Guide.
102     https://github.com/UEFI/DSD-Guide/blob/main/dsd-guide.adoc, referenced
103     2021-11-30.
104 
105 [leds] Documentation/devicetree/bindings/leds/common.yaml
106 
107 [video-interfaces] Documentation/devicetree/bindings/media/video-interfaces.yaml

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php