xref: /openbmc/u-boot/include/bootretry.h (revision ebce73f0)
1 /*
2  * (C) Copyright 2000
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * SPDX-License-Identifier:	GPL-2.0+
6  */
7 
8 #ifndef __BOOTRETRY_H
9 #define __BOOTRETRY_H
10 
11 #ifdef CONFIG_BOOT_RETRY_TIME
12 /**
13  * bootretry_tstc_timeout() - ensure we get a keypress before timeout
14  *
15  * Check for a keypress repeatedly, resetting the watchdog each time. If a
16  * keypress is not received within the command timeout, return an error.
17  *
18  * @return 0 if a key is received in time, -ETIMEDOUT if not
19  */
20 int bootretry_tstc_timeout(void);
21 
22 /**
23  * bootretry_init_cmd_timeout() - set up command timeout
24  *
25  * Get the required command timeout from the environment.
26  */
27 void bootretry_init_cmd_timeout(void);
28 
29 /**
30  * bootretry_reset_cmd_timeout() - reset command timeout
31  *
32  * Reset the command timeout so that the user has a fresh start. This is
33  * typically used when input is received from the user.
34  */
35 void bootretry_reset_cmd_timeout(void);
36 
37 /** bootretry_dont_retry() - Indicate that we should not retry the boot */
38 void bootretry_dont_retry(void);
39 #else
40 static inline int bootretry_tstc_timeout(void)
41 {
42 	return 0;
43 }
44 
45 static inline void bootretry_init_cmd_timeout(void)
46 {
47 }
48 
49 static inline void bootretry_reset_cmd_timeout(void)
50 {
51 }
52 
53 static inline void bootretry_dont_retry(void)
54 {
55 }
56 
57 #endif
58 
59 #endif
60