xref: /openbmc/linux/arch/arm/mach-pxa/reset.h (revision e6acc406)
1*e6acc406SArnd Bergmann /* SPDX-License-Identifier: GPL-2.0 */
2*e6acc406SArnd Bergmann #ifndef __ASM_ARCH_RESET_H
3*e6acc406SArnd Bergmann #define __ASM_ARCH_RESET_H
4*e6acc406SArnd Bergmann 
5*e6acc406SArnd Bergmann #define RESET_STATUS_HARDWARE	(1 << 0)	/* Hardware Reset */
6*e6acc406SArnd Bergmann #define RESET_STATUS_WATCHDOG	(1 << 1)	/* Watchdog Reset */
7*e6acc406SArnd Bergmann #define RESET_STATUS_LOWPOWER	(1 << 2)	/* Low Power/Sleep Exit */
8*e6acc406SArnd Bergmann #define RESET_STATUS_GPIO	(1 << 3)	/* GPIO Reset */
9*e6acc406SArnd Bergmann #define RESET_STATUS_ALL	(0xf)
10*e6acc406SArnd Bergmann 
11*e6acc406SArnd Bergmann extern void clear_reset_status(unsigned int mask);
12*e6acc406SArnd Bergmann extern void pxa_register_wdt(unsigned int reset_status);
13*e6acc406SArnd Bergmann 
14*e6acc406SArnd Bergmann /**
15*e6acc406SArnd Bergmann  * init_gpio_reset() - register GPIO as reset generator
16*e6acc406SArnd Bergmann  * @gpio: gpio nr
17*e6acc406SArnd Bergmann  * @output: set gpio as output instead of input during normal work
18*e6acc406SArnd Bergmann  * @level: output level
19*e6acc406SArnd Bergmann  */
20*e6acc406SArnd Bergmann extern int init_gpio_reset(int gpio, int output, int level);
21*e6acc406SArnd Bergmann 
22*e6acc406SArnd Bergmann #endif /* __ASM_ARCH_RESET_H */
23