diff options
author | Mark Arigo <markarigo@gmail.com> | 2008-02-03 00:04:02 +0000 |
---|---|---|
committer | Mark Arigo <markarigo@gmail.com> | 2008-02-03 00:04:02 +0000 |
commit | 06daa03630e22e3a84c1b4ba77a1bfeedb29abc2 (patch) | |
tree | c27dc1d1fd22df6203d0c12060f22cdea1bccf48 /firmware/target | |
parent | 91a503b23e54e1f58ec3756cb21e2dd90e1763a0 (diff) | |
download | rockbox-06daa03630e22e3a84c1b4ba77a1bfeedb29abc2.tar.gz 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')
-rw-r--r-- | firmware/target/arm/olympus/mrobe-100/power-mr100.c | 13 | ||||
-rw-r--r-- | firmware/target/arm/system-pp502x.c | 4 |
2 files changed, 11 insertions, 6 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; } diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c index 3c26305ccb..4ca58208ad 100644 --- a/firmware/target/arm/system-pp502x.c +++ b/firmware/target/arm/system-pp502x.c @@ -270,12 +270,12 @@ void system_init(void) DEV_RS2 = -1; DEV_RS = 0; DEV_RS2 = 0; - #elif defined (IRIVER_H10) +#elif defined (IRIVER_H10) || defined(MROBE_100) DEV_RS = 0x3ffffef8; DEV_RS2 = -1; - outl(inl(0x70000024) | 0xc0, 0x70000024); DEV_RS = 0; DEV_RS2 = 0; + outl(inl(0x70000024) | 0xc0, 0x70000024); #endif #if !defined(SANSA_E200) && !defined(SANSA_C200) |