Lines Matching refs:rtc
25 struct rtc_device *rtc; member
69 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_periodic_disable() local
73 err = regmap_update_bits(rtc->rn5t618->regmap, in rc5t619_rtc_periodic_disable()
79 err = regmap_update_bits(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, in rc5t619_rtc_periodic_disable()
91 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_pon_setup() local
95 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, ®_data); in rc5t619_rtc_pon_setup()
102 err = regmap_write(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, reg_data); in rc5t619_rtc_pon_setup()
107 err = regmap_write(rtc->rn5t618->regmap, RN5T618_RTC_ADJUST, 0); in rc5t619_rtc_pon_setup()
111 return regmap_update_bits(rtc->rn5t618->regmap, in rc5t619_rtc_pon_setup()
118 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_read_time() local
125 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2); in rc5t619_rtc_read_time()
132 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1); in rc5t619_rtc_read_time()
136 err = regmap_bulk_read(rtc->rn5t618->regmap, RN5T618_RTC_SECONDS, in rc5t619_rtc_read_time()
164 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_set_time() local
171 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2); in rc5t619_rtc_set_time()
178 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1); in rc5t619_rtc_set_time()
203 err = regmap_bulk_write(rtc->rn5t618->regmap, RN5T618_RTC_SECONDS, in rc5t619_rtc_set_time()
216 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_alarm_enable() local
218 return regmap_update_bits(rtc->rn5t618->regmap, in rc5t619_rtc_alarm_enable()
226 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_read_alarm() local
233 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1); in rc5t619_rtc_read_alarm()
237 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_MONTH, &buff_cent); in rc5t619_rtc_read_alarm()
248 err = regmap_bulk_read(rtc->rn5t618->regmap, RN5T618_RTC_ALARM_Y_SEC, in rc5t619_rtc_read_alarm()
274 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_set_alarm() local
280 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1); in rc5t619_rtc_set_alarm()
288 if (rtc->irq == -1) in rc5t619_rtc_set_alarm()
313 err = regmap_bulk_write(rtc->rn5t618->regmap, RN5T618_RTC_ALARM_Y_SEC, in rc5t619_rtc_set_alarm()
331 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_alarm_flag_clr() local
334 return regmap_update_bits(rtc->rn5t618->regmap, in rc5t619_rtc_alarm_flag_clr()
342 struct rc5t619_rtc *rtc = dev_get_drvdata(dev); in rc5t619_rtc_irq() local
346 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF); in rc5t619_rtc_irq()
354 struct rc5t619_rtc *rtc; in rc5t619_rtc_probe() local
358 rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL); in rc5t619_rtc_probe()
359 if (!rtc) in rc5t619_rtc_probe()
362 rtc->rn5t618 = rn5t618; in rc5t619_rtc_probe()
364 dev_set_drvdata(dev, rtc); in rc5t619_rtc_probe()
365 rtc->irq = -1; in rc5t619_rtc_probe()
368 rtc->irq = regmap_irq_get_virq(rn5t618->irq_data, in rc5t619_rtc_probe()
371 if (rtc->irq < 0) in rc5t619_rtc_probe()
372 rtc->irq = -1; in rc5t619_rtc_probe()
374 err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2); in rc5t619_rtc_probe()
389 rtc->rtc = devm_rtc_allocate_device(&pdev->dev); in rc5t619_rtc_probe()
390 if (IS_ERR(rtc->rtc)) { in rc5t619_rtc_probe()
391 err = PTR_ERR(rtc->rtc); in rc5t619_rtc_probe()
396 rtc->rtc->ops = &rc5t619_rtc_ops; in rc5t619_rtc_probe()
397 rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_1900; in rc5t619_rtc_probe()
398 rtc->rtc->range_max = RTC_TIMESTAMP_END_2099; in rc5t619_rtc_probe()
401 if (rtc->irq != -1) { in rc5t619_rtc_probe()
402 err = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, in rc5t619_rtc_probe()
408 dev_err(&pdev->dev, "request IRQ:%d fail\n", rtc->irq); in rc5t619_rtc_probe()
409 rtc->irq = -1; in rc5t619_rtc_probe()
418 enable_irq_wake(rtc->irq); in rc5t619_rtc_probe()
429 return devm_rtc_register_device(rtc->rtc); in rc5t619_rtc_probe()