All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] power: reset: ltc2952: make trigger delay configurable
@ 2021-02-03 21:49 Marek Czerski
  2021-02-10 22:04 ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Marek Czerski @ 2021-02-03 21:49 UTC (permalink / raw)
  To: sre; +Cc: robh+dt, linux-pm, devicetree, Marek Czerski

Make trigger delay configurable through device tree with
trigger-delay-ms property.

Trigger delay is the time to wait before starting shutdown
sequence after trigger line assertion.
Trigger delay must take into account the OFFT time configured
with the capacitor connected to OFFT pin of the LTC2952 chip.
Basically, the higher the capacitance connected to OFFT pin,
the larger trigger delay must be.

Signed-off-by: Marek Czerski <ma.czerski@gmail.com>
---
 .../devicetree/bindings/power/reset/ltc2952-poweroff.txt  | 4 ++++
 drivers/power/reset/ltc2952-poweroff.c                    | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt b/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
index cd2d7f58a9d7..38e54b3fd9f3 100644
--- a/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
+++ b/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
@@ -17,6 +17,9 @@ Optional properties:
 			chip's trigger line. If this property is not set, the
 			trigger function is ignored and the chip is kept alive
 			until an explicit kill signal is received
+- trigger-delay-ms	The number of milliseconds to wait after trigger line
+			assertion before executing shut down procedure.
+			The default is 2500ms.
 
 Example:
 
@@ -24,6 +27,7 @@ ltc2952 {
 	compatible = "lltc,ltc2952";
 
 	trigger-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+	trigger-delay-ms = <2000>;
 	watchdog-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
 	kill-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
 };
diff --git a/drivers/power/reset/ltc2952-poweroff.c b/drivers/power/reset/ltc2952-poweroff.c
index 318927938b05..d1495af30081 100644
--- a/drivers/power/reset/ltc2952-poweroff.c
+++ b/drivers/power/reset/ltc2952-poweroff.c
@@ -55,6 +55,7 @@
 #include <linux/mod_devicetable.h>
 #include <linux/gpio/consumer.h>
 #include <linux/reboot.h>
+#include <linux/property.h>
 
 struct ltc2952_poweroff {
 	struct hrtimer timer_trigger;
@@ -172,10 +173,17 @@ static void ltc2952_poweroff_default(struct ltc2952_poweroff *data)
 static int ltc2952_poweroff_init(struct platform_device *pdev)
 {
 	int ret;
+	u32 trigger_delay_ms;
 	struct ltc2952_poweroff *data = platform_get_drvdata(pdev);
 
 	ltc2952_poweroff_default(data);
 
+	if (!device_property_read_u32(&pdev->dev, "trigger-delay-ms",
+				      &trigger_delay_ms)) {
+		data->trigger_delay = ktime_set(trigger_delay_ms / MSEC_PER_SEC,
+			(trigger_delay_ms % MSEC_PER_SEC) * NSEC_PER_MSEC);
+	}
+
 	data->gpio_watchdog = devm_gpiod_get(&pdev->dev, "watchdog",
 					     GPIOD_OUT_LOW);
 	if (IS_ERR(data->gpio_watchdog)) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] power: reset: ltc2952: make trigger delay configurable
  2021-02-03 21:49 [PATCH v2] power: reset: ltc2952: make trigger delay configurable Marek Czerski
@ 2021-02-10 22:04 ` Rob Herring
  2021-04-05 10:06   ` Sebastian Reichel
  0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring @ 2021-02-10 22:04 UTC (permalink / raw)
  To: Marek Czerski; +Cc: devicetree, robh+dt, linux-pm, sre

On Wed, 03 Feb 2021 22:49:00 +0100, Marek Czerski wrote:
> Make trigger delay configurable through device tree with
> trigger-delay-ms property.
> 
> Trigger delay is the time to wait before starting shutdown
> sequence after trigger line assertion.
> Trigger delay must take into account the OFFT time configured
> with the capacitor connected to OFFT pin of the LTC2952 chip.
> Basically, the higher the capacitance connected to OFFT pin,
> the larger trigger delay must be.
> 
> Signed-off-by: Marek Czerski <ma.czerski@gmail.com>
> ---
>  .../devicetree/bindings/power/reset/ltc2952-poweroff.txt  | 4 ++++
>  drivers/power/reset/ltc2952-poweroff.c                    | 8 ++++++++
>  2 files changed, 12 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] power: reset: ltc2952: make trigger delay configurable
  2021-02-10 22:04 ` Rob Herring
@ 2021-04-05 10:06   ` Sebastian Reichel
  0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Reichel @ 2021-04-05 10:06 UTC (permalink / raw)
  To: Rob Herring; +Cc: Marek Czerski, devicetree, robh+dt, linux-pm

[-- Attachment #1: Type: text/plain, Size: 926 bytes --]

Hi,

On Wed, Feb 10, 2021 at 04:04:13PM -0600, Rob Herring wrote:
> On Wed, 03 Feb 2021 22:49:00 +0100, Marek Czerski wrote:
> > Make trigger delay configurable through device tree with
> > trigger-delay-ms property.
> > 
> > Trigger delay is the time to wait before starting shutdown
> > sequence after trigger line assertion.
> > Trigger delay must take into account the OFFT time configured
> > with the capacitor connected to OFFT pin of the LTC2952 chip.
> > Basically, the higher the capacitance connected to OFFT pin,
> > the larger trigger delay must be.
> > 
> > Signed-off-by: Marek Czerski <ma.czerski@gmail.com>
> > ---
> >  .../devicetree/bindings/power/reset/ltc2952-poweroff.txt  | 4 ++++
> >  drivers/power/reset/ltc2952-poweroff.c                    | 8 ++++++++
> >  2 files changed, 12 insertions(+)
> > 
> 
> Acked-by: Rob Herring <robh@kernel.org>

Thanks, queued.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-05 10:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-03 21:49 [PATCH v2] power: reset: ltc2952: make trigger delay configurable Marek Czerski
2021-02-10 22:04 ` Rob Herring
2021-04-05 10:06   ` Sebastian Reichel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.