xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-sunxi/watchdog.h (revision 4f66e09bb9fbc47b73f67c3cc08ee2663e8fcdb1)
12b679f9fSChen-Yu Tsai /*
22b679f9fSChen-Yu Tsai  * (C) Copyright 2014
32b679f9fSChen-Yu Tsai  * Chen-Yu Tsai <wens@csie.org>
42b679f9fSChen-Yu Tsai  *
52b679f9fSChen-Yu Tsai  * Watchdog register definitions
62b679f9fSChen-Yu Tsai  *
72b679f9fSChen-Yu Tsai  * SPDX-License-Identifier:	GPL-2.0+
82b679f9fSChen-Yu Tsai  */
92b679f9fSChen-Yu Tsai 
102b679f9fSChen-Yu Tsai #ifndef _SUNXI_WATCHDOG_H_
112b679f9fSChen-Yu Tsai #define _SUNXI_WATCHDOG_H_
122b679f9fSChen-Yu Tsai 
132b679f9fSChen-Yu Tsai #define WDT_CTRL_RESTART	(0x1 << 0)
142b679f9fSChen-Yu Tsai #define WDT_CTRL_KEY		(0x0a57 << 1)
1578c396a1SChen-Yu Tsai 
16*6c7ae2bfSChen-Yu Tsai #if defined(CONFIG_MACH_SUN4I) || \
17*6c7ae2bfSChen-Yu Tsai     defined(CONFIG_MACH_SUN5I) || \
18*6c7ae2bfSChen-Yu Tsai     defined(CONFIG_MACH_SUN7I) || \
19*6c7ae2bfSChen-Yu Tsai     defined(CONFIG_MACH_SUN8I_R40)
2078c396a1SChen-Yu Tsai 
212b679f9fSChen-Yu Tsai #define WDT_MODE_EN		(0x1 << 0)
222b679f9fSChen-Yu Tsai #define WDT_MODE_RESET_EN	(0x1 << 1)
232b679f9fSChen-Yu Tsai 
242b679f9fSChen-Yu Tsai struct sunxi_wdog {
252b679f9fSChen-Yu Tsai 	u32 ctl;		/* 0x00 */
262b679f9fSChen-Yu Tsai 	u32 mode;		/* 0x04 */
272b679f9fSChen-Yu Tsai 	u32 res[2];
282b679f9fSChen-Yu Tsai };
292b679f9fSChen-Yu Tsai 
3078c396a1SChen-Yu Tsai #else
3178c396a1SChen-Yu Tsai 
3278c396a1SChen-Yu Tsai #define WDT_CFG_RESET		(0x1)
3378c396a1SChen-Yu Tsai #define WDT_MODE_EN		(0x1)
3478c396a1SChen-Yu Tsai 
3578c396a1SChen-Yu Tsai struct sunxi_wdog {
3678c396a1SChen-Yu Tsai 	u32 irq_en;		/* 0x00 */
3778c396a1SChen-Yu Tsai 	u32 irq_sta;		/* 0x04 */
3878c396a1SChen-Yu Tsai 	u32 res1[2];
3978c396a1SChen-Yu Tsai 	u32 ctl;		/* 0x10 */
4078c396a1SChen-Yu Tsai 	u32 cfg;		/* 0x14 */
4178c396a1SChen-Yu Tsai 	u32 mode;		/* 0x18 */
4278c396a1SChen-Yu Tsai 	u32 res2;
4378c396a1SChen-Yu Tsai };
4478c396a1SChen-Yu Tsai 
4578c396a1SChen-Yu Tsai #endif
4678c396a1SChen-Yu Tsai 
472b679f9fSChen-Yu Tsai #endif /* _SUNXI_WATCHDOG_H_ */
48