Hello, in our custom board with ADSP-21489 DSP after power up WDTRSTO# pin output is always LOW (asserted).
I disconnect the pin from the rest of the circuit (by removing R6) so the pin is floating and I am expecting a HIGH level as soon as the DSP power up ( datasheet mentions there is internal pull up). I also connected an external pull up just for testing but output level is still LOW.
I am using external ceramic oscillator of 2Mhz. But I cannot measure 2Mhz at the WDT_CLKIN pin either.
//Codes for initialization of Watchdog Timer
InitWDT:
ustat1 = CMD_UNLOCK; //0xAD21AD21
dm(WDTUNLOCK) = ustat1;
ustat1 = WDT_CLK_SRC_CER_RESO;
dm(WDTCLKSEL) = ustat1;
lcntr = 500, do loopend until lce;
loopend: nop;
ustat1 = COUNT_VALUE; //2000000
dm(WDTCNT) = ustat1;
ustat1 = TRIP_VALUE; //15
dm(WDTTRIP) = ustat1;
r0 = 5000;
lcntr = r0, do delay_loop until lce;
nop;
delay_loop: nop;
ustat1 = dm(WDTCTL); //WDT_EN;
bit set ustat1 WDT_EN;
dm(WDTCTL) = ustat1;
ustat1 = CMD_LOCK;
dm(WDTUNLOCK) = ustat1;
InitWDT.end:rts;
PingWDT:
ustat1 = CMD_UNLOCK;
dm(WDTUNLOCK) = ustat1;
ustat1 = COUNT_VALUE; //dummy write to Current Count Register
dm(WDTCURCNT) = ustat1; //resets watchdog counter
ustat1 = CMD_LOCK;
dm(WDTUNLOCK) = ustat1;
PingWDT.end:rts;
My suspicion is it may be the ceramic resonator which is not providing necessary clock for watchdog (I am using same component - CSTCC2M00G56- as it is in EZKIT). I changed the resonator twice leading no difference.
Any suggestions?
Note: All other peripherals I ve tested so far, are working properly (Flash, SPI, I/O operations, Core clock, ADC and DAC's)