diff options
Diffstat (limited to 'drivers/rtc')
| -rw-r--r-- | drivers/rtc/rtc-at91rm9200.c | 2 | ||||
| -rw-r--r-- | drivers/rtc/rtc-at91rm9200.h | 75 | ||||
| -rw-r--r-- | drivers/rtc/rtc-at91sam9.c | 2 | 
3 files changed, 77 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c index fca9790c7de..b6469e2cae8 100644 --- a/drivers/rtc/rtc-at91rm9200.c +++ b/drivers/rtc/rtc-at91rm9200.c @@ -31,7 +31,7 @@  #include <asm/uaccess.h> -#include <mach/at91_rtc.h> +#include "rtc-at91rm9200.h"  #define at91_rtc_read(field) \  	__raw_readl(at91_rtc_regs + field) diff --git a/drivers/rtc/rtc-at91rm9200.h b/drivers/rtc/rtc-at91rm9200.h new file mode 100644 index 00000000000..da1945e5f71 --- /dev/null +++ b/drivers/rtc/rtc-at91rm9200.h @@ -0,0 +1,75 @@ +/* + * 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. + * + * 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 + +#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 diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c index 2dfe7a2fb99..e981798e9a9 100644 --- a/drivers/rtc/rtc-at91sam9.c +++ b/drivers/rtc/rtc-at91sam9.c @@ -19,8 +19,8 @@  #include <linux/interrupt.h>  #include <linux/ioctl.h>  #include <linux/slab.h> +#include <linux/platform_data/atmel.h> -#include <mach/board.h>  #include <mach/at91_rtt.h>  #include <mach/cpu.h>  |