* [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.