diff options
Diffstat (limited to 'firmware/target/arm/sandisk/power-c200_e200.c')
-rw-r--r-- | firmware/target/arm/sandisk/power-c200_e200.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/firmware/target/arm/sandisk/power-c200_e200.c b/firmware/target/arm/sandisk/power-c200_e200.c index d6319f44bb..cc9d16f466 100644 --- a/firmware/target/arm/sandisk/power-c200_e200.c +++ b/firmware/target/arm/sandisk/power-c200_e200.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include "tuner.h" | 26 | #include "tuner.h" |
27 | #include "as3514.h" | 27 | #include "as3514.h" |
28 | #include "power.h" | 28 | #include "power.h" |
29 | #include "usb.h" | ||
29 | 30 | ||
30 | void power_init(void) | 31 | void power_init(void) |
31 | { | 32 | { |
@@ -53,15 +54,24 @@ void power_off(void) | |||
53 | } | 54 | } |
54 | } | 55 | } |
55 | 56 | ||
56 | bool charger_inserted(void) | 57 | unsigned int power_input_status(void) |
57 | { | 58 | { |
58 | #ifdef SANSA_E200 | 59 | unsigned int status = POWER_INPUT_NONE; |
59 | if(GPIOB_INPUT_VAL & 0x10) | 60 | |
60 | #else /* SANSA_C200 */ | 61 | #if defined(SANSA_E200) |
61 | if(GPIOH_INPUT_VAL & 0x2) | 62 | #define _charger_present() (GPIOB_INPUT_VAL & 0x10) |
63 | #elif defined(SANSA_C200) | ||
64 | #define _charger_present() (GPIOH_INPUT_VAL & 0x2) | ||
65 | #else | ||
66 | #define _charger_present() 0 | ||
62 | #endif | 67 | #endif |
63 | return true; | 68 | |
64 | return false; | 69 | if (_charger_present()) |
70 | status = POWER_INPUT_MAIN_CHARGER; | ||
71 | |||
72 | /* No separate source for USB */ | ||
73 | |||
74 | return status; | ||
65 | } | 75 | } |
66 | 76 | ||
67 | void ide_power_enable(bool on) | 77 | void ide_power_enable(bool on) |