aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/Kconfig2
-rw-r--r--drivers/rtc/rtc-sh.c24
2 files changed, 14 insertions, 12 deletions
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 1e6715ec51ef..45e4b9648176 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -404,7 +404,7 @@ config RTC_DRV_SA1100
404 404
405config RTC_DRV_SH 405config RTC_DRV_SH
406 tristate "SuperH On-Chip RTC" 406 tristate "SuperH On-Chip RTC"
407 depends on RTC_CLASS && (CPU_SH3 || CPU_SH4) 407 depends on RTC_CLASS && SUPERH
408 help 408 help
409 Say Y here to enable support for the on-chip RTC found in 409 Say Y here to enable support for the on-chip RTC found in
410 most SuperH processors. 410 most SuperH processors.
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