diff options
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/Kconfig | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-sh.c | 24 |
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 | ||
405 | config RTC_DRV_SH | 405 | config 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 | ||