Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2eb5090 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen
Browse files

[AVR32] Put the chip in "stop" mode when halting the system



Make machine_halt() execute a sleep instruction to put the chip in
"stop" mode when the system is halted. This switches off all clocks
except the 32 kHz oscillator, which is needed for the RTC to keep
ticking.

Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent 01cb087e
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -38,6 +38,13 @@ void cpu_idle(void)


void machine_halt(void)
void machine_halt(void)
{
{
	/*
	 * Enter Stop mode. The 32 kHz oscillator will keep running so
	 * the RTC will keep the time properly and the system will
	 * boot quickly.
	 */
	asm volatile("sleep 3\n\t"
		     "sub pc, -2");
}
}


void machine_power_off(void)
void machine_power_off(void)