diff options
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/drivers/power.c | 3 | ||||
| -rw-r--r-- | firmware/target/coldfire/iaudio/x5/power-x5.c | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index bda03b0..67f34e2 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 253c904..ee06353 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 |