Skip to contentSkip to conversation

"date reset" for MPC8xx

U-Boot-Users Steven Scholz 2 participants 2 messages Apr 14, 2003

lore
Share & tools
lore
#0 lore raw

Hi there,

I think would should realy reset the MPC8xx's internal RTC when calling "date reset" or "rtc_reset" instead of "nothing to do".

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). That might result in dates before 1970-01-01 under Linux and that in turn confuses timeouts.

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

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

Thanks,

Steven

---------

CHANGELOG:

* Patch by Steven Scholz, 14 Apr 2003:
- reset_rtc() sets MPC8xx internal RTC back to 1970-01-01

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mpc8xx_rtc.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20030414/688eb3bf/attachment.txt

#1 lore raw

Dear Steven,

Quoted 3 lines · in message <[email protected]> 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.

Quoted 6 lines

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.

Quoted 2 lines

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.

Quoted 1 line

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

FIx this, then.

Quoted 2 lines

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

Signature · 4 lines
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