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.tar.gz rockbox-65eaf60b35f88ecaea3143915092971d8386649f.zip |
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 26dd4ef14f..6f6ee2bc2c 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) | |||
35 | GPIOB_ENABLE |= 0x80; | 35 | GPIOB_ENABLE |= 0x80; |
36 | GPIOB_OUTPUT_VAL &= ~0x80; | 36 | GPIOB_OUTPUT_VAL &= ~0x80; |
37 | GPIOB_OUTPUT_EN |= 0x80; | 37 | GPIOB_OUTPUT_EN |= 0x80; |
38 | |||
39 | /* IDE power */ | ||
40 | GPIOC_ENABLE |= 0x8; | ||
41 | GPIOC_OUTPUT_VAL &= ~0x8; | ||
42 | GPIOC_OUTPUT_EN |= 0x8; | ||
38 | } | 43 | } |
39 | 44 | ||
40 | unsigned int power_input_status(void) | 45 | unsigned int power_input_status(void) |
@@ -45,15 +50,22 @@ unsigned int power_input_status(void) | |||
45 | 50 | ||
46 | void ide_power_enable(bool on) | 51 | void ide_power_enable(bool on) |
47 | { | 52 | { |
48 | (void)on; | 53 | if(on) |
49 | /* We do nothing */ | 54 | { |
55 | GPIO_CLEAR_BITWISE(GPIOC_OUTPUT_VAL, 0x08); | ||
56 | DEV_EN |= DEV_IDE0; | ||
57 | } | ||
58 | else | ||
59 | { | ||
60 | DEV_EN &= ~DEV_IDE0; | ||
61 | GPIO_SET_BITWISE(GPIOC_OUTPUT_VAL, 0x08); | ||
62 | } | ||
50 | } | 63 | } |
51 | 64 | ||
52 | 65 | ||
53 | bool ide_powered(void) | 66 | bool ide_powered(void) |
54 | { | 67 | { |
55 | /* pretend we are always powered - we don't turn it off */ | 68 | return ((GPIOC_INPUT_VAL & 0x8) == 0); |
56 | return true; | ||
57 | } | 69 | } |
58 | 70 | ||
59 | void power_off(void) | 71 | void power_off(void) |