blob: 81b8b0f23fa4fcf66d650081cec7965bcd38f935 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Minkyu Kang047ece72012-01-18 15:55:05 +09002/*
3 * Copyright (C) 2011 Samsung Electronics
4 * Heungjun Kim <riverful.kim@samsung.com>
5 * Minkyu Kang <mk7.kang@samsung.com>
Minkyu Kang047ece72012-01-18 15:55:05 +09006 */
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__
29struct s5p_watchdog {
30 unsigned int wtcon;
31 unsigned int wtdat;
32 unsigned int wtcnt;
33 unsigned int wtclrint;
34};
35
36/* functions */
37void wdt_stop(void);
38void wdt_start(unsigned int timeout);
39#endif /* __ASSEMBLY__ */
40
41#endif