|
|
|
@ -60,7 +60,6 @@ int rtc_get_time(struct tm *time) |
|
|
|
|
time->tm_min += (unsigned char)(((rtc_tr >> 12) & 0xF) * 10); |
|
|
|
|
time->tm_hour = (unsigned char)((rtc_tr >> 16) & 0xF); |
|
|
|
|
time->tm_hour += (unsigned char)(((rtc_tr >> 20) & 0xF) * 10); |
|
|
|
|
time->tm_hour -= 1; |
|
|
|
|
|
|
|
|
|
time->tm_mday = (unsigned char)(rtc_dr & 0xF); |
|
|
|
|
time->tm_mday += (unsigned char)(((rtc_dr >> 4) & 0x3) * 10); |
|
|
|
@ -82,7 +81,6 @@ static int rtc_set_time(struct tm *time) |
|
|
|
|
if (!time) |
|
|
|
|
return -1; |
|
|
|
|
|
|
|
|
|
hour = time->tm_hour + 1; |
|
|
|
|
mon = time->tm_mon + 1; |
|
|
|
|
year = time->tm_year - 100; |
|
|
|
|
|
|
|
|
@ -90,8 +88,8 @@ static int rtc_set_time(struct tm *time) |
|
|
|
|
rtc_tr |= (time->tm_sec / 10) << 4; |
|
|
|
|
rtc_tr |= (time->tm_min % 10) << 8; |
|
|
|
|
rtc_tr |= (time->tm_min / 10) << 12; |
|
|
|
|
rtc_tr |= (hour % 10) << 16; |
|
|
|
|
rtc_tr |= (hour / 10) << 20; |
|
|
|
|
rtc_tr |= (time->tm_hour % 10) << 16; |
|
|
|
|
rtc_tr |= (time->tm_hour / 10) << 20; |
|
|
|
|
|
|
|
|
|
rtc_dr = (time->tm_mday % 10); |
|
|
|
|
rtc_dr |= (time->tm_mday / 10) << 4; |
|
|
|
|