![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
72 lines
3 KiB
C
72 lines
3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* arch/arm/mach-at91/include/mach/at91_rtc.h
|
|
*
|
|
* Copyright (C) 2005 Ivan Kokshaysky
|
|
* Copyright (C) SAN People
|
|
*
|
|
* Real Time Clock (RTC) - System peripheral registers.
|
|
* Based on AT91RM9200 datasheet revision E.
|
|
*/
|
|
|
|
#ifndef AT91_RTC_H
|
|
#define AT91_RTC_H
|
|
|
|
#define AT91_RTC_CR 0x00 /* Control Register */
|
|
#define AT91_RTC_UPDTIM (1 << 0) /* Update Request Time Register */
|
|
#define AT91_RTC_UPDCAL (1 << 1) /* Update Request Calendar Register */
|
|
#define AT91_RTC_TIMEVSEL (3 << 8) /* Time Event Selection */
|
|
#define AT91_RTC_TIMEVSEL_MINUTE (0 << 8)
|
|
#define AT91_RTC_TIMEVSEL_HOUR (1 << 8)
|
|
#define AT91_RTC_TIMEVSEL_DAY24 (2 << 8)
|
|
#define AT91_RTC_TIMEVSEL_DAY12 (3 << 8)
|
|
#define AT91_RTC_CALEVSEL (3 << 16) /* Calendar Event Selection */
|
|
#define AT91_RTC_CALEVSEL_WEEK (0 << 16)
|
|
#define AT91_RTC_CALEVSEL_MONTH (1 << 16)
|
|
#define AT91_RTC_CALEVSEL_YEAR (2 << 16)
|
|
|
|
#define AT91_RTC_MR 0x04 /* Mode Register */
|
|
#define AT91_RTC_HRMOD (1 << 0) /* 12/24 Hour Mode */
|
|
|
|
#define AT91_RTC_TIMR 0x08 /* Time Register */
|
|
#define AT91_RTC_SEC (0x7f << 0) /* Current Second */
|
|
#define AT91_RTC_MIN (0x7f << 8) /* Current Minute */
|
|
#define AT91_RTC_HOUR (0x3f << 16) /* Current Hour */
|
|
#define AT91_RTC_AMPM (1 << 22) /* Ante Meridiem Post Meridiem Indicator */
|
|
|
|
#define AT91_RTC_CALR 0x0c /* Calendar Register */
|
|
#define AT91_RTC_CENT (0x7f << 0) /* Current Century */
|
|
#define AT91_RTC_YEAR (0xff << 8) /* Current Year */
|
|
#define AT91_RTC_MONTH (0x1f << 16) /* Current Month */
|
|
#define AT91_RTC_DAY (7 << 21) /* Current Day */
|
|
#define AT91_RTC_DATE (0x3f << 24) /* Current Date */
|
|
|
|
#define AT91_RTC_TIMALR 0x10 /* Time Alarm Register */
|
|
#define AT91_RTC_SECEN (1 << 7) /* Second Alarm Enable */
|
|
#define AT91_RTC_MINEN (1 << 15) /* Minute Alarm Enable */
|
|
#define AT91_RTC_HOUREN (1 << 23) /* Hour Alarm Enable */
|
|
|
|
#define AT91_RTC_CALALR 0x14 /* Calendar Alarm Register */
|
|
#define AT91_RTC_MTHEN (1 << 23) /* Month Alarm Enable */
|
|
#define AT91_RTC_DATEEN (1 << 31) /* Date Alarm Enable */
|
|
|
|
#define AT91_RTC_SR 0x18 /* Status Register */
|
|
#define AT91_RTC_ACKUPD (1 << 0) /* Acknowledge for Update */
|
|
#define AT91_RTC_ALARM (1 << 1) /* Alarm Flag */
|
|
#define AT91_RTC_SECEV (1 << 2) /* Second Event */
|
|
#define AT91_RTC_TIMEV (1 << 3) /* Time Event */
|
|
#define AT91_RTC_CALEV (1 << 4) /* Calendar Event */
|
|
|
|
#define AT91_RTC_SCCR 0x1c /* Status Clear Command Register */
|
|
#define AT91_RTC_IER 0x20 /* Interrupt Enable Register */
|
|
#define AT91_RTC_IDR 0x24 /* Interrupt Disable Register */
|
|
#define AT91_RTC_IMR 0x28 /* Interrupt Mask Register */
|
|
|
|
#define AT91_RTC_VER 0x2c /* Valid Entry Register */
|
|
#define AT91_RTC_NVTIM (1 << 0) /* Non valid Time */
|
|
#define AT91_RTC_NVCAL (1 << 1) /* Non valid Calendar */
|
|
#define AT91_RTC_NVTIMALR (1 << 2) /* Non valid Time Alarm */
|
|
#define AT91_RTC_NVCALALR (1 << 3) /* Non valid Calendar Alarm */
|
|
|
|
#endif
|