浏览代码

rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts.

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>
Markus Brunner 18 年之前
父节点
当前提交
699bc6614f
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/rtc/rtc-sh.c

+ 1 - 0
drivers/rtc/rtc-sh.c

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