diff options
Diffstat (limited to 'firmware/target/coldfire/iaudio/x5/power-x5.c')
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/power-x5.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/target/coldfire/iaudio/x5/power-x5.c b/firmware/target/coldfire/iaudio/x5/power-x5.c index cfcb384a24..068b25f577 100644 --- a/firmware/target/coldfire/iaudio/x5/power-x5.c +++ b/firmware/target/coldfire/iaudio/x5/power-x5.c | |||
@@ -38,23 +38,23 @@ void power_init(void) | |||
38 | 38 | ||
39 | bool charger_inserted(void) | 39 | bool charger_inserted(void) |
40 | { | 40 | { |
41 | return (GPIO1_READ & 0x01000000)?true:false; | 41 | return (GPIO1_READ & 0x01000000) != 0; |
42 | } | 42 | } |
43 | 43 | ||
44 | void ide_power_enable(bool on) | 44 | void ide_power_enable(bool on) |
45 | { | 45 | { |
46 | /* GPOOD3 */ | 46 | /* GPOOD3 */ |
47 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 47 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
48 | if(on) | 48 | pcf50606_write(0x3c, on ? 0x07 : 0x00); |
49 | pcf50606_write(0x3c, 0x07); | ||
50 | else | ||
51 | pcf50606_write(0x3c, 0x00); | ||
52 | set_irq_level(level); | 49 | set_irq_level(level); |
53 | } | 50 | } |
54 | 51 | ||
55 | bool ide_powered(void) | 52 | bool ide_powered(void) |
56 | { | 53 | { |
57 | return false; | 54 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
55 | int value = pcf50606_read(0x3c); | ||
56 | set_irq_level(level); | ||
57 | return (value & 0x07) != 0; | ||
58 | } | 58 | } |
59 | 59 | ||
60 | void power_off(void) | 60 | void power_off(void) |