From 047174872ad61562fb3a9dea8e14aafc024aaf8b Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Tue, 6 Aug 2002 06:21:53 +0000 Subject: rtc_read() now sends a stop condition. This hopefully fixes the stopping clock updates. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1539 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/rtc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'firmware/drivers/rtc.c') diff --git a/firmware/drivers/rtc.c b/firmware/drivers/rtc.c index 66b37fccb7..2882c975b7 100644 --- a/firmware/drivers/rtc.c +++ b/firmware/drivers/rtc.c @@ -25,6 +25,14 @@ #define RTC_DEV_WRITE (RTC_ADR | 0x00) #define RTC_DEV_READ (RTC_ADR | 0x01) +void rtc_init(void) +{ + unsigned char data; + data = (unsigned int)rtc_read(0x0c); + data &= 0xbf; + rtc_write(0x0c,data); +} + int rtc_write(unsigned char address, unsigned char value) { int ret = 0; @@ -55,7 +63,7 @@ int rtc_read(unsigned char address) buf[0] = address; - /* send run command */ + /* send read command */ if (i2c_write(RTC_DEV_READ,buf,1) >= 0) { i2c_start(); @@ -66,6 +74,8 @@ int rtc_read(unsigned char address) } } + i2c_stop(); + i2c_end(); return value; } -- cgit v1.2.3