[PATCH v2 1/2] dt-bindings: leds: Add leds-meter binding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add DT binding for generic LED level meter which consists of multiple LED
devices by different drivers.

Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Bjorn Andersson <bjorn@xxxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: Jean-Jacques Hiblot <jjhiblot@xxxxxx>
Cc: Jacek Anaszewski <jacek.anaszewski@xxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Dan Murphy <dmurphy@xxxxxx>
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
---
 .../devicetree/bindings/leds/leds-meter.yaml       | 67 ++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/leds-meter.yaml

diff --git a/Documentation/devicetree/bindings/leds/leds-meter.yaml b/Documentation/devicetree/bindings/leds/leds-meter.yaml
new file mode 100644
index 0000000..b5fcd98
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-meter.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-meter.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic LED level meter
+
+maintainers:
+  - Akinobu Mita <akinobu.mita@xxxxxxxxx>
+
+description:
+  Generic LED level meter consists of multiple LED devices by different drivers.
+
+properties:
+  $nodename:
+    pattern: "^meter-leds(@.*)?"
+
+  compatible:
+    const: meter-leds
+
+  leds:
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/phandle-array
+    description: List of phandles to LED node that are members of a level meter.
+
+  brightness-weights:
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+    description: |
+      By default, the brightness of the LED level meter is proportional to the
+      number of actual LEDs that are turned on.  We can optionally specify
+      the contribution ratio for each LED within a level meter by this
+      property.  The example below shows how to setup an exponential
+      relationship between the number of LEDs turned on and the brightness of
+      meter-leds.
+
+required:
+ - compatible
+ - leds
+
+additionalProperties: false
+
+examples:
+  - |
+    // Example 1: LED level meter with four LEDs
+    meter-leds {
+        compatible = "meter-leds";
+        leds = <&led0>, <&led1>, <&led2>, <&led3>;
+    };
+
+    // Example 2: Exponential relationship between the number of LEDs turned on
+    // and the brightness of meter-leds
+    //
+    // When the maximum brightness is 255
+    // - No LEDs are turned on if brightness == 0
+    // - led0 is turned on if 0 < brightness <= 32
+    // - led0 and led1 are turned on if 32 < brightness <= 64
+    // - led0, led1, and led2 are turned on if 64 < brightness <= 128
+    // - All LEDs are turned on if 128 < brightness <= 255
+    meter-leds {
+        compatible = "meter-leds";
+        leds = <&led0>, <&led1>, <&led2>, <&led3>;
+        brightness-weights = <32 32 64 127>;
+    };
+
+...
-- 
2.7.4




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux