1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright (C) 2011 Samsung Electronics 4 * Heungjun Kim <riverful.kim@samsung.com> 5 * Minkyu Kang <mk7.kang@samsung.com> 6 */ 7 8 #ifndef __ASM_ARM_ARCH_WATCHDOG_H_ 9 #define __ASM_ARM_ARCH_WATCHDOG_H_ 10 11 #define WTCON_RESET_OFFSET 0 12 #define WTCON_INTEN_OFFSET 2 13 #define WTCON_CLKSEL_OFFSET 3 14 #define WTCON_EN_OFFSET 5 15 #define WTCON_PRE_OFFSET 8 16 17 #define WTCON_CLK_16 0x0 18 #define WTCON_CLK_32 0x1 19 #define WTCON_CLK_64 0x2 20 #define WTCON_CLK_128 0x3 21 22 #define WTCON_CLK(x) ((x & 0x3) << WTCON_CLKSEL_OFFSET) 23 #define WTCON_PRESCALER(x) ((x) << WTCON_PRE_OFFSET) 24 #define WTCON_EN (0x1 << WTCON_EN_OFFSET) 25 #define WTCON_RESET (0x1 << WTCON_RESET_OFFSET) 26 #define WTCON_INT (0x1 << WTCON_INTEN_OFFSET) 27 28 #ifndef __ASSEMBLY__ 29 struct s5p_watchdog { 30 unsigned int wtcon; 31 unsigned int wtdat; 32 unsigned int wtcnt; 33 unsigned int wtclrint; 34 }; 35 36 /* functions */ 37 void wdt_stop(void); 38 void wdt_start(unsigned int timeout); 39 #endif /* __ASSEMBLY__ */ 40 41 #endif 42