|
@@ -431,8 +431,10 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
|
|
rtc_write(0, OMAP_RTC_INTERRUPTS_REG);
|
|
rtc_write(0, OMAP_RTC_INTERRUPTS_REG);
|
|
|
|
|
|
/* enable RTC functional clock */
|
|
/* enable RTC functional clock */
|
|
- if (id_entry->driver_data & OMAP_RTC_HAS_32KCLK_EN)
|
|
|
|
- rtc_writel(OMAP_RTC_OSC_32KCLK_EN, OMAP_RTC_OSC_REG);
|
|
|
|
|
|
+ if (id_entry->driver_data & OMAP_RTC_HAS_32KCLK_EN) {
|
|
|
|
+ reg = rtc_read(OMAP_RTC_OSC_REG);
|
|
|
|
+ rtc_writel(reg | OMAP_RTC_OSC_32KCLK_EN, OMAP_RTC_OSC_REG);
|
|
|
|
+ }
|
|
|
|
|
|
/* clear old status */
|
|
/* clear old status */
|
|
reg = rtc_read(OMAP_RTC_STATUS_REG);
|
|
reg = rtc_read(OMAP_RTC_STATUS_REG);
|