forked from mirrors/linux
		
	 2874c5fd28
			
		
	
	
		2874c5fd28
		
	
	
	
	
		
			
			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>
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			71 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
 |