If anyone else is interested I have found a solution.
My projects has the CLKMOD1,0 strapped to boot with the relaxation osc turn on and the pll turned off.
During startup I switch to the external crystal oscillator and turn the pll on. I thought that when a WDT reset occurs that
maybe there is some contention with the external oscillator running and the relaxation trying to turn on. I did notice that when the reset occured that I lost system clock. Anyway, I added some code in my WDT isr to switch the clock back to
the relaxation oscillator before issuing the reset request. and it is working.
Here is the code I used.
void WDT_ISR(void)
{
uint32 Count;
MCF_SCM_CWCR = 3; // clear interrupt flag
MCF_CLOCK_OCHR = 0x80; //turn on relaxation osc
MCF_CLOCK_CCLR = 0x01; //switch to relaxation
MCF_CLOCK_OCLR &= 0x7F; //turn off crystal
MCF_CLOCK_SYNCR &= ~(MCF_CLOCK_SYNCR_CLKSRC | MCF_CLOCK_SYNCR_PLLEN);// disable and turn off pll
for (Count = 14968; Count > 0; Count--) // 1mS delay
{
}
// set the soft reset bit
MCF_RCM_RCR |= MCF_RCM_RCR_SOFTRST;// request software reset
}
Unfortunately this cannot be done when using the BWT.
Hope this helps someone else.