aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-sh.c')
-rw-r--r--drivers/rtc/rtc-sh.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 8e8c8b8e81ee..c1d6a1880ccf 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -26,17 +26,7 @@
26#include <asm/rtc.h> 26#include <asm/rtc.h>
27 27
28#define DRV_NAME "sh-rtc" 28#define DRV_NAME "sh-rtc"
29#define DRV_VERSION "0.1.3" 29#define DRV_VERSION "0.1.6"
30
31#ifdef CONFIG_CPU_SH3
32#define rtc_reg_size sizeof(u16)
33#define RTC_BIT_INVERTED 0 /* No bug on SH7708, SH7709A */
34#define RTC_DEF_CAPABILITIES 0UL
35#elif defined(CONFIG_CPU_SH4)
36#define rtc_reg_size sizeof(u32)
37#define RTC_BIT_INVERTED 0x40 /* bug on SH7750, SH7750S */
38#define RTC_DEF_CAPABILITIES RTC_CAP_4_DIGIT_YEAR
39#endif
40 30
41#define RTC_REG(r) ((r) * rtc_reg_size) 31#define RTC_REG(r) ((r) * rtc_reg_size)
42 32
@@ -58,6 +48,18 @@
58#define RCR1 RTC_REG(14) /* Control */ 48#define RCR1 RTC_REG(14) /* Control */
59#define RCR2 RTC_REG(15) /* Control */ 49#define RCR2 RTC_REG(15) /* Control */
60 50
51/*
52 * Note on RYRAR and RCR3: Up until this point most of the register
53 * definitions are consistent across all of the available parts. However,
54 * the placement of the optional RYRAR and RCR3 (the RYRAR control
55 * register used to control RYRCNT/RYRAR compare) varies considerably
56 * across various parts, occasionally being mapped in to a completely
57 * unrelated address space. For proper RYRAR support a separate resource
58 * would have to be handed off, but as this is purely optional in
59 * practice, we simply opt not to support it, thereby keeping the code
60 * quite a bit more simplified.
61 */
62
61/* ALARM Bits - or with BCD encoded value */ 63/* ALARM Bits - or with BCD encoded value */
62#define AR_ENB 0x80 /* Enable for alarm cmp */ 64#define AR_ENB 0x80 /* Enable for alarm cmp */
63 65