All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support
@ 2023-01-06 11:53 ` Allen-KH Cheng
  0 siblings, 0 replies; 10+ 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] 10+ messages in thread

* [PATCH 0/2] mtk-wdt: Add reset-by-toprgu support
@ 2023-01-06 11:53 ` Allen-KH Cheng
  0 siblings, 0 replies; 10+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  2023-01-06 11:53 ` Allen-KH Cheng
@ 2023-01-06 11:53   ` Allen-KH Cheng
  -1 siblings, 0 replies; 10+ 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] 10+ messages in thread

* [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
@ 2023-01-06 11:53   ` Allen-KH Cheng
  0 siblings, 0 replies; 10+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support
  2023-01-06 11:53 ` Allen-KH Cheng
@ 2023-01-06 11:53   ` Allen-KH Cheng
  -1 siblings, 0 replies; 10+ 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] 10+ messages in thread

* [PATCH 2/2] watchdog: mtk_wdt: Add reset_by_toprgu support
@ 2023-01-06 11:53   ` Allen-KH Cheng
  0 siblings, 0 replies; 10+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
  2023-01-06 11:53   ` Allen-KH Cheng
@ 2023-01-06 12:30     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 10+ 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] 10+ messages in thread

* Re: [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
@ 2023-01-06 12:30     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 10+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ 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 (程冠勳)
  -1 siblings, 0 replies; 10+ messages in thread
From: Allen-KH Cheng (程冠勳) @ 2023-01-09  7:56 UTC (permalink / raw)
  To: wim, linux, matthias.bgg, krzysztof.kozlowski, robh+dt,
	krzysztof.kozlowski+dt, linux-watchdog
  Cc: linux-arm-kernel, linux-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group, devicetree

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] 10+ messages in thread

* Re: [PATCH 1/2] dt-bindings: watchdog: mtk-wdt: Add reset-by-toprgu support
@ 2023-01-09  7:56       ` Allen-KH Cheng (程冠勳)
  0 siblings, 0 replies; 10+ messages in thread
From: Allen-KH Cheng (程冠勳) @ 2023-01-09  7:56 UTC (permalink / raw)
  To: wim, linux, matthias.bgg, krzysztof.kozlowski, robh+dt,
	krzysztof.kozlowski+dt, linux-watchdog
  Cc: linux-arm-kernel, linux-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group, devicetree

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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

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

Thread overview: 10+ 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 ` 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
2023-01-06 12:30   ` Krzysztof Kozlowski
2023-01-06 12:30     ` Krzysztof Kozlowski
2023-01-09  7:56     ` Allen-KH Cheng (程冠勳)
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
2023-01-06 11:53   ` Allen-KH Cheng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.