diff options
| author | Robert Kukla <roolku@rockbox.org> | 2009-08-14 21:11:08 +0000 |
|---|---|---|
| committer | Robert Kukla <roolku@rockbox.org> | 2009-08-14 21:11:08 +0000 |
| commit | 65eaf60b35f88ecaea3143915092971d8386649f (patch) | |
| tree | 362a0ecd3a671bb58be7874257d3d224f9d51b5a | |
| parent | 1b87b45e408838ab9dabdb3e2bf2d853e4becc08 (diff) | |
| download | rockbox-65eaf60b35f88ecaea3143915092971d8386649f.zip rockbox-65eaf60b35f88ecaea3143915092971d8386649f.tar.gz rockbox-65eaf60b35f88ecaea3143915092971d8386649f.tar.bz2 rockbox-65eaf60b35f88ecaea3143915092971d8386649f.tar.xz | |
mrobe100: power off HDD (courtesy of lowlight) ~2h extra playtime
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22313 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/target/arm/olympus/mrobe-100/power-mr100.c | 20 |
1 files changed, 16 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 26dd4ef..6f6ee2b 100644 --- a/firmware/target/arm/olympus/mrobe-100/power-mr100.c +++ b/firmware/target/arm/olympus/mrobe-100/power-mr100.c @@ -35,6 +35,11 @@ void power_init(void) GPIOB_ENABLE |= 0x80; GPIOB_OUTPUT_VAL &= ~0x80; GPIOB_OUTPUT_EN |= 0x80; + + /* IDE power */ + GPIOC_ENABLE |= 0x8; + GPIOC_OUTPUT_VAL &= ~0x8; + GPIOC_OUTPUT_EN |= 0x8; } unsigned int power_input_status(void) @@ -45,15 +50,22 @@ unsigned int power_input_status(void) void ide_power_enable(bool on) { - (void)on; - /* We do nothing */ + if(on) + { + GPIO_CLEAR_BITWISE(GPIOC_OUTPUT_VAL, 0x08); + DEV_EN |= DEV_IDE0; + } + else + { + DEV_EN &= ~DEV_IDE0; + GPIO_SET_BITWISE(GPIOC_OUTPUT_VAL, 0x08); + } } bool ide_powered(void) { - /* pretend we are always powered - we don't turn it off */ - return true; + return ((GPIOC_INPUT_VAL & 0x8) == 0); } void power_off(void) |