Lines Matching +full:0 +full:- +full:mon
7 * SPDX-License-Identifier: GPL-2.0+
20 /*---------------------------------------------------------------------*/
26 /*---------------------------------------------------------------------*/
32 #define RTC_SEC_REG_ADDR 0x0
33 #define RTC_MIN_REG_ADDR 0x1
34 #define RTC_HR_REG_ADDR 0x2
35 #define RTC_DATE_REG_ADDR 0x3
36 #define RTC_MON_REG_ADDR 0x4
37 #define RTC_YR_REG_ADDR 0x5
38 #define RTC_DAY_REG_ADDR 0x6
39 #define RTC_STAT_REG_ADDR 0x7
47 #define RTC_STAT_BIT_ARST 0x80 /* AUTO RESET ENABLE BIT */
48 #define RTC_STAT_BIT_XTOSCB 0x40 /* CRYSTAL OSCILLATOR ENABLE BIT */
49 #define RTC_STAT_BIT_WRTC 0x10 /* WRITE RTC ENABLE BIT */
50 #define RTC_STAT_BIT_ALM 0x04 /* ALARM BIT */
51 #define RTC_STAT_BIT_BAT 0x02 /* BATTERY BIT */
52 #define RTC_STAT_BIT_RTCF 0x01 /* REAL TIME CLOCK FAIL BIT */
63 int rel = 0; in rtc_get()
64 uchar sec, min, hour, mday, wday, mon, year, status; in rtc_get() local
72 mon = rtc_read (RTC_MON_REG_ADDR); in rtc_get()
75 DEBUGR ("Get RTC year: %02x mon: %02x mday: %02x wday: %02x " in rtc_get()
77 year, mon, mday, wday, hour, min, sec, status); in rtc_get()
83 rel = -1; in rtc_get()
86 tmp->tm_sec = bcd2bin (sec & 0x7F); in rtc_get()
87 tmp->tm_min = bcd2bin (min & 0x7F); in rtc_get()
88 tmp->tm_hour = bcd2bin (hour & 0x3F); in rtc_get()
89 tmp->tm_mday = bcd2bin (mday & 0x3F); in rtc_get()
90 tmp->tm_mon = bcd2bin (mon & 0x1F); in rtc_get()
91 tmp->tm_year = bcd2bin (year)+2000; in rtc_get()
92 tmp->tm_wday = bcd2bin (wday & 0x07); in rtc_get()
93 tmp->tm_yday = 0; in rtc_get()
94 tmp->tm_isdst= 0; in rtc_get()
96 DEBUGR ("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_get()
97 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_get()
98 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_get()
108 DEBUGR ("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_set()
109 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_set()
110 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_set()
116 rtc_write (RTC_YR_REG_ADDR, bin2bcd (tmp->tm_year % 100)); in rtc_set()
117 rtc_write (RTC_MON_REG_ADDR, bin2bcd (tmp->tm_mon)); in rtc_set()
118 rtc_write (RTC_DAY_REG_ADDR, bin2bcd (tmp->tm_wday)); in rtc_set()
119 rtc_write (RTC_DATE_REG_ADDR, bin2bcd (tmp->tm_mday)); in rtc_set()
120 rtc_write (RTC_HR_REG_ADDR, bin2bcd (tmp->tm_hour) | 0x80 ); /* 24h clock */ in rtc_set()
121 rtc_write (RTC_MIN_REG_ADDR, bin2bcd (tmp->tm_min)); in rtc_set()
122 rtc_write (RTC_SEC_REG_ADDR, bin2bcd (tmp->tm_sec)); in rtc_set()
128 return 0; in rtc_set()