Blame view

drivers/rtc/rtc-at91rm9200.h 3.17 KB
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
1
  /*
a09e64fbc   Russell King   [ARM] Move includ...
2
   * arch/arm/mach-at91/include/mach/at91_rtc.h
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   *
   * Copyright (C) 2005 Ivan Kokshaysky
   * Copyright (C) SAN People
   *
   * Real Time Clock (RTC) - System peripheral registers.
   * Based on AT91RM9200 datasheet revision E.
   *
   * 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.
   */
  
  #ifndef AT91_RTC_H
  #define AT91_RTC_H
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
18
  #define	AT91_RTC_CR		0x00			/* Control Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
19
20
21
22
  #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)
a14d52730   Andrew Victor   [ARM] 4086/1: AT9...
23
24
25
  #define			AT91_RTC_TIMEVSEL_HOUR		(1 << 8)
  #define			AT91_RTC_TIMEVSEL_DAY24		(2 << 8)
  #define			AT91_RTC_TIMEVSEL_DAY12		(3 << 8)
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
26
  #define		AT91_RTC_CALEVSEL	(3 << 16)		/* Calendar Event Selection */
a14d52730   Andrew Victor   [ARM] 4086/1: AT9...
27
28
29
  #define			AT91_RTC_CALEVSEL_WEEK		(0 << 16)
  #define			AT91_RTC_CALEVSEL_MONTH		(1 << 16)
  #define			AT91_RTC_CALEVSEL_YEAR		(2 << 16)
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
30

d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
31
  #define	AT91_RTC_MR		0x04			/* Mode Register */
a14d52730   Andrew Victor   [ARM] 4086/1: AT9...
32
  #define			AT91_RTC_HRMOD		(1 <<  0)		/* 12/24 Hour Mode */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
33

d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
34
  #define	AT91_RTC_TIMR		0x08			/* Time Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
35
36
  #define		AT91_RTC_SEC		(0x7f <<  0)		/* Current Second */
  #define		AT91_RTC_MIN		(0x7f <<  8)		/* Current Minute */
a14d52730   Andrew Victor   [ARM] 4086/1: AT9...
37
  #define		AT91_RTC_HOUR		(0x3f << 16)		/* Current Hour */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
38
  #define		AT91_RTC_AMPM		(1    << 22)		/* Ante Meridiem Post Meridiem Indicator */
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
39
  #define	AT91_RTC_CALR		0x0c			/* Calendar Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
40
41
42
43
44
  #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 */
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
45
  #define	AT91_RTC_TIMALR		0x10			/* Time Alarm Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
46
47
48
  #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 */
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
49
  #define	AT91_RTC_CALALR		0x14			/* Calendar Alarm Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
50
51
  #define		AT91_RTC_MTHEN		(1 << 23)		/* Month Alarm Enable */
  #define		AT91_RTC_DATEEN		(1 << 31)		/* Date Alarm Enable */
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
52
  #define	AT91_RTC_SR		0x18			/* Status Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
53
54
55
56
57
  #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 */
d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
58
59
60
  #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 */
e24b0bfa2   Johan Hovold   Revert "drivers/r...
61
  #define	AT91_RTC_IMR		0x28			/* Interrupt Mask Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
62

d28bdfc5c   Jean-Christophe PLAGNIOL-VILLARD   ARM: at91: make r...
63
  #define	AT91_RTC_VER		0x2c			/* Valid Entry Register */
6171de8f5   Andrew Victor   [ARM] 3950/1: AT9...
64
65
66
67
68
69
  #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