Blame view

include/watchdog.h 1.87 KB
83d290c56   Tom Rini   SPDX: Convert all...
1
  /* SPDX-License-Identifier: GPL-2.0+ */
012771d88   wdenk   Initial revision
2
3
4
  /*
   * (C) Copyright 2001
   * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
012771d88   wdenk   Initial revision
5
6
7
8
9
10
11
   */
  
  /*
   * Watchdog functions and macros.
   */
  #ifndef _WATCHDOG_H_
  #define _WATCHDOG_H_
a6741bce5   Simon Glass   Declare watchdog ...
12
13
14
15
16
17
18
19
20
  #if !defined(__ASSEMBLY__)
  /*
   * Reset the watchdog timer, always returns 0
   *
   * This function is here since it is shared between board_f() and board_r(),
   * and the legacy arch/<arch>/board.c code.
   */
  int init_func_watchdog_reset(void);
  #endif
9be2e790e   Simon Glass   Drop use of CONFI...
21
  #if defined(CONFIG_WATCHDOG) || defined(CONFIG_HW_WATCHDOG)
a6741bce5   Simon Glass   Declare watchdog ...
22
23
24
25
26
27
  #define INIT_FUNC_WATCHDOG_INIT	init_func_watchdog_init,
  #define INIT_FUNC_WATCHDOG_RESET	init_func_watchdog_reset,
  #else
  #define INIT_FUNC_WATCHDOG_INIT
  #define INIT_FUNC_WATCHDOG_RESET
  #endif
012771d88   wdenk   Initial revision
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
61
62
63
64
65
66
67
68
69
  #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG)
  #  error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together."
  #endif
  
  /*
   * Hardware watchdog
   */
  #ifdef CONFIG_HW_WATCHDOG
  	#if defined(__ASSEMBLY__)
  		#define WATCHDOG_RESET bl hw_watchdog_reset
  	#else
  		extern void hw_watchdog_reset(void);
  
  		#define WATCHDOG_RESET hw_watchdog_reset
  	#endif /* __ASSEMBLY__ */
  #else
  	/*
  	 * Maybe a software watchdog?
  	 */
  	#if defined(CONFIG_WATCHDOG)
  		#if defined(__ASSEMBLY__)
  			#define WATCHDOG_RESET bl watchdog_reset
  		#else
  			extern void watchdog_reset(void);
  
  			#define WATCHDOG_RESET watchdog_reset
  		#endif
  	#else
  		/*
  		 * No hardware or software watchdog.
  		 */
  		#if defined(__ASSEMBLY__)
  			#define WATCHDOG_RESET /*XXX DO_NOT_DEL_THIS_COMMENT*/
  		#else
  			#define WATCHDOG_RESET() {}
  		#endif /* __ASSEMBLY__ */
  	#endif /* CONFIG_WATCHDOG && !__ASSEMBLY__ */
  #endif /* CONFIG_HW_WATCHDOG */
  
  /*
   * Prototypes from $(CPU)/cpu.c.
   */
e9a389a18   Sonic Zhang   blackfin: Move bl...
70
  #if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
a6720762c   Tom Rini   watchdog.h: Move ...
71
72
  	void hw_watchdog_init(void);
  #endif
0f8062b25   Boschung, Rainer   mpc85xx: watchdog...
73
74
75
76
  
  #if defined(CONFIG_MPC85xx) && !defined(__ASSEMBLY__)
  	void init_85xx_watchdog(void);
  #endif
012771d88   wdenk   Initial revision
77
  #endif /* _WATCHDOG_H_ */