summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/rtc.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/firmware/drivers/rtc.c b/firmware/drivers/rtc.c
index 2882c975b7..c8e19aab53 100644
--- a/firmware/drivers/rtc.c
+++ b/firmware/drivers/rtc.c
@@ -28,9 +28,21 @@
28void rtc_init(void) 28void rtc_init(void)
29{ 29{
30 unsigned char data; 30 unsigned char data;
31 data = (unsigned int)rtc_read(0x0c); 31 rtc_write(0x13, 0x10); /* 32 kHz square wave */
32 data &= 0xbf; 32
33 rtc_write(0x0c,data); 33 /* Clear the Stop bit if it is set */
34 data = rtc_read(0x01);
35 if(data & 0x80)
36 rtc_write(0x01, 0x00);
37
38 /* Clear the HT bit if it is set */
39 data = rtc_read(0x0c);
40
41 if(data & 0x40)
42 {
43 data &= ~0x40;
44 rtc_write(0x0c,data);
45 }
34} 46}
35 47
36int rtc_write(unsigned char address, unsigned char value) 48int rtc_write(unsigned char address, unsigned char value)