From patchwork Fri Nov 4 07:03:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrej Picej X-Patchwork-Id: 15401 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp223187wru; Fri, 4 Nov 2022 00:18:17 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7j+pShaln710UCHv4bvQpJ1bL6idxL/Kj+z0I+G8aOjC+Svq4pAJ4pvPyYFkEdeFdB5ccc X-Received: by 2002:a17:906:5e14:b0:7ad:cb09:ccbd with SMTP id n20-20020a1709065e1400b007adcb09ccbdmr26061364eju.245.1667546296971; Fri, 04 Nov 2022 00:18:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667546296; cv=none; d=google.com; s=arc-20160816; b=mi2O7D4CAq5QLdYM6TySxbrzKVvstxY+xUbS5usJ/krAJcTedSaqDPBK0vHODCFaD4 2HoNvbTv0kG0Er9lfYxWHAw6tW+K+8gwCCZedKQXxZ2Xeab816seh/ks2/iSSKYP1d6x E3Dd51np2yueXn75a2zXC6ouMxkzUYroYTMY8A0gt3hYtfuW8VH8GtaF+Hyi5mqVmLV9 hdVKKhSBXaBKkqbKrUGbwVvE0QlEbfZOQNSbzVlK7XVZOpQA5zJ/K/KxabZr0BA0wbeg CFiTCr7wuODJc51+Xr2KDf+4ctKpI1Vv4nRgJalHxCxXkBn64Ue/sdEBHiNnK8ecwaW5 ob1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=79Yt+xI3nyfmmjW/gak2wEPyuEyW7d5A7MjoAnCDk64=; b=hA0uaVy0B4G6yzNd1LmR98REuE1HQ4hzCvPeCBzG28quR/TaBwulpXPodRY0Bz5YQk 7I+IgToy2lKr22BJbt0iMdSl9nArvToL5vT4ODGHE43J8C1SH7BL/9nsv4bbEDboul15 l26Fbl7csQdFPJDai6Er0t0+8jvgeqFlKjiSpqktLOWRUgB09ouG+ihV5MEj6OwuNgsF SjBwdmpVLUYbyz7KymIzcoMUqtxo3or20Tp6nijn6AM8IL/KbXuVoy/7jwRP3H1gXzwm PFD2OIOx5MwpcqTeoILagqKcRX0Tr+3QZoTj6Jgd0J81hX5NLN0qMZc2DNwCzSw7yDcj xL9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=GtP1bFtX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v18-20020a1709064e9200b007a641e472f0si3133460eju.139.2022.11.04.00.17.53; Fri, 04 Nov 2022 00:18:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=GtP1bFtX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231599AbiKDHEU (ORCPT + 99 others); Fri, 4 Nov 2022 03:04:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230315AbiKDHEK (ORCPT ); Fri, 4 Nov 2022 03:04:10 -0400 Received: from cpanel.siel.si (cpanel.siel.si [46.19.9.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DDF826AE3; Fri, 4 Nov 2022 00:04:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=norik.com; s=default; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=79Yt+xI3nyfmmjW/gak2wEPyuEyW7d5A7MjoAnCDk64=; b=GtP1bFtXawXgLq2XI81vXRxhW1 ch8xlAsM692omQLq9bE2DxX6zzUjhvWTWu3VrqBceaVH3E6zhCOv9H6c5hC8xPQa0vr9YCa4wvcZP zyvKqFP7YXVmcerJ2++yQT+0wARKNovkJYT3OHRC/l7dbcclXKYkUJE2ogZYGUGAGTWcd8gJqntEj czn1nY65Ur7Qre/7FZkg74yFQGNCmoJRwO8TOlOy97eBp2bhrpxJPDp3sKrpz1fDFZiiHhEM8tbnc u0sPT8NRmmV4YnXDa2pkeqQPg/ce5/hA0rTtA4Z98UU59u3SVE01XF95Y1eezoX44dEFb6S/xEmMm 8R+dJsSw==; Received: from [89.212.21.243] (port=40616 helo=localhost.localdomain) by cpanel.siel.si with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.95) (envelope-from ) id 1oqqk7-00EcG2-CF; Fri, 04 Nov 2022 08:04:02 +0100 From: Andrej Picej To: linux-watchdog@vger.kernel.org Cc: wim@linux-watchdog.org, linux@roeck-us.net, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, Anson.Huang@nxp.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/3] watchdog: imx2_wdg: suspend watchdog in WAIT mode Date: Fri, 4 Nov 2022 08:03:56 +0100 Message-Id: <20221104070358.426657-2-andrej.picej@norik.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221104070358.426657-1-andrej.picej@norik.com> References: <20221104070358.426657-1-andrej.picej@norik.com> MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cpanel.siel.si X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - norik.com X-Get-Message-Sender-Via: cpanel.siel.si: authenticated_id: andrej.picej@norik.com X-Authenticated-Sender: cpanel.siel.si: andrej.picej@norik.com X-Source: X-Source-Args: X-Source-Dir: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748549025866270215?= X-GMAIL-MSGID: =?utf-8?q?1748549025866270215?= Putting device into the "Suspend-To-Idle" mode causes watchdog to trigger and resets the board after set watchdog timeout period elapses. Introduce new device-tree property "fsl,suspend-in-wait" which suspends watchdog in WAIT mode. This is done by setting WDW bit in WCR (Watchdog Control Register). Watchdog operation is restored after exiting WAIT mode as expected. WAIT mode corresponds with Linux's "Suspend-To-Idle". Signed-off-by: Andrej Picej Reviewed-by: Fabio Estevam Reviewed-by: Guenter Roeck --- Changes in v4: - added a reviewed-by from Guenter. Changes in v3: - fix spelling in commit message, - fix and simplify property handling in probe, - add a comment about unknown interaction between imx7d no-ping functionality and "fsl,suspend-in-wait", - property support handled by of_device_id data pointer. Changes in v2: - validate the property with compatible string, as this functionality is not supported by all devices. --- drivers/watchdog/imx2_wdt.c | 55 +++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c index d0c5d47ddede..19ab7b3d286b 100644 --- a/drivers/watchdog/imx2_wdt.c +++ b/drivers/watchdog/imx2_wdt.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,7 @@ #define IMX2_WDT_WCR 0x00 /* Control Register */ #define IMX2_WDT_WCR_WT (0xFF << 8) /* -> Watchdog Timeout Field */ +#define IMX2_WDT_WCR_WDW BIT(7) /* -> Watchdog disable for WAIT */ #define IMX2_WDT_WCR_WDA BIT(5) /* -> External Reset WDOG_B */ #define IMX2_WDT_WCR_SRS BIT(4) /* -> Software Reset Signal */ #define IMX2_WDT_WCR_WRE BIT(3) /* -> WDOG Reset Enable */ @@ -60,13 +62,19 @@ #define WDOG_SEC_TO_COUNT(s) ((s * 2 - 1) << 8) +struct imx2_wdt_data { + bool wdw_supported; +}; + struct imx2_wdt_device { struct clk *clk; struct regmap *regmap; struct watchdog_device wdog; + const struct imx2_wdt_data *data; bool ext_reset; bool clk_is_on; bool no_ping; + bool sleep_wait; }; static bool nowayout = WATCHDOG_NOWAYOUT; @@ -129,6 +137,9 @@ static inline void imx2_wdt_setup(struct watchdog_device *wdog) /* Suspend timer in low power mode, write once-only */ val |= IMX2_WDT_WCR_WDZST; + /* Suspend timer in low power WAIT mode, write once-only */ + if (wdev->sleep_wait) + val |= IMX2_WDT_WCR_WDW; /* Strip the old watchdog Time-Out value */ val &= ~IMX2_WDT_WCR_WT; /* Generate internal chip-level reset if WDOG times out */ @@ -292,6 +303,8 @@ static int __init imx2_wdt_probe(struct platform_device *pdev) wdog->max_hw_heartbeat_ms = IMX2_WDT_MAX_TIME * 1000; wdog->parent = dev; + wdev->data = of_device_get_match_data(dev); + ret = platform_get_irq(pdev, 0); if (ret > 0) if (!devm_request_irq(dev, ret, imx2_wdt_isr, 0, @@ -313,9 +326,18 @@ static int __init imx2_wdt_probe(struct platform_device *pdev) wdev->ext_reset = of_property_read_bool(dev->of_node, "fsl,ext-reset-output"); + + if (of_property_read_bool(dev->of_node, "fsl,suspend-in-wait")) { + if (!wdev->data->wdw_supported) { + dev_err(dev, "suspend-in-wait not supported\n"); + return -EINVAL; + } + wdev->sleep_wait = true; + } + /* * The i.MX7D doesn't support low power mode, so we need to ping the watchdog - * during suspend. + * during suspend. Interaction with "fsl,suspend-in-wait" is unknown! */ wdev->no_ping = !of_device_is_compatible(dev->of_node, "fsl,imx7d-wdt"); platform_set_drvdata(pdev, wdog); @@ -417,9 +439,36 @@ static int __maybe_unused imx2_wdt_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(imx2_wdt_pm_ops, imx2_wdt_suspend, imx2_wdt_resume); +struct imx2_wdt_data imx_wdt = { + .wdw_supported = true, +}; + +struct imx2_wdt_data imx_wdt_legacy = { + .wdw_supported = false, +}; + static const struct of_device_id imx2_wdt_dt_ids[] = { - { .compatible = "fsl,imx21-wdt", }, - { .compatible = "fsl,imx7d-wdt", }, + { .compatible = "fsl,imx21-wdt", .data = &imx_wdt_legacy }, + { .compatible = "fsl,imx25-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx27-wdt", .data = &imx_wdt_legacy }, + { .compatible = "fsl,imx31-wdt", .data = &imx_wdt_legacy }, + { .compatible = "fsl,imx35-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx50-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx51-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx53-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx6q-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx6sl-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx6sll-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx6sx-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx6ul-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx7d-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx8mm-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx8mn-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx8mp-wdt", .data = &imx_wdt }, + { .compatible = "fsl,imx8mq-wdt", .data = &imx_wdt }, + { .compatible = "fsl,ls1012a-wdt", .data = &imx_wdt_legacy }, + { .compatible = "fsl,ls1043a-wdt", .data = &imx_wdt_legacy }, + { .compatible = "fsl,vf610-wdt", .data = &imx_wdt }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, imx2_wdt_dt_ids); From patchwork Fri Nov 4 07:03:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrej Picej X-Patchwork-Id: 15399 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp223041wru; Fri, 4 Nov 2022 00:18:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM60Lo0cbxrr00XklKF+D0nbfdLevXSxs/ShzQ7GRk18uFcq2dh88uLRJ7jyuS4DzLvkycal X-Received: by 2002:a17:902:7446:b0:186:a3a1:782d with SMTP id e6-20020a170902744600b00186a3a1782dmr34229178plt.76.1667546280015; Fri, 04 Nov 2022 00:18:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667546280; cv=none; d=google.com; s=arc-20160816; b=xviXsIUWeFr7kDws5bOvjAoeqBZfzwt3Ail84SBB5mtr7UsiKPyJ8AjgGOXGMyUgpt OKFxBCfk+J8WKJyD65t1zMS2kW/F/ffW5EjafYpZYtXfdHIV9FjZnmZYf0WdJNpA7nUL yym1pquHZ8jPJzRQNMILwXP75d07fcOLV481WmrQJ3R4Gl0x8FPnrEnP2FB//4dWXrbO cw6KfvFDi+h0Ku/uVmRDZwcHzwJKaOzjboL38MrDHVCj3bODQ6TLXu895UA8mcNJiNHg VOzNsTr+TKmMHnJaebxbqtN0wujabyOpoyLSYW28/TKpp7vUz7JD8kznfPhR8LUxYNWJ xH6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2p85PywWzOGMuPi7LyVF87Rkg9ap8Sdw6fppqAVvpvc=; b=dogd29Kh/g/136K2Bzp0TWxLeoHxyWbghGoqaE8bNe3wXTJS+ihtI6ErHkgQ1Yb5v+ G2HhXELdGwtU8OagiPSMSCF3G8IpITIgDj3phOAtY16EJhUqpwE+VbozTUCdM6fdKuqo 6pgWDb15vtt1aae50HNgpvRFddWdvs0dRESOEiAyx0pNsVdQyLSniERUYsfMbwCFjHKv f80ndmz8FQn/bhGV6hMqqgQjGk7NYTmDMqYd4l9aXZiNznRemJ6V/8WpANpg+Iq1ubk9 LdGQ6Kbv1/M0eaehvmpQ5wXTFgmyiy//rNXqGcSoQL1Bvk3k+p8FzBgL7fP/wLMRQjhR BhWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=GO0642yd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p18-20020a62ab12000000b005632e26e7ffsi3170824pff.309.2022.11.04.00.17.44; Fri, 04 Nov 2022 00:17:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=GO0642yd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231549AbiKDHEP (ORCPT + 99 others); Fri, 4 Nov 2022 03:04:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230182AbiKDHEK (ORCPT ); Fri, 4 Nov 2022 03:04:10 -0400 Received: from cpanel.siel.si (cpanel.siel.si [46.19.9.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D9D426AE0; Fri, 4 Nov 2022 00:04:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=norik.com; s=default; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=2p85PywWzOGMuPi7LyVF87Rkg9ap8Sdw6fppqAVvpvc=; b=GO0642ydkU1voJokRMyiEkKoPx 7hk3cOAuFbgsjZWIF4PTzcR0+olDRePSwS20plXvrCyzIhcChT53n0Da8bjon25fGn/QSMoTvcyw+ JdlJgOm0bSPmNYxoz1Qu91tE67yIIJVRbJU27+AoeU/fbiYq7n6HWBPBGMTjNC+bOEkdaSTFWT5qv zgar4jHm2I+nxezY0+uIrse5/0fCsmrq1X4kYDBCRtmy/AjAUIf3FENWHT9sLFGuAPb1G/snz+ux0 hjxRI4T9nDZLG77CgWFwayjP9hEQxk2rQ09t3N/kyyrEUvIxAdGnvxz6+s9JZOZ8Rn39xOlmHTEnB 8uzE+gAg==; Received: from [89.212.21.243] (port=40616 helo=localhost.localdomain) by cpanel.siel.si with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.95) (envelope-from ) id 1oqqk7-00EcG2-Gk; Fri, 04 Nov 2022 08:04:02 +0100 From: Andrej Picej To: linux-watchdog@vger.kernel.org Cc: wim@linux-watchdog.org, linux@roeck-us.net, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, Anson.Huang@nxp.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/3] dt-bindings: watchdog: fsl-imx: document suspend in wait mode Date: Fri, 4 Nov 2022 08:03:57 +0100 Message-Id: <20221104070358.426657-3-andrej.picej@norik.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221104070358.426657-1-andrej.picej@norik.com> References: <20221104070358.426657-1-andrej.picej@norik.com> MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cpanel.siel.si X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - norik.com X-Get-Message-Sender-Via: cpanel.siel.si: authenticated_id: andrej.picej@norik.com X-Authenticated-Sender: cpanel.siel.si: andrej.picej@norik.com X-Source: X-Source-Args: X-Source-Dir: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748549008191733927?= X-GMAIL-MSGID: =?utf-8?q?1748549008191733927?= Property "fsl,suspend-in-wait" suspends watchdog in "WAIT" mode which corresponds to Linux's Suspend-to-Idle S0 mode. If this property is not set and the device is put into Suspend-to-Idle mode, the watchdog triggers a reset after 128 seconds. Signed-off-by: Andrej Picej Reviewed-by: Fabio Estevam Reviewed-by: Krzysztof Kozlowski Reviewed-by: Guenter Roeck --- Changes in v4: - combine allOf, reorder allOf so it follows example-schema, drop the quotes around 'watchdog.yaml'. Changes in v3: - disallow the property for devices which don't support WDW bit functionality with .yaml DTS allOf:if:then scheme. Changes in v2: - add a commit message, - add a list of devices which support this functionality --- .../bindings/watchdog/fsl-imx-wdt.yaml | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml index fb7695515be1..181f0cc5b5bd 100644 --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml @@ -9,9 +9,6 @@ title: Freescale i.MX Watchdog Timer (WDT) Controller maintainers: - Anson Huang -allOf: - - $ref: "watchdog.yaml#" - properties: compatible: oneOf: @@ -55,11 +52,45 @@ properties: If present, the watchdog device is configured to assert its external reset (WDOG_B) instead of issuing a software reset. + fsl,suspend-in-wait: + $ref: /schemas/types.yaml#/definitions/flag + description: | + If present, the watchdog device is suspended in WAIT mode + (Suspend-to-Idle). Only supported on certain devices. + required: - compatible - interrupts - reg +allOf: + - $ref: watchdog.yaml# + - if: + not: + properties: + compatible: + contains: + enum: + - fsl,imx25-wdt + - fsl,imx35-wdt + - fsl,imx50-wdt + - fsl,imx51-wdt + - fsl,imx53-wdt + - fsl,imx6q-wdt + - fsl,imx6sl-wdt + - fsl,imx6sll-wdt + - fsl,imx6sx-wdt + - fsl,imx6ul-wdt + - fsl,imx7d-wdt + - fsl,imx8mm-wdt + - fsl,imx8mn-wdt + - fsl,imx8mp-wdt + - fsl,imx8mq-wdt + - fsl,vf610-wdt + then: + properties: + fsl,suspend-in-wait: false + unevaluatedProperties: false examples: From patchwork Fri Nov 4 07:03:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrej Picej X-Patchwork-Id: 15400 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp223116wru; Fri, 4 Nov 2022 00:18:09 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6npSrwAG9anBlbHKX1nANzsTwU1F/mNxS1aUv9B8OfkAti0yeKSSzkoet8lXz7KjhaZ2bg X-Received: by 2002:a05:6a00:1343:b0:56c:5f2:2d8f with SMTP id k3-20020a056a00134300b0056c05f22d8fmr34326582pfu.6.1667546289725; Fri, 04 Nov 2022 00:18:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667546289; cv=none; d=google.com; s=arc-20160816; b=fV2gL2NDXzdvDA0tkv3I/NtM7ICv5agbPfoXJ9plWcaK31V/LQJ2OpnzQ7OAmYwhO6 oIABJU3JIk3aBe4tzUjz4WmKGJ8khc7d1anqa0gQpjt0NlEC7nhOPMRECHI2q8TAl1Vv BvHQPxUtqZwnU3VZeIYo+799JDFqHWFzGUI0F/TpBr4LZth+lye3j96VviVk8GkwAjff YSQ+3FJh+Cd0DAi9Hh5dFt1WPMKQRQyuFwpdzM5ABGUUOrBDTbjHNt+3Nz9Vo7nzQ0PH 0vDikAYP/5vKVxzPzw3xR5RkwnxEgeKxqdiH/eyORU8pDa4jaiIcN9IxYSm3ACxIuikL iAZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=mBlF5pZ1kv6ig6Ylvq6jnljrMvNC83XZi6GRm5B7Cvs=; b=U6gfOLcsOe6lcT6ioffmrpHlHkDH3PdJA/W3kvsx8qwAihOlY2dqBUJy7J0h3/QBaj GX8nCB8bevX5nxJxJ/21WLKM5psKckE0P/hWQ/2f4Ia+dGRhZ63qPtwmJgpDid9P/o9M 7+FDg3OVcNO1k8ANCt3Yy+tRyewXIGz5WpM6wnQmpNqTbDlR+Um6WHU3SM0kmchpIo0B hlY9DB0rdvwfvtZhq7h92AN3uAHMJ4rfJjv6T/HvjYzyiWbkukGctcV/rPb8ANI0YBFA UFQYumNC6WbAA3g+lJHwu+j9dnPKbZbW/UayDImPk00hm7qy6HLRBVJecnzn5uh2daNJ Y8Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=jglzrcpQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z13-20020a634c0d000000b00460dd0eed0csi4147498pga.176.2022.11.04.00.17.57; Fri, 04 Nov 2022 00:18:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=jglzrcpQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231589AbiKDHEY (ORCPT + 99 others); Fri, 4 Nov 2022 03:04:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44970 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231171AbiKDHEK (ORCPT ); Fri, 4 Nov 2022 03:04:10 -0400 Received: from cpanel.siel.si (cpanel.siel.si [46.19.9.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E0D626AE5; Fri, 4 Nov 2022 00:04:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=norik.com; s=default; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=mBlF5pZ1kv6ig6Ylvq6jnljrMvNC83XZi6GRm5B7Cvs=; b=jglzrcpQFJi18wyZ81//OzPEiL HO0G5x77bH6j9Zx4Sd+m096og/rRjPOyreWvWg4sfUPhFef2rW40J/fZrALrsDOHdVJLgMph8kwy/ dAxyXgLeO5KFdIvxEMFfbX6aHfYmdR2EAfzAIeJFEFTGJCMZ0JMShnyVnZin3lLvvmBGEaQTVuRIr dyq45s0nhkqbr/R2E0Ajg9b/ZuyjNtm/sDA/l0YXZxxIWBXyvkl9tvMGYcDjlekTUXSuqH30SW2ZJ 7732d5wOP48sNJciVBHqb5je1plIsLzYOQidquLnZyEEIc8BchELz1iyd/bdZLcxP1G5180d0Rin6 jpt1xoPA==; Received: from [89.212.21.243] (port=40616 helo=localhost.localdomain) by cpanel.siel.si with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.95) (envelope-from ) id 1oqqk7-00EcG2-Kf; Fri, 04 Nov 2022 08:04:02 +0100 From: Andrej Picej To: linux-watchdog@vger.kernel.org Cc: wim@linux-watchdog.org, linux@roeck-us.net, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, Anson.Huang@nxp.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 3/3] ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode Date: Fri, 4 Nov 2022 08:03:58 +0100 Message-Id: <20221104070358.426657-4-andrej.picej@norik.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221104070358.426657-1-andrej.picej@norik.com> References: <20221104070358.426657-1-andrej.picej@norik.com> MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cpanel.siel.si X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - norik.com X-Get-Message-Sender-Via: cpanel.siel.si: authenticated_id: andrej.picej@norik.com X-Authenticated-Sender: cpanel.siel.si: andrej.picej@norik.com X-Source: X-Source-Args: X-Source-Dir: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748549018589320474?= X-GMAIL-MSGID: =?utf-8?q?1748549018589320474?= It was discovered that the watchdog triggers when the device is put into "Suspend-To-Idle"/"freeze" low-power mode. Setting WDW bit disables watchdog when the device is put into WAIT mode. Signed-off-by: Andrej Picej Reviewed-by: Fabio Estevam --- Changes in v4: - no changes Changes in v3: - no changes Changes in v2: - no changes --- arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi index 3cddc68917a0..5168ed0ffec3 100644 --- a/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi +++ b/arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi @@ -102,6 +102,10 @@ &usdhc2 { status = "disabled"; }; +&wdog1 { + fsl,suspend-in-wait; +}; + &iomuxc { pinctrl_enet1: enet1grp { fsl,pins = <