Home | History | Annotate | Download | only in mach
      1 /* SPDX-License-Identifier: GPL-2.0+ */
      2 /*
      3  * Copyright (C) 2011 Samsung Electronics
      4  * Heungjun Kim <riverful.kim (at) samsung.com>
      5  * Minkyu Kang <mk7.kang (at) 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