pxa_rtc 71 drivers/rtc/rtc-pxa.c #define rtc_readl(pxa_rtc, reg) \ pxa_rtc 72 drivers/rtc/rtc-pxa.c __raw_readl((pxa_rtc)->base + (reg)) pxa_rtc 73 drivers/rtc/rtc-pxa.c #define rtc_writel(pxa_rtc, reg, value) \ pxa_rtc 74 drivers/rtc/rtc-pxa.c __raw_writel((value), (pxa_rtc)->base + (reg)) pxa_rtc 112 drivers/rtc/rtc-pxa.c static void rtsr_clear_bits(struct pxa_rtc *pxa_rtc, u32 mask) pxa_rtc 116 drivers/rtc/rtc-pxa.c rtsr = rtc_readl(pxa_rtc, RTSR); pxa_rtc 119 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RTSR, rtsr); pxa_rtc 122 drivers/rtc/rtc-pxa.c static void rtsr_set_bits(struct pxa_rtc *pxa_rtc, u32 mask) pxa_rtc 126 drivers/rtc/rtc-pxa.c rtsr = rtc_readl(pxa_rtc, RTSR); pxa_rtc 129 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RTSR, rtsr); pxa_rtc 134 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev_id); pxa_rtc 138 drivers/rtc/rtc-pxa.c spin_lock(&pxa_rtc->lock); pxa_rtc 141 drivers/rtc/rtc-pxa.c rtsr = rtc_readl(pxa_rtc, RTSR); pxa_rtc 142 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RTSR, rtsr); pxa_rtc 145 drivers/rtc/rtc-pxa.c rtsr_clear_bits(pxa_rtc, RTSR_RDALE1 | RTSR_PIALE | RTSR_HZE); pxa_rtc 159 drivers/rtc/rtc-pxa.c rtc_update_irq(pxa_rtc->rtc, 1, events); pxa_rtc 162 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RTSR, rtsr & ~RTSR_TRIG_MASK); pxa_rtc 164 drivers/rtc/rtc-pxa.c spin_unlock(&pxa_rtc->lock); pxa_rtc 170 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 173 drivers/rtc/rtc-pxa.c ret = request_irq(pxa_rtc->sa1100_rtc.irq_1hz, pxa_rtc_irq, 0, pxa_rtc 177 drivers/rtc/rtc-pxa.c pxa_rtc->sa1100_rtc.irq_1hz, ret); pxa_rtc 180 drivers/rtc/rtc-pxa.c ret = request_irq(pxa_rtc->sa1100_rtc.irq_alarm, pxa_rtc_irq, 0, pxa_rtc 184 drivers/rtc/rtc-pxa.c pxa_rtc->sa1100_rtc.irq_alarm, ret); pxa_rtc 191 drivers/rtc/rtc-pxa.c free_irq(pxa_rtc->sa1100_rtc.irq_1hz, dev); pxa_rtc 198 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 200 drivers/rtc/rtc-pxa.c spin_lock_irq(&pxa_rtc->lock); pxa_rtc 201 drivers/rtc/rtc-pxa.c rtsr_clear_bits(pxa_rtc, RTSR_PIALE | RTSR_RDALE1 | RTSR_HZE); pxa_rtc 202 drivers/rtc/rtc-pxa.c spin_unlock_irq(&pxa_rtc->lock); pxa_rtc 204 drivers/rtc/rtc-pxa.c free_irq(pxa_rtc->sa1100_rtc.irq_1hz, dev); pxa_rtc 205 drivers/rtc/rtc-pxa.c free_irq(pxa_rtc->sa1100_rtc.irq_alarm, dev); pxa_rtc 210 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 212 drivers/rtc/rtc-pxa.c spin_lock_irq(&pxa_rtc->lock); pxa_rtc 215 drivers/rtc/rtc-pxa.c rtsr_set_bits(pxa_rtc, RTSR_RDALE1); pxa_rtc 217 drivers/rtc/rtc-pxa.c rtsr_clear_bits(pxa_rtc, RTSR_RDALE1); pxa_rtc 219 drivers/rtc/rtc-pxa.c spin_unlock_irq(&pxa_rtc->lock); pxa_rtc 225 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 228 drivers/rtc/rtc-pxa.c rycr = rtc_readl(pxa_rtc, RYCR); pxa_rtc 229 drivers/rtc/rtc-pxa.c rdcr = rtc_readl(pxa_rtc, RDCR); pxa_rtc 237 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 239 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RYCR, ryxr_calc(tm)); pxa_rtc 240 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RDCR, rdxr_calc(tm)); pxa_rtc 247 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 250 drivers/rtc/rtc-pxa.c ryar = rtc_readl(pxa_rtc, RYAR1); pxa_rtc 251 drivers/rtc/rtc-pxa.c rdar = rtc_readl(pxa_rtc, RDAR1); pxa_rtc 254 drivers/rtc/rtc-pxa.c rtsr = rtc_readl(pxa_rtc, RTSR); pxa_rtc 262 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 265 drivers/rtc/rtc-pxa.c spin_lock_irq(&pxa_rtc->lock); pxa_rtc 267 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RYAR1, ryxr_calc(&alrm->time)); pxa_rtc 268 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RDAR1, rdxr_calc(&alrm->time)); pxa_rtc 270 drivers/rtc/rtc-pxa.c rtsr = rtc_readl(pxa_rtc, RTSR); pxa_rtc 275 drivers/rtc/rtc-pxa.c rtc_writel(pxa_rtc, RTSR, rtsr); pxa_rtc 277 drivers/rtc/rtc-pxa.c spin_unlock_irq(&pxa_rtc->lock); pxa_rtc 284 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 286 drivers/rtc/rtc-pxa.c seq_printf(seq, "trim/divider\t: 0x%08x\n", rtc_readl(pxa_rtc, RTTR)); pxa_rtc 288 drivers/rtc/rtc-pxa.c (rtc_readl(pxa_rtc, RTSR) & RTSR_HZE) ? "yes" : "no"); pxa_rtc 290 drivers/rtc/rtc-pxa.c (rtc_readl(pxa_rtc, RTSR) & RTSR_PIALE) ? "yes" : "no"); pxa_rtc 291 drivers/rtc/rtc-pxa.c seq_printf(seq, "periodic_freq\t: %u\n", rtc_readl(pxa_rtc, PIAR)); pxa_rtc 308 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc; pxa_rtc 312 drivers/rtc/rtc-pxa.c pxa_rtc = devm_kzalloc(dev, sizeof(*pxa_rtc), GFP_KERNEL); pxa_rtc 313 drivers/rtc/rtc-pxa.c if (!pxa_rtc) pxa_rtc 315 drivers/rtc/rtc-pxa.c sa1100_rtc = &pxa_rtc->sa1100_rtc; pxa_rtc 317 drivers/rtc/rtc-pxa.c spin_lock_init(&pxa_rtc->lock); pxa_rtc 318 drivers/rtc/rtc-pxa.c platform_set_drvdata(pdev, pxa_rtc); pxa_rtc 320 drivers/rtc/rtc-pxa.c pxa_rtc->ress = platform_get_resource(pdev, IORESOURCE_MEM, 0); pxa_rtc 321 drivers/rtc/rtc-pxa.c if (!pxa_rtc->ress) { pxa_rtc 333 drivers/rtc/rtc-pxa.c pxa_rtc->base = devm_ioremap(dev, pxa_rtc->ress->start, pxa_rtc 334 drivers/rtc/rtc-pxa.c resource_size(pxa_rtc->ress)); pxa_rtc 335 drivers/rtc/rtc-pxa.c if (!pxa_rtc->base) { pxa_rtc 342 drivers/rtc/rtc-pxa.c sa1100_rtc->rcnr = pxa_rtc->base + 0x0; pxa_rtc 343 drivers/rtc/rtc-pxa.c sa1100_rtc->rtsr = pxa_rtc->base + 0x8; pxa_rtc 344 drivers/rtc/rtc-pxa.c sa1100_rtc->rtar = pxa_rtc->base + 0x4; pxa_rtc 345 drivers/rtc/rtc-pxa.c sa1100_rtc->rttr = pxa_rtc->base + 0xc; pxa_rtc 352 drivers/rtc/rtc-pxa.c rtsr_clear_bits(pxa_rtc, RTSR_PIALE | RTSR_RDALE1 | RTSR_HZE); pxa_rtc 354 drivers/rtc/rtc-pxa.c pxa_rtc->rtc = devm_rtc_device_register(&pdev->dev, "pxa-rtc", pxa_rtc 356 drivers/rtc/rtc-pxa.c if (IS_ERR(pxa_rtc->rtc)) { pxa_rtc 357 drivers/rtc/rtc-pxa.c ret = PTR_ERR(pxa_rtc->rtc); pxa_rtc 386 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 389 drivers/rtc/rtc-pxa.c enable_irq_wake(pxa_rtc->sa1100_rtc.irq_alarm); pxa_rtc 395 drivers/rtc/rtc-pxa.c struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev); pxa_rtc 398 drivers/rtc/rtc-pxa.c disable_irq_wake(pxa_rtc->sa1100_rtc.irq_alarm);