Skip to content

Commit 2225acc

Browse files
committed
Merge tag 'linux-watchdog-5.17-rc1' of git://www.linux-watchdog.org/linux-watchdog
Pull watchdog updates from Wim Van Sebroeck: - New device support: - Watchdog Timer driver for RZ/G2L - Realtek Otto watchdog timer - Apple SoC watchdog driver - Fintek F81966 - Remove BCM63XX_WDT after support for this SoC was added to BCM7038_WDT - Improvements of the BCM7038_WDT and s3c2410_wdt code - Several other fixes and improvements * tag 'linux-watchdog-5.17-rc1' of git://www.linux-watchdog.org/linux-watchdog: (38 commits) watchdog: msc313e: Check if the WDT was running at boot watchdog: Add Apple SoC watchdog driver dt-bindings: watchdog: Add SM6350 and SM8250 compatible watchdog: s3c2410: Fix getting the optional clock watchdog: s3c2410: Use platform_get_irq() to get the interrupt dt-bindings: watchdog: atmel: Add missing 'interrupts' property watchdog: mtk_wdt: use platform_get_irq_optional watchdog: Add Watchdog Timer driver for RZ/G2L dt-bindings: watchdog: renesas,wdt: Add support for RZ/G2L watchdog: da9063: Add hard dependency on I2C watchdog: Add Realtek Otto watchdog timer dt-bindings: watchdog: Realtek Otto WDT binding watchdog: s3c2410: Add Exynos850 support watchdog: da9063: use atomic safe i2c transfer in reset handler watchdog: davinci: Use div64_ul instead of do_div watchdog: Remove BCM63XX_WDT MIPS: BCM63XX: Provide platform data to watchdog device watchdog: bcm7038_wdt: Add platform device id for bcm63xx-wdt watchdog: Allow building BCM7038_WDT for BCM63XX watchdog: bcm7038_wdt: Support platform data configuration ...
2 parents b70b878 + ffd264b commit 2225acc

24 files changed

+1492
-492
lines changed

Documentation/devicetree/bindings/watchdog/brcm,bcm7038-wdt.txt

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/watchdog/brcm,bcm7038-wdt.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: BCM63xx and BCM7038 watchdog timer
8+
9+
allOf:
10+
- $ref: "watchdog.yaml#"
11+
12+
maintainers:
13+
- Florian Fainelli <[email protected]>
14+
- Justin Chen <[email protected]>
15+
- Rafał Miłecki <[email protected]>
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- brcm,bcm6345-wdt
21+
- brcm,bcm7038-wdt
22+
23+
reg:
24+
maxItems: 1
25+
26+
clocks:
27+
maxItems: 1
28+
description: >
29+
The clock running the watchdog. If no clock is found the driver will
30+
default to 27000000 Hz.
31+
32+
unevaluatedProperties: false
33+
34+
required:
35+
- reg
36+
37+
examples:
38+
- |
39+
watchdog@f040a7e8 {
40+
compatible = "brcm,bcm7038-wdt";
41+
reg = <0xf040a7e8 0x16>;
42+
clocks = <&upg_fixed>;
43+
};

Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- fsl,imx7ulp-wdt
17+
oneOf:
18+
- const: fsl,imx7ulp-wdt
19+
- items:
20+
- const: fsl,imx8ulp-wdt
21+
- const: fsl,imx7ulp-wdt
1922

