Lines Matching +full:10 +full:base
106 * @ten_sec: PPB per cycle in 10 seconds adjutment mode
116 * @base: base address
126 void __iomem *base; member
140 tmp = readb(priv->base + off); in rtca3_byte_update_bits()
143 writeb(tmp, priv->base + off); in rtca3_byte_update_bits()
150 val = readb(priv->base + RTCA3_RSR); in rtca3_alarm_handler_helper()
152 writeb(val & ~pending, priv->base + RTCA3_RSR); in rtca3_alarm_handler_helper()
179 val = readb(priv->base + RTCA3_RSR); in rtca3_periodic_handler()
183 writeb(val & ~pending, priv->base + RTCA3_RSR); in rtca3_periodic_handler()
196 readb_poll_timeout_atomic(priv->base + RTCA3_RCR1, val, in rtca3_periodic_handler()
198 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_periodic_handler()
220 readb(priv->base + RTCA3_RSECCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
221 readb(priv->base + RTCA3_RMINCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
222 readb(priv->base + RTCA3_RHRCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
223 readb(priv->base + RTCA3_RWKCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
224 readb(priv->base + RTCA3_RDAYCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
225 readw(priv->base + RTCA3_RYRCNT + offset); in rtca3_prepare_cntalrm_regs_for_read()
227 readb(priv->base + RTCA3_RYRAREN); in rtca3_prepare_cntalrm_regs_for_read()
241 tmp = readb(priv->base + RTCA3_RCR2); in rtca3_read_time()
250 sec = readb(priv->base + RTCA3_RSECCNT); in rtca3_read_time()
251 min = readb(priv->base + RTCA3_RMINCNT); in rtca3_read_time()
252 hour = readb(priv->base + RTCA3_RHRCNT); in rtca3_read_time()
253 wday = readb(priv->base + RTCA3_RWKCNT); in rtca3_read_time()
254 mday = readb(priv->base + RTCA3_RDAYCNT); in rtca3_read_time()
255 month = readb(priv->base + RTCA3_RMONCNT); in rtca3_read_time()
256 year = readw(priv->base + RTCA3_RYRCNT); in rtca3_read_time()
258 tmp = readb(priv->base + RTCA3_RSR); in rtca3_read_time()
293 rcr2 = readb(priv->base + RTCA3_RCR2); in rtca3_set_time()
294 writeb(rcr2 & ~RTCA3_RCR2_START, priv->base + RTCA3_RCR2); in rtca3_set_time()
295 ret = readb_poll_timeout_atomic(priv->base + RTCA3_RCR2, tmp, in rtca3_set_time()
297 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_time()
302 writeb(bin2bcd(tm->tm_sec), priv->base + RTCA3_RSECCNT); in rtca3_set_time()
303 writeb(bin2bcd(tm->tm_min), priv->base + RTCA3_RMINCNT); in rtca3_set_time()
304 writeb(bin2bcd(tm->tm_hour), priv->base + RTCA3_RHRCNT); in rtca3_set_time()
305 writeb(bin2bcd(tm->tm_wday), priv->base + RTCA3_RWKCNT); in rtca3_set_time()
306 writeb(bin2bcd(tm->tm_mday), priv->base + RTCA3_RDAYCNT); in rtca3_set_time()
307 writeb(bin2bcd(tm->tm_mon + 1), priv->base + RTCA3_RMONCNT); in rtca3_set_time()
308 writew(bin2bcd(tm->tm_year % 100), priv->base + RTCA3_RYRCNT); in rtca3_set_time()
314 writeb(rcr2 | RTCA3_RCR2_START, priv->base + RTCA3_RCR2); in rtca3_set_time()
315 return readb_poll_timeout_atomic(priv->base + RTCA3_RCR2, tmp, in rtca3_set_time()
317 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_time()
338 return readb_poll_timeout_atomic(priv->base + RTCA3_RCR1, tmp, in rtca3_alarm_irq_set_helper()
340 10, RTCA3_IRQSET_TIMEOUT_US); in rtca3_alarm_irq_set_helper()
362 sec = readb(priv->base + RTCA3_RSECAR); in rtca3_read_alarm()
363 min = readb(priv->base + RTCA3_RMINAR); in rtca3_read_alarm()
364 hour = readb(priv->base + RTCA3_RHRAR); in rtca3_read_alarm()
365 wday = readb(priv->base + RTCA3_RWKAR); in rtca3_read_alarm()
366 mday = readb(priv->base + RTCA3_RDAYAR); in rtca3_read_alarm()
367 month = readb(priv->base + RTCA3_RMONAR); in rtca3_read_alarm()
368 year = readw(priv->base + RTCA3_RYRAR); in rtca3_read_alarm()
380 wkalrm->enabled = !!(readb(priv->base + RTCA3_RCR1) & RTCA3_RCR1_AIE); in rtca3_read_alarm()
393 tmp = readb(priv->base + RTCA3_RCR2); in rtca3_set_alarm()
398 rcr1 = readb(priv->base + RTCA3_RCR1); in rtca3_set_alarm()
400 writeb(rcr1, priv->base + RTCA3_RCR1); in rtca3_set_alarm()
401 ret = readb_poll_timeout_atomic(priv->base + RTCA3_RCR1, tmp, in rtca3_set_alarm()
403 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_alarm()
408 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_sec), priv->base + RTCA3_RSECAR); in rtca3_set_alarm()
409 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_min), priv->base + RTCA3_RMINAR); in rtca3_set_alarm()
410 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_hour), priv->base + RTCA3_RHRAR); in rtca3_set_alarm()
411 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_wday), priv->base + RTCA3_RWKAR); in rtca3_set_alarm()
412 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_mday), priv->base + RTCA3_RDAYAR); in rtca3_set_alarm()
413 writeb(RTCA3_AR_ENB | bin2bcd(tm->tm_mon + 1), priv->base + RTCA3_RMONAR); in rtca3_set_alarm()
415 writew(bin2bcd(tm->tm_year % 100), priv->base + RTCA3_RYRAR); in rtca3_set_alarm()
416 writeb(RTCA3_AR_ENB, priv->base + RTCA3_RYRAREN); in rtca3_set_alarm()
427 writeb(rcr1, priv->base + RTCA3_RCR1); in rtca3_set_alarm()
428 ret = readb_poll_timeout_atomic(priv->base + RTCA3_RCR1, tmp, in rtca3_set_alarm()
430 10, RTCA3_IRQSET_TIMEOUT_US); in rtca3_set_alarm()
457 writeb(rcr1 & ~RTCA3_RCR1_PIE, priv->base + RTCA3_RCR1); in rtca3_set_alarm()
458 readb_poll_timeout_atomic(priv->base + RTCA3_RCR1, tmp, !(tmp & ~RTCA3_RCR1_PIE), in rtca3_set_alarm()
459 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_alarm()
473 radj = readb(priv->base + RTCA3_RADJ); in rtca3_read_offset()
474 val = readb(priv->base + RTCA3_RCR2); in rtca3_read_offset()
505 * Automatic time error adjustment could be set at intervals of 10 in rtca3_set_offset()
534 tmp = readb(priv->base + RTCA3_RCR2); in rtca3_set_offset()
538 writeb(0, priv->base + RTCA3_RADJ); in rtca3_set_offset()
539 ret = readb_poll_timeout_atomic(priv->base + RTCA3_RADJ, tmp, !tmp, in rtca3_set_offset()
540 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_offset()
545 ret = readb_poll_timeout_atomic(priv->base + RTCA3_RCR2, tmp, in rtca3_set_offset()
547 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_offset()
552 writeb(radj, priv->base + RTCA3_RADJ); in rtca3_set_offset()
553 return readb_poll_timeout_atomic(priv->base + RTCA3_RADJ, tmp, (tmp == radj), in rtca3_set_offset()
554 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_set_offset()
580 priv->ppb.ten_sec = DIV_ROUND_CLOSEST_ULL(1000000000ULL, (osc32k_rate * 10)); in rtca3_initial_setup()
587 usleep_range(sleep_us, sleep_us + 10); in rtca3_initial_setup()
590 val = readb(priv->base + RTCA3_RCR2); in rtca3_initial_setup()
600 writeb(0, priv->base + RTCA3_RCR2); in rtca3_initial_setup()
601 ret = readb_poll_timeout(priv->base + RTCA3_RCR2, tmp, !(tmp & mask), in rtca3_initial_setup()
602 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_initial_setup()
612 writeb(val, priv->base + RTCA3_RCR2); in rtca3_initial_setup()
613 ret = readb_poll_timeout(priv->base + RTCA3_RCR2, tmp, (tmp & mask), in rtca3_initial_setup()
614 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_initial_setup()
620 writeb(val | RTCA3_RCR2_RESET, priv->base + RTCA3_RCR2); in rtca3_initial_setup()
621 ret = readb_poll_timeout(priv->base + RTCA3_RCR2, tmp, !(tmp & mask), in rtca3_initial_setup()
622 10, RTCA3_RESET_TIMEOUT_US); in rtca3_initial_setup()
631 usleep_range(sleep_us, sleep_us + 10); in rtca3_initial_setup()
634 writeb(0, priv->base + RTCA3_RADJ); in rtca3_initial_setup()
635 ret = readb_poll_timeout(priv->base + RTCA3_RADJ, tmp, !tmp, 10, in rtca3_initial_setup()
641 writeb(val, priv->base + RTCA3_RCR2); in rtca3_initial_setup()
642 ret = readb_poll_timeout(priv->base + RTCA3_RCR2, tmp, ((tmp & mask) == mask), in rtca3_initial_setup()
643 10, RTCA3_START_TIMEOUT_US); in rtca3_initial_setup()
658 return readb_poll_timeout(priv->base + RTCA3_RCR1, tmp, ((tmp & RTCA3_RCR1_PES) == val), in rtca3_initial_setup()
659 10, RTCA3_DEFAULT_TIMEOUT_US); in rtca3_initial_setup()
721 priv->base = devm_platform_ioremap_resource(pdev, 0); in rtca3_probe()
722 if (IS_ERR(priv->base)) in rtca3_probe()
723 return PTR_ERR(priv->base); in rtca3_probe()