1#ifndef _ASM_RTC_H 2#define _ASM_RTC_H 3 4#include <asm/machvec.h> 5 6#define rtc_gettimeofday sh_mv.mv_rtc_gettimeofday 7#define rtc_settimeofday sh_mv.mv_rtc_settimeofday 8 9extern void sh_rtc_gettimeofday(struct timeval *tv); 10extern int sh_rtc_settimeofday(const struct timeval *tv); 11 12/* RCR1 Bits */ 13#define RCR1_CF 0x80 /* Carry Flag */ 14#define RCR1_CIE 0x10 /* Carry Interrupt Enable */ 15#define RCR1_AIE 0x08 /* Alarm Interrupt Enable */ 16#define RCR1_AF 0x01 /* Alarm Flag */ 17 18/* RCR2 Bits */ 19#define RCR2_PEF 0x80 /* PEriodic interrupt Flag */ 20#define RCR2_PESMASK 0x70 /* Periodic interrupt Set */ 21#define RCR2_RTCEN 0x08 /* ENable RTC */ 22#define RCR2_ADJ 0x04 /* ADJustment (30-second) */ 23#define RCR2_RESET 0x02 /* Reset bit */ 24#define RCR2_START 0x01 /* Start bit */ 25 26#if defined(__sh3__) 27/* SH-3 RTC */ 28#define R64CNT 0xfffffec0 29#define RSECCNT 0xfffffec2 30#define RMINCNT 0xfffffec4 31#define RHRCNT 0xfffffec6 32#define RWKCNT 0xfffffec8 33#define RDAYCNT 0xfffffeca 34#define RMONCNT 0xfffffecc 35#define RYRCNT 0xfffffece 36#define RSECAR 0xfffffed0 37#define RMINAR 0xfffffed2 38#define RHRAR 0xfffffed4 39#define RWKAR 0xfffffed6 40#define RDAYAR 0xfffffed8 41#define RMONAR 0xfffffeda 42#define RCR1 0xfffffedc 43#define RCR2 0xfffffede 44 45#define RTC_BIT_INVERTED 0 /* No bug on SH7708, SH7709A */ 46#elif defined(__SH4__) 47/* SH-4 RTC */ 48#define R64CNT 0xffc80000 49#define RSECCNT 0xffc80004 50#define RMINCNT 0xffc80008 51#define RHRCNT 0xffc8000c 52#define RWKCNT 0xffc80010 53#define RDAYCNT 0xffc80014 54#define RMONCNT 0xffc80018 55#define RYRCNT 0xffc8001c /* 16bit */ 56#define RSECAR 0xffc80020 57#define RMINAR 0xffc80024 58#define RHRAR 0xffc80028 59#define RWKAR 0xffc8002c 60#define RDAYAR 0xffc80030 61#define RMONAR 0xffc80034 62#define RCR1 0xffc80038 63#define RCR2 0xffc8003c 64 65#define RTC_BIT_INVERTED 0x40 /* bug on SH7750, SH7750S */ 66#endif 67 68#endif /* _ASM_RTC_H */ 69