static void wdt_disable(void)
{
	spin_lock(&io_lock);
	HW_RTC_PERSISTENT1_CLR(BV_RTC_PERSISTENT1_GENERAL__RTC_FORCE_UPDATER);
	HW_RTC_CTRL_CLR(BM_RTC_CTRL_WATCHDOGEN);
	spin_unlock(&io_lock);
}
Exemple #2
0
/* clear RTC ALARM wakeup or AUTORESTART bits here. */
void PowerPrep_ClearAutoRestart( void )
{
	HW_RTC_CTRL_CLR( BM_ICOLL_CTRL_SFTRST );
	while( HW_RTC_CTRL.B.SFTRST == 1 );
	HW_RTC_CTRL_CLR( BM_ICOLL_CTRL_CLKGATE );
	while( HW_RTC_CTRL.B.CLKGATE == 1 );
        /* Due to the hardware design bug of mx28 EVK-A
        * we need to set the AUTO_RESTART bit.
	*/
	if(HW_RTC_PERSISTENT0.B.AUTO_RESTART==0)
	{
		while(BF_RD( RTC_STAT, NEW_REGS));
		HW_RTC_PERSISTENT0.B.AUTO_RESTART = 1;
		BF_SET(RTC_CTRL, FORCE_UPDATE);
		BF_CLR(RTC_CTRL, FORCE_UPDATE);
		while(BF_RD( RTC_STAT, NEW_REGS));
		while(BF_RD( RTC_STAT, STALE_REGS));
	}
}