rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts.
authorMarkus Brunner <super.firetwister@gmail.com>
Thu, 26 Jul 2007 08:31:28 +0000 (17:31 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 26 Jul 2007 08:31:28 +0000 (17:31 +0900)
Some SH-3 parts (SH7720 and SH7705 at least) need to have the
start bit explicitly cleared, as the reset is not enough. This
is safe across all parts, so simply clear the start bit in
the sh_rtc_set_time() path.

Signed-off-by: Markus Brunner <super.firetwister@gmail.com>
Signed-off by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/rtc/rtc-sh.c

index e0f91dfce0f56bcb8f340058d208557e613a44dd..93ee05eeaeba810f6bda495c5655cccc4031de7f 100644 (file)
@@ -365,6 +365,7 @@ static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm)
        /* Reset pre-scaler & stop RTC */
        tmp = readb(rtc->regbase + RCR2);
        tmp |= RCR2_RESET;
+       tmp &= ~RCR2_START;
        writeb(tmp, rtc->regbase + RCR2);
 
        writeb(BIN2BCD(tm->tm_sec),  rtc->regbase + RSECCNT);