summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2006-08-10 13:47:22 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2006-08-10 13:47:22 +0000
commitf64ad7d8f3cd79bb006e66fad32caebf7dde5bd3 (patch)
tree9f57215b80b4986871d315e132e692538756fa62
parentd158da2f00551ae4dddbca728bda4c0066f8e83a (diff)
downloadrockbox-f64ad7d8f3cd79bb006e66fad32caebf7dde5bd3.tar.gz
rockbox-f64ad7d8f3cd79bb006e66fad32caebf7dde5bd3.zip
Patch #5789 by Mike Sevakis - Proper shut down of Coldfire targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10510 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/power.c3
-rw-r--r--firmware/target/coldfire/iaudio/x5/power-x5.c5
2 files changed, 3 insertions, 5 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c
index bda03b0f8b..67f34e2f30 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -295,8 +295,7 @@ void power_off(void)
set_irq_level(HIGHEST_IRQ_LEVEL);
#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
and_l(~0x00080000, &GPIO1_OUT);
-#elif defined(IAUDIO_X5)
- and_l(~0x00000008, &GPIO_OUT);
+ asm("halt");
#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020)
#ifndef BOOTLOADER
/* We don't turn off the ipod, we put it in a deep sleep */
diff --git a/firmware/target/coldfire/iaudio/x5/power-x5.c b/firmware/target/coldfire/iaudio/x5/power-x5.c
index 253c904588..ee06353149 100644
--- a/firmware/target/coldfire/iaudio/x5/power-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/power-x5.c
@@ -59,9 +59,8 @@ bool ide_powered(void)
void power_off(void)
{
set_irq_level(HIGHEST_IRQ_LEVEL);
- and_l(~0x00000008, &GPIO_OUT);
- while(1)
- yield();
+ and_l(~0x00000008, &GPIO_OUT); /* Set KEEPACT low */
+ asm("halt");
}
#else