dt-bindings: leds: Convert pwm to yaml
authorAlexander Dahl <post@lespocky.de>
Mon, 5 Oct 2020 20:34:41 +0000 (22:34 +0200)
committerPavel Machek <pavel@ucw.cz>
Wed, 25 Nov 2020 12:18:24 +0000 (13:18 +0100)
The example was adapted in the following ways:

- make use of the now supported 'function' and 'color' properties
- remove pwm nodes, those are documented elsewhere
- align node names to new dt schema rules and dt recommendations

License was not explicitly set before.  The license set now is
recommended by DT project.

Suggested-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Alexander Dahl <post@lespocky.de>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
[For the license change only:]
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Documentation/devicetree/bindings/leds/leds-pwm.txt [deleted file]
Documentation/devicetree/bindings/leds/leds-pwm.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/leds/leds-pwm.txt b/Documentation/devicetree/bindings/leds/leds-pwm.txt
deleted file mode 100644 (file)
index 6c6583c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-LED connected to PWM
-
-Required properties:
-- compatible : should be "pwm-leds".
-
-Each LED is represented as a sub-node of the pwm-leds device.  Each
-node's name represents the name of the corresponding LED.
-
-LED sub-node properties:
-- pwms : PWM property to point to the PWM device (phandle)/port (id) and to
-  specify the period time to be used: <&phandle id period_ns>;
-- pwm-names : (optional) Name to be used by the PWM subsystem for the PWM device
-  For the pwms and pwm-names property please refer to:
-  Documentation/devicetree/bindings/pwm/pwm.txt
-- max-brightness : Maximum brightness possible for the LED
-- active-low : (optional) For PWMs where the LED is wired to supply
-  rather than ground.
-- label :  (optional)
-  see Documentation/devicetree/bindings/leds/common.txt
-- linux,default-trigger :  (optional)
-  see Documentation/devicetree/bindings/leds/common.txt
-
-Example:
-
-twl_pwm: pwm {
-       /* provides two PWMs (id 0, 1 for PWM1 and PWM2) */
-       compatible = "ti,twl6030-pwm";
-       #pwm-cells = <2>;
-};
-
-twl_pwmled: pwmled {
-       /* provides one PWM (id 0 for Charing indicator LED) */
-       compatible = "ti,twl6030-pwmled";
-       #pwm-cells = <2>;
-};
-
-pwmleds {
-       compatible = "pwm-leds";
-       kpad {
-               label = "omap4::keypad";
-               pwms = <&twl_pwm 0 7812500>;
-               max-brightness = <127>;
-       };
-
-       charging {
-               label = "omap4:green:chrg";
-               pwms = <&twl_pwmled 0 7812500>;
-               max-brightness = <255>;
-       };
-};
diff --git a/Documentation/devicetree/bindings/leds/leds-pwm.yaml b/Documentation/devicetree/bindings/leds/leds-pwm.yaml
new file mode 100644 (file)
index 0000000..fe4d5fd
--- /dev/null
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LEDs connected to PWM
+
+maintainers:
+  - Pavel Machek <pavel@ucw.cz>
+
+description:
+  Each LED is represented as a sub-node of the pwm-leds device.  Each
+  node's name represents the name of the corresponding LED.
+
+properties:
+  compatible:
+    const: pwm-leds
+
+patternProperties:
+  "^led(-[0-9a-f]+)?$":
+    type: object
+
+    $ref: common.yaml#
+
+    properties:
+      pwms:
+        maxItems: 1
+
+      pwm-names: true
+
+      max-brightness:
+        description:
+          Maximum brightness possible for the LED
+        $ref: /schemas/types.yaml#/definitions/uint32
+
+      active-low:
+        description:
+          For PWMs where the LED is wired to supply rather than ground.
+        type: boolean
+
+    required:
+      - pwms
+      - max-brightness
+
+additionalProperties: false
+
+examples:
+  - |
+
+    #include <dt-bindings/leds/common.h>
+
+    led-controller {
+        compatible = "pwm-leds";
+
+        led-1 {
+            label = "omap4::keypad";
+            pwms = <&twl_pwm 0 7812500>;
+            max-brightness = <127>;
+        };
+
+        led-2 {
+            color = <LED_COLOR_ID_GREEN>;
+            function = LED_FUNCTION_CHARGING;
+            pwms = <&twl_pwmled 0 7812500>;
+            max-brightness = <255>;
+        };
+    };
+
+...