Lines Matching +full:0 +full:- +full:mon
8 * Based on MontaVista DS1743 code and U-Boot mc146818 code
10 * SPDX-License-Identifier: GPL-2.0+
30 #define RTC_YEAR ( RTC_BASE + 0xf )
31 #define RTC_MONTH ( RTC_BASE + 0xe )
32 #define RTC_DAY_OF_MONTH ( RTC_BASE + 0xd )
33 #define RTC_DAY_OF_WEEK ( RTC_BASE + 0xc )
34 #define RTC_HOURS ( RTC_BASE + 0xb )
35 #define RTC_MINUTES ( RTC_BASE + 0xa )
36 #define RTC_SECONDS ( RTC_BASE + 0x9 )
37 #define RTC_CENTURY ( RTC_BASE + 0x8 )
43 #define RTC_CA_WRITE 0x80
44 #define RTC_CA_READ 0x40
46 #define RTC_CB_OSC_DISABLE 0x80
48 #define RTC_CC_BATTERY_FLAG 0x10
49 #define RTC_CC_FREQ_TEST 0x40
51 /* ------------------------------------------------------------------------- */
56 uchar mday, wday, mon, year; in rtc_get() local
71 mon = rtc_read( RTC_MONTH ); in rtc_get()
79 printf( "Get RTC year: %02x mon/cent: %02x mon: %02x mday: %02x wday: %02x " in rtc_get()
81 year, century, mon, mday, wday, in rtc_get()
84 tmp->tm_sec = bcd2bin( sec & 0x7F ); in rtc_get()
85 tmp->tm_min = bcd2bin( min & 0x7F ); in rtc_get()
86 tmp->tm_hour = bcd2bin( hour & 0x3F ); in rtc_get()
87 tmp->tm_mday = bcd2bin( mday & 0x3F ); in rtc_get()
88 tmp->tm_mon = bcd2bin( mon & 0x1F ); in rtc_get()
89 tmp->tm_wday = bcd2bin( wday & 0x07 ); in rtc_get()
92 tmp->tm_year = bcd2bin( year ) + in rtc_get()
93 ( bcd2bin( century & 0x3F ) * 100 ); in rtc_get()
95 tmp->tm_yday = 0; in rtc_get()
96 tmp->tm_isdst= 0; in rtc_get()
98 printf( "Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_get()
99 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_get()
100 tmp->tm_hour, tmp->tm_min, tmp->tm_sec ); in rtc_get()
102 return 0; in rtc_get()
109 printf( "Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_set()
110 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_set()
111 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_set()
117 rtc_write( RTC_MONTH, bin2bcd( tmp->tm_mon )); in rtc_set()
119 rtc_write( RTC_DAY_OF_WEEK, bin2bcd( tmp->tm_wday )); in rtc_set()
120 rtc_write( RTC_DAY_OF_MONTH, bin2bcd( tmp->tm_mday )); in rtc_set()
121 rtc_write( RTC_HOURS, bin2bcd( tmp->tm_hour )); in rtc_set()
122 rtc_write( RTC_MINUTES, bin2bcd( tmp->tm_min )); in rtc_set()
123 rtc_write( RTC_SECONDS, bin2bcd( tmp->tm_sec )); in rtc_set()
126 rtc_write( RTC_YEAR, bin2bcd( tmp->tm_year % 100 )); in rtc_set()
127 rtc_write( RTC_CENTURY, bin2bcd( tmp->tm_year / 100 )); in rtc_set()
132 return 0; in rtc_set()
144 printf( "real-time-clock was stopped. Now starting...\n" ); in rtc_reset()
157 if (( reg_c & RTC_CC_BATTERY_FLAG ) == 0 ) in rtc_reset()
161 /* ------------------------------------------------------------------------- */