From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03333C636BD for ; Sat, 25 Nov 2023 09:30:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231924AbjKYJ36 (ORCPT ); Sat, 25 Nov 2023 04:29:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229550AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B95010D2; Sat, 25 Nov 2023 01:29:53 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyt-006foa-Sy; Sat, 25 Nov 2023 10:29:43 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyt-0004JB-1w; Sat, 25 Nov 2023 10:29:43 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 1/6] dt-bindings: mfd: ti,twl: Document system-power-controller Date: Sat, 25 Nov 2023 10:29:33 +0100 Message-Id: <20231125092938.16535-2-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add system-power-controller property because these chips can power off the device. Signed-off-by: Andreas Kemnade Acked-by: Conor Dooley --- Documentation/devicetree/bindings/mfd/ti,twl.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentat= ion/devicetree/bindings/mfd/ti,twl.yaml index c04d57ba22b49..52ed228fb1e7e 100644 --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml @@ -34,6 +34,8 @@ properties: =20 interrupt-controller: true =20 + system-power-controller: true + "#interrupt-cells": const: 1 =20 --=20 2.39.2 From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8559AC61D9D for ; Sat, 25 Nov 2023 09:30:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231906AbjKYJaE (ORCPT ); Sat, 25 Nov 2023 04:30:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231733AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAE5810D7; Sat, 25 Nov 2023 01:29:53 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyu-006fom-LM; Sat, 25 Nov 2023 10:29:44 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyu-0004JG-1I; Sat, 25 Nov 2023 10:29:44 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 2/6] twl-core: add power off implementation for twl603x Date: Sat, 25 Nov 2023 10:29:34 +0100 Message-Id: <20231125092938.16535-3-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" If the system-power-controller property is there, enable power off. Implementation is based on a Linux v3.0 vendor kernel. Signed-off-by: Andreas Kemnade --- drivers/mfd/twl-core.c | 34 ++++++++++++++++++++++++++++++++++ include/linux/mfd/twl.h | 1 + 2 files changed, 35 insertions(+) diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index 6e384a79e3418..3eef285eac535 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -687,6 +687,31 @@ static void twl_remove(struct i2c_client *client) twl_priv->ready =3D false; } =20 +void twl6030_power_off(void) +{ +#define APP_DEVOFF (1<<0) +#define CON_DEVOFF (1<<1) +#define MOD_DEVOFF (1<<2) + + int err; + u8 val; + + err =3D twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &val, + TWL6030_PHOENIX_DEV_ON); + if (err) { + pr_err("I2C error %d reading PHOENIX_DEV_ON\n", err); + return; + } + + val |=3D APP_DEVOFF | CON_DEVOFF | MOD_DEVOFF; + + err =3D twl_i2c_write_u8(TWL_MODULE_PM_MASTER, val, + TWL6030_PHOENIX_DEV_ON); + if (err) + pr_err("TWL6030 Unable to power off\n"); +} + + static struct of_dev_auxdata twl_auxdata_lookup[] =3D { OF_DEV_AUXDATA("ti,twl4030-gpio", 0, "twl4030-gpio", NULL), { /* sentinel */ }, @@ -852,6 +877,15 @@ twl_probe(struct i2c_client *client) goto free; } =20 + if (twl_class_is_6030()) { + if (of_device_is_system_power_controller(client->dev.of_node)) { + if (!pm_power_off) + pm_power_off =3D twl6030_power_off; + else + dev_warn(&client->dev, "Poweroff callback already assigned\n"); + } + } + status =3D of_platform_populate(node, NULL, twl_auxdata_lookup, &client->dev); =20 diff --git a/include/linux/mfd/twl.h b/include/linux/mfd/twl.h index c062d91a67d92..85dc406173dba 100644 --- a/include/linux/mfd/twl.h +++ b/include/linux/mfd/twl.h @@ -461,6 +461,7 @@ static inline int twl6030_mmc_card_detect(struct device= *dev, int slot) =20 #define TWL4030_PM_MASTER_GLOBAL_TST 0xb6 =20 +#define TWL6030_PHOENIX_DEV_ON 0x06 /*----------------------------------------------------------------------*/ =20 /* Power bus message definitions */ --=20 2.39.2 From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E88ABC61D9D for ; Sat, 25 Nov 2023 09:30:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231889AbjKYJ3z (ORCPT ); Sat, 25 Nov 2023 04:29:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229483AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B84B10C1; Sat, 25 Nov 2023 01:29:53 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyv-006foz-DP; Sat, 25 Nov 2023 10:29:45 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyv-0004JL-0V; Sat, 25 Nov 2023 10:29:45 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 3/6] ARM: dts: omap-embt2ws: system-power-controller for bt200 Date: Sat, 25 Nov 2023 10:29:35 +0100 Message-Id: <20231125092938.16535-4-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Configure the TWL6032 as system power controller to let the device power off. Signed-off-by: Andreas Kemnade --- arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts b/arch/arm/b= oot/dts/ti/omap/omap4-epson-embt2ws.dts index 4e267b259ebf0..bb2e9544723c3 100644 --- a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts +++ b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts @@ -215,6 +215,7 @@ twl: pmic@48 { interrupts =3D ; /* IRQ_SYS_1N cascaded t= o gic */ interrupt-controller; #interrupt-cells =3D <1>; + system-power-controller; =20 rtc { compatible =3D "ti,twl4030-rtc"; --=20 2.39.2 From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E9E23C624B4 for ; Sat, 25 Nov 2023 09:30:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231907AbjKYJaW (ORCPT ); Sat, 25 Nov 2023 04:30:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231796AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAF8710D8; Sat, 25 Nov 2023 01:29:53 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyw-006fp8-3a; Sat, 25 Nov 2023 10:29:46 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyv-0004JQ-2m; Sat, 25 Nov 2023 10:29:45 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 4/6] ARM: dts: omap4-panda-common: Enable powering off the device Date: Sat, 25 Nov 2023 10:29:36 +0100 Message-Id: <20231125092938.16535-5-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" As the TWL6030 chip is the main power controller here, declare it as system-power-controller Signed-off-by: Andreas Kemnade --- arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi b/arch/arm/b= oot/dts/ti/omap/omap4-panda-common.dtsi index f528511c2537b..97706d6296a68 100644 --- a/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi +++ b/arch/arm/boot/dts/ti/omap/omap4-panda-common.dtsi @@ -408,6 +408,7 @@ twl: twl@48 { reg =3D <0x48>; /* IRQ# =3D 7 */ interrupts =3D ; /* IRQ_SYS_1N cascaded t= o gic */ + system-power-controller; }; =20 twl6040: twl@4b { --=20 2.39.2 From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27904C624B4 for ; Sat, 25 Nov 2023 09:30:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231985AbjKYJaO (ORCPT ); Sat, 25 Nov 2023 04:30:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229569AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CAD0B10CB; Sat, 25 Nov 2023 01:29:53 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyw-006fpG-SQ; Sat, 25 Nov 2023 10:29:46 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyw-0004JV-23; Sat, 25 Nov 2023 10:29:46 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 5/6] mfd: twl4030-power: accept standard property for power controller Date: Sat, 25 Nov 2023 10:29:37 +0100 Message-Id: <20231125092938.16535-6-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Instead of only accepting the ti specific properties accept also the standard property. For uniformity, search in the parent node for the tag. The code for powering of is also isolated from the rest in this file. So it is a pure Linux design decision to put it here. Signed-off-by: Andreas Kemnade --- drivers/mfd/twl4030-power.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c index e35b0f788c504..3ef892e63b88f 100644 --- a/drivers/mfd/twl4030-power.c +++ b/drivers/mfd/twl4030-power.c @@ -686,6 +686,9 @@ static bool twl4030_power_use_poweroff(const struct twl= 4030_power_data *pdata, if (of_property_read_bool(node, "ti,use_poweroff")) return true; =20 + if (of_device_is_system_power_controller(node->parent)) + return true; + return false; } =20 --=20 2.39.2 From nobody Wed Dec 17 13:54:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D23EBC624B4 for ; Sat, 25 Nov 2023 09:30:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232007AbjKYJaJ (ORCPT ); Sat, 25 Nov 2023 04:30:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231802AbjKYJ3t (ORCPT ); Sat, 25 Nov 2023 04:29:49 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4655A10E2; Sat, 25 Nov 2023 01:29:55 -0800 (PST) Received: from p200301077700a9001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:107:7700:a900:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r6oyx-006fpb-NJ; Sat, 25 Nov 2023 10:29:47 +0100 Received: from andi by aktux with local (Exim 4.96) (envelope-from ) id 1r6oyx-0004Ja-1W; Sat, 25 Nov 2023 10:29:47 +0100 From: Andreas Kemnade To: lee@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, bcousson@baylibre.com, tony@atomide.com, andreas@kemnade.info, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 6/6] ARM: dts: omap: gta04: standardize system-power-controller Date: Sat, 25 Nov 2023 10:29:38 +0100 Message-Id: <20231125092938.16535-7-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231125092938.16535-1-andreas@kemnade.info> References: <20231125092938.16535-1-andreas@kemnade.info> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Replace TI-specific property by generic one. Signed-off-by: Andreas Kemnade --- cannot be applied independently of the other ones, so maybe simply delay it. arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi b/arch/arm/boot/dts= /ti/omap/omap3-gta04.dtsi index 3661340009e7a..5001c4ea35658 100644 --- a/arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi +++ b/arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi @@ -476,6 +476,7 @@ twl: twl@48 { reg =3D <0x48>; interrupts =3D <7>; /* SYS_NIRQ cascaded to intc */ interrupt-parent =3D <&intc>; + system-power-controller; =20 clocks =3D <&hfclk_26m>; clock-names =3D "fck"; @@ -490,7 +491,6 @@ codec { =20 twl_power: power { compatible =3D "ti,twl4030-power-idle"; - ti,system-power-controller; }; }; }; --=20 2.39.2