Initial cut of the open ath9k htc firmware.
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / build / magpie_1_1 / inc / wdt_api.h
1 #ifndef __WDT_API_H__
2 #define __WDT_API_H__
3 /*
4  *
5  */
6
7 typedef enum {
8     WDT_ACTION_NO = 0,      // bit1, bit0: 00
9     WDT_ACTION_INTR,        // bit1, bit0: 01
10     WDT_ACTION_NMI,         // bit1, bit0: 10
11     WDT_ACTION_RESET,     // bit1, bit0: 11
12
13     WDT_ACTION_UNKNOWN
14 }T_WDT_ACTION_TYPE;
15
16
17 typedef enum {
18     WDT_TIMEOUT = 1,
19     WDT_ACTION,
20
21     WDT_UNKNOWN
22 }T_WDT_CMD_TYPE;
23
24 typedef struct {
25     uint32_t cmd;
26     union {
27         uint32_t timeout;
28         uint32_t action;
29     };
30 }T_WDT_CMD;
31
32
33 typedef enum{
34     ENUM_WDT_BOOT = 1,
35     ENUM_COLD_BOOT,
36     ENUM_SUSP_BOOT,
37
38     // add above here
39     ENUM_UNKNOWN_BOOT
40 }T_BOOT_TYPE;
41
42
43 /*!- interface of watchdog timer
44  *
45  */
46 struct wdt_api {
47     void (* _wdt_init)(void);
48     void (* _wdt_enable)(void);
49     void (* _wdt_disable)(void);
50     void (* _wdt_set)(T_WDT_CMD);
51     void (* _wdt_task)(void);
52     void (* _wdt_reset)(void);
53     T_BOOT_TYPE (*_wdt_last_boot)(void);
54 };
55 #endif /* __WDT_API_H__ */
56