1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 *  linux/drivers/char/watchdog/omap_wdt.h
4 *
5 *  BRIEF MODULE DESCRIPTION
6 *      OMAP Watchdog timer register definitions
7 *
8 *  Copyright (C) 2004 Texas Instruments.
9 */
10
11#ifndef _OMAP_WATCHDOG_H
12#define _OMAP_WATCHDOG_H
13
14#define OMAP_WATCHDOG_REV		(0x00)
15#define OMAP_WATCHDOG_SYS_CONFIG	(0x10)
16#define OMAP_WATCHDOG_STATUS		(0x14)
17#define OMAP_WATCHDOG_CNTRL		(0x24)
18#define OMAP_WATCHDOG_CRR		(0x28)
19#define OMAP_WATCHDOG_LDR		(0x2c)
20#define OMAP_WATCHDOG_TGR		(0x30)
21#define OMAP_WATCHDOG_WPS		(0x34)
22#define OMAP_WATCHDOG_SPR		(0x48)
23
24/* Using the prescaler, the OMAP watchdog could go for many
25 * months before firing.  These limits work without scaling,
26 * with the 60 second default assumed by most tools and docs.
27 */
28#define TIMER_MARGIN_MAX	(24 * 60 * 60)	/* 1 day */
29#define TIMER_MARGIN_DEFAULT	60	/* 60 secs */
30#define TIMER_MARGIN_MIN	1
31
32#define PTV			0	/* prescale */
33#define GET_WLDR_VAL(secs)	(0xffffffff - ((secs) * (32768/(1<<PTV))) + 1)
34#define GET_WCCR_SECS(val)	((0xffffffff - (val) + 1) / (32768/(1<<PTV)))
35
36#endif				/* _OMAP_WATCHDOG_H */
37