Lines Matching refs:ioaddr
40 void __iomem *ioaddr; member
46 static u32 rtc_read_lp_counter(void __iomem *ioaddr) in rtc_read_lp_counter() argument
51 read1 = readl(ioaddr + SNVS_LPSRTCMR); in rtc_read_lp_counter()
53 read1 |= readl(ioaddr + SNVS_LPSRTCLR); in rtc_read_lp_counter()
55 read2 = readl(ioaddr + SNVS_LPSRTCMR); in rtc_read_lp_counter()
57 read2 |= readl(ioaddr + SNVS_LPSRTCLR); in rtc_read_lp_counter()
64 static void rtc_write_sync_lp(void __iomem *ioaddr) in rtc_write_sync_lp() argument
72 count1 = readl(ioaddr + SNVS_LPSRTCLR); in rtc_write_sync_lp()
73 count2 = readl(ioaddr + SNVS_LPSRTCLR); in rtc_write_sync_lp()
79 count2 = readl(ioaddr + SNVS_LPSRTCLR); in rtc_write_sync_lp()
80 count3 = readl(ioaddr + SNVS_LPSRTCLR); in rtc_write_sync_lp()
94 lpcr = readl(data->ioaddr + SNVS_LPCR); in snvs_rtc_enable()
99 writel(lpcr, data->ioaddr + SNVS_LPCR); in snvs_rtc_enable()
104 lpcr = readl(data->ioaddr + SNVS_LPCR); in snvs_rtc_enable()
124 unsigned long time = rtc_read_lp_counter(data->ioaddr); in snvs_rtc_read_time()
142 writel(time << CNTR_TO_SECS_SH, data->ioaddr + SNVS_LPSRTCLR); in snvs_rtc_set_time()
143 writel(time >> (32 - CNTR_TO_SECS_SH), data->ioaddr + SNVS_LPSRTCMR); in snvs_rtc_set_time()
156 lptar = readl(data->ioaddr + SNVS_LPTAR); in snvs_rtc_read_alarm()
159 lpsr = readl(data->ioaddr + SNVS_LPSR); in snvs_rtc_read_alarm()
173 lpcr = readl(data->ioaddr + SNVS_LPCR); in snvs_rtc_alarm_irq_enable()
178 writel(lpcr, data->ioaddr + SNVS_LPCR); in snvs_rtc_alarm_irq_enable()
182 rtc_write_sync_lp(data->ioaddr); in snvs_rtc_alarm_irq_enable()
200 lpcr = readl(data->ioaddr + SNVS_LPCR); in snvs_rtc_set_alarm()
202 writel(lpcr, data->ioaddr + SNVS_LPCR); in snvs_rtc_set_alarm()
206 writel(time, data->ioaddr + SNVS_LPTAR); in snvs_rtc_set_alarm()
209 writel(SNVS_LPSR_LPTA, data->ioaddr + SNVS_LPSR); in snvs_rtc_set_alarm()
229 lpsr = readl(data->ioaddr + SNVS_LPSR); in snvs_rtc_irq_handler()
241 writel(lpsr, data->ioaddr + SNVS_LPSR); in snvs_rtc_irq_handler()
257 data->ioaddr = devm_ioremap_resource(&pdev->dev, res); in snvs_rtc_probe()
258 if (IS_ERR(data->ioaddr)) in snvs_rtc_probe()
259 return PTR_ERR(data->ioaddr); in snvs_rtc_probe()
282 writel(SNVS_LPPGDR_INIT, data->ioaddr + SNVS_LPPGDR); in snvs_rtc_probe()
285 writel(0xffffffff, data->ioaddr + SNVS_LPSR); in snvs_rtc_probe()