From 2f9f34e0ea793f6d2134c749358655fcfc9062f6 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Mon, 7 Apr 2008 01:05:51 +0000 Subject: Better sansa shutdown sequence in power_off. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17009 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/sandisk/power-c200_e200.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/firmware/target/arm/sandisk/power-c200_e200.c b/firmware/target/arm/sandisk/power-c200_e200.c index d23754a..6b3f295 100644 --- a/firmware/target/arm/sandisk/power-c200_e200.c +++ b/firmware/target/arm/sandisk/power-c200_e200.c @@ -32,23 +32,21 @@ void power_off(void) { char byte; - /* Disable interrupts on this core */ - disable_interrupt(IRQ_FIQ_STATUS); - - /* Mask them on both cores */ - CPU_INT_CLR = -1; - COP_INT_CLR = -1; - /* Send shutdown command to PMU */ byte = i2c_readbyte(AS3514_I2C_ADDR, SYSTEM); byte &= ~0x1; pp_i2c_send(AS3514_I2C_ADDR, SYSTEM, byte); + /* Stop interrupts on both cores */ + disable_irq(IRQ_FIQ_STATUS); + COP_INT_CLR = -1; + CPU_INT_CLR = -1; + /* Halt everything and wait for device to power off */ while (1) { - CPU_CTL = PROC_SLEEP; - COP_CTL = PROC_SLEEP; + COP_CTL = 0x40000000; + CPU_CTL = 0x40000000; } } -- cgit v1.1