Lines Matching refs:ymdhms
151 xirtc_settime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms)
163 WRITERTC(sc, X1241REG_HR, bintobcd(ymdhms->dt_hour) | X1241REG_HR_MIL);
164 WRITERTC(sc, X1241REG_MN, bintobcd(ymdhms->dt_min));
165 WRITERTC(sc, X1241REG_SC, bintobcd(ymdhms->dt_sec));
168 y2k = (ymdhms->dt_year >= 2000) ? 0x20 : 0x19;
169 year = ymdhms->dt_year % 100;
171 WRITERTC(sc, X1241REG_MO, bintobcd(ymdhms->dt_mon));
172 WRITERTC(sc, X1241REG_DT, bintobcd(ymdhms->dt_day));
183 xirtc_gettime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms)
190 ymdhms->dt_day = bcdtobin(READRTC(sc, X1241REG_DT));
191 ymdhms->dt_mon = bcdtobin(READRTC(sc, X1241REG_MO));
194 ymdhms->dt_year = bcdtobin(y2k) * 100 + bcdtobin(year);
197 ymdhms->dt_sec = bcdtobin(READRTC(sc, X1241REG_SC));
198 ymdhms->dt_min = bcdtobin(READRTC(sc, X1241REG_MN));
200 ymdhms->dt_hour = bcdtobin(hour & ~X1241REG_HR_MIL);
261 strtc_settime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms)
268 hour = bintobcd(ymdhms->dt_hour);
269 if (ymdhms->dt_year >= 2000) /* Should be always true! */
273 WRITERTC(sc, M41T81_SEC, bintobcd(ymdhms->dt_sec));
274 WRITERTC(sc, M41T81_MIN, bintobcd(ymdhms->dt_min));
278 WRITERTC(sc, M41T81_DATE, bintobcd(ymdhms->dt_day));
279 WRITERTC(sc, M41T81_MON, bintobcd(ymdhms->dt_mon));
280 WRITERTC(sc, M41T81_YEAR, bintobcd(ymdhms->dt_year % 100));
286 strtc_gettime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms)
293 ymdhms->dt_sec = bcdtobin(READRTC(sc, M41T81_SEC));
294 ymdhms->dt_min = bcdtobin(READRTC(sc, M41T81_MIN));
296 ymdhms->dt_hour = bcdtobin(hour & M41T81_HOUR_MASK);
298 ymdhms->dt_day = bcdtobin(READRTC(sc, M41T81_DATE));
299 ymdhms->dt_mon = bcdtobin(READRTC(sc, M41T81_MON));
300 ymdhms->dt_year = 1900 + bcdtobin(READRTC(sc, M41T81_YEAR));
302 ymdhms->dt_year += 100;