lkml.org 
[lkml]   [2020]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 3/3] dt-bindings: leds: Convert pwm to yaml
    On Sat, Sep 19, 2020 at 07:31:45AM +0200, Alexander Dahl wrote:
    > The example was adapted slightly to make use of the 'function' and
    > 'color' properties. License discussed with the original author.
    >
    > Suggested-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    > Signed-off-by: Alexander Dahl <post@lespocky.de>
    > Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
    > ---
    >
    > Notes:
    > v4 -> v5:
    > * updated based on feedback by Rob Herring
    > * removed Acked-by
    >
    > v3 -> v4:
    > * added Cc to original author of the binding
    >
    > v2 -> v3:
    > * changed license identifier to recommended one
    > * added Acked-by
    >
    > v2:
    > * added this patch to series (Suggested-by: Jacek Anaszewski)
    >
    > .../devicetree/bindings/leds/leds-pwm.txt | 50 -----------
    > .../devicetree/bindings/leds/leds-pwm.yaml | 82 +++++++++++++++++++
    > 2 files changed, 82 insertions(+), 50 deletions(-)
    > delete mode 100644 Documentation/devicetree/bindings/leds/leds-pwm.txt
    > create mode 100644 Documentation/devicetree/bindings/leds/leds-pwm.yaml
    >
    > diff --git a/Documentation/devicetree/bindings/leds/leds-pwm.txt b/Documentation/devicetree/bindings/leds/leds-pwm.txt
    > deleted file mode 100644
    > index 6c6583c35f2f..000000000000
    > --- a/Documentation/devicetree/bindings/leds/leds-pwm.txt
    > +++ /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
    > index 000000000000..c9316811c7f1
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/leds/leds-pwm.yaml
    > @@ -0,0 +1,82 @@
    > +# 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>
    > +
    > + 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>;
    > + };

    It would be best to just remove these 2 nodes. The provider is not
    really relevant here and these will likely have schema errors when
    there's a schema for them. For example, they should be child nodes of
    the TWL6030 device.

    > +
    > + pwm_leds {

    Use generic node names:

    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>;
    > + };
    > + };
    > +
    > +...
    > --
    > 2.20.1
    >

    \
     
     \ /
      Last update: 2020-09-22 17:58    [W:7.278 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site