Blame view

include/watchdog.h 1.99 KB
012771d88   wdenk   Initial revision
1
2
3
4
  /*
   * (C) Copyright 2001
   * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
   *
3765b3e7b   Wolfgang Denk   Coding Style clea...
5
   * SPDX-License-Identifier:	GPL-2.0+
012771d88   wdenk   Initial revision
6
7
8
9
10
11
12
   */
  
  /*
   * Watchdog functions and macros.
   */
  #ifndef _WATCHDOG_H_
  #define _WATCHDOG_H_
a6741bce5   Simon Glass   Declare watchdog ...
13
14
15
16
17
18
19
20
21
  #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...
22
  #if defined(CONFIG_WATCHDOG) || defined(CONFIG_HW_WATCHDOG)
a6741bce5   Simon Glass   Declare watchdog ...
23
24
25
26
27
28
  #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
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
70
  #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.
   */
907208c45   Christophe Leroy   powerpc: Partialy...
71
72
  /* MPC 8xx */
  #if defined(CONFIG_8xx) && !defined(__ASSEMBLY__)
ba3da7348   Christophe Leroy   powerpc, 8xx: Use...
73
  	void reset_8xx_watchdog(immap_t __iomem *immr);
907208c45   Christophe Leroy   powerpc: Partialy...
74
  #endif
e9a389a18   Sonic Zhang   blackfin: Move bl...
75
  #if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
a6720762c   Tom Rini   watchdog.h: Move ...
76
77
  	void hw_watchdog_init(void);
  #endif
0f8062b25   Boschung, Rainer   mpc85xx: watchdog...
78
79
80
81
  
  #if defined(CONFIG_MPC85xx) && !defined(__ASSEMBLY__)
  	void init_85xx_watchdog(void);
  #endif
012771d88   wdenk   Initial revision
82
  #endif /* _WATCHDOG_H_ */