Yuri,
I have ensured that the signal from the external oscillator is not applied until the power for the 26MHz oscillator in the i.MX27 is up and stable. The problem with shutting down the MPLL still exists.
Further investigation has revealed the following:
If the MPLL has been running and stable, going to sleep works.
In our application, in sleep mode we get a 1 pulse per second (1 PPS) that wakes up the ARM. The ARM checks its schedule. If there is nothing to do it goes back to sleep. This happens very fast. Detailed power measurements have shown that after running for a period of time, when we first go to sleep, the MPLL shuts off. When we get the first 1 PPS, the MPLL does not shutoff when we go back to sleep.
We tried monitoring the LOCK bit for MPLL and waiting for it to be set before going to sleep. The results were intermittent, sometimes it would shut the MPLL down other times it would not. Once it failed to shut down the MPLL, subsequent 1 PPS wake sleep cycles would not shut down the MPLL.
We also put a delay of 100ms before going back to sleep. In this case the MPLL always shut down. Reducing the delay to 400us also resulted in the MPLL always shutting down.
We have not observed this problem when using a crystal, only an external oscillator.
What could be causing a requirement for a delay with the external oscillator?
Could our timing be marginal with a crystal?
Craig Hillis