From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
Pavel Machek <pavel@ucw.cz>, Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v7 1/5] dt-bindings: leds: Add pattern initialization from Device Tree
Date: Wed, 9 Jan 2019 21:44:45 +0100 [thread overview]
Message-ID: <d15cffc9-45c7-11ab-5be0-4fcdaa9b388c@gmail.com> (raw)
In-Reply-To: <1547045089-19128-2-git-send-email-krzk@kernel.org>
Hi Krzysztof,
Thank you for the update.
Patch set looks good to me.
Now we're missing only ack from Rob for this patch.
Best regards,
Jacek Anaszewski
On 1/9/19 3:44 PM, Krzysztof Kozlowski wrote:
> 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>
> ---
> .../ABI/testing/sysfs-class-led-trigger-pattern | 51 ++--------------------
> Documentation/devicetree/bindings/leds/common.txt | 12 +++++
> .../bindings/leds/leds-trigger-pattern.txt | 49 +++++++++++++++++++++
> 3 files changed, 64 insertions(+), 48 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
>
> diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-pattern b/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
> index 1e5d172e0646..bd92ef9d6faa 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
> +++ b/Documentation/ABI/testing/sysfs-class-led-trigger-pattern
> @@ -7,55 +7,10 @@ Description:
> timer. It can do gradual dimming and step change of brightness.
>
> The pattern is given by a series of tuples, of brightness and
> - duration (ms). The LED is expected to traverse the series and
> - each brightness value for the specified duration. Duration of
> - 0 means brightness should immediately change to new value, and
> - writing malformed pattern deactivates any active one.
> + duration (ms).
>
> - 1. For gradual dimming, the dimming interval now is set as 50
> - milliseconds. So the tuple with duration less than dimming
> - interval (50ms) is treated as a step change of brightness,
> - i.e. the subsequent brightness will be applied without adding
> - intervening dimming intervals.
> -
> - The gradual dimming format of the software pattern values should be:
> - "brightness_1 duration_1 brightness_2 duration_2 brightness_3
> - duration_3 ...". For example:
> -
> - echo 0 1000 255 2000 > pattern
> -
> - It will make the LED go gradually from zero-intensity to max (255)
> - intensity in 1000 milliseconds, then back to zero intensity in 2000
> - milliseconds:
> -
> - LED brightness
> - ^
> - 255-| / \ / \ /
> - | / \ / \ /
> - | / \ / \ /
> - | / \ / \ /
> - 0-| / \/ \/
> - +---0----1----2----3----4----5----6------------> time (s)
> -
> - 2. To make the LED go instantly from one brightness value to another,
> - we should use zero-time lengths (the brightness must be same as
> - the previous tuple's). So the format should be:
> - "brightness_1 duration_1 brightness_1 0 brightness_2 duration_2
> - brightness_2 0 ...". For example:
> -
> - echo 0 1000 0 0 255 2000 255 0 > pattern
> -
> - It will make the LED stay off for one second, then stay at max brightness
> - for two seconds:
> -
> - LED brightness
> - ^
> - 255-| +---------+ +---------+
> - | | | | |
> - | | | | |
> - | | | | |
> - 0-| -----+ +----+ +----
> - +---0----1----2----3----4----5----6------------> time (s)
> + The exact format is described in:
> + Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
>
> What: /sys/class/leds/<led>/hw_pattern
> Date: September 2018
> diff --git a/Documentation/devicetree/bindings/leds/common.txt b/Documentation/devicetree/bindings/leds/common.txt
> index aa1399814a2a..70876ac11367 100644
> --- a/Documentation/devicetree/bindings/leds/common.txt
> +++ b/Documentation/devicetree/bindings/leds/common.txt
> @@ -37,6 +37,18 @@ Optional properties for child nodes:
> "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
> diff --git a/Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt b/Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
> new file mode 100644
> index 000000000000..d3696680bfc8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
> @@ -0,0 +1,49 @@
> +* Pattern format for LED pattern trigger
> +
> +The pattern is given by a series of tuples, of brightness and duration (ms).
> +The LED is expected to traverse the series and each brightness value for the
> +specified duration. Duration of 0 means brightness should immediately change to
> +new value, and writing malformed pattern deactivates any active one.
> +
> +1. For gradual dimming, the dimming interval now is set as 50 milliseconds. So
> +the tuple with duration less than dimming interval (50ms) is treated as a step
> +change of brightness, i.e. the subsequent brightness will be applied without
> +adding intervening dimming intervals.
> +
> +The gradual dimming format of the software pattern values should be:
> +"brightness_1 duration_1 brightness_2 duration_2 brightness_3 duration_3 ...".
> +For example (using sysfs interface):
> +
> +echo 0 1000 255 2000 > pattern
> +
> +It will make the LED go gradually from zero-intensity to max (255) intensity in
> +1000 milliseconds, then back to zero intensity in 2000 milliseconds:
> +
> +LED brightness
> + ^
> +255-| / \ / \ /
> + | / \ / \ /
> + | / \ / \ /
> + | / \ / \ /
> + 0-| / \/ \/
> + +---0----1----2----3----4----5----6------------> time (s)
> +
> +2. To make the LED go instantly from one brightness value to another, we should
> +use zero-time lengths (the brightness must be same as the previous tuple's). So
> +the format should be: "brightness_1 duration_1 brightness_1 0 brightness_2
> +duration_2 brightness_2 0 ...".
> +For example (using sysfs interface):
> +
> +echo 0 1000 0 0 255 2000 255 0 > pattern
> +
> +It will make the LED stay off for one second, then stay at max brightness for
> +two seconds:
> +
> +LED brightness
> + ^
> +255-| +---------+ +---------+
> + | | | | |
> + | | | | |
> + | | | | |
> + 0-| -----+ +----+ +----
> + +---0----1----2----3----4----5----6------------> time (s)
>
next prev parent reply other threads:[~2019-01-09 20:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-09 14:44 [PATCH v7 0/5] leds: trigger: Add pattern initialization from Device Tree Krzysztof Kozlowski
2019-01-09 14:44 ` [PATCH v7 1/5] dt-bindings: leds: " Krzysztof Kozlowski
2019-01-09 20:44 ` Jacek Anaszewski [this message]
2019-01-15 20:03 ` Rob Herring
2019-01-09 14:44 ` [PATCH v7 2/5] leds: Add helper for getting default pattern " Krzysztof Kozlowski
2019-01-09 15:39 ` Pavel Machek
2019-01-09 14:44 ` [PATCH v7 3/5] leds: trigger: pattern: Add pattern initialization " Krzysztof Kozlowski
2019-01-09 15:41 ` Pavel Machek
2019-01-09 14:44 ` [PATCH v7 4/5] leds: trigger: oneshot: Add " Krzysztof Kozlowski
2019-01-09 14:44 ` [PATCH v7 5/5] leds: trigger: timer: " Krzysztof Kozlowski
2019-01-16 21:19 ` [PATCH v7 0/5] leds: trigger: Add pattern " Jacek Anaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d15cffc9-45c7-11ab-5be0-4fcdaa9b388c@gmail.com \
--to=jacek.anaszewski@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pavel@ucw.cz \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).