From da4849fb30db9ec2cb1ae0bafa7455b9c4cb87b3 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Wed, 3 May 2006 01:04:58 +0200 Subject: [PATCH] Write RTC seconds first to maintain settings integrity per Maxim/Dallas DS1306 data sheet. Patch by Alan J. Luse, 02 May 2006 --- CHANGELOG | 8 ++++++-- rtc/ds1306.c | 12 ++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 74ef7202ce..d7d73ebbd9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,10 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Write RTC seconds first to maintain settings integrity per + Maxim/Dallas DS1306 data sheet. + Patch by Alan J. Luse, 02 May 2006 + * Scheduled for removal: strnicmp() which is unused * Update for Intel Monahans boards: @@ -9,12 +13,12 @@ Changes since U-Boot 1.1.4: - NAND support for zylonite board + some minor cleanup * Declare load_serial_ymodem() when using CFG_CMD_LOADB. - Patch by Jon Loeliger, 01. May 2006 + Patch by Jon Loeliger, 01 May 2006 * Fixed handling of bad checksums with "mkimage -l" * Added support for BC3450 board - Patch by Stefan Strobl, 21. Oct 2005 + Patch by Stefan Strobl, 21 Oct 2005 * Update for NC650 board: - Support rev1 and rev2 hardware diff --git a/rtc/ds1306.c b/rtc/ds1306.c index e143bf7a3d..e01e1ceae9 100644 --- a/rtc/ds1306.c +++ b/rtc/ds1306.c @@ -360,13 +360,13 @@ void rtc_set (struct rtc_time *tmp) tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, tmp->tm_hour, tmp->tm_min, tmp->tm_sec); - rtc_write (RTC_YEAR, bin2bcd (tmp->tm_year - 2000)); - rtc_write (RTC_MONTH, bin2bcd (tmp->tm_mon)); - rtc_write (RTC_DATE_OF_MONTH, bin2bcd (tmp->tm_mday)); - rtc_write (RTC_DAY_OF_WEEK, bin2bcd (tmp->tm_wday + 1)); - rtc_write (RTC_HOURS, bin2bcd (tmp->tm_hour)); - rtc_write (RTC_MINUTES, bin2bcd (tmp->tm_min)); rtc_write (RTC_SECONDS, bin2bcd (tmp->tm_sec)); + rtc_write (RTC_MINUTES, bin2bcd (tmp->tm_min)); + rtc_write (RTC_HOURS, bin2bcd (tmp->tm_hour)); + rtc_write (RTC_DAY_OF_WEEK, bin2bcd (tmp->tm_wday + 1)); + rtc_write (RTC_DATE_OF_MONTH, bin2bcd (tmp->tm_mday)); + rtc_write (RTC_MONTH, bin2bcd (tmp->tm_mon)); + rtc_write (RTC_YEAR, bin2bcd (tmp->tm_year - 2000)); } /* ------------------------------------------------------------------------- */