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