From: NIIBE Y. <gn...@m1...> - 2001-02-20 01:01:22
|
Stuart Menefy wrote: > Yes, I saw the same behaviour, both on the SH7750 and the ST40STB1. > In fact as part of the changes I checked in for the STB1 boards was > a 'fix' to rtc.c to handle this. At the moment it is unconditional, but > if it doesn't occur on SH3 parts, then it sounds like we need to make it > conditional as you suggest. Thanks for the confirmation. I've looked your change. On SH7708S and SH7709A, we don't need the 0x40 which you introduced. RTC(s) on those work well. Next, we have two issues (on SH-4): (1) Setting RTC, we restart RCR2, then R64CNT is reset to 0x00. This means after 0.5 sec, we will see count up. Say, we set 23:59:00. On SH-3, 1 sec later, it goes 23:59:01, while 0.5 sec later on SH-4. I think we need to handle this issue for SH-4. (2) The value is not reliable. On SH-3, as long as we check CF-flag of RCR1, we can get the value reliably. However, when we read the value 0x40 on SH-4, we can't rely on the CF-flag and the value of RSECCNT (etc.). There's the case that the "carry" doesn't propagate to RSECCNT and we read wrong value with no set of CF-flag. Say, we read R64CNT=0x40, RSECCNT=0x00, CF=0. The right value may be RSECCNT=0x01 or 0x00. There's no way to distingush the case. Possible work around is when we read 0x40, we stay there until we see 0x41... That sound quite bad for me. > What's the difference between the SH7750 and SH7750S? That's a new one > on me! I don't see the difference in terms of software. Perhaps, hardware refinement. -- |