Lines Matching refs:rtc_data

79 	struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
82 writel(timeout, rtc_data->io + STMP3XXX_RTC_WATCHDOG);
84 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_SET);
86 rtc_data->io + STMP3XXX_RTC_PERSISTENT1 + STMP_OFFSET_REG_SET);
89 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
91 rtc_data->io + STMP3XXX_RTC_PERSISTENT1 + STMP_OFFSET_REG_CLR);
123 static int stmp3xxx_wait_time(struct stmp3xxx_rtc_data *rtc_data)
137 if (!(readl(rtc_data->io + STMP3XXX_RTC_STAT) &
142 return (readl(rtc_data->io + STMP3XXX_RTC_STAT) &
150 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
152 ret = stmp3xxx_wait_time(rtc_data);
156 rtc_time64_to_tm(readl(rtc_data->io + STMP3XXX_RTC_SECONDS), rtc_tm);
162 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
164 writel(rtc_tm_to_time64(rtc_tm), rtc_data->io + STMP3XXX_RTC_SECONDS);
165 return stmp3xxx_wait_time(rtc_data);
171 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev_id);
172 u32 status = readl(rtc_data->io + STMP3XXX_RTC_CTRL);
176 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
177 rtc_update_irq(rtc_data->rtc, 1, RTC_AF | RTC_IRQF);
186 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
191 rtc_data->io + STMP3XXX_RTC_PERSISTENT0 +
194 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_SET);
198 rtc_data->io + STMP3XXX_RTC_PERSISTENT0 +
201 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
208 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
210 rtc_time64_to_tm(readl(rtc_data->io + STMP3XXX_RTC_ALARM), &alm->time);
216 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
218 writel(rtc_tm_to_time64(&alm->time), rtc_data->io + STMP3XXX_RTC_ALARM);
236 struct stmp3xxx_rtc_data *rtc_data = platform_get_drvdata(pdev);
238 if (!rtc_data)
242 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
247 struct stmp3xxx_rtc_data *rtc_data;
254 rtc_data = devm_kzalloc(&pdev->dev, sizeof(*rtc_data), GFP_KERNEL);
255 if (!rtc_data)
264 rtc_data->io = devm_ioremap(&pdev->dev, r->start, resource_size(r));
265 if (!rtc_data->io) {
270 rtc_data->irq_alarm = platform_get_irq(pdev, 0);
272 rtc_stat = readl(rtc_data->io + STMP3XXX_RTC_STAT);
278 platform_set_drvdata(pdev, rtc_data);
285 if (readl(rtc_data->io + STMP3XXX_RTC_CTRL) &
290 err = stmp_reset_block(rtc_data->io);
341 writel(pers0_set, rtc_data->io + STMP3XXX_RTC_PERSISTENT0 +
347 rtc_data->io + STMP3XXX_RTC_PERSISTENT0 + STMP_OFFSET_REG_CLR);
351 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
353 rtc_data->rtc = devm_rtc_allocate_device(&pdev->dev);
354 if (IS_ERR(rtc_data->rtc))
355 return PTR_ERR(rtc_data->rtc);
357 err = devm_request_irq(&pdev->dev, rtc_data->irq_alarm,
361 rtc_data->irq_alarm);
365 rtc_data->rtc->ops = &stmp3xxx_rtc_ops;
366 rtc_data->rtc->range_max = U32_MAX;
368 err = devm_rtc_register_device(rtc_data->rtc);
384 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
386 stmp_reset_block(rtc_data->io);
390 rtc_data->io + STMP3XXX_RTC_PERSISTENT0 + STMP_OFFSET_REG_CLR);