From nobody Thu Apr 2 14:10:33 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D890B329E52 for ; Tue, 10 Feb 2026 13:38:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770730740; cv=none; b=q90W+fW4k/LB10FUTOOtACiN0GwNcdCIk9VPq/65w+Pk3dBpZrL/d1lhG0Jf8D+TsNz4n8++0YShHPP7LKhSTi2tokJxXJBbsNkw/snRctEOQ/vxNyfeMnW/33reLc9EvAYKFCVif+JkqXiDdT2JtuGc5LmJGOAmlwwVFGf9tBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770730740; c=relaxed/simple; bh=8F4cLTHuBDdfXE5ZM9txPWyNbSnh/bI2GKOgahn+3no=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kL1BsQL725ZisiiNEOGXvtVtfNJZ53HOdXmiGMuFEWdLf1m7HeyR/gLLHQHBTVUuOq0q77maKVD/lnnqx7L/L9icMmD1pPsFYIK70UB9L9V2mPWNlX55MZOu6EhdtugRhapo9B5+2FVT2XsVPmtTnFr7LzQhI4LIavVWeWNVTwE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LTeUeDMX; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LTeUeDMX" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-482f454be5bso56162475e9.0 for ; Tue, 10 Feb 2026 05:38:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770730737; x=1771335537; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iODKpq8SiTOJupDlKbF2WoG4lC9wFyKPKfQ6o0K08dg=; b=LTeUeDMX3owftF4X8dsgziFISZN7mgFCiO9pOm4dS1/l35jNIYTd8om/3GMBLzXQDl qLCF1jmfdcGXYJ4YlWvjncldvjPm+9x3B5ipmWcb08uQtvMB6h1yvrPloeIcQFYPrluF p0SZWxr4UjO/F9oyZ2ctFWQYXxYcr1TCT6S+BSxi4lFz7q3Rqjk04kqS570tgpKksOzY 4lxEujOsdZgeJH/hW576inPElBlUssEWUildBxCaB7s5itLjyY7yFFFpRTNreBE4V6un C2Ox45rgAM3bBitIzxAdX/OXtMwRsVnAQiMowWAQQXLN6OOFjJOpBZBEkshjNaqmwZVy 19aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770730737; x=1771335537; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=iODKpq8SiTOJupDlKbF2WoG4lC9wFyKPKfQ6o0K08dg=; b=hF8nIpBDkZOAKRPSlOFoE19OGNY9JgTfdOCxce7OIvevrSdGoiKlc9mMoz68aLdNRA bo4WmbMJCHNBiWPRK6ZnJk3mqLxFddOoW2L9QQfeADNcJAAqRovYlxZrkyorypHVeJov hvH9kqz36J2CkPxLO3dT7W+51EQVQ08gcD6lCmqTa5reWLNj/qHtg+j5/ap24IO2riH4 Cxaqspk04xErVokNkcM917ViAilJFhp0B6htvs0zDferM0SxjfZ/fccIXW29zah9OaIS UrU+uLv+fiQKgdSiwzMtZJ5mDnJjebMu1/Ny7uGMnAAM9OVheCpEUm9mgd2nV49FrFCx g+GA== X-Forwarded-Encrypted: i=1; AJvYcCVsmRE4KvyWDWLVtmgvR1VC6lOh9eGIbMm5G7blhnWfUwYhBSzrOnEthLumGbnT/palRbwmH1qovnduWzU=@vger.kernel.org X-Gm-Message-State: AOJu0YyXXrO+doVn8qxNCaAvY+gDuByBEmV4O60iARSzrPDlV8J6xL4E ly7MX36vW5DP5YjUZAPHXCW6CkXAym6YnXFPihowKuONgDn6nJTzep8z X-Gm-Gg: AZuq6aJ11SErE4kU+cVVAQ14lo8ydkyZy7iZUbYacabYAWyFNvOfvtljxzVVJogwOTS QcjvfTA6rI6OXyZ6GreY766JjRmOWXt7xTj301sK9nA+YERRcDoS4JS+jpA2m7L/p/db8iu2loJ pTubrYyJsE9PMX9YXC4mlxp2O+1yZhlbABp80EgmEj23Yel+cZBqnWp55sWjT8z2c+BJbdkm+Hh gVbKUoEzOQ1MKj/c02buJyzawj+M1nr8lP7826zznXluPAwYKQBT8SFYA/uPxzm5WOvbYL1vFat MJcWRBjnhevm+YG0pBuWjzTNG+o/xYXJ74iXlfQAP9TTzqzvoGPcIX3eGcR+wZDBZsNjZOL9Lms KyA5WxTNc96N09hveCBDID2imvGPAoLDxxbMB7fYM7i69GUx1u9ZnH7WzEMfXP+8IBvlWO0/R73 rJGMp+RZa6ktdAPMQpi2lyP77aQms5Y0qPRw== X-Received: by 2002:a05:600c:3e1a:b0:480:1c1c:47d6 with SMTP id 5b1f17b1804b1-483505116camr34660955e9.6.1770730737018; Tue, 10 Feb 2026 05:38:57 -0800 (PST) Received: from taln60.nuvoton.co.il ([212.199.177.18]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4834d5d8df8sm66773415e9.3.2026.02.10.05.38.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 05:38:56 -0800 (PST) From: Tomer Maimon To: andrew@codeconstruct.com.au, avifishman70@gmail.com, tali.perry1@gmail.com, wim@linux-watchdog.org, linux@roeck-us.net, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: venture@google.com, yuenn@google.com, benjaminfair@google.com, joel@jms.id.au, openbmc@lists.ozlabs.org, linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Tomer Maimon Subject: [PATCH v1 1/2] dt-bindings: watchdog: Add NPCM reset status support Date: Tue, 10 Feb 2026 15:38:42 +0200 Message-Id: <20260210133843.1078463-2-tmaimon77@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260210133843.1078463-1-tmaimon77@gmail.com> References: <20260210133843.1078463-1-tmaimon77@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add reset status detection for NPCM7XX and NPCM8XX platforms via syscon integration. Document syscon property and three configurable reset type properties (nuvoton,card-reset-type, nuvoton,ext1-reset-type, nuvoton,ext2-reset-type)that map reset signal detection to specific reset bit positions. Signed-off-by: Tomer Maimon --- .../watchdog/nuvoton,npcm750-wdt.yaml | 51 ++++++++++++++++++- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/watchdog/nuvoton,npcm750-wdt= .yaml b/Documentation/devicetree/bindings/watchdog/nuvoton,npcm750-wdt.yaml index 7aa30f5b5c49..054cc0115af2 100644 --- a/Documentation/devicetree/bindings/watchdog/nuvoton,npcm750-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/nuvoton,npcm750-wdt.yaml @@ -12,7 +12,7 @@ maintainers: description: Nuvoton NPCM timer module provides five 24-bit timer counters, and a wat= chdog. The watchdog supports a pre-timeout interrupt that fires 10ms before the - expiry. + expiry and reset status detection via syscon integration. =20 allOf: - $ref: watchdog.yaml# @@ -40,12 +40,55 @@ properties: clock-frequency: description: Frequency in Hz of the clock that drives the NPCM timer. =20 + syscon: + description: phandle to the Global Control Register (GCR) syscon node. + $ref: /schemas/types.yaml#/definitions/phandle + + nuvoton,card-reset-type: + description: Reset type for external card reset signal detection. + enum: + - porst + - corst + - wd0 + - wd1 + - wd2 + - sw1 + - sw2 + - sw3 + - sw4 + + nuvoton,ext1-reset-type: + description: Reset type for external reset signal 1 detection. + enum: + - porst + - corst + - wd0 + - wd1 + - wd2 + - sw1 + - sw2 + - sw3 + - sw4 + + nuvoton,ext2-reset-type: + description: Reset type for external reset signal 2 detection. + enum: + - porst + - corst + - wd0 + - wd1 + - wd2 + - sw1 + - sw2 + - sw3 + - sw4 + required: - compatible - reg - interrupts =20 -unevaluatedProperties: false +additionalProperties: false =20 examples: - | @@ -57,4 +100,8 @@ examples: interrupts =3D ; reg =3D <0xf000801c 0x4>; clocks =3D <&clk NPCM7XX_CLK_TIMER>; + syscon =3D <&gcr>; + nuvoton,card-reset-type =3D "porst"; + nuvoton,ext1-reset-type =3D "wd0"; + nuvoton,ext2-reset-type =3D "wd2"; }; --=20 2.34.1 From nobody Thu Apr 2 14:10:33 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B43EF329E68 for ; Tue, 10 Feb 2026 13:39:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770730743; cv=none; b=rVg+kJ5I20oPpyURUycwUHx8HL4On95HIHoPEd4NjEU1rJ14x+oUKGXdPa9+2N2aeRYr1q2OrA1GutkPfNprvIUBZzdkjwCM/CFOarnKhlO/vcwDV0kOjzZtQuUcw9CVeX4tZ5n3jdMFJSiBE1uuAZPd2D51S46qpmzXWOmbl/w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770730743; c=relaxed/simple; bh=TbPJ3FjFrE2tq53WqqU4kRyhPkLnNnNnPD60wqZ0fxk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=XCQJA5oTNmaYVhQpw5npluA3kTa9BjlR0GSGtCmKhadD0+FECOWDLF6meSvoAEW3/j3e7H18dGM82BzhIrgSSLj0pCZAYCKxBXCNN5RpD2X4Bq+2f1BhMHCbf0IGm7rMZZNUQNlPvJBgpo7CNYJoJ3IP/mNREaoQtJmRGNYNrEg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=i25XJUIn; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="i25XJUIn" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4806e0f6b69so43153215e9.3 for ; Tue, 10 Feb 2026 05:39:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770730740; x=1771335540; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HGNEecakAfXorcTTEznVuRkn8Ex5W+QcTjU+PIsrpQQ=; b=i25XJUIn7Go0M8QB8GqI5tVdaozJp33kFC0kLOCUO8MvT+ceZDrDw3Bg01UHAyD0k7 hbVaUI22fctTVvgaLeko7ZSMqm4WnMYTqQ8sHsHqNHgSC3cbnkcWH8F0SW1Oi+qNDW2l xJpBSpvOcod3+IeF3TZEwz/0ggCBPQ8YS1IUmNxzDeMHcebx/lbbllbC9vHl4cPG3vNZ ayDEV7DAv+MB71Fo62hwtcwceh6bwWrbGb+xIBnw4uZDbqgqW8ctyajOB+kicljCQ1D4 dh46YrWZtwqM0x2+eAxxE3S5nBQz7baFQMsbXUb9CbMYKQsfd3MOmq0WEAHcfEi3Se/E DrAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770730740; x=1771335540; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HGNEecakAfXorcTTEznVuRkn8Ex5W+QcTjU+PIsrpQQ=; b=FDRz7Ms9sRw1Ae7W6scKD7iGR+N930ly5+/TFC8Wex7lJxCSRG6Bwcy7n/rMuPQAev n2sn7zNZBK8WDwYZNs5hGLujFz6C2OZVRw0vkhDgKD5Wkr8ixiYxsz5aJgqfECVmKW3F ysInzOri8huI4EvYhjeBWDOJPYg3TKULG+/CoSzLN/2HIQUgpn8zplPWDuwKdqru96nb /nTekkLtDSyq8QJywwjTAvxKfl+sbv4LiWT8xNgQJaWu5DGs5qf0WuKd4cX1hp44E1+w uc9Y5fsZcgFAOIth4RVHkjb75yEZB2nCaBpOZhde/NZjty2o1BLGsj0I5CCwdLuqCJy2 Kb+g== X-Forwarded-Encrypted: i=1; AJvYcCWDZSEamdESqIJLl88SKp8NSflDcmVTWaGhOrU+m/+j8NxIWgIdScps3boOx72jGDQg5K8R2fmmIwoePdM=@vger.kernel.org X-Gm-Message-State: AOJu0YzqXIXc0XU+GKk1Nzu30+X16YrDKVxh7zMESTrrN/0uxNGWDefN UuxzFK/Pxb7/OKkmrlLVugd4mPr+XEBpFeNDEfAWDhb/sXqWLRHup2vL X-Gm-Gg: AZuq6aLzmx5PdVQ5k9mpTDHViQTpxY0Y7g6OpaDQFSdZ8AXmUlNi38s/U9412XSwvAB QYSpUGBo5O7+2jJae4sGnAeU6jrD6Y1iGBOszeQ54v+h3z6jI+R0EQBOOYHJoSSsDLit1qNFd7e sHHl0mDt9USG+8EYeNW9+LLXKDFTC1yraniMuHoh0g0+2pvY8dClydQxkUMCeTSS+XT18v4m4S1 t65z4YHNnAlM3EncdoGDTsQavga2I88j4/DxHW/ExQycRkhiYxz66umZps7xV68ieujZeeFgtq9 3XS3t2aNhR5BxQWY2DHA9IoGvTZtQaYAIiQtratFoTNq1HPVTJZ/REX/M038zCTFzJmoues/pkW gzApyUz/C6CDDLGxQ8goqLYSz7pFKiLIVgAQ+g2NnGdBmpwYAaC0dcv17hiLJLrV31T+FBYFU3c NeLSypR3MkBRYbWTThy7XN3/iTHr1EJNLxTQ== X-Received: by 2002:a05:600c:3b1e:b0:482:eec4:772 with SMTP id 5b1f17b1804b1-48350833938mr27829925e9.32.1770730739808; Tue, 10 Feb 2026 05:38:59 -0800 (PST) Received: from taln60.nuvoton.co.il ([212.199.177.18]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4834d5d8df8sm66773415e9.3.2026.02.10.05.38.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 05:38:59 -0800 (PST) From: Tomer Maimon To: andrew@codeconstruct.com.au, avifishman70@gmail.com, tali.perry1@gmail.com, wim@linux-watchdog.org, linux@roeck-us.net, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: venture@google.com, yuenn@google.com, benjaminfair@google.com, joel@jms.id.au, openbmc@lists.ozlabs.org, linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Tomer Maimon Subject: [PATCH v1 2/2] watchdog: npcm: Add reset status support Date: Tue, 10 Feb 2026 15:38:43 +0200 Message-Id: <20260210133843.1078463-3-tmaimon77@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260210133843.1078463-1-tmaimon77@gmail.com> References: <20260210133843.1078463-1-tmaimon77@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add reset status detection for NPCM watchdog driver on both NPCM7XX and NPCM8XX platforms. Implement GCR register integration via syscon for reset status detection and configurable reset type mapping via device tree properties. Signed-off-by: Tomer Maimon --- drivers/watchdog/npcm_wdt.c | 110 ++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/drivers/watchdog/npcm_wdt.c b/drivers/watchdog/npcm_wdt.c index e62ea054bc61..ebece5d6240a 100644 --- a/drivers/watchdog/npcm_wdt.c +++ b/drivers/watchdog/npcm_wdt.c @@ -12,9 +12,25 @@ #include #include #include +#include +#include + +#define NPCM7XX_RESSR_OFFSET 0x6C +#define NPCM7XX_INTCR2_OFFSET 0x60 =20 #define NPCM_WTCR 0x1C =20 +#define NPCM7XX_PORST BIT(31) +#define NPCM7XX_CORST BIT(30) +#define NPCM7XX_WD0RST BIT(29) +#define NPCM7XX_WD1RST BIT(24) +#define NPCM7XX_WD2RST BIT(23) +#define NPCM7XX_SWR1RST BIT(28) +#define NPCM7XX_SWR2RST BIT(27) +#define NPCM7XX_SWR3RST BIT(26) +#define NPCM7XX_SWR4RST BIT(25) +#define NPCM8XX_RST (GENMASK(31, 23) | GENMASK(15, 12)) + #define NPCM_WTCLK (BIT(10) | BIT(11)) /* Clock divider */ #define NPCM_WTE BIT(7) /* Enable */ #define NPCM_WTIE BIT(6) /* Enable irq */ @@ -45,6 +61,9 @@ struct npcm_wdt { struct watchdog_device wdd; void __iomem *reg; struct clk *clk; + u32 card_reset; + u32 ext1_reset; + u32 ext2_reset; }; =20 static inline struct npcm_wdt *to_npcm_wdt(struct watchdog_device *wdd) @@ -185,6 +204,95 @@ static const struct watchdog_ops npcm_wdt_ops =3D { .restart =3D npcm_wdt_restart, }; =20 +static u32 npcm_wdt_reset_type(const char *reset_type) +{ + if (!strcmp(reset_type, "porst")) + return NPCM7XX_PORST; + else if (!strcmp(reset_type, "corst")) + return NPCM7XX_CORST; + else if (!strcmp(reset_type, "wd0")) + return NPCM7XX_WD0RST; + else if (!strcmp(reset_type, "wd1")) + return NPCM7XX_WD1RST; + else if (!strcmp(reset_type, "wd2")) + return NPCM7XX_WD2RST; + else if (!strcmp(reset_type, "sw1")) + return NPCM7XX_SWR1RST; + else if (!strcmp(reset_type, "sw2")) + return NPCM7XX_SWR2RST; + else if (!strcmp(reset_type, "sw3")) + return NPCM7XX_SWR3RST; + else if (!strcmp(reset_type, "sw4")) + return NPCM7XX_SWR4RST; + + return 0; +} + +static void npcm_get_reset_status(struct npcm_wdt *wdt, struct device *dev) +{ + const char *card_reset_type; + const char *ext1_reset_type; + const char *ext2_reset_type; + struct regmap *gcr_regmap; + u32 rstval, ressrval; + int ret; + + gcr_regmap =3D syscon_regmap_lookup_by_phandle(dev->of_node, "syscon"); + if (IS_ERR(gcr_regmap)) { + dev_warn(dev, "Failed to find gcr syscon, WD reset status not supported\= n"); + return; + } + + ret =3D of_property_read_string(dev->of_node, + "nuvoton,card-reset-type", + &card_reset_type); + if (ret) + wdt->card_reset =3D NPCM7XX_PORST; + else + wdt->card_reset =3D npcm_wdt_reset_type(card_reset_type); + + ret =3D of_property_read_string(dev->of_node, + "nuvoton,ext1-reset-type", + &ext1_reset_type); + if (ret) + wdt->ext1_reset =3D 0; + else + wdt->ext1_reset =3D npcm_wdt_reset_type(ext1_reset_type); + + ret =3D of_property_read_string(dev->of_node, + "nuvoton,ext2-reset-type", + &ext2_reset_type); + if (ret) + wdt->ext2_reset =3D 0; + else + wdt->ext2_reset =3D npcm_wdt_reset_type(ext2_reset_type); + + regmap_read(gcr_regmap, NPCM7XX_INTCR2_OFFSET, &rstval); + /* prefer the most specific SoC first */ + if (of_device_is_compatible(dev->of_node, "nuvoton,npcm845-wdt")) { + regmap_write(gcr_regmap, NPCM7XX_INTCR2_OFFSET, + rstval & ~NPCM8XX_RST); + } else if (of_device_is_compatible(dev->of_node, "nuvoton,npcm750-wdt")) { + if ((rstval & NPCM7XX_PORST) =3D=3D 0) { + rstval =3D NPCM7XX_PORST; + regmap_write(gcr_regmap, NPCM7XX_INTCR2_OFFSET, + rstval | NPCM7XX_PORST); + } else { + rstval =3D 0; + } + regmap_read(gcr_regmap, NPCM7XX_RESSR_OFFSET, &ressrval); + rstval |=3D ressrval; + regmap_write(gcr_regmap, NPCM7XX_RESSR_OFFSET, ressrval); + } + + if (rstval & wdt->card_reset) + wdt->wdd.bootstatus |=3D WDIOF_CARDRESET; + if (rstval & wdt->ext1_reset) + wdt->wdd.bootstatus |=3D WDIOF_EXTERN1; + if (rstval & wdt->ext2_reset) + wdt->wdd.bootstatus |=3D WDIOF_EXTERN2; +} + static int npcm_wdt_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -208,6 +316,8 @@ static int npcm_wdt_probe(struct platform_device *pdev) if (irq < 0) return irq; =20 + npcm_get_reset_status(wdt, dev); + wdt->wdd.info =3D &npcm_wdt_info; wdt->wdd.ops =3D &npcm_wdt_ops; wdt->wdd.min_timeout =3D 1; --=20 2.34.1