summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/olympus/mrobe-100
diff options
context:
space:
mode:
authorMark Arigo <markarigo@gmail.com>2008-02-03 00:04:02 +0000
committerMark Arigo <markarigo@gmail.com>2008-02-03 00:04:02 +0000
commit06daa03630e22e3a84c1b4ba77a1bfeedb29abc2 (patch)
treec27dc1d1fd22df6203d0c12060f22cdea1bccf48 /firmware/target/arm/olympus/mrobe-100
parent91a503b23e54e1f58ec3756cb21e2dd90e1763a0 (diff)
downloadrockbox-06daa03630e22e3a84c1b4ba77a1bfeedb29abc2.tar.gz
rockbox-06daa03630e22e3a84c1b4ba77a1bfeedb29abc2.tar.bz2
rockbox-06daa03630e22e3a84c1b4ba77a1bfeedb29abc2.zip
mrobe 100: (1) device reset in system_init is same as H10. (2) make power_off actually work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16203 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-100')
-rw-r--r--firmware/target/arm/olympus/mrobe-100/power-mr100.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/firmware/target/arm/olympus/mrobe-100/power-mr100.c b/firmware/target/arm/olympus/mrobe-100/power-mr100.c
index 985b52ce0b..b4cc711ddf 100644
--- a/firmware/target/arm/olympus/mrobe-100/power-mr100.c
+++ b/firmware/target/arm/olympus/mrobe-100/power-mr100.c
@@ -55,8 +55,13 @@ bool ide_powered(void)
void power_off(void)
{
- /* Give things a second to settle before cutting power */
- sleep(HZ);
-
- //GPIOF_OUTPUT_VAL &=~ 0x20;
+ /* Disable interrupts on this core */
+ set_interrupt_status(IRQ_FIQ_DISABLED, IRQ_FIQ_STATUS);
+
+ /* Mask them on both cores */
+ CPU_INT_CLR = -1;
+ COP_INT_CLR = -1;
+
+ while (1)
+ GPIOB_OUTPUT_VAL |= 0x80;
}