We are experiencing a condition where the i.MX535 will lock up during repeated reboot cycles. To reproduce this, in our test environment a script is executed late in user-space startup to reboot the board. We use the busybox /sbin/reboot command to cause the reboot, which is implemented using a zero length timeout on the watchdog (see arch_reset() in the linux 184.108.40.206 kernel). If we reboot the board enough times, eventually the processor will lock up and not restart. Asserting RESET_IN to the i.MX535 (or a POR) will restart the processor. We are using u-boot 2009.08, and linux-220.127.116.11, from LTIB 2.6.35_11.09.01, patched with the latest patches in that branch.
The hardware is based on the QSB and uses the MC34708 PMIC. During the lock up state the reset signals from the PMIC are not asserted, all of the voltage rails are good and do not experience any type of drops or abnormal behavior during the reboot. The only change in HW is the DDR clock rate. During normal operation the clock is running at 400MHz. When the processor locks up it drops to 333MHz, the default frequency. When a successful reboot occurs the DDR clock does quickly change from 400MHz down to 333MHz and then back to 400MHz. When a reboot fails the processor never tries to read data from external memory.
It almost appears as if the processor is getting stuck in the internal boot ROM during startup. Has anyone seen this type of lock up before?