2023-10-19 16:57:44

by Ondřej Jirman

[permalink] [raw]
Subject: [PATCH v3 0/4] Add support for poweroff via RK806 PMIC

From: Ondrej Jirman <[email protected]>

The PMIC supports powering off by twiddling some bits in a register. Add support
for it via pre-existing rockchip,system-power-controller DT property.

The series was tested against Linux 6.6-rc4.

Please take a look.

Thank you,
Ondřej Jirman

v3 resend:
- add tags
v3:
- use system-power-controller
- deprecate rockchip,system-power-controller
v2:
- add a missing driver patch

Ondrej Jirman (4):
dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller
dt-bindings: mfd: rk806: Allow system-power-controller property
mfd: rk8xx: Add support for standard system-power-controller property
mfd: rk8xx: Add support for RK806 power off

Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml | 2 ++
Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml | 3 +++
drivers/mfd/rk8xx-core.c | 7 ++++++-
7 files changed, 23 insertions(+), 1 deletion(-)

--
2.42.0


2023-10-19 16:57:49

by Ondřej Jirman

[permalink] [raw]
Subject: [RESEND PATCH v3 1/4] dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller

From: Ondrej Jirman <[email protected]>

Deprecate support for this property in favor of standard
system-power-controller one.

Signed-off-by: Ondrej Jirman <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>
---
Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml | 3 +++
Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml | 3 +++
5 files changed, 15 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml
index 4992f71b6fc3..ec5e0fadef95 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml
@@ -42,9 +42,12 @@ properties:

rockchip,system-power-controller:
type: boolean
+ deprecated: true
description:
Telling whether or not this PMIC is controlling the system power.

+ system-power-controller: true
+
wakeup-source:
type: boolean
description:
diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml
index f5908fa01a61..f1364c66cd62 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml
@@ -37,9 +37,12 @@ properties:

rockchip,system-power-controller:
type: boolean
+ deprecated: true
description:
Telling whether or not this PMIC is controlling the system power.

+ system-power-controller: true
+
wakeup-source:
type: boolean
description:
diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml
index 7fb849ac74a7..382bb2f87a54 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml
@@ -37,9 +37,12 @@ properties:

rockchip,system-power-controller:
type: boolean
+ deprecated: true
description:
Telling whether or not this PMIC is controlling the system power.

+ system-power-controller: true
+
wakeup-source:
type: boolean
description:
diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml
index 269fb85b2027..92b1592e8942 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk817.yaml
@@ -38,9 +38,12 @@ properties:

rockchip,system-power-controller:
type: boolean
+ deprecated: true
description:
Telling whether or not this PMIC is controlling the system power.

+ system-power-controller: true
+
wakeup-source:
type: boolean
description:
diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml
index b57c4b005cf4..038804ff708d 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml
@@ -37,9 +37,12 @@ properties:

rockchip,system-power-controller:
type: boolean
+ deprecated: true
description:
Telling whether or not this PMIC is controlling the system power.

+ system-power-controller: true
+
wakeup-source:
type: boolean
description:
--
2.42.0

2023-10-19 16:57:53

by Ondřej Jirman

[permalink] [raw]
Subject: [RESEND PATCH v3 4/4] mfd: rk8xx: Add support for RK806 power off

From: Ondrej Jirman <[email protected]>

Use DEV_OFF bit to power off the RK806 PMIC, when system-power-controller
is used in DTS.

Signed-off-by: Ondrej Jirman <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>
---
drivers/mfd/rk8xx-core.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
index a50a181b18e9..c47164a3ec1d 100644
--- a/drivers/mfd/rk8xx-core.c
+++ b/drivers/mfd/rk8xx-core.c
@@ -525,6 +525,10 @@ static int rk808_power_off(struct sys_off_data *data)
reg = RK805_DEV_CTRL_REG;
bit = DEV_OFF;
break;
+ case RK806_ID:
+ reg = RK806_SYS_CFG3;
+ bit = DEV_OFF;
+ break;
case RK808_ID:
reg = RK808_DEVCTRL_REG,
bit = DEV_OFF_RST;
--
2.42.0

2023-10-19 16:57:56

by Ondřej Jirman

[permalink] [raw]
Subject: [RESEND PATCH v3 3/4] mfd: rk8xx: Add support for standard system-power-controller property

From: Ondrej Jirman <[email protected]>

DT property rockchip,system-power-controller is now deprecated.

Signed-off-by: Ondrej Jirman <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>
---
drivers/mfd/rk8xx-core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/rk8xx-core.c b/drivers/mfd/rk8xx-core.c
index 11a831e92da8..a50a181b18e9 100644
--- a/drivers/mfd/rk8xx-core.c
+++ b/drivers/mfd/rk8xx-core.c
@@ -685,7 +685,8 @@ int rk8xx_probe(struct device *dev, int variant, unsigned int irq, struct regmap
if (ret)
return dev_err_probe(dev, ret, "failed to add MFD devices\n");

- if (device_property_read_bool(dev, "rockchip,system-power-controller")) {
+ if (device_property_read_bool(dev, "rockchip,system-power-controller") ||
+ device_property_read_bool(dev, "system-power-controller")) {
ret = devm_register_sys_off_handler(dev,
SYS_OFF_MODE_POWER_OFF_PREPARE, SYS_OFF_PRIO_HIGH,
&rk808_power_off, rk808);
--
2.42.0

2023-10-19 16:58:03

by Ondřej Jirman

[permalink] [raw]
Subject: [RESEND PATCH v3 2/4] dt-bindings: mfd: rk806: Allow system-power-controller property

From: Ondrej Jirman <[email protected]>

Declare support for this property.

Signed-off-by: Ondrej Jirman <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>
---
Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml b/Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml
index cf2500f2e9a0..3c2b06629b75 100644
--- a/Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml
+++ b/Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml
@@ -29,6 +29,8 @@ properties:
'#gpio-cells':
const: 2

+ system-power-controller: true
+
vcc1-supply:
description:
The input supply for dcdc-reg1.
--
2.42.0

2023-10-25 10:38:24

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v3 0/4] Add support for poweroff via RK806 PMIC

On Thu, 19 Oct 2023 18:57:22 +0200, Ondřej Jirman wrote:
> From: Ondrej Jirman <[email protected]>
>
> The PMIC supports powering off by twiddling some bits in a register. Add support
> for it via pre-existing rockchip,system-power-controller DT property.
>
> The series was tested against Linux 6.6-rc4.
>
> [...]

Applied, thanks!

[1/4] dt-bindings: mfd: rk8xx: Deprecate rockchip,system-power-controller
commit: 8b7fb96f861c17443b7e3a5c256897b72d4c205f
[2/4] dt-bindings: mfd: rk806: Allow system-power-controller property
commit: 517dbecfeafa52c8ada4bd3585d9e8b005f7e542
[3/4] mfd: rk8xx: Add support for standard system-power-controller property
commit: 4be7cc6f62beb8a56c2c8f9748a7e345a645c914
[4/4] mfd: rk8xx: Add support for RK806 power off
commit: 8dc3aab3c45eb0fba9202d2d6ad628cc7b59c17d

--
Lee Jones [李琼斯]