Lines Matching refs:tm

67 static void rzn1_rtc_get_time_snapshot(struct rzn1_rtc *rtc, struct rtc_time *tm)
69 tm->tm_sec = readl(rtc->base + RZN1_RTC_SECC);
70 tm->tm_min = readl(rtc->base + RZN1_RTC_MINC);
71 tm->tm_hour = readl(rtc->base + RZN1_RTC_HOURC);
72 tm->tm_wday = readl(rtc->base + RZN1_RTC_WEEKC);
73 tm->tm_mday = readl(rtc->base + RZN1_RTC_DAYC);
74 tm->tm_mon = readl(rtc->base + RZN1_RTC_MONTHC);
75 tm->tm_year = readl(rtc->base + RZN1_RTC_YEARC);
78 static unsigned int rzn1_rtc_tm_to_wday(struct rtc_time *tm)
84 time = rtc_tm_to_time64(tm);
91 static int rzn1_rtc_read_time(struct device *dev, struct rtc_time *tm)
104 rzn1_rtc_get_time_snapshot(rtc, tm);
106 if (tm->tm_sec != secs)
107 rzn1_rtc_get_time_snapshot(rtc, tm);
109 tm->tm_sec = bcd2bin(tm->tm_sec);
110 tm->tm_min = bcd2bin(tm->tm_min);
111 tm->tm_hour = bcd2bin(tm->tm_hour);
112 tm->tm_wday = bcd2bin(tm->tm_wday);
113 tm->tm_mday = bcd2bin(tm->tm_mday);
114 tm->tm_mon = bcd2bin(tm->tm_mon);
115 tm->tm_year = bcd2bin(tm->tm_year);
120 static int rzn1_rtc_set_time(struct device *dev, struct rtc_time *tm)
126 tm->tm_sec = bin2bcd(tm->tm_sec);
127 tm->tm_min = bin2bcd(tm->tm_min);
128 tm->tm_hour = bin2bcd(tm->tm_hour);
129 tm->tm_wday = bin2bcd(rzn1_rtc_tm_to_wday(tm));
130 tm->tm_mday = bin2bcd(tm->tm_mday);
131 tm->tm_mon = bin2bcd(tm->tm_mon);
132 tm->tm_year = bin2bcd(tm->tm_year);
147 writel(tm->tm_sec, rtc->base + RZN1_RTC_SEC);
148 writel(tm->tm_min, rtc->base + RZN1_RTC_MIN);
149 writel(tm->tm_hour, rtc->base + RZN1_RTC_HOUR);
150 writel(tm->tm_wday, rtc->base + RZN1_RTC_WEEK);
151 writel(tm->tm_mday, rtc->base + RZN1_RTC_DAY);
152 writel(tm->tm_mon, rtc->base + RZN1_RTC_MONTH);
153 writel(tm->tm_year, rtc->base + RZN1_RTC_YEAR);
186 struct rtc_time *tm = &alrm->time;
192 ret = rzn1_rtc_read_time(dev, tm);
200 tm->tm_sec = 0;
201 tm->tm_min = bcd2bin(min);
202 tm->tm_hour = bcd2bin(hour);
203 delta_days = ((fls(wday) - 1) - tm->tm_wday + 7) % 7;
204 tm->tm_wday = fls(wday) - 1;
207 alarm = rtc_tm_to_time64(tm) + (delta_days * 86400);
208 rtc_time64_to_tm(alarm, tm);
220 struct rtc_time *tm = &alrm->time, tm_now;
231 alarm = rtc_tm_to_time64(tm);
236 days_ahead = tm->tm_mday - tm_now.tm_mday;
239 writel(bin2bcd(tm->tm_min), rtc->base + RZN1_RTC_ALM);
240 writel(bin2bcd(tm->tm_hour), rtc->base + RZN1_RTC_ALH);