xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/aspeed-wdt.txt (revision f3087bef11543b42e0d69b708f367097a4118d24)
1Aspeed Watchdog Timer
2
3Required properties:
4 - compatible: must be one of:
5	- "aspeed,ast2400-wdt"
6	- "aspeed,ast2500-wdt"
7	- "aspeed,ast2600-wdt"
8
9 - reg: physical base address of the controller and length of memory mapped
10   region
11
12Optional properties:
13
14 - aspeed,reset-type = "cpu|soc|system|none"
15
16   Reset behavior - Whenever a timeout occurs the watchdog can be programmed
17   to generate one of three different, mutually exclusive, types of resets.
18
19   Type "none" can be specified to indicate that no resets are to be done.
20   This is useful in situations where another watchdog engine on chip is
21   to perform the reset.
22
23   If 'aspeed,reset-type=' is not specified the default is to enable system
24   reset.
25
26   Reset types:
27
28        - cpu: Reset CPU on watchdog timeout
29
30        - soc: Reset 'System on Chip' on watchdog timeout
31
32        - system: Reset system on watchdog timeout
33
34        - none: No reset is performed on timeout. Assumes another watchdog
35                engine is responsible for this.
36
37 - aspeed,alt-boot:    If property is present then boot from alternate block.
38 - aspeed,external-signal: If property is present then signal is sent to
39			external reset counter (only WDT1 and WDT2). If not
40			specified no external signal is sent.
41 - aspeed,ext-pulse-duration: External signal pulse duration in microseconds
42
43Optional properties for AST2500-compatible watchdogs:
44 - aspeed,ext-push-pull: If aspeed,external-signal is present, set the pin's
45			 drive type to push-pull. The default is open-drain.
46 - aspeed,ext-active-high: If aspeed,external-signal is present and and the pin
47			   is configured as push-pull, then set the pulse
48			   polarity to active-high. The default is active-low.
49
50Optional properties for AST2500- and AST2600-compatible watchdogs:
51 - aspeed,reset-mask: A bitmask indicating which peripherals will be reset if
52		      the watchdog timer expires.  On AST2500 this should be a
53		      single word defined using the AST2500_WDT_RESET_* macros;
54		      on AST2600 this should be a two-word array with the first
55		      word defined using the AST2600_WDT_RESET1_* macros and the
56		      second word defined using the AST2600_WDT_RESET2_* macros.
57
58Examples:
59
60	wdt1: watchdog@1e785000 {
61		compatible = "aspeed,ast2400-wdt";
62		reg = <0x1e785000 0x1c>;
63		aspeed,reset-type = "system";
64		aspeed,external-signal;
65	};
66
67	#include <dt-bindings/watchdog/aspeed-wdt.h>
68	wdt2: watchdog@1e785040 {
69		compatible = "aspeed,ast2600-wdt";
70		reg = <0x1e785040 0x40>;
71		aspeed,reset-mask = <AST2600_WDT_RESET1_DEFAULT
72				     (AST2600_WDT_RESET2_DEFAULT & ~AST2600_WDT_RESET2_LPC)>;
73	};
74