1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 22b679f9fSChen-Yu Tsai /* 32b679f9fSChen-Yu Tsai * (C) Copyright 2014 42b679f9fSChen-Yu Tsai * Chen-Yu Tsai <wens@csie.org> 52b679f9fSChen-Yu Tsai * 62b679f9fSChen-Yu Tsai * Watchdog register definitions 72b679f9fSChen-Yu Tsai */ 82b679f9fSChen-Yu Tsai 92b679f9fSChen-Yu Tsai #ifndef _SUNXI_WATCHDOG_H_ 102b679f9fSChen-Yu Tsai #define _SUNXI_WATCHDOG_H_ 112b679f9fSChen-Yu Tsai 122b679f9fSChen-Yu Tsai #define WDT_CTRL_RESTART (0x1 << 0) 132b679f9fSChen-Yu Tsai #define WDT_CTRL_KEY (0x0a57 << 1) 1478c396a1SChen-Yu Tsai 156c7ae2bfSChen-Yu Tsai #if defined(CONFIG_MACH_SUN4I) || \ 166c7ae2bfSChen-Yu Tsai defined(CONFIG_MACH_SUN5I) || \ 176c7ae2bfSChen-Yu Tsai defined(CONFIG_MACH_SUN7I) || \ 186c7ae2bfSChen-Yu Tsai defined(CONFIG_MACH_SUN8I_R40) 1978c396a1SChen-Yu Tsai 202b679f9fSChen-Yu Tsai #define WDT_MODE_EN (0x1 << 0) 212b679f9fSChen-Yu Tsai #define WDT_MODE_RESET_EN (0x1 << 1) 222b679f9fSChen-Yu Tsai 232b679f9fSChen-Yu Tsai struct sunxi_wdog { 242b679f9fSChen-Yu Tsai u32 ctl; /* 0x00 */ 252b679f9fSChen-Yu Tsai u32 mode; /* 0x04 */ 262b679f9fSChen-Yu Tsai u32 res[2]; 272b679f9fSChen-Yu Tsai }; 282b679f9fSChen-Yu Tsai 2978c396a1SChen-Yu Tsai #else 3078c396a1SChen-Yu Tsai 3178c396a1SChen-Yu Tsai #define WDT_CFG_RESET (0x1) 3278c396a1SChen-Yu Tsai #define WDT_MODE_EN (0x1) 3378c396a1SChen-Yu Tsai 3478c396a1SChen-Yu Tsai struct sunxi_wdog { 3578c396a1SChen-Yu Tsai u32 irq_en; /* 0x00 */ 3678c396a1SChen-Yu Tsai u32 irq_sta; /* 0x04 */ 3778c396a1SChen-Yu Tsai u32 res1[2]; 3878c396a1SChen-Yu Tsai u32 ctl; /* 0x10 */ 3978c396a1SChen-Yu Tsai u32 cfg; /* 0x14 */ 4078c396a1SChen-Yu Tsai u32 mode; /* 0x18 */ 4178c396a1SChen-Yu Tsai u32 res2; 4278c396a1SChen-Yu Tsai }; 4378c396a1SChen-Yu Tsai 4478c396a1SChen-Yu Tsai #endif 4578c396a1SChen-Yu Tsai 462b679f9fSChen-Yu Tsai #endif /* _SUNXI_WATCHDOG_H_ */ 47