summaryrefslogtreecommitdiff
path: root/firmware/target/arm/olympus/mrobe-500/power-mr500.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-500/power-mr500.c')
-rw-r--r--firmware/target/arm/olympus/mrobe-500/power-mr500.c12
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 @@
32void power_init(void) 32void 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) {
49void ide_power_enable(bool on) 51void 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
57bool ide_powered(void) 59bool ide_powered(void)
58{ 60{
59 return true; 61 return !(IO_GIO_BITSET1&(1<<1));
60} 62}
61 63
62void power_off(void) 64void 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 */