1 /* 2 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 #ifndef WDT_HAL_H 5 #define WDT_HAL_H 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "plat_types.h" 12 13 enum HAL_WDT_ID_T { 14 HAL_WDT_ID_0 = 0, 15 HAL_WDT_ID_NUM, 16 }; 17 18 enum HAL_WDT_EVENT_T { 19 HAL_WDT_EVENT_FIRE = 0, 20 }; 21 22 #define HAL_WDT_YES 1 23 #define HAL_WDT_NO 0 24 25 typedef void (*HAL_WDT_IRQ_CALLBACK)(enum HAL_WDT_ID_T id, uint32_t status); 26 /* hal api */ 27 void hal_wdt_set_irq_callback(enum HAL_WDT_ID_T id, HAL_WDT_IRQ_CALLBACK handler); 28 29 /* mandatory operations */ 30 int hal_wdt_start(enum HAL_WDT_ID_T id); 31 int hal_wdt_stop(enum HAL_WDT_ID_T id); 32 33 /* optional operations */ 34 int hal_wdt_ping(enum HAL_WDT_ID_T id); 35 int hal_wdt_set_timeout(enum HAL_WDT_ID_T id, unsigned int); 36 unsigned int hal_wdt_get_timeleft(enum HAL_WDT_ID_T id); 37 38 #ifdef __cplusplus 39 } 40 #endif 41 42 #endif /* WDT_HAL_H */ 43