xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/starfive,jh7100-wdt.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*fac71e4eSEmmanuel Vadot%YAML 1.2
3*fac71e4eSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/watchdog/starfive,jh7100-wdt.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*fac71e4eSEmmanuel Vadot
7*fac71e4eSEmmanuel Vadottitle: StarFive Watchdog for JH7100 and JH7110 SoC
8*fac71e4eSEmmanuel Vadot
9*fac71e4eSEmmanuel Vadotmaintainers:
10*fac71e4eSEmmanuel Vadot  - Xingyu Wu <xingyu.wu@starfivetech.com>
11*fac71e4eSEmmanuel Vadot  - Samin Guo <samin.guo@starfivetech.com>
12*fac71e4eSEmmanuel Vadot
13*fac71e4eSEmmanuel Vadotdescription:
14*fac71e4eSEmmanuel Vadot  The JH7100 and JH7110 watchdog both are 32 bit counters. JH7100 watchdog
15*fac71e4eSEmmanuel Vadot  has only one timeout phase and reboots. And JH7110 watchdog has two
16*fac71e4eSEmmanuel Vadot  timeout phases. At the first phase, the signal of watchdog interrupt
17*fac71e4eSEmmanuel Vadot  output(WDOGINT) will rise when counter is 0. The counter will reload
18*fac71e4eSEmmanuel Vadot  the timeout value. And then, if counter decreases to 0 again and WDOGINT
19*fac71e4eSEmmanuel Vadot  isn't cleared, the watchdog will reset the system unless the watchdog
20*fac71e4eSEmmanuel Vadot  reset is disabled.
21*fac71e4eSEmmanuel Vadot
22*fac71e4eSEmmanuel VadotallOf:
23*fac71e4eSEmmanuel Vadot  - $ref: watchdog.yaml#
24*fac71e4eSEmmanuel Vadot
25*fac71e4eSEmmanuel Vadotproperties:
26*fac71e4eSEmmanuel Vadot  compatible:
27*fac71e4eSEmmanuel Vadot    enum:
28*fac71e4eSEmmanuel Vadot      - starfive,jh7100-wdt
29*fac71e4eSEmmanuel Vadot      - starfive,jh7110-wdt
30*fac71e4eSEmmanuel Vadot
31*fac71e4eSEmmanuel Vadot  reg:
32*fac71e4eSEmmanuel Vadot    maxItems: 1
33*fac71e4eSEmmanuel Vadot
34*fac71e4eSEmmanuel Vadot  interrupts:
35*fac71e4eSEmmanuel Vadot    maxItems: 1
36*fac71e4eSEmmanuel Vadot
37*fac71e4eSEmmanuel Vadot  clocks:
38*fac71e4eSEmmanuel Vadot    items:
39*fac71e4eSEmmanuel Vadot      - description: APB clock
40*fac71e4eSEmmanuel Vadot      - description: Core clock
41*fac71e4eSEmmanuel Vadot
42*fac71e4eSEmmanuel Vadot  clock-names:
43*fac71e4eSEmmanuel Vadot    items:
44*fac71e4eSEmmanuel Vadot      - const: apb
45*fac71e4eSEmmanuel Vadot      - const: core
46*fac71e4eSEmmanuel Vadot
47*fac71e4eSEmmanuel Vadot  resets:
48*fac71e4eSEmmanuel Vadot    items:
49*fac71e4eSEmmanuel Vadot      - description: APB reset
50*fac71e4eSEmmanuel Vadot      - description: Core reset
51*fac71e4eSEmmanuel Vadot
52*fac71e4eSEmmanuel Vadotrequired:
53*fac71e4eSEmmanuel Vadot  - compatible
54*fac71e4eSEmmanuel Vadot  - reg
55*fac71e4eSEmmanuel Vadot  - clocks
56*fac71e4eSEmmanuel Vadot  - clock-names
57*fac71e4eSEmmanuel Vadot  - resets
58*fac71e4eSEmmanuel Vadot
59*fac71e4eSEmmanuel VadotunevaluatedProperties: false
60*fac71e4eSEmmanuel Vadot
61*fac71e4eSEmmanuel Vadotexamples:
62*fac71e4eSEmmanuel Vadot  - |
63*fac71e4eSEmmanuel Vadot    watchdog@12480000 {
64*fac71e4eSEmmanuel Vadot        compatible = "starfive,jh7100-wdt";
65*fac71e4eSEmmanuel Vadot        reg = <0x12480000 0x10000>;
66*fac71e4eSEmmanuel Vadot        clocks = <&clk 171>,
67*fac71e4eSEmmanuel Vadot                 <&clk 172>;
68*fac71e4eSEmmanuel Vadot        clock-names = "apb", "core";
69*fac71e4eSEmmanuel Vadot        resets = <&rst 99>,
70*fac71e4eSEmmanuel Vadot                 <&rst 100>;
71*fac71e4eSEmmanuel Vadot    };
72