rx8025.c (8d79953d03e6c5b24215609997dafe4daa623cd6) rx8025.c (1b769881750030f10743808b9d6013e11f559350)
1/*
2 * (C) Copyright 2007
3 * Matthias Fuchs, esd gmbh, matthias.fuchs@esd-electronics.com.
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or

--- 128 unchanged lines hidden (view full) ---

137 tmp->tm_yday = 0;
138 tmp->tm_isdst= 0;
139
140 DEBUGR ("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
141 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
142 tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
143}
144
1/*
2 * (C) Copyright 2007
3 * Matthias Fuchs, esd gmbh, matthias.fuchs@esd-electronics.com.
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or

--- 128 unchanged lines hidden (view full) ---

137 tmp->tm_yday = 0;
138 tmp->tm_isdst= 0;
139
140 DEBUGR ("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
141 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
142 tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
143}
144
145
146/*
147 * Set the RTC
148 */
149void rtc_set (struct rtc_time *tmp)
150{
151 DEBUGR ("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
152 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
153 tmp->tm_hour, tmp->tm_min, tmp->tm_sec);

--- 7 unchanged lines hidden (view full) ---

161 rtc_write (RTC_DATE_REG_ADDR, bin2bcd (tmp->tm_mday));
162 rtc_write (RTC_HR_REG_ADDR, bin2bcd (tmp->tm_hour));
163 rtc_write (RTC_MIN_REG_ADDR, bin2bcd (tmp->tm_min));
164 rtc_write (RTC_SEC_REG_ADDR, bin2bcd (tmp->tm_sec));
165
166 rtc_write (RTC_CTL1_REG_ADDR, RTC_CTL1_BIT_2412);
167}
168
145/*
146 * Set the RTC
147 */
148void rtc_set (struct rtc_time *tmp)
149{
150 DEBUGR ("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
151 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
152 tmp->tm_hour, tmp->tm_min, tmp->tm_sec);

--- 7 unchanged lines hidden (view full) ---

160 rtc_write (RTC_DATE_REG_ADDR, bin2bcd (tmp->tm_mday));
161 rtc_write (RTC_HR_REG_ADDR, bin2bcd (tmp->tm_hour));
162 rtc_write (RTC_MIN_REG_ADDR, bin2bcd (tmp->tm_min));
163 rtc_write (RTC_SEC_REG_ADDR, bin2bcd (tmp->tm_sec));
164
165 rtc_write (RTC_CTL1_REG_ADDR, RTC_CTL1_BIT_2412);
166}
167
169
170/*
171 * Reset the RTC. We setting the date back to 1970-01-01.
172 */
173void rtc_reset (void)
174{
175 struct rtc_time tmp;
176 uchar buf[16];
177 uchar ctl2;

--- 17 unchanged lines hidden (view full) ---

195
196 printf ( "RTC: %4d-%02d-%02d %2d:%02d:%02d UTC\n",
197 tmp.tm_year, tmp.tm_mon, tmp.tm_mday,
198 tmp.tm_hour, tmp.tm_min, tmp.tm_sec);
199
200 return;
201}
202
168/*
169 * Reset the RTC. We setting the date back to 1970-01-01.
170 */
171void rtc_reset (void)
172{
173 struct rtc_time tmp;
174 uchar buf[16];
175 uchar ctl2;

--- 17 unchanged lines hidden (view full) ---

193
194 printf ( "RTC: %4d-%02d-%02d %2d:%02d:%02d UTC\n",
195 tmp.tm_year, tmp.tm_mon, tmp.tm_mday,
196 tmp.tm_hour, tmp.tm_min, tmp.tm_sec);
197
198 return;
199}
200
203
204/*
205 * Helper functions
206 */
207static void rtc_write (uchar reg, uchar val)
208{
209 uchar buf[2];
210 buf[0] = reg << 4;
211 buf[1] = val;

--- 7 unchanged lines hidden (view full) ---

219 return ((((n >> 4) & 0x0F) * 10) + (n & 0x0F));
220}
221
222static unsigned char bin2bcd (unsigned int n)
223{
224 return (((n / 10) << 4) | (n % 10));
225}
226
201/*
202 * Helper functions
203 */
204static void rtc_write (uchar reg, uchar val)
205{
206 uchar buf[2];
207 buf[0] = reg << 4;
208 buf[1] = val;

--- 7 unchanged lines hidden (view full) ---

216 return ((((n >> 4) & 0x0F) * 10) + (n & 0x0F));
217}
218
219static unsigned char bin2bcd (unsigned int n)
220{
221 return (((n / 10) << 4) | (n % 10));
222}
223
227#endif /* CONFIG_RTC_RX8025 && (CFG_COMMANDS & CFG_CMD_DATE) */
224#endif /* CONFIG_RTC_RX8025 && CONFIG_CMD_DATE */