Lines Matching refs:rx8010

73 	struct rx8010_data *rx8010 = i2c_get_clientdata(client);  in rx8010_irq_1_handler()  local
76 rtc_lock(rx8010->rtc); in rx8010_irq_1_handler()
78 err = regmap_read(rx8010->regs, RX8010_FLAG, &flagreg); in rx8010_irq_1_handler()
80 rtc_unlock(rx8010->rtc); in rx8010_irq_1_handler()
89 rtc_update_irq(rx8010->rtc, 1, RTC_PF | RTC_IRQF); in rx8010_irq_1_handler()
94 rtc_update_irq(rx8010->rtc, 1, RTC_AF | RTC_IRQF); in rx8010_irq_1_handler()
99 rtc_update_irq(rx8010->rtc, 1, RTC_UF | RTC_IRQF); in rx8010_irq_1_handler()
102 err = regmap_write(rx8010->regs, RX8010_FLAG, flagreg); in rx8010_irq_1_handler()
103 rtc_unlock(rx8010->rtc); in rx8010_irq_1_handler()
109 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_get_time() local
113 err = regmap_read(rx8010->regs, RX8010_FLAG, &flagreg); in rx8010_get_time()
122 err = regmap_bulk_read(rx8010->regs, RX8010_SEC, date, sizeof(date)); in rx8010_get_time()
139 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_set_time() local
144 err = regmap_set_bits(rx8010->regs, RX8010_CTRL, RX8010_CTRL_STOP); in rx8010_set_time()
156 err = regmap_bulk_write(rx8010->regs, RX8010_SEC, date, sizeof(date)); in rx8010_set_time()
161 err = regmap_clear_bits(rx8010->regs, RX8010_CTRL, RX8010_CTRL_STOP); in rx8010_set_time()
165 err = regmap_clear_bits(rx8010->regs, RX8010_FLAG, RX8010_FLAG_VLF); in rx8010_set_time()
174 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_init() local
179 err = regmap_write(rx8010->regs, RX8010_RESV17, 0xD8); in rx8010_init()
183 err = regmap_write(rx8010->regs, RX8010_RESV30, 0x00); in rx8010_init()
187 err = regmap_write(rx8010->regs, RX8010_RESV31, 0x08); in rx8010_init()
191 err = regmap_write(rx8010->regs, RX8010_IRQ, 0x00); in rx8010_init()
195 err = regmap_bulk_read(rx8010->regs, RX8010_FLAG, ctrl, 2); in rx8010_init()
215 err = regmap_write(rx8010->regs, RX8010_FLAG, ctrl[0]); in rx8010_init()
220 rx8010->ctrlreg = (ctrl[1] & ~RX8010_CTRL_TEST); in rx8010_init()
227 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_read_alarm() local
231 err = regmap_bulk_read(rx8010->regs, RX8010_ALMIN, alarmvals, 3); in rx8010_read_alarm()
235 err = regmap_read(rx8010->regs, RX8010_FLAG, &flagreg); in rx8010_read_alarm()
246 t->enabled = !!(rx8010->ctrlreg & RX8010_CTRL_AIE); in rx8010_read_alarm()
254 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_set_alarm() local
258 if (rx8010->ctrlreg & (RX8010_CTRL_AIE | RX8010_CTRL_UIE)) { in rx8010_set_alarm()
259 rx8010->ctrlreg &= ~(RX8010_CTRL_AIE | RX8010_CTRL_UIE); in rx8010_set_alarm()
260 err = regmap_write(rx8010->regs, RX8010_CTRL, rx8010->ctrlreg); in rx8010_set_alarm()
265 err = regmap_clear_bits(rx8010->regs, RX8010_FLAG, RX8010_FLAG_AF); in rx8010_set_alarm()
273 err = regmap_bulk_write(rx8010->regs, RX8010_ALMIN, alarmvals, 2); in rx8010_set_alarm()
277 err = regmap_clear_bits(rx8010->regs, RX8010_EXT, RX8010_EXT_WADA); in rx8010_set_alarm()
284 err = regmap_write(rx8010->regs, RX8010_ALWDAY, alarmvals[2]); in rx8010_set_alarm()
289 if (rx8010->rtc->uie_rtctimer.enabled) in rx8010_set_alarm()
290 rx8010->ctrlreg |= RX8010_CTRL_UIE; in rx8010_set_alarm()
291 if (rx8010->rtc->aie_timer.enabled) in rx8010_set_alarm()
292 rx8010->ctrlreg |= in rx8010_set_alarm()
295 err = regmap_write(rx8010->regs, RX8010_CTRL, rx8010->ctrlreg); in rx8010_set_alarm()
306 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_alarm_irq_enable() local
310 ctrl = rx8010->ctrlreg; in rx8010_alarm_irq_enable()
313 if (rx8010->rtc->uie_rtctimer.enabled) in rx8010_alarm_irq_enable()
315 if (rx8010->rtc->aie_timer.enabled) in rx8010_alarm_irq_enable()
318 if (!rx8010->rtc->uie_rtctimer.enabled) in rx8010_alarm_irq_enable()
320 if (!rx8010->rtc->aie_timer.enabled) in rx8010_alarm_irq_enable()
324 err = regmap_clear_bits(rx8010->regs, RX8010_FLAG, RX8010_FLAG_AF); in rx8010_alarm_irq_enable()
328 if (ctrl != rx8010->ctrlreg) { in rx8010_alarm_irq_enable()
329 rx8010->ctrlreg = ctrl; in rx8010_alarm_irq_enable()
330 err = regmap_write(rx8010->regs, RX8010_CTRL, rx8010->ctrlreg); in rx8010_alarm_irq_enable()
340 struct rx8010_data *rx8010 = dev_get_drvdata(dev); in rx8010_ioctl() local
345 err = regmap_read(rx8010->regs, RX8010_FLAG, &flagreg); in rx8010_ioctl()
375 struct rx8010_data *rx8010; in rx8010_probe() local
378 rx8010 = devm_kzalloc(dev, sizeof(*rx8010), GFP_KERNEL); in rx8010_probe()
379 if (!rx8010) in rx8010_probe()
382 i2c_set_clientdata(client, rx8010); in rx8010_probe()
384 rx8010->regs = devm_regmap_init_i2c(client, &rx8010_regmap_config); in rx8010_probe()
385 if (IS_ERR(rx8010->regs)) in rx8010_probe()
386 return PTR_ERR(rx8010->regs); in rx8010_probe()
392 rx8010->rtc = devm_rtc_allocate_device(dev); in rx8010_probe()
393 if (IS_ERR(rx8010->rtc)) in rx8010_probe()
394 return PTR_ERR(rx8010->rtc); in rx8010_probe()
411 clear_bit(RTC_FEATURE_ALARM, rx8010->rtc->features); in rx8010_probe()
414 rx8010->rtc->ops = &rx8010_rtc_ops; in rx8010_probe()
415 rx8010->rtc->max_user_freq = 1; in rx8010_probe()
416 rx8010->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; in rx8010_probe()
417 rx8010->rtc->range_max = RTC_TIMESTAMP_END_2099; in rx8010_probe()
419 return devm_rtc_register_device(rx8010->rtc); in rx8010_probe()