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