User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 243
UG585 (v1.11) September 27, 2016
Chapter 8: Timers
8.4.5 Programming Model
System Watchdog Timer Enable Sequence
1. Select clock input source using the slcr.WDT_CLK_SEL[SEL] bit:
Ensure that the SWDT is disabled (swdt.MODE[WDEN] = 0) and the clock input source to be
selected is running before proceeding with this step. Changing the clock input source when the
SWDT is enabled results in unpredictable behavior. Changing the clock input source to a
non-running clock results in APB access hang.
2. Set the timeout period (Counter Control register):
The swdt.CONTROL[CKEY] field must be 0x248 to be able to write this register.
3. Enable the counter; enable output pulses; set up output pulse lengths (Zero Mode register):
The swdt.MODE[ZKEY] field must be 0xABC to be able to write this register. Ensure that IRQLN
meets the specified minimum values.
4. To run the SWDT with a different setting, disable the timer first (swdt.MODE[ZKEY] bit). Then
repeat steps 1, 2, and 3.
8.4.6 Clock Input Option for SWDT
The following code shows how the AP SoC selects the clock source for SWDT:
if slcr.WDT_CLK_SEL[0] is 0, use CPU_1X
else if slcr.MIO_PIN_14[7:0] is 01100000, use MIO pin 14
else if slcr.MIO_PIN_26[7:0] is 01100000, use MIO pin 26
else if slcr.MIO_PIN_38[7:0] is 01100000, use MIO pin 38
else if slcr.MIO_PIN_50[7:0] is 01100000, use MIO pin 50
else if slcr.MIO_PIN_52[7:0] is 01100000, use MIO pin 52
else use EMIOWDTCLKI
8.4.7 Reset Output Option for SWDT
The following code shows how the AP SoC selects the reset output pin for SWDT:
if slcr.WDT_CLK_sel[0] is 0, no output (to PS reset system only)
else if slcr.MIO_PIN_15[7:0] is 01100000, use MIO pin 15
else if slcr.MIO_PIN_27[7:0] is 01100000, use MIO pin 27
else if slcr.MIO_PIN_39[7:0] is 01100000, use MIO pin 39
else if slcr.MIO_PIN_51[7:0] is 01100000, use MIO pin 51
else if slcr.MIO_PIN_53[7:0] is 01100000, use MIO pin 53
else use EMIOWDTRSTO