hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 * omap_wdt.h
 *
 * OMAP Watchdog header file
 *
 * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
#ifndef __OMAP_WDT_H__
#define __OMAP_WDT_H__
 
/*
 * Watchdog:
 * Using the prescaler, the OMAP watchdog could go for many
 * months before firing.  These limits work without scaling,
 * with the 60 second default assumed by most tools and docs.
 */
#define TIMER_MARGIN_MAX    (24 * 60 * 60)    /* 1 day */
#define TIMER_MARGIN_DEFAULT    60    /* 60 secs */
#define TIMER_MARGIN_MIN    1
 
#define PTV            0    /* prescale */
#define GET_WLDR_VAL(secs)    (0xffffffff - ((secs) * (32768/(1<<PTV))) + 1)
#define WDT_WWPS_PEND_WCLR    BIT(0)
#define WDT_WWPS_PEND_WLDR    BIT(2)
#define WDT_WWPS_PEND_WTGR    BIT(3)
#define WDT_WWPS_PEND_WSPR    BIT(4)
 
#define WDT_WCLR_PRE        BIT(5)
#define WDT_WCLR_PTV_OFF    2
 
/* Watchdog timer registers */
struct wd_timer {
   unsigned int resv1[4];
   unsigned int wdtwdsc;    /* offset 0x010 */
   unsigned int wdtwdst;    /* offset 0x014 */
   unsigned int wdtwisr;    /* offset 0x018 */
   unsigned int wdtwier;    /* offset 0x01C */
   unsigned int wdtwwer;    /* offset 0x020 */
   unsigned int wdtwclr;    /* offset 0x024 */
   unsigned int wdtwcrr;    /* offset 0x028 */
   unsigned int wdtwldr;    /* offset 0x02C */
   unsigned int wdtwtgr;    /* offset 0x030 */
   unsigned int wdtwwps;    /* offset 0x034 */
   unsigned int resv2[3];
   unsigned int wdtwdly;    /* offset 0x044 */
   unsigned int wdtwspr;    /* offset 0x048 */
   unsigned int resv3[1];
   unsigned int wdtwqeoi;    /* offset 0x050 */
   unsigned int wdtwqstar;    /* offset 0x054 */
   unsigned int wdtwqsta;    /* offset 0x058 */
   unsigned int wdtwqens;    /* offset 0x05C */
   unsigned int wdtwqenc;    /* offset 0x060 */
   unsigned int resv4[39];
   unsigned int wdt_unfr;    /* offset 0x100 */
};
 
#endif /* __OMAP_WDT_H__ */