2023
reg:
2124
maxItems: 1

Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ properties:
2020
- qcom,apss-wdt-sc7280
2121
- qcom,apss-wdt-sdm845
2222
- qcom,apss-wdt-sdx55
23+
- qcom,apss-wdt-sm6350
2324
- qcom,apss-wdt-sm8150
25+
- qcom,apss-wdt-sm8250
2426
- qcom,kpss-timer
2527
- qcom,kpss-wdt
2628
- qcom,kpss-wdt-apq8064
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/watchdog/realtek,otto-wdt.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Realtek Otto watchdog timer
8+
9+
maintainers:
10+
- Sander Vanheule <[email protected]>
11+
12+
description: |
13+
The timer has two timeout phases. Both phases have a maximum duration of 32
14+
prescaled clock ticks, which is ca. 43s with a bus clock of 200MHz. The
15+
minimum duration of each phase is one tick. Each phase can trigger an
16+
interrupt, although the phase 2 interrupt will occur with the system reset.
17+
- Phase 1: During this phase, the WDT can be pinged to reset the timeout.
18+
- Phase 2: Starts after phase 1 has timed out, and only serves to give the
19+
system some time to clean up, or notify others that it's going to reset.
20+
During this phase, pinging the WDT has no effect, and a reset is
21+
unavoidable, unless the WDT is disabled.
22+
23+
allOf:
24+
- $ref: watchdog.yaml#
25+
26+
properties:
27+
compatible:
28+
enum:
29+
- realtek,rtl8380-wdt
30+
- realtek,rtl8390-wdt
31+
- realtek,rtl9300-wdt
32+
33+
reg:
34+
maxItems: 1
35+
36+
clocks:
37+
maxItems: 1
38+
39+
interrupts:
40+
items:
41+
- description: interrupt specifier for pretimeout
42+
- description: interrupt specifier for timeout
43+
44+
interrupt-names:
45+
items:
46+
- const: phase1
47+
- const: phase2
48+
49+
realtek,reset-mode:
50+
$ref: /schemas/types.yaml#/definitions/string
51+
description: |
52+
Specify how the system is reset after a timeout. Defaults to "cpu" if
53+
left unspecified.
54+
oneOf:
55+
- description: Reset the entire chip
56+
const: soc
57+
- description: |
58+
Reset the CPU and IPsec engine, but leave other peripherals untouched
59+
const: cpu
60+
- description: |
61+
Reset the execution pointer, but don't actually reset any hardware
62+
const: software
63+
64+
required:
65+
- compatible
66+
- reg
67+
- clocks
68+
- interrupts
69+
70+
unevaluatedProperties: false
71+
72+
dependencies:
73+
interrupts: [ interrupt-names ]
74+
75+
examples:
76+
- |
77+
watchdog: watchdog@3150 {
78+
compatible = "realtek,rtl8380-wdt";
79+
reg = <0x3150 0xc>;
80+
81+
realtek,reset-mode = "soc";
82+
83+
clocks = <&lxbus_clock>;
84+
timeout-sec = <20>;
85+
86+
interrupt-parent = <&rtlintc>;
87+
interrupt-names = "phase1", "phase2";
88+
interrupts = <19>, <18>;
89+
};
90+
91+
...

Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml

Lines changed: 57 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ maintainers:
1010
- Wolfram Sang <[email protected]>
1111
- Geert Uytterhoeven <[email protected]>
1212

13-
allOf:
14-
- $ref: "watchdog.yaml#"
15-
1613
properties:
1714
compatible:
1815
oneOf:
@@ -22,6 +19,11 @@ properties:
2219
- renesas,r7s9210-wdt # RZ/A2
2320
- const: renesas,rza-wdt # RZ/A
2421

22+
- items:
23+
- enum:
24+
- renesas,r9a07g044-wdt # RZ/G2{L,LC}
25+
- const: renesas,rzg2l-wdt # RZ/G2L
26+
2527
- items:
2628
- enum:
2729
- renesas,r8a7742-wdt # RZ/G1H
@@ -56,11 +58,13 @@ properties:
5658
reg:
5759
maxItems: 1
5860

59-
interrupts:
60-
maxItems: 1
61+
interrupts: true
6162

62-
clocks:
63-
maxItems: 1
63+
interrupt-names: true
64+
65+
clocks: true
66+
67+
clock-names: true
6468

6569
power-domains:
6670
maxItems: 1
@@ -75,17 +79,52 @@ required:
7579
- reg
7680
- clocks
7781

