"date reset" for MPC8xx
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
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