]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/rtc/rtc-sh.c
rtc: rtc-sh: SH-2A support.
[mv-sheeva.git] / drivers / rtc / rtc-sh.c
index a1d5d55985f65de3a550b16206fd258e06500200..af9bc57c892095ec93869ba9341af8ddb3de18a8 100644 (file)
 #include <asm/rtc.h>
 
 #define DRV_NAME       "sh-rtc"
-#define DRV_VERSION    "0.1.4"
+#define DRV_VERSION    "0.1.5"
 
-#ifdef CONFIG_CPU_SH3
+#ifdef CONFIG_CPU_SH2A
+#define rtc_reg_size           sizeof(u16)
+#define RTC_BIT_INVERTED       0
+#define RTC_DEF_CAPABILITIES   RTC_CAP_4_DIGIT_YEAR
+#elif defined(CONFIG_CPU_SH3)
 #define rtc_reg_size           sizeof(u16)
 #define RTC_BIT_INVERTED       0       /* No bug on SH7708, SH7709A */
 #define RTC_DEF_CAPABILITIES   0UL
 #define RCR1           RTC_REG(14)     /* Control */
 #define RCR2           RTC_REG(15)     /* Control */
 
+/*
+ * Note on RYRAR and RCR3: Up until this point most of the register
+ * definitions are consistent across all of the available parts. However,
+ * the placement of the optional RYRAR and RCR3 (the RYRAR control
+ * register used to control RYRCNT/RYRAR compare) varies considerably
+ * across various parts, occasionally being mapped in to a completely
+ * unrelated address space. For proper RYRAR support a separate resource
+ * would have to be handed off, but as this is purely optional in
+ * practice, we simply opt not to support it, thereby keeping the code
+ * quite a bit more simplified.
+ */
+
 /* ALARM Bits - or with BCD encoded value */
 #define AR_ENB         0x80    /* Enable for alarm cmp   */