xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/atmel-wdt.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Atmel Watchdog Timers
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel Vadot** at91sam9-wdt
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel VadotRequired properties:
6*c66ec88fSEmmanuel Vadot- compatible: must be "atmel,at91sam9260-wdt".
7*c66ec88fSEmmanuel Vadot- reg: physical base address of the controller and length of memory mapped
8*c66ec88fSEmmanuel Vadot  region.
9*c66ec88fSEmmanuel Vadot- clocks: phandle to input clock.
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotOptional properties:
12*c66ec88fSEmmanuel Vadot- timeout-sec: contains the watchdog timeout in seconds.
13*c66ec88fSEmmanuel Vadot- interrupts : Should contain WDT interrupt.
14*c66ec88fSEmmanuel Vadot- atmel,max-heartbeat-sec : Should contain the maximum heartbeat value in
15*c66ec88fSEmmanuel Vadot	seconds. This value should be less or equal to 16. It is used to
16*c66ec88fSEmmanuel Vadot	compute the WDV field.
17*c66ec88fSEmmanuel Vadot- atmel,min-heartbeat-sec : Should contain the minimum heartbeat value in
18*c66ec88fSEmmanuel Vadot	seconds. This value must be smaller than the max-heartbeat-sec value.
19*c66ec88fSEmmanuel Vadot	It is used to compute the WDD field.
20*c66ec88fSEmmanuel Vadot- atmel,watchdog-type : Should be "hardware" or "software". Hardware watchdog
21*c66ec88fSEmmanuel Vadot	use the at91 watchdog reset. Software watchdog use the watchdog
22*c66ec88fSEmmanuel Vadot	interrupt to trigger a software reset.
23*c66ec88fSEmmanuel Vadot- atmel,reset-type : Should be "proc" or "all".
24*c66ec88fSEmmanuel Vadot	"all" : assert peripherals and processor reset signals
25*c66ec88fSEmmanuel Vadot	"proc" : assert the processor reset signal
26*c66ec88fSEmmanuel Vadot	This is valid only when using "hardware" watchdog.
27*c66ec88fSEmmanuel Vadot- atmel,disable : Should be present if you want to disable the watchdog.
28*c66ec88fSEmmanuel Vadot- atmel,idle-halt : Should be present if you want to stop the watchdog when
29*c66ec88fSEmmanuel Vadot	entering idle state.
30*c66ec88fSEmmanuel Vadot	CAUTION: This property should be used with care, it actually makes the
31*c66ec88fSEmmanuel Vadot	watchdog not counting when the CPU is in idle state, therefore the
32*c66ec88fSEmmanuel Vadot	watchdog reset time depends on mean CPU usage and will not reset at all
33*c66ec88fSEmmanuel Vadot	if the CPU stop working while it is in idle state, which is probably
34*c66ec88fSEmmanuel Vadot	not what you want.
35*c66ec88fSEmmanuel Vadot- atmel,dbg-halt : Should be present if you want to stop the watchdog when
36*c66ec88fSEmmanuel Vadot	entering debug state.
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel VadotExample:
39*c66ec88fSEmmanuel Vadot	watchdog@fffffd40 {
40*c66ec88fSEmmanuel Vadot		compatible = "atmel,at91sam9260-wdt";
41*c66ec88fSEmmanuel Vadot		reg = <0xfffffd40 0x10>;
42*c66ec88fSEmmanuel Vadot		interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
43*c66ec88fSEmmanuel Vadot		clocks = <&clk32k>;
44*c66ec88fSEmmanuel Vadot		timeout-sec = <15>;
45*c66ec88fSEmmanuel Vadot		atmel,watchdog-type = "hardware";
46*c66ec88fSEmmanuel Vadot		atmel,reset-type = "all";
47*c66ec88fSEmmanuel Vadot		atmel,dbg-halt;
48*c66ec88fSEmmanuel Vadot		atmel,idle-halt;
49*c66ec88fSEmmanuel Vadot		atmel,max-heartbeat-sec = <16>;
50*c66ec88fSEmmanuel Vadot		atmel,min-heartbeat-sec = <0>;
51*c66ec88fSEmmanuel Vadot	};
52