
On 8/25/05, Jerry Van Baren gerald.vanbaren@smiths-aerospace.com wrote:
What did you set the SYPCR to (actual values, preferably from a disassembly/dump)?
Here's the output of "objdump -dS u-boot" : /* Initialise the SYPCR early, and reset the watchdog (if req) */ /*--------------------------------------------------------------*/
lis r3, (CFG_IMMR+IM_REGBASE)@h fff03198: 3c 60 f0 01 lis r3,-4095 #if !defined(CONFIG_COGENT) lis r4, CFG_SYPCR@h fff0319c: 3c 80 ff ff lis r4,-1 ori r4, r4, CFG_SYPCR@l fff031a0: 60 84 ff c3 ori r4,r4,65479 stw r4, IM_SYPCR@l(r3) fff031a4: 90 83 00 04 stw r4,4(r3) #endif /* !CONFIG_COGENT */ #if defined(CONFIG_WATCHDOG) li r4, 21868 /* = 0x556c */ sth r4, IM_SWSR@l(r3) li r4, -21959 /* = 0xaa39 */ sth r4, IM_SWSR@l(r3)
Actual SYPCR setting is 0xFFFFFFC7 I verified that this code is executed.
I've tried to add WATCHDOG_RESET() call in board_init_f just before the initialization sequence was run, but it didn't change anything.
What is your bus clock?
66MHz
What do you figure your timeout to be?
2 sec
Do you write to the SYPCR only once to set up the WDT (only the first write to the SYPCR "works").
Yes