devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support
@ 2023-01-06 11:53 Allen-KH Cheng
  2023-01-06 11:53 ` [PATCH 1/2] dt-bindings: watchdog: " Allen-KH Cheng
  2023-01-06 11:53 ` [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support Allen-KH Cheng
  0 siblings, 2 replies; 5+ messages in thread
From: Allen-KH Cheng @ 2023-01-06 11:53 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
	Matthias Brugger, Rob Herring, linux-watchdog
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

This series is based on next-20230106.

In some cases, we may need toprgu to reset the wdt counter after wdt
resets.

Provide a reset_by_toprgu parameter for configuration. We can disable
or enable it by adding reset_by_toprgu in dts.

Allen-KH Cheng (2):
  dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  watchdog: mtk_wdt: Add reset_by_toprgu support

 .../devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml     | 4 ++++
 drivers/watchdog/mtk_wdt.c                                 | 7 +++++++
 2 files changed, 11 insertions(+)

-- 
2.18.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  2023-01-06 11:53 [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support Allen-KH Cheng
@ 2023-01-06 11:53 ` Allen-KH Cheng
  2023-01-06 12:30   ` Krzysztof Kozlowski
  2023-01-06 11:53 ` [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support Allen-KH Cheng
  1 sibling, 1 reply; 5+ messages in thread
From: Allen-KH Cheng @ 2023-01-06 11:53 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
	Matthias Brugger, Rob Herring, linux-watchdog
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

In some applications, the mtk-wdt requires the toprgu (TOP Reset
Generation Unit) to reset counter after wdt resets. Add optional
mediatek,reset-by-toprgu property to enable it.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 .../devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml        | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
index b3605608410c..bf06dcd0c12c 100644
--- a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
@@ -52,6 +52,10 @@ properties:
     description: Disable sending output reset signal
     type: boolean
 
+  mediatek,reset-by-toprgu:
+    description: Reset counter by toprgu
+    type: boolean
+
   '#reset-cells':
     const: 1
 
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support
  2023-01-06 11:53 [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support Allen-KH Cheng
  2023-01-06 11:53 ` [PATCH 1/2] dt-bindings: watchdog: " Allen-KH Cheng
@ 2023-01-06 11:53 ` Allen-KH Cheng
  1 sibling, 0 replies; 5+ messages in thread
From: Allen-KH Cheng @ 2023-01-06 11:53 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
	Matthias Brugger, Rob Herring, linux-watchdog
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

In some cases, the MediaTek watchdog requires the toprgu to reset
counter after wdt resets.

Provide a reset_by_toprgu parameter for configuration.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 drivers/watchdog/mtk_wdt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index 3e6212591e69..a9c437598e7e 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -50,6 +50,7 @@
 #define WDT_MODE_IRQ_EN		(1 << 3)
 #define WDT_MODE_AUTO_START	(1 << 4)
 #define WDT_MODE_DUAL_EN	(1 << 6)
+#define WDT_MODE_CNT_SEL	(1 << 8)
 #define WDT_MODE_KEY		0x22000000
 
 #define WDT_SWRST		0x14
@@ -70,6 +71,7 @@ struct mtk_wdt_dev {
 	spinlock_t lock; /* protects WDT_SWSYSRST reg */
 	struct reset_controller_dev rcdev;
 	bool disable_wdt_extrst;
+	bool reset_by_toprgu;
 };
 
 struct mtk_wdt_data {
@@ -279,6 +281,8 @@ static int mtk_wdt_start(struct watchdog_device *wdt_dev)
 		reg &= ~(WDT_MODE_IRQ_EN | WDT_MODE_DUAL_EN);
 	if (mtk_wdt->disable_wdt_extrst)
 		reg &= ~WDT_MODE_EXRST_EN;
+	if (mtk_wdt->reset_by_toprgu)
+		reg |= WDT_MODE_CNT_SEL;
 	reg |= (WDT_MODE_EN | WDT_MODE_KEY);
 	iowrite32(reg, wdt_base + WDT_MODE);
 
@@ -408,6 +412,9 @@ static int mtk_wdt_probe(struct platform_device *pdev)
 	mtk_wdt->disable_wdt_extrst =
 		of_property_read_bool(dev->of_node, "mediatek,disable-extrst");
 
+	mtk_wdt->reset_by_toprgu =
+		of_property_read_bool(dev->of_node, "mediatek,reset-by-toprgu");
+
 	return 0;
 }
 
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  2023-01-06 11:53 ` [PATCH 1/2] dt-bindings: watchdog: " Allen-KH Cheng
@ 2023-01-06 12:30   ` Krzysztof Kozlowski
  2023-01-09  7:56     ` Allen-KH Cheng (程冠勳)
  0 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-06 12:30 UTC (permalink / raw)
  To: Allen-KH Cheng, Wim Van Sebroeck, Guenter Roeck,
	Krzysztof Kozlowski, Matthias Brugger, Rob Herring,
	linux-watchdog
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek

On 06/01/2023 12:53, Allen-KH Cheng wrote:
> In some applications, the mtk-wdt requires the toprgu (TOP Reset
> Generation Unit) to reset counter after wdt resets. Add optional
> mediatek,reset-by-toprgu property to enable it.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>  .../devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml        | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
> index b3605608410c..bf06dcd0c12c 100644
> --- a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
> @@ -52,6 +52,10 @@ properties:
>      description: Disable sending output reset signal
>      type: boolean
>  
> +  mediatek,reset-by-toprgu:
> +    description: Reset counter by toprgu

Do not copy the property name in description but actually describe it.

Also "toprgu" is a bit cryptic.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  2023-01-06 12:30   ` Krzysztof Kozlowski
@ 2023-01-09  7:56     ` Allen-KH Cheng (程冠勳)
  0 siblings, 0 replies; 5+ messages in thread
From: Allen-KH Cheng (程冠勳) @ 2023-01-09  7:56 UTC (permalink / raw)
  To: wim@linux-watchdog.org, linux@roeck-us.net,
	matthias.bgg@gmail.com, krzysztof.kozlowski@linaro.org,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	linux-watchdog@vger.kernel.org
  Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	Project_Global_Chrome_Upstream_Group, devicetree@vger.kernel.org

Hi Krzysztof,

On Fri, 2023-01-06 at 13:30 +0100, Krzysztof Kozlowski wrote:
> On 06/01/2023 12:53, Allen-KH Cheng wrote:
> > In some applications, the mtk-wdt requires the toprgu (TOP Reset
> > Generation Unit) to reset counter after wdt resets. Add optional
> > mediatek,reset-by-toprgu property to enable it.
> > 
> > Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> > ---
> >  .../devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml        | 4
> > ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
> > b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-wdt.yaml
> > index b3605608410c..bf06dcd0c12c 100644
> > --- a/Documentation/devicetree/bindings/watchdog/mediatek,mtk-
> > wdt.yaml
> > +++ b/Documentation/devicetree/bindings/watchdog/mediatek,mtk-
> > wdt.yaml
> > @@ -52,6 +52,10 @@ properties:
> >      description: Disable sending output reset signal
> >      type: boolean
> >  
> > +  mediatek,reset-by-toprgu:
> > +    description: Reset counter by toprgu
> 
> Do not copy the property name in description but actually describe
> it.
> 
> Also "toprgu" is a bit cryptic.
> 
> Best regards,
> Krzysztof
> 

Sorry for being unclear.

We name toprgu for "TOP Reset Generation Unit" in the mtk SoC, which is
used to reset the system.

mediatek,reset-by-toprgu:
   description: If present, means the watchdog timer will reset by
toprgu after system resets.

What do you think?



Thanks,
Allen

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-09  7:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-06 11:53 [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support Allen-KH Cheng
2023-01-06 11:53 ` [PATCH 1/2] dt-bindings: watchdog: " Allen-KH Cheng
2023-01-06 12:30   ` Krzysztof Kozlowski
2023-01-09  7:56     ` Allen-KH Cheng (程冠勳)
2023-01-06 11:53 ` [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support Allen-KH Cheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).