summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
authorRobert Kukla <roolku@rockbox.org>2009-08-14 21:11:08 +0000
committerRobert Kukla <roolku@rockbox.org>2009-08-14 21:11:08 +0000
commit65eaf60b35f88ecaea3143915092971d8386649f (patch)
tree362a0ecd3a671bb58be7874257d3d224f9d51b5a /firmware/target
parent1b87b45e408838ab9dabdb3e2bf2d853e4becc08 (diff)
downloadrockbox-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
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/olympus/mrobe-100/power-mr100.c20
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
40unsigned int power_input_status(void) 45unsigned int power_input_status(void)
@@ -45,15 +50,22 @@ unsigned int power_input_status(void)
45 50
46void ide_power_enable(bool on) 51void 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
53bool ide_powered(void) 66bool 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
59void power_off(void) 71void power_off(void)