X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=rtc%2Fs3c24x0_rtc.c;h=9e2191e873cc781eac528e91dfe457b55d9c9306;hb=f88a0ae6d78a0b4dacb3caef6b101b54dff5fc78;hp=bf8008d8da557defb3200ba08894a80dbf51ee20;hpb=48b42616e928ce6eacfe20276a1614e2b27ac4b5;p=oweals%2Fu-boot.git diff --git a/rtc/s3c24x0_rtc.c b/rtc/s3c24x0_rtc.c index bf8008d8da..9e2191e873 100644 --- a/rtc/s3c24x0_rtc.c +++ b/rtc/s3c24x0_rtc.c @@ -80,13 +80,15 @@ void rtc_get (struct rtc_time *tmp) SetRTC_Access(RTC_ENABLE); /* read RTC registers */ - sec = rtc->BCDSEC; - min = rtc->BCDMIN; - hour = rtc->BCDHOUR; - mday = rtc->BCDDATE; - wday = rtc->BCDDAY; - mon = rtc->BCDMON; - year = rtc->BCDYEAR; + do { + sec = rtc->BCDSEC; + min = rtc->BCDMIN; + hour = rtc->BCDHOUR; + mday = rtc->BCDDATE; + wday = rtc->BCDDAY; + mon = rtc->BCDMON; + year = rtc->BCDYEAR; + } while (sec != rtc->BCDSEC); /* read ALARM registers */ a_sec = rtc->ALMSEC; @@ -170,7 +172,7 @@ void rtc_reset (void) S3C24X0_RTC * const rtc = S3C24X0_GetBase_RTC(); rtc->RTCCON = (rtc->RTCCON & ~0x06) | 0x08; - rtc->RTCCON &= ~0x08; + rtc->RTCCON &= ~(0x08|0x01); } /* ------------------------------------------------------------------------- */