Merge tag 'dm-pull-14dec18' of git://git.denx.de/u-boot-dm
[oweals/u-boot.git] / arch / arm / mach-exynos / include / mach / watchdog.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2011 Samsung Electronics
4  * Heungjun Kim <riverful.kim@samsung.com>
5  */
6
7 #ifndef __ASM_ARM_ARCH_WATCHDOG_H_
8 #define __ASM_ARM_ARCH_WATCHDOG_H_
9
10 #define WTCON_RESET_OFFSET      0
11 #define WTCON_INTEN_OFFSET      2
12 #define WTCON_CLKSEL_OFFSET     3
13 #define WTCON_EN_OFFSET         5
14 #define WTCON_PRE_OFFSET        8
15
16 #define WTCON_CLK_16            0x0
17 #define WTCON_CLK_32            0x1
18 #define WTCON_CLK_64            0x2
19 #define WTCON_CLK_128           0x3
20
21 #define WTCON_CLK(x)            ((x & 0x3) << WTCON_CLKSEL_OFFSET)
22 #define WTCON_PRESCALER(x)      ((x) << WTCON_PRE_OFFSET)
23 #define WTCON_EN                (0x1 << WTCON_EN_OFFSET)
24 #define WTCON_RESET             (0x1 << WTCON_RESET_OFFSET)
25 #define WTCON_INT               (0x1 << WTCON_INTEN_OFFSET)
26
27 #ifndef __ASSEMBLY__
28 struct s5p_watchdog {
29         unsigned int wtcon;
30         unsigned int wtdat;
31         unsigned int wtcnt;
32         unsigned int wtclrint;
33 };
34
35 /* functions */
36 void wdt_stop(void);
37 void wdt_start(unsigned int timeout);
38 #endif  /* __ASSEMBLY__ */
39
40 #endif