blob: b79a83b467cec8c790e6fe02bf66c3776ddaa5bf [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
Jean-Christophe Plagniol-Villarde7b39142011-07-15 01:52:05 +02002 * drivers/watchdog/at91sam9_wdt.h
Russell Kinga09e64f2008-08-05 16:14:15 +01003 *
Andrew Victor3d73e892008-09-18 21:44:20 +01004 * Copyright (C) 2007 Andrew Victor
5 * Copyright (C) 2007 Atmel Corporation.
6 *
Russell Kinga09e64f2008-08-05 16:14:15 +01007 * Watchdog Timer (WDT) - System peripherals regsters.
8 * Based on AT91SAM9261 datasheet revision D.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 */
15
16#ifndef AT91_WDT_H
17#define AT91_WDT_H
18
Jean-Christophe PLAGNIOL-VILLARDc1c30a22011-11-02 01:43:31 +080019#define AT91_WDT_CR 0x00 /* Watchdog Control Register */
Russell Kinga09e64f2008-08-05 16:14:15 +010020#define AT91_WDT_WDRSTT (1 << 0) /* Restart */
21#define AT91_WDT_KEY (0xa5 << 24) /* KEY Password */
22
Jean-Christophe PLAGNIOL-VILLARDc1c30a22011-11-02 01:43:31 +080023#define AT91_WDT_MR 0x04 /* Watchdog Mode Register */
Russell Kinga09e64f2008-08-05 16:14:15 +010024#define AT91_WDT_WDV (0xfff << 0) /* Counter Value */
Wenyou Yang76534862015-08-06 18:16:46 +080025#define AT91_WDT_SET_WDV(x) ((x) & AT91_WDT_WDV)
Russell Kinga09e64f2008-08-05 16:14:15 +010026#define AT91_WDT_WDFIEN (1 << 12) /* Fault Interrupt Enable */
27#define AT91_WDT_WDRSTEN (1 << 13) /* Reset Processor */
28#define AT91_WDT_WDRPROC (1 << 14) /* Timer Restart */
29#define AT91_WDT_WDDIS (1 << 15) /* Watchdog Disable */
30#define AT91_WDT_WDD (0xfff << 16) /* Delta Value */
Wenyou Yang76534862015-08-06 18:16:46 +080031#define AT91_WDT_SET_WDD(x) (((x) << 16) & AT91_WDT_WDD)
Russell Kinga09e64f2008-08-05 16:14:15 +010032#define AT91_WDT_WDDBGHLT (1 << 28) /* Debug Halt */
33#define AT91_WDT_WDIDLEHLT (1 << 29) /* Idle Halt */
34
Jean-Christophe PLAGNIOL-VILLARDc1c30a22011-11-02 01:43:31 +080035#define AT91_WDT_SR 0x08 /* Watchdog Status Register */
Russell Kinga09e64f2008-08-05 16:14:15 +010036#define AT91_WDT_WDUNF (1 << 0) /* Watchdog Underflow */
37#define AT91_WDT_WDERR (1 << 1) /* Watchdog Error */
38
39#endif