Message ID | 20221019111714.1953262-1-andrej.picej@norik.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp327993wrs; Wed, 19 Oct 2022 06:30:07 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7NEVpowiVKxMKH50h5bXvDUaXvFDKQgLz05mf067aragdB2D4sF7oNcgkHC3+vpAfzAfMn X-Received: by 2002:a17:90a:ca96:b0:20b:6ff:1b2 with SMTP id y22-20020a17090aca9600b0020b06ff01b2mr9850951pjt.228.1666186207240; Wed, 19 Oct 2022 06:30:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666186207; cv=none; d=google.com; s=arc-20160816; b=UArGvS88UQOYYH/I4AAHkCibFNi6Wo3JqlebEfTVft2jYSzaQe4K0Tq6MwQqADIh3u fesrQQxh5f18T2kcu7DuI33aMbeDHpRFwRIBrjPcGBQF+RtWp4xwnEudg6a3mloYLpzd MdFyBtLxCw/ur78Wl0jKsAOZHti5XIIFYac4RzLn2yo+wP8K+/TAR7gFaRH+4bgRwEJE NneNNDyOBYqMEM07FoB/83rAErcPTEL4YC3GKvmpIwbqTwNQ51wcCHclkhApO+yau8dv eJDd+Qt9KjLYXB6gIg9vJjCczlPWJ36rHs4AbZEiG/bf/GZN9b+qG1rX26kjQFvXFL7v HHQw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=XOXKSdEYSGaB7TrIJqdXmUIfhtXAEMTKYNQDMHu+5+o=; b=ZH5d9d2LLuAuEhPBMnsYYy8Y51YGhE9fWLI2I5aoWCy8f5WQK2Vm1l6wZqiNfYRtNd Oujcf1/eS6FfvkzxrfC2xDwMKtNSFoER/S07sXrhoK26IJvzvgdaZ+bxzxIm1M+fdrl4 3XR/ygt3ezzzWAE5RRV9pJZafjAJfCP03RZNz/XwgcrkfjEkLAnVd46MML14MaJ/oc1K ng0usoM/XFBC6nF/LcpfKz8owJbYA0vZL25WKe1nDyvDW/OUNFb4HCqYHTjGAVYLz/VA EXYAkOF2hDG1eWN+MYKC6YX1XGksRdb9n3Ah+LVVTfx80PFiEn4x8xhU+RZ32p3Nn8PX rdDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@norik.com header.s=default header.b=iAftC1Dl; 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 y15-20020a17090a104f00b0020b427df9cbsi22747515pjd.38.2022.10.19.06.29.54; Wed, 19 Oct 2022 06:30:07 -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=iAftC1Dl; 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 S232223AbiJSNQj (ORCPT <rfc822;samuel.l.nystrom@gmail.com> + 99 others); Wed, 19 Oct 2022 09:16:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230395AbiJSNPx (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 19 Oct 2022 09:15:53 -0400 Received: from cpanel.siel.si (cpanel.siel.si [46.19.9.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A965E78; Wed, 19 Oct 2022 06:01:47 -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: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: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=XOXKSdEYSGaB7TrIJqdXmUIfhtXAEMTKYNQDMHu+5+o=; b=iAftC1DlOniMYlNZSSECpiAdeK LccPSIzdRYsfUO01CsO4alVE/fGnwRYwuh8yCWnIyezwJNnfoiLw0dKNibZEPkgoU07mbmtoHlk6D v8nmmHEq6NPHZRQybIes4CrRSzpAzY5RERGXNFZYXgDwYO/fEz2pA+H53F/Jahf9Wr0EEGdCGqxVN EhK9t8DAknnY4QX0DtgQ3cJ9AAKS3DqF95q3OFiRP66AP5SNMKSz3pDVKLdEEZHu92HTyylPMN7QH fI+2Lzgv5u7mBvsVw+h7SmvW6hAakvBc7xYTQxIJvQltEk6GgkxRFjR734Ybh+4A5r58CcKpokDcO IVu/kW/A==; Received: from 89-212-21-243.static.t-2.net ([89.212.21.243]:45936 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 <andrej.picej@norik.com>) id 1ol74W-007ZXa-71; Wed, 19 Oct 2022 13:17:16 +0200 From: Andrej Picej <andrej.picej@norik.com> To: linux-watchdog@vger.kernel.org Cc: shawnguo@kernel.org, linux@roeck-us.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-imx@nxp.com, festevam@gmail.com, kernel@pengutronix.de, s.hauer@pengutronix.de, wim@linux-watchdog.org, robh+dt@kernel.org Subject: [PATCH 0/3] Suspending i.MX watchdog in WAIT mode Date: Wed, 19 Oct 2022 13:17:11 +0200 Message-Id: <20221019111714.1953262-1-andrej.picej@norik.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747119878212053681?= X-GMAIL-MSGID: =?utf-8?q?1747122868930225998?= |
Series | Suspending i.MX watchdog in WAIT mode | |
Message
Andrej Picej
Oct. 19, 2022, 11:17 a.m. UTC
The i.MX6 watchdog can't be stopped once started. This means that special hardware suspend needs to be configured when the device enters low-power modes. Usually i.MX devices have two bits which deal with this: - WDZST bit disables the timer in "deeper" low power modes and - WDW bit disables the timer in "WAIT" mode which corresponds with Linux's "freeze" low-power mode. WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). WDW bit is not common for all imx2-wdt supported devices, therefore use a new device-tree property "fsl,suspend-in-wait" which suspends the watchdog in "WAIT" mode. Andrej Picej (3): watchdog: imx2_wdg: suspend watchdog in WAIT mode dt-bindings: watchdog: fsl-imx: document suspend in wait mode ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 4 ++++ drivers/watchdog/imx2_wdt.c | 7 +++++++ 3 files changed, 16 insertions(+)
Comments
Hi Andrej, On Wed, Oct 19, 2022 at 8:17 AM Andrej Picej <andrej.picej@norik.com> wrote: > > The i.MX6 watchdog can't be stopped once started. This means that > special hardware suspend needs to be configured when the device enters > low-power modes. > Usually i.MX devices have two bits which deal with this: > - WDZST bit disables the timer in "deeper" low power modes and > - WDW bit disables the timer in "WAIT" mode which corresponds with > Linux's "freeze" low-power mode. > > WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). > WDW bit is not common for all imx2-wdt supported devices, therefore use > a new device-tree property "fsl,suspend-in-wait" which suspends the > watchdog in "WAIT" mode. > > Andrej Picej (3): > watchdog: imx2_wdg: suspend watchdog in WAIT mode > dt-bindings: watchdog: fsl-imx: document suspend in wait mode > ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode For the series: Reviewed-by: Fabio Estevam <festevam@gmail.com>
Hello Andrej, Am Mittwoch, 19. Oktober 2022, 13:17:13 CEST schrieb Andrej Picej: > Signed-off-by: Andrej Picej <andrej.picej@norik.com> > --- > Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml > b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml index > fb7695515be1..01b3e04e7e65 100644 > --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml > +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml > @@ -55,6 +55,11 @@ 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. > + > required: > - compatible > - interrupts What is the condition the watchdog is suspended in WAIT mode? Is this specific to SoC or platform or something else? Best regards, Alexander
On Wed, Oct 19, 2022 at 01:17:11PM +0200, Andrej Picej wrote: > The i.MX6 watchdog can't be stopped once started. This means that > special hardware suspend needs to be configured when the device enters > low-power modes. > Usually i.MX devices have two bits which deal with this: > - WDZST bit disables the timer in "deeper" low power modes and > - WDW bit disables the timer in "WAIT" mode which corresponds with > Linux's "freeze" low-power mode. > > WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). > WDW bit is not common for all imx2-wdt supported devices, therefore use > a new device-tree property "fsl,suspend-in-wait" which suspends the > watchdog in "WAIT" mode. I think that needs to be validated using the "compatible" property; it should not be possible to set/accept the new flag for devices which don't support it. Thanks, Guenter > > Andrej Picej (3): > watchdog: imx2_wdg: suspend watchdog in WAIT mode > dt-bindings: watchdog: fsl-imx: document suspend in wait mode > ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode > > .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ > arch/arm/boot/dts/imx6ul-phytec-phycore-som.dtsi | 4 ++++ > drivers/watchdog/imx2_wdt.c | 7 +++++++ > 3 files changed, 16 insertions(+) > > -- > 2.25.1 >
On 19/10/2022 07:17, Andrej Picej wrote: > The i.MX6 watchdog can't be stopped once started. This means that > special hardware suspend needs to be configured when the device enters > low-power modes. > Usually i.MX devices have two bits which deal with this: > - WDZST bit disables the timer in "deeper" low power modes and > - WDW bit disables the timer in "WAIT" mode which corresponds with > Linux's "freeze" low-power mode. > > WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). > WDW bit is not common for all imx2-wdt supported devices, therefore use > a new device-tree property "fsl,suspend-in-wait" which suspends the > watchdog in "WAIT" mode. > > Andrej Picej (3): > watchdog: imx2_wdg: suspend watchdog in WAIT mode > dt-bindings: watchdog: fsl-imx: document suspend in wait mode > ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode > > .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ Please use scripts/get_maintainers.pl to get a list of necessary people and lists to CC. It might happen, that command when run on an older kernel, gives you outdated entries. Therefore please be sure you base your patches on recent Linux kernel. Best regards, Krzysztof
Hi Guenter, On 19. 10. 22 17:30, Guenter Roeck wrote: > On Wed, Oct 19, 2022 at 01:17:11PM +0200, Andrej Picej wrote: >> The i.MX6 watchdog can't be stopped once started. This means that >> special hardware suspend needs to be configured when the device enters >> low-power modes. >> Usually i.MX devices have two bits which deal with this: >> - WDZST bit disables the timer in "deeper" low power modes and >> - WDW bit disables the timer in "WAIT" mode which corresponds with >> Linux's "freeze" low-power mode. >> >> WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). >> WDW bit is not common for all imx2-wdt supported devices, therefore use >> a new device-tree property "fsl,suspend-in-wait" which suspends the >> watchdog in "WAIT" mode. > > I think that needs to be validated using the "compatible" property; > it should not be possible to set/accept the new flag for devices > which don't support it. Ok, I can add that to a v2. Thanks, Andrej > > Thanks, > Guenter >
Hi Krzysztof, On 19. 10. 22 17:46, Krzysztof Kozlowski wrote: > On 19/10/2022 07:17, Andrej Picej wrote: >> The i.MX6 watchdog can't be stopped once started. This means that >> special hardware suspend needs to be configured when the device enters >> low-power modes. >> Usually i.MX devices have two bits which deal with this: >> - WDZST bit disables the timer in "deeper" low power modes and >> - WDW bit disables the timer in "WAIT" mode which corresponds with >> Linux's "freeze" low-power mode. >> >> WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). >> WDW bit is not common for all imx2-wdt supported devices, therefore use >> a new device-tree property "fsl,suspend-in-wait" which suspends the >> watchdog in "WAIT" mode. >> >> Andrej Picej (3): >> watchdog: imx2_wdg: suspend watchdog in WAIT mode >> dt-bindings: watchdog: fsl-imx: document suspend in wait mode >> ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode >> >> .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ > > Please use scripts/get_maintainers.pl to get a list of necessary people > and lists to CC. It might happen, that command when run on an older > kernel, gives you outdated entries. Therefore please be sure you base > your patches on recent Linux kernel. I thought I did. I run that script on linux-watchdog.git, master branch. I thought I should base my patches meant for watchdog subsystem there? Best regards, Andrej > > Best regards, > Krzysztof >
On 20/10/2022 01:49, Andrej Picej wrote: > Hi Krzysztof, > > On 19. 10. 22 17:46, Krzysztof Kozlowski wrote: >> On 19/10/2022 07:17, Andrej Picej wrote: >>> The i.MX6 watchdog can't be stopped once started. This means that >>> special hardware suspend needs to be configured when the device enters >>> low-power modes. >>> Usually i.MX devices have two bits which deal with this: >>> - WDZST bit disables the timer in "deeper" low power modes and >>> - WDW bit disables the timer in "WAIT" mode which corresponds with >>> Linux's "freeze" low-power mode. >>> >>> WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). >>> WDW bit is not common for all imx2-wdt supported devices, therefore use >>> a new device-tree property "fsl,suspend-in-wait" which suspends the >>> watchdog in "WAIT" mode. >>> >>> Andrej Picej (3): >>> watchdog: imx2_wdg: suspend watchdog in WAIT mode >>> dt-bindings: watchdog: fsl-imx: document suspend in wait mode >>> ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode >>> >>> .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ >> >> Please use scripts/get_maintainers.pl to get a list of necessary people >> and lists to CC. It might happen, that command when run on an older >> kernel, gives you outdated entries. Therefore please be sure you base >> your patches on recent Linux kernel. > > I thought I did. I run that script on linux-watchdog.git, master branch. > I thought I should base my patches meant for watchdog subsystem there? Maintainer's tree should be fine, but then the issue is somewhere else, because your CC list was not complete. Best regards, Krzysztof
On 20. 10. 22 14:04, Krzysztof Kozlowski wrote: > On 20/10/2022 01:49, Andrej Picej wrote: >> Hi Krzysztof, >> >> On 19. 10. 22 17:46, Krzysztof Kozlowski wrote: >>> On 19/10/2022 07:17, Andrej Picej wrote: >>>> The i.MX6 watchdog can't be stopped once started. This means that >>>> special hardware suspend needs to be configured when the device enters >>>> low-power modes. >>>> Usually i.MX devices have two bits which deal with this: >>>> - WDZST bit disables the timer in "deeper" low power modes and >>>> - WDW bit disables the timer in "WAIT" mode which corresponds with >>>> Linux's "freeze" low-power mode. >>>> >>>> WDZST bit support is already in place since 1a9c5efa576e ("watchdog: imx2_wdt: disable watchdog timer during low power mode"). >>>> WDW bit is not common for all imx2-wdt supported devices, therefore use >>>> a new device-tree property "fsl,suspend-in-wait" which suspends the >>>> watchdog in "WAIT" mode. >>>> >>>> Andrej Picej (3): >>>> watchdog: imx2_wdg: suspend watchdog in WAIT mode >>>> dt-bindings: watchdog: fsl-imx: document suspend in wait mode >>>> ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode >>>> >>>> .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 5 +++++ >>> >>> Please use scripts/get_maintainers.pl to get a list of necessary people >>> and lists to CC. It might happen, that command when run on an older >>> kernel, gives you outdated entries. Therefore please be sure you base >>> your patches on recent Linux kernel. >> >> I thought I did. I run that script on linux-watchdog.git, master branch. >> I thought I should base my patches meant for watchdog subsystem there? > > Maintainer's tree should be fine, but then the issue is somewhere else, > because your CC list was not complete. > Ok I see that two email addresses were not added. Sorry for that. I will make sure that the CC list is complete next time. Thanks, Andrej