summaryrefslogtreecommitdiff
path: root/firmware
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 /firmware
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
Diffstat (limited to 'firmware')
-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)
295 set_irq_level(HIGHEST_IRQ_LEVEL); 295 set_irq_level(HIGHEST_IRQ_LEVEL);
296#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) 296#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
297 and_l(~0x00080000, &GPIO1_OUT); 297 and_l(~0x00080000, &GPIO1_OUT);
298#elif defined(IAUDIO_X5) 298 asm("halt");
299 and_l(~0x00000008, &GPIO_OUT);
300#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020) 299#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020)
301#ifndef BOOTLOADER 300#ifndef BOOTLOADER
302 /* We don't turn off the ipod, we put it in a deep sleep */ 301 /* 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)
59void power_off(void) 59void power_off(void)
60{ 60{
61 set_irq_level(HIGHEST_IRQ_LEVEL); 61 set_irq_level(HIGHEST_IRQ_LEVEL);
62 and_l(~0x00000008, &GPIO_OUT); 62 and_l(~0x00000008, &GPIO_OUT); /* Set KEEPACT low */
63 while(1) 63 asm("halt");
64 yield();
65} 64}
66 65
67#else 66#else