78-
if:
79-
not:
80-
properties:
81-
compatible:
82-
contains:
83-
enum:
84-
- renesas,rza-wdt
85-
then:
86-
required:
87-
- power-domains
88-
- resets
82+
allOf:
83+
- $ref: "watchdog.yaml#"
84+
85+
- if:
86+
not:
87+
properties:
88+
compatible:
89+
contains:
90+
enum:
91+
- renesas,rza-wdt
92+
then:
93+
required:
94+
- power-domains
95+
- resets
96+
97+
- if:
98+
properties:
99+
compatible:
100+
contains:
101+
enum:
102+
- renesas,rzg2l-wdt
103+
then:
104+
properties:
105+
interrupts:
106+
maxItems: 2
107+
interrupt-names:
108+
items:
109+
- const: wdt
110+
- const: perrout
111+
clocks:
112+
items:
113+
- description: Register access clock
114+
- description: Main clock
115+
clock-names:
116+
items:
117+
- const: pclk
118+
- const: oscclk
119+
required:
120+
- clock-names
121+
- interrupt-names
122+
else:
123+
properties:
124+
interrupts:
125+
maxItems: 1
126+
clocks:
127+
maxItems: 1
89128

90129
additionalProperties: false
91130

Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,32 @@ properties:
2222
- samsung,exynos5250-wdt # for Exynos5250
2323
- samsung,exynos5420-wdt # for Exynos5420
2424
- samsung,exynos7-wdt # for Exynos7
25+
- samsung,exynos850-wdt # for Exynos850
2526

2627
reg:
2728
maxItems: 1
2829

2930
clocks:
30-
maxItems: 1
31+
minItems: 1
32+
maxItems: 2
3133

3234
clock-names:
33-
items:
34-
- const: watchdog
35+
minItems: 1
36+
maxItems: 2
3537

3638
interrupts:
3739
maxItems: 1
3840

41+
samsung,cluster-index:
42+
$ref: /schemas/types.yaml#/definitions/uint32
43+
description:
44+
Index of CPU cluster on which watchdog is running (in case of Exynos850)
45+
3946
samsung,syscon-phandle:
4047
$ref: /schemas/types.yaml#/definitions/phandle
4148
description:
42-
Phandle to the PMU system controller node (in case of Exynos5250
43-
and Exynos5420).
49+
Phandle to the PMU system controller node (in case of Exynos5250,
50+
Exynos5420, Exynos7 and Exynos850).
4451

4552
required:
4653
- compatible
@@ -58,9 +65,40 @@ allOf:
5865
enum:
5966
- samsung,exynos5250-wdt
6067
- samsung,exynos5420-wdt
68+
- samsung,exynos7-wdt
69+
- samsung,exynos850-wdt
6170
then:
6271
required:
6372
- samsung,syscon-phandle
73+
- if:
74+
properties:
75+
compatible:
76+
contains:
77+
enum:
78+
- samsung,exynos850-wdt
79+
then:
80+
properties:
81+
clocks:
82+
items:
83+
- description: Bus clock, used for register interface
84+
- description: Source clock (driving watchdog counter)
85+
clock-names:
86+
items:
87+
- const: watchdog
88+
- const: watchdog_src
89+
samsung,cluster-index:
90+
enum: [0, 1]
91+
required:
92+
- samsung,cluster-index
93+
else:
94+
properties:
95+
clocks:
96+
items:
97+
- description: Bus clock, which is also a source clock
98+
clock-names:
99+
items:
100+
- const: watchdog
101+
samsung,cluster-index: false
64102

65103
unevaluatedProperties: false
66104

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16343,6 +16343,13 @@ S: Maintained
1634316343
F: include/sound/rt*.h
1634416344
F: sound/soc/codecs/rt*
1634516345

16346+
REALTEK OTTO WATCHDOG
16347+
M: Sander Vanheule <[email protected]>
16348+
16349+
S: Maintained
16350+
F: Documentation/devicetree/bindings/watchdog/realtek,otto-wdt.yaml
16351+
F: drivers/watchdog/realtek_otto_wdt.c
16352+
1634616353
REALTEK RTL83xx SMI DSA ROUTER CHIPS
1634716354
M: Linus Walleij <[email protected]>
1634816355
S: Maintained

0 commit comments

Comments
 (0)