Lines Matching refs:rtcreg
21 struct tx4939_rtc_reg __iomem *rtcreg; member
30 static int tx4939_rtc_cmd(struct tx4939_rtc_reg __iomem *rtcreg, int cmd) in tx4939_rtc_cmd() argument
34 __raw_writel(cmd, &rtcreg->ctl); in tx4939_rtc_cmd()
36 while (__raw_readl(&rtcreg->ctl) & TX4939_RTCCTL_BUSY) { in tx4939_rtc_cmd()
48 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_set_mmss() local
59 __raw_writel(0, &rtcreg->adr); in tx4939_rtc_set_mmss()
61 __raw_writel(buf[i], &rtcreg->dat); in tx4939_rtc_set_mmss()
62 ret = tx4939_rtc_cmd(rtcreg, in tx4939_rtc_set_mmss()
64 (__raw_readl(&rtcreg->ctl) & TX4939_RTCCTL_ALME)); in tx4939_rtc_set_mmss()
72 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_read_time() local
78 ret = tx4939_rtc_cmd(rtcreg, in tx4939_rtc_read_time()
80 (__raw_readl(&rtcreg->ctl) & TX4939_RTCCTL_ALME)); in tx4939_rtc_read_time()
85 __raw_writel(2, &rtcreg->adr); in tx4939_rtc_read_time()
87 buf[i] = __raw_readl(&rtcreg->dat); in tx4939_rtc_read_time()
97 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_set_alarm() local
117 __raw_writel(0, &rtcreg->adr); in tx4939_rtc_set_alarm()
119 __raw_writel(buf[i], &rtcreg->dat); in tx4939_rtc_set_alarm()
120 ret = tx4939_rtc_cmd(rtcreg, TX4939_RTCCTL_COMMAND_SETALARM | in tx4939_rtc_set_alarm()
129 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_read_alarm() local
136 ret = tx4939_rtc_cmd(rtcreg, in tx4939_rtc_read_alarm()
138 (__raw_readl(&rtcreg->ctl) & TX4939_RTCCTL_ALME)); in tx4939_rtc_read_alarm()
143 __raw_writel(2, &rtcreg->adr); in tx4939_rtc_read_alarm()
145 buf[i] = __raw_readl(&rtcreg->dat); in tx4939_rtc_read_alarm()
146 ctl = __raw_readl(&rtcreg->ctl); in tx4939_rtc_read_alarm()
160 tx4939_rtc_cmd(pdata->rtcreg, in tx4939_rtc_alarm_irq_enable()
170 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_interrupt() local
174 if (__raw_readl(&rtcreg->ctl) & TX4939_RTCCTL_ALMD) { in tx4939_rtc_interrupt()
176 tx4939_rtc_cmd(rtcreg, TX4939_RTCCTL_COMMAND_NOP); in tx4939_rtc_interrupt()
198 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_nvram_read() local
203 __raw_writel(pos++, &rtcreg->adr); in tx4939_rtc_nvram_read()
204 *buf++ = __raw_readl(&rtcreg->dat); in tx4939_rtc_nvram_read()
216 struct tx4939_rtc_reg __iomem *rtcreg = pdata->rtcreg; in tx4939_rtc_nvram_write() local
221 __raw_writel(pos++, &rtcreg->adr); in tx4939_rtc_nvram_write()
222 __raw_writel(*buf++, &rtcreg->dat); in tx4939_rtc_nvram_write()
254 pdata->rtcreg = devm_ioremap_resource(&pdev->dev, res); in tx4939_rtc_probe()
255 if (IS_ERR(pdata->rtcreg)) in tx4939_rtc_probe()
256 return PTR_ERR(pdata->rtcreg); in tx4939_rtc_probe()
259 tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP); in tx4939_rtc_probe()
279 tx4939_rtc_cmd(pdata->rtcreg, TX4939_RTCCTL_COMMAND_NOP); in tx4939_rtc_remove()