[U-Boot-Users] "date reset" for MPC8xx

Wolfgang Denk wd at denx.de
Mon Apr 14 15:41:50 CEST 2003

Dear Steven,

in message <3E9AB4C2.6020500 at imc-berlin.de> you wrote:
> I think would should realy reset the MPC8xx's internal RTC when 
> calling "date reset" or "rtc_reset" instead of "nothing to do".

But on the MPC8xx's internal RTC there is no "reset" function, so  it
is IMHO appropriate to do nothing.

> Please find and consider the attached patch.
> Background:
> I have seen it several times, that the MPC8xx's internal RTC contains 
> an invalid date, e.g. negative times (caused by no or low battery). 

There is no "invalid date" in the Unix notation of  time_t.  Negative
times (i. e. dates < January 1, 1970,00:00:00 UTC, are valid, too.

> That might result in dates before 1970-01-01 under Linux and that in 
> turn confuses timeouts.

Oops? I am not aware of any part in U-Boot (or Linux) that  uses  the
system time for timeouts! And I cannot understand why January 1, 1970
should  be  any better than January 1, 1960 or January 1, 1950 or any
other arbitrarily chosen date.

> I've seen that udhcpc (from busybox) hangs in such cases!

FIx this, then.

> For that reason u-boot should check for valid dates and do a 
> rtc_reset() if nessesary.

No. The RTC reset funtion is only to be used for RTC chips where  the
hardware supports such a reset operation.

If you need a valid system time, please use the "date" command to set
a valid time.

Patch rejected.

Best regards,

Wolfgang Denk

Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Any sufficiently advanced technology is indistinguishable from magic.
                                                   - Arthur C. Clarke

More information about the U-Boot mailing list