diff options
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-500/power-mr500.c')
-rw-r--r-- | firmware/target/arm/olympus/mrobe-500/power-mr500.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/firmware/target/arm/olympus/mrobe-500/power-mr500.c b/firmware/target/arm/olympus/mrobe-500/power-mr500.c index 074f5b233a..3a6dad77f4 100644 --- a/firmware/target/arm/olympus/mrobe-500/power-mr500.c +++ b/firmware/target/arm/olympus/mrobe-500/power-mr500.c | |||
@@ -32,7 +32,9 @@ | |||
32 | void power_init(void) | 32 | void power_init(void) |
33 | { | 33 | { |
34 | /* Initialize IDE power pin */ | 34 | /* Initialize IDE power pin */ |
35 | /* set GIO17 (ATA power) on and output */ | ||
35 | ide_power_enable(true); | 36 | ide_power_enable(true); |
37 | IO_GIO_DIR1&=~(1<<1); | ||
36 | /* Charger detect */ | 38 | /* Charger detect */ |
37 | } | 39 | } |
38 | 40 | ||
@@ -49,14 +51,14 @@ bool charging_state(void) { | |||
49 | void ide_power_enable(bool on) | 51 | void ide_power_enable(bool on) |
50 | { | 52 | { |
51 | if (on) | 53 | if (on) |
52 | return; | 54 | IO_GIO_BITCLR1=(1<<1); |
53 | else | 55 | else |
54 | return; | 56 | IO_GIO_BITSET1=(1<<1); |
55 | } | 57 | } |
56 | 58 | ||
57 | bool ide_powered(void) | 59 | bool ide_powered(void) |
58 | { | 60 | { |
59 | return true; | 61 | return !(IO_GIO_BITSET1&(1<<1)); |
60 | } | 62 | } |
61 | 63 | ||
62 | void power_off(void) | 64 | void power_off(void) |
@@ -64,8 +66,8 @@ void power_off(void) | |||
64 | /* turn off backlight and wait for 1 second */ | 66 | /* turn off backlight and wait for 1 second */ |
65 | __backlight_off(); | 67 | __backlight_off(); |
66 | sleep(HZ); | 68 | sleep(HZ); |
67 | /* set SLEEP bit to on in CLKCON to turn off */ | 69 | /* Hard shutdown */ |
68 | // CLKCON |=(1<<3); | 70 | IO_GIO_BITSET1|=1<<10; |
69 | } | 71 | } |
70 | 72 | ||
71 | #else /* SIMULATOR */ | 73 | #else /* SIMULATOR */ |