davinci_rtc 112 drivers/rtc/rtc-davinci.c static inline void rtcif_write(struct davinci_rtc *davinci_rtc, davinci_rtc 115 drivers/rtc/rtc-davinci.c writel(val, davinci_rtc->base + addr); davinci_rtc 118 drivers/rtc/rtc-davinci.c static inline u32 rtcif_read(struct davinci_rtc *davinci_rtc, u32 addr) davinci_rtc 120 drivers/rtc/rtc-davinci.c return readl(davinci_rtc->base + addr); davinci_rtc 123 drivers/rtc/rtc-davinci.c static inline void rtcif_wait(struct davinci_rtc *davinci_rtc) davinci_rtc 125 drivers/rtc/rtc-davinci.c while (rtcif_read(davinci_rtc, PRTCIF_CTLR) & PRTCIF_CTLR_BUSY) davinci_rtc 129 drivers/rtc/rtc-davinci.c static inline void rtcss_write(struct davinci_rtc *davinci_rtc, davinci_rtc 132 drivers/rtc/rtc-davinci.c rtcif_wait(davinci_rtc); davinci_rtc 134 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, PRTCIF_CTLR_BENL_LSB | addr, PRTCIF_CTLR); davinci_rtc 135 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, val, PRTCIF_LDATA); davinci_rtc 137 drivers/rtc/rtc-davinci.c rtcif_wait(davinci_rtc); davinci_rtc 140 drivers/rtc/rtc-davinci.c static inline u8 rtcss_read(struct davinci_rtc *davinci_rtc, u8 addr) davinci_rtc 142 drivers/rtc/rtc-davinci.c rtcif_wait(davinci_rtc); davinci_rtc 144 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, PRTCIF_CTLR_DIR | PRTCIF_CTLR_BENL_LSB | addr, davinci_rtc 147 drivers/rtc/rtc-davinci.c rtcif_wait(davinci_rtc); davinci_rtc 149 drivers/rtc/rtc-davinci.c return rtcif_read(davinci_rtc, PRTCIF_LDATA); davinci_rtc 152 drivers/rtc/rtc-davinci.c static inline void davinci_rtcss_calendar_wait(struct davinci_rtc *davinci_rtc) davinci_rtc 154 drivers/rtc/rtc-davinci.c while (rtcss_read(davinci_rtc, PRTCSS_RTC_CCTRL) & davinci_rtc 161 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = class_dev; davinci_rtc 168 drivers/rtc/rtc-davinci.c irq_flg = rtcif_read(davinci_rtc, PRTCIF_INTFLG) & davinci_rtc 171 drivers/rtc/rtc-davinci.c alm_irq = rtcss_read(davinci_rtc, PRTCSS_RTC_CCTRL) & davinci_rtc 174 drivers/rtc/rtc-davinci.c tmr_irq = rtcss_read(davinci_rtc, PRTCSS_RTC_CTRL) & davinci_rtc 180 drivers/rtc/rtc-davinci.c rtc_cctrl = rtcss_read(davinci_rtc, PRTCSS_RTC_CCTRL); davinci_rtc 182 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, rtc_cctrl, PRTCSS_RTC_CCTRL); davinci_rtc 185 drivers/rtc/rtc-davinci.c rtc_ctrl = rtcss_read(davinci_rtc, PRTCSS_RTC_CTRL); davinci_rtc 187 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, rtc_ctrl, PRTCSS_RTC_CTRL); davinci_rtc 190 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, PRTCIF_INTFLG_RTCSS, davinci_rtc 192 drivers/rtc/rtc-davinci.c rtc_update_irq(davinci_rtc->rtc, 1, events); davinci_rtc 203 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 210 drivers/rtc/rtc-davinci.c rtc_ctrl = rtcss_read(davinci_rtc, PRTCSS_RTC_CTRL); davinci_rtc 223 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, rtc_ctrl, PRTCSS_RTC_CTRL); davinci_rtc 275 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 282 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 283 drivers/rtc/rtc-davinci.c tm->tm_sec = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_SEC)); davinci_rtc 285 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 286 drivers/rtc/rtc-davinci.c tm->tm_min = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_MIN)); davinci_rtc 288 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 289 drivers/rtc/rtc-davinci.c tm->tm_hour = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_HOUR)); davinci_rtc 291 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 292 drivers/rtc/rtc-davinci.c day0 = rtcss_read(davinci_rtc, PRTCSS_RTC_DAY0); davinci_rtc 294 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 295 drivers/rtc/rtc-davinci.c day1 = rtcss_read(davinci_rtc, PRTCSS_RTC_DAY1); davinci_rtc 311 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 321 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 322 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, bin2bcd(tm->tm_sec), PRTCSS_RTC_SEC); davinci_rtc 324 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 325 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, bin2bcd(tm->tm_min), PRTCSS_RTC_MIN); davinci_rtc 327 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 328 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, bin2bcd(tm->tm_hour), PRTCSS_RTC_HOUR); davinci_rtc 330 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 331 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, days & 0xFF, PRTCSS_RTC_DAY0); davinci_rtc 333 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 334 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, (days & 0xFF00) >> 8, PRTCSS_RTC_DAY1); davinci_rtc 336 drivers/rtc/rtc-davinci.c rtc_cctrl = rtcss_read(davinci_rtc, PRTCSS_RTC_CCTRL); davinci_rtc 338 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, rtc_cctrl, PRTCSS_RTC_CCTRL); davinci_rtc 348 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 350 drivers/rtc/rtc-davinci.c u8 rtc_cctrl = rtcss_read(davinci_rtc, PRTCSS_RTC_CCTRL); davinci_rtc 363 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 364 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, rtc_cctrl, PRTCSS_RTC_CCTRL); davinci_rtc 373 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 382 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 383 drivers/rtc/rtc-davinci.c alm->time.tm_min = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_AMIN)); davinci_rtc 385 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 386 drivers/rtc/rtc-davinci.c alm->time.tm_hour = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_AHOUR)); davinci_rtc 388 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 389 drivers/rtc/rtc-davinci.c day0 = rtcss_read(davinci_rtc, PRTCSS_RTC_ADAY0); davinci_rtc 391 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 392 drivers/rtc/rtc-davinci.c day1 = rtcss_read(davinci_rtc, PRTCSS_RTC_ADAY1); davinci_rtc 402 drivers/rtc/rtc-davinci.c alm->pending = !!(rtcss_read(davinci_rtc, davinci_rtc 412 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = dev_get_drvdata(dev); davinci_rtc 442 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 443 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, bin2bcd(alm->time.tm_min), PRTCSS_RTC_AMIN); davinci_rtc 445 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 446 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, bin2bcd(alm->time.tm_hour), PRTCSS_RTC_AHOUR); davinci_rtc 448 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 449 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, days & 0xFF, PRTCSS_RTC_ADAY0); davinci_rtc 451 drivers/rtc/rtc-davinci.c davinci_rtcss_calendar_wait(davinci_rtc); davinci_rtc 452 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, (days & 0xFF00) >> 8, PRTCSS_RTC_ADAY1); davinci_rtc 471 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc; davinci_rtc 475 drivers/rtc/rtc-davinci.c davinci_rtc = devm_kzalloc(&pdev->dev, sizeof(struct davinci_rtc), GFP_KERNEL); davinci_rtc 476 drivers/rtc/rtc-davinci.c if (!davinci_rtc) davinci_rtc 479 drivers/rtc/rtc-davinci.c davinci_rtc->irq = platform_get_irq(pdev, 0); davinci_rtc 480 drivers/rtc/rtc-davinci.c if (davinci_rtc->irq < 0) davinci_rtc 481 drivers/rtc/rtc-davinci.c return davinci_rtc->irq; davinci_rtc 484 drivers/rtc/rtc-davinci.c davinci_rtc->base = devm_ioremap_resource(dev, res); davinci_rtc 485 drivers/rtc/rtc-davinci.c if (IS_ERR(davinci_rtc->base)) davinci_rtc 486 drivers/rtc/rtc-davinci.c return PTR_ERR(davinci_rtc->base); davinci_rtc 488 drivers/rtc/rtc-davinci.c platform_set_drvdata(pdev, davinci_rtc); davinci_rtc 490 drivers/rtc/rtc-davinci.c davinci_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, davinci_rtc 492 drivers/rtc/rtc-davinci.c if (IS_ERR(davinci_rtc->rtc)) { davinci_rtc 495 drivers/rtc/rtc-davinci.c return PTR_ERR(davinci_rtc->rtc); davinci_rtc 498 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, PRTCIF_INTFLG_RTCSS, PRTCIF_INTFLG); davinci_rtc 499 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, 0, PRTCIF_INTEN); davinci_rtc 500 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, 0, PRTCSS_RTC_INTC_EXTENA1); davinci_rtc 502 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CTRL); davinci_rtc 503 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL); davinci_rtc 505 drivers/rtc/rtc-davinci.c ret = devm_request_irq(dev, davinci_rtc->irq, davinci_rtc_interrupt, davinci_rtc 506 drivers/rtc/rtc-davinci.c 0, "davinci_rtc", davinci_rtc); davinci_rtc 513 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, PRTCIF_INTEN_RTCSS, PRTCIF_INTEN); davinci_rtc 514 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, PRTCSS_RTC_INTC_EXTENA1_MASK, davinci_rtc 517 drivers/rtc/rtc-davinci.c rtcss_write(davinci_rtc, PRTCSS_RTC_CCTRL_CAEN, PRTCSS_RTC_CCTRL); davinci_rtc 526 drivers/rtc/rtc-davinci.c struct davinci_rtc *davinci_rtc = platform_get_drvdata(pdev); davinci_rtc 530 drivers/rtc/rtc-davinci.c rtcif_write(davinci_rtc, 0, PRTCIF_INTEN);