Lines Matching +full:reset +full:- +full:time +full:- +full:sec

1 // SPDX-License-Identifier: GPL-2.0+
3 * (C) Copyright 2001-2008
9 * Date & Time support (no alarms) for Dallas Semiconductor (now Maxim)
10 * DS1337 Real Time Clock (RTC).
67 * Get the current time from the RTC
72 uchar sec, min, hour, mday, wday, mon_cent, year, control, status; in rtc_get() local
76 sec = rtc_read (RTC_SEC_REG_ADDR); in rtc_get()
90 "hr: %02x min: %02x sec: %02x control: %02x status: %02x\n", in rtc_get()
91 year, mon_cent, mday, wday, hour, min, sec, control, status); in rtc_get()
98 rel = -1; in rtc_get()
101 tmp->tm_sec = bcd2bin (sec & 0x7F); in rtc_get()
102 tmp->tm_min = bcd2bin (min & 0x7F); in rtc_get()
103 tmp->tm_hour = bcd2bin (hour & 0x3F); in rtc_get()
104 tmp->tm_mday = bcd2bin (mday & 0x3F); in rtc_get()
105 tmp->tm_mon = bcd2bin (mon_cent & 0x1F); in rtc_get()
106 tmp->tm_year = bcd2bin (year) + ((mon_cent & 0x80) ? 2000 : 1900); in rtc_get()
107 tmp->tm_wday = bcd2bin ((wday - 1) & 0x07); in rtc_get()
108 tmp->tm_yday = 0; in rtc_get()
109 tmp->tm_isdst= 0; in rtc_get()
111 debug("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_get()
112 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_get()
113 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_get()
126 debug("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_set()
127 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_set()
128 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_set()
130 rtc_write (RTC_YR_REG_ADDR, bin2bcd (tmp->tm_year % 100)); in rtc_set()
132 century = (tmp->tm_year >= 2000) ? 0x80 : 0; in rtc_set()
133 rtc_write (RTC_MON_REG_ADDR, bin2bcd (tmp->tm_mon) | century); in rtc_set()
135 rtc_write (RTC_DAY_REG_ADDR, bin2bcd (tmp->tm_wday + 1)); in rtc_set()
136 rtc_write (RTC_DATE_REG_ADDR, bin2bcd (tmp->tm_mday)); in rtc_set()
137 rtc_write (RTC_HR_REG_ADDR, bin2bcd (tmp->tm_hour)); in rtc_set()
138 rtc_write (RTC_MIN_REG_ADDR, bin2bcd (tmp->tm_min)); in rtc_set()
139 rtc_write (RTC_SEC_REG_ADDR, bin2bcd (tmp->tm_sec)); in rtc_set()
146 * Reset the RTC. We also enable the oscillator output on the