Skip to content

Commit c91e587

Browse files
committed
Merge tag 'linux-watchdog-6.5-rc1' of git://www.linux-watchdog.org/linux-watchdog
Pull watchdog updates from Wim Van Sebroeck: - add Xilinx Versal watchdog - support Hygon FCH/SCH (Server Controller Hub) - convert GPL notices to SPDX identifiers - other improvements * tag 'linux-watchdog-6.5-rc1' of git://www.linux-watchdog.org/linux-watchdog: watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) dt-bindings: watchdog: restrict node name suffixes MAINTAINERS: Add support for Xilinx versal watchdog watchdog: xilinx_wwdt: Add Versal window watchdog support dt-bindings: watchdog: xlnx,versal-wwdt: Add versal watchdog watchdog: ziirave_wdt: Switch i2c driver back to use .probe() watchdog: ibmasr: Replace GPL license notice with SPDX identifier watchdog: Convert GPL 2.0 notice to SPDX identifier watchdog: loongson1_wdt: Add DT support
2 parents c17414a + 009637d commit c91e587

19 files changed

Lines changed: 299 additions & 36 deletions
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/watchdog/xlnx,versal-wwdt.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Xilinx Versal window watchdog timer controller
8+
9+
maintainers:
10+
- Neeli Srinivas <srinivas.neeli@amd.com>
11+
12+
description:
13+
Versal watchdog intellectual property uses window watchdog mode.
14+
Window watchdog timer(WWDT) contains closed(first) and open(second)
15+
window with 32 bit width. Write to the watchdog timer within
16+
predefined window periods of time. This means a period that is not
17+
too soon and a period that is not too late. The WWDT has to be
18+
restarted within the open window time. If software tries to restart
19+
WWDT outside of the open window time period, it generates a reset.
20+
21+
allOf:
22+
- $ref: watchdog.yaml#
23+
24+
properties:
25+
compatible:
26+
enum:
27+
- xlnx,versal-wwdt
28+
29+
reg:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 1
34+
35+
required:
36+
- compatible
37+
- reg
38+
- clocks
39+
40+
unevaluatedProperties: false
41+
42+
examples:
43+
- |
44+
watchdog@fd4d0000 {
45+
compatible = "xlnx,versal-wwdt";
46+
reg = <0xfd4d0000 0x10000>;
47+
clocks = <&clock25>;
48+
timeout-sec = <30>;
49+
};
50+
...

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23460,8 +23460,10 @@ M: Srinivas Neeli <srinivas.neeli@amd.com>
2346023460
R: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
2346123461
R: Michal Simek <michal.simek@amd.com>
2346223462
S: Maintained
23463+
F: Documentation/devicetree/bindings/watchdog/xlnx,versal-wwdt.yaml
2346323464
F: Documentation/devicetree/bindings/watchdog/xlnx,xps-timebase-wdt.yaml
2346423465
F: drivers/watchdog/of_xilinx_wdt.c
23466+
F: drivers/watchdog/xilinx_wwdt.c
2346523467

2346623468
XILINX XDMA DRIVER
2346723469
M: Lizhi Hou <lizhi.hou@amd.com>

drivers/watchdog/Kconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,24 @@ config XILINX_WATCHDOG
304304
To compile this driver as a module, choose M here: the
305305
module will be called of_xilinx_wdt.
306306

307+
config XILINX_WINDOW_WATCHDOG
308+
tristate "Xilinx window watchdog timer"
309+
depends on HAS_IOMEM
310+
depends on ARM64
311+
select WATCHDOG_CORE
312+
help
313+
Window watchdog driver for the versal_wwdt IP core.
314+
Window watchdog timer(WWDT) contains closed(first) and
315+
open(second) window with 32 bit width. Write to the watchdog
316+
timer within predefined window periods of time. This means
317+
a period that is not too soon and a period that is not too
318+
late. The WWDT has to be restarted within the open window time.
319+
If software tries to restart WWDT outside of the open window
320+
time period, it generates a reset.
321+
322+
To compile this driver as a module, choose M here: the
323+
module will be called xilinx_wwdt.
324+
307325
config ZIIRAVE_WATCHDOG
308326
tristate "Zodiac RAVE Watchdog Timer"
309327
depends on I2C

drivers/watchdog/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ obj-$(CONFIG_M54xx_WATCHDOG) += m54xx_wdt.o
157157

158158
# MicroBlaze Architecture
159159
obj-$(CONFIG_XILINX_WATCHDOG) += of_xilinx_wdt.o
160+
obj-$(CONFIG_XILINX_WINDOW_WATCHDOG) += xilinx_wwdt.o
160161

