All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming
@ 2023-06-02  6:24 Sean Nyekjaer
  2023-06-02  6:24 ` [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler Sean Nyekjaer
  2023-06-08 17:50 ` [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Lee Jones
  0 siblings, 2 replies; 4+ messages in thread
From: Sean Nyekjaer @ 2023-06-02  6:24 UTC (permalink / raw)
  To: krzysztof.kozlowski, conor, lee, linux-kernel; +Cc: Sean Nyekjaer

Fixup main control register and bits naming so the match the naming from
the datasheet.

https://www.st.com/resource/en/datasheet/stpmic1.pdf

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Reviewed-by: Lee Jones <lee@kernel.org>
---
Changes since v1:
 - None

Changes since v2:
 - None

 drivers/mfd/stpmic1.c       |  4 ++--
 include/linux/mfd/stpmic1.h | 12 ++++++------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/mfd/stpmic1.c b/drivers/mfd/stpmic1.c
index 8db1530d9bac..4c9b18d9dec8 100644
--- a/drivers/mfd/stpmic1.c
+++ b/drivers/mfd/stpmic1.c
@@ -19,7 +19,7 @@
 
 static const struct regmap_range stpmic1_readable_ranges[] = {
 	regmap_reg_range(TURN_ON_SR, VERSION_SR),
-	regmap_reg_range(SWOFF_PWRCTRL_CR, LDO6_STDBY_CR),
+	regmap_reg_range(MAIN_CR, LDO6_STDBY_CR),
 	regmap_reg_range(BST_SW_CR, BST_SW_CR),
 	regmap_reg_range(INT_PENDING_R1, INT_PENDING_R4),
 	regmap_reg_range(INT_CLEAR_R1, INT_CLEAR_R4),
@@ -30,7 +30,7 @@ static const struct regmap_range stpmic1_readable_ranges[] = {
 };
 
 static const struct regmap_range stpmic1_writeable_ranges[] = {
-	regmap_reg_range(SWOFF_PWRCTRL_CR, LDO6_STDBY_CR),
+	regmap_reg_range(MAIN_CR, LDO6_STDBY_CR),
 	regmap_reg_range(BST_SW_CR, BST_SW_CR),
 	regmap_reg_range(INT_CLEAR_R1, INT_CLEAR_R4),
 	regmap_reg_range(INT_SET_MASK_R1, INT_SET_MASK_R4),
diff --git a/include/linux/mfd/stpmic1.h b/include/linux/mfd/stpmic1.h
index fa3f99f7e9a1..dc00bac24f5a 100644
--- a/include/linux/mfd/stpmic1.h
+++ b/include/linux/mfd/stpmic1.h
@@ -15,7 +15,7 @@
 #define RREQ_STATE_SR		0x5
 #define VERSION_SR		0x6
 
-#define SWOFF_PWRCTRL_CR	0x10
+#define MAIN_CR			0x10
 #define PADS_PULL_CR		0x11
 #define BUCKS_PD_CR		0x12
 #define LDO14_PD_CR		0x13
@@ -148,14 +148,14 @@
 #define LDO_BYPASS_MASK			BIT(7)
 
 /* Main PMIC Control Register
- * SWOFF_PWRCTRL_CR
+ * MAIN_CR
  * Address : 0x10
  */
-#define ICC_EVENT_ENABLED		BIT(4)
+#define OCP_OFF_DBG			BIT(4)
 #define PWRCTRL_POLARITY_HIGH		BIT(3)
-#define PWRCTRL_PIN_VALID		BIT(2)
-#define RESTART_REQUEST_ENABLED		BIT(1)
-#define SOFTWARE_SWITCH_OFF_ENABLED	BIT(0)
+#define PWRCTRL_ENABLE			BIT(2)
+#define RESTART_REQUEST_ENABLE		BIT(1)
+#define SOFTWARE_SWITCH_OFF		BIT(0)
 
 /* Main PMIC PADS Control Register
  * PADS_PULL_CR
-- 
2.40.0


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

* [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler
  2023-06-02  6:24 [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Sean Nyekjaer
@ 2023-06-02  6:24 ` Sean Nyekjaer
  2023-06-08 17:51   ` Lee Jones
  2023-06-08 17:50 ` [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Lee Jones
  1 sibling, 1 reply; 4+ messages in thread
From: Sean Nyekjaer @ 2023-06-02  6:24 UTC (permalink / raw)
  To: krzysztof.kozlowski, conor, lee, linux-kernel; +Cc: Sean Nyekjaer

Use devm_register_sys_off_handler() that allows to register multiple
power-off handlers.
This will allow boards using the stpmic1 to power-off.

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
---
Changes since v1:
 - Removed superfluous function

Changes since v2:
 - Removed the devicetree option to turn the power-off functionality on and off.

 drivers/mfd/stpmic1.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/mfd/stpmic1.c b/drivers/mfd/stpmic1.c
index 4c9b18d9dec8..9c7d1c3b8dfd 100644
--- a/drivers/mfd/stpmic1.c
+++ b/drivers/mfd/stpmic1.c
@@ -7,6 +7,7 @@
 #include <linux/mfd/core.h>
 #include <linux/mfd/stpmic1.h>
 #include <linux/module.h>
+#include <linux/reboot.h>
 #include <linux/of.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
@@ -117,6 +118,16 @@ static const struct regmap_irq_chip stpmic1_regmap_irq_chip = {
 	.num_irqs = ARRAY_SIZE(stpmic1_irqs),
 };
 
+static int stpmic1_power_off(struct sys_off_data *data)
+{
+	struct stpmic1 *ddata = data->cb_data;
+
+	regmap_update_bits(ddata->regmap, MAIN_CR,
+			   SOFTWARE_SWITCH_OFF, SOFTWARE_SWITCH_OFF);
+
+	return NOTIFY_DONE;
+}
+
 static int stpmic1_probe(struct i2c_client *i2c)
 {
 	struct stpmic1 *ddata;
@@ -159,6 +170,16 @@ static int stpmic1_probe(struct i2c_client *i2c)
 		return ret;
 	}
 
+	ret = devm_register_sys_off_handler(ddata->dev,
+					    SYS_OFF_MODE_POWER_OFF,
+					    SYS_OFF_PRIO_DEFAULT,
+					    stpmic1_power_off,
+					    ddata);
+	if (ret) {
+		dev_err(ddata->dev, "failed to register sys-off handler: %d\n", ret);
+		return ret;
+	}
+
 	return devm_of_platform_populate(dev);
 }
 
-- 
2.40.0


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

* Re: [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming
  2023-06-02  6:24 [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Sean Nyekjaer
  2023-06-02  6:24 ` [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler Sean Nyekjaer
@ 2023-06-08 17:50 ` Lee Jones
  1 sibling, 0 replies; 4+ messages in thread
From: Lee Jones @ 2023-06-08 17:50 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: krzysztof.kozlowski, conor, linux-kernel

On Fri, 02 Jun 2023, Sean Nyekjaer wrote:

> Fixup main control register and bits naming so the match the naming from
> the datasheet.
> 
> https://www.st.com/resource/en/datasheet/stpmic1.pdf
> 
> Signed-off-by: Sean Nyekjaer <sean@geanix.com>
> Reviewed-by: Lee Jones <lee@kernel.org>
> ---
> Changes since v1:
>  - None
> 
> Changes since v2:
>  - None
> 
>  drivers/mfd/stpmic1.c       |  4 ++--
>  include/linux/mfd/stpmic1.h | 12 ++++++------
>  2 files changed, 8 insertions(+), 8 deletions(-)

Applied, thanks

-- 
Lee Jones [李琼斯]

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

* Re: [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler
  2023-06-02  6:24 ` [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler Sean Nyekjaer
@ 2023-06-08 17:51   ` Lee Jones
  0 siblings, 0 replies; 4+ messages in thread
From: Lee Jones @ 2023-06-08 17:51 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: krzysztof.kozlowski, conor, linux-kernel

On Fri, 02 Jun 2023, Sean Nyekjaer wrote:

> Use devm_register_sys_off_handler() that allows to register multiple
> power-off handlers.
> This will allow boards using the stpmic1 to power-off.
> 
> Signed-off-by: Sean Nyekjaer <sean@geanix.com>
> ---
> Changes since v1:
>  - Removed superfluous function
> 
> Changes since v2:
>  - Removed the devicetree option to turn the power-off functionality on and off.
> 
>  drivers/mfd/stpmic1.c | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)

Applied, thanks

-- 
Lee Jones [李琼斯]

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

end of thread, other threads:[~2023-06-08 17:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-02  6:24 [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Sean Nyekjaer
2023-06-02  6:24 ` [PATCH v3 2/2] mfd: stpmic1: add pmic poweroff via sys-off handler Sean Nyekjaer
2023-06-08 17:51   ` Lee Jones
2023-06-08 17:50 ` [PATCH v3 1/2] mfd: stpmic1: fixup main control register and bits naming Lee Jones

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.