Lines Matching refs:alrm
191 static int rk808_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
207 alrm->time.tm_sec = bcd2bin(alrm_data[0] & SECONDS_REG_MSK);
208 alrm->time.tm_min = bcd2bin(alrm_data[1] & MINUTES_REG_MAK);
209 alrm->time.tm_hour = bcd2bin(alrm_data[2] & HOURS_REG_MSK);
210 alrm->time.tm_mday = bcd2bin(alrm_data[3] & DAYS_REG_MSK);
211 alrm->time.tm_mon = (bcd2bin(alrm_data[4] & MONTHS_REG_MSK)) - 1;
212 alrm->time.tm_year = (bcd2bin(alrm_data[5] & YEARS_REG_MSK)) + 100;
213 rockchip_to_gregorian(&alrm->time);
221 dev_dbg(dev, "alrm read RTC date/time %ptRd(%d) %ptRt\n",
222 &alrm->time, alrm->time.tm_wday, &alrm->time);
224 alrm->enabled = (int_reg & BIT_RTC_INTERRUPTS_REG_IT_ALARM_M) ? 1 : 0;
252 static int rk808_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
264 dev_dbg(dev, "alrm set RTC date/time %ptRd(%d) %ptRt\n",
265 &alrm->time, alrm->time.tm_wday, &alrm->time);
267 gregorian_to_rockchip(&alrm->time);
268 alrm_data[0] = bin2bcd(alrm->time.tm_sec);
269 alrm_data[1] = bin2bcd(alrm->time.tm_min);
270 alrm_data[2] = bin2bcd(alrm->time.tm_hour);
271 alrm_data[3] = bin2bcd(alrm->time.tm_mday);
272 alrm_data[4] = bin2bcd(alrm->time.tm_mon + 1);
273 alrm_data[5] = bin2bcd(alrm->time.tm_year - 100);
282 if (alrm->enabled) {