161162
# MIPS Architecture
162163
obj-$(CONFIG_ATH79_WDT) += ath79_wdt.o

drivers/watchdog/ep93xx_wdt.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* Watchdog driver for Cirrus Logic EP93xx family of devices.
34
*
@@ -11,10 +12,6 @@
1112
* Copyright (c) 2012 H Hartley Sweeten <hsweeten@visionengravers.com>
1213
* Convert to a platform device and use the watchdog framework API
1314
*
14-
* This file is licensed under the terms of the GNU General Public
15-
* License version 2. This program is licensed "as is" without any
16-
* warranty of any kind, whether express or implied.
17-
*
1815
* This watchdog fires after 250msec, which is a too short interval
1916
* for us to rely on the user space daemon alone. So we ping the
2017
* wdt each ~200msec and eventually stop doing it if the user space

drivers/watchdog/ibmasr.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// SPDX-License-Identifier: GPL-1.0+
12
/*
23
* IBM Automatic Server Restart driver.
34
*
@@ -6,8 +7,6 @@
67
* Based on driver written by Pete Reynolds.
78
* Copyright (c) IBM Corporation, 1998-2004.
89
*
9-
* This software may be used and distributed according to the terms
10-
* of the GNU Public License, incorporated herein by reference.
1110
*/
1211

1312
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

drivers/watchdog/loongson1_wdt.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include <linux/clk.h>
77
#include <linux/module.h>
8+
#include <linux/of.h>
89
#include <linux/platform_device.h>
910
#include <linux/watchdog.h>
1011

@@ -112,7 +113,7 @@ static int ls1x_wdt_probe(struct platform_device *pdev)
112113
if (IS_ERR(drvdata->base))
113114
return PTR_ERR(drvdata->base);
114115

115-
drvdata->clk = devm_clk_get_enabled(dev, pdev->name);
116+
drvdata->clk = devm_clk_get_enabled(dev, NULL);
116117
if (IS_ERR(drvdata->clk))
117118
return PTR_ERR(drvdata->clk);
118119

@@ -144,10 +145,20 @@ static int ls1x_wdt_probe(struct platform_device *pdev)
144145
return 0;
145146
}
146147

148+
#ifdef CONFIG_OF
149+
static const struct of_device_id ls1x_wdt_dt_ids[] = {
150+
{ .compatible = "loongson,ls1b-wdt", },
151+
{ .compatible = "loongson,ls1c-wdt", },
152+
{ /* sentinel */ }
153+
};
154+
MODULE_DEVICE_TABLE(of, ls1x_wdt_dt_ids);
155+
#endif
156+
147157
static struct platform_driver ls1x_wdt_driver = {
148158
.probe = ls1x_wdt_probe,
149159
.driver = {
150160
.name = "ls1x-wdt",
161+
.of_match_table = of_match_ptr(ls1x_wdt_dt_ids),
151162
},
152163
};
153164

drivers/watchdog/m54xx_wdt.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* drivers/watchdog/m54xx_wdt.c
34
*
@@ -11,9 +12,6 @@
1112
* Copyright 2004 (c) MontaVista, Software, Inc.
1213
* Based on sa1100 driver, Copyright (C) 2000 Oleg Drokin <green@crimea.edu>
1314
*
14-
* This file is licensed under the terms of the GNU General Public
15-
* License version 2. This program is licensed "as is" without any
16-
* warranty of any kind, whether express or implied.
1715
*/
1816

1917
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

drivers/watchdog/max63xx_wdt.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* drivers/char/watchdog/max63xx_wdt.c
34
*
45
* Driver for max63{69,70,71,72,73,74} watchdog timers
56
*
67
* Copyright (C) 2009 Marc Zyngier <maz@misterjones.org>
78
*
8-
* This file is licensed under the terms of the GNU General Public
9-
* License version 2. This program is licensed "as is" without any
10-
* warranty of any kind, whether express or implied.
11-
*
129
* This driver assumes the watchdog pins are memory mapped (as it is
1310
* the case for the Arcom Zeus). Should it be connected over GPIOs or
1411
* another interface, some abstraction will have to be introduced.

drivers/watchdog/moxart_wdt.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* MOXA ART SoCs watchdog driver.
34
*
45
* Copyright (C) 2013 Jonas Jensen
56
*
67
* Jonas Jensen <jonas.jensen@gmail.com>
78
*
8-
* This file is licensed under the terms of the GNU General Public
9-
* License version 2. This program is licensed "as is" without any
10-
* warranty of any kind, whether express or implied.
119
*/
1210

1311
#include <linux/clk.h>

0 commit comments

Comments
 (0)