summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c')
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c48
1 files changed, 19 insertions, 29 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
index c1c0595262..ad9098dd8a 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
@@ -27,8 +27,7 @@
27#include "pcf50606.h" 27#include "pcf50606.h"
28#include "backlight.h" 28#include "backlight.h"
29#include "backlight-target.h" 29#include "backlight-target.h"
30 30#include "usb.h"
31#ifndef SIMULATOR
32 31
33void power_init(void) 32void power_init(void)
34{ 33{
@@ -39,13 +38,28 @@ void power_init(void)
39 /* Charger detect */ 38 /* Charger detect */
40} 39}
41 40
42bool charger_inserted(void) 41unsigned int power_input_status(void)
43{ 42{
44 return (GPFDAT & (1 << 4)) ? false : true; 43 unsigned int status = POWER_INPUT_NONE;
44
45 /* Is the battery switch ON? */
46 if ((GPGDAT & (1 << 9)) == 0)
47 status |= POWER_INPUT_BATTERY;
48
49 /* Main or cradle power available? */
50 if ((GPFDAT & (1 << 4)) == 0)
51 status |= POWER_INPUT_MAIN_CHARGER;
52
53 /* Is the USB cable inserted? */
54 if (usb_detect() == USB_INSERTED)
55 status |= POWER_INPUT_USB_CHARGER;
56
57 return status;
45} 58}
46 59
47/* Returns true if the unit is charging the batteries. */ 60/* Returns true if the unit is charging the batteries. */
48bool charging_state(void) { 61bool charging_state(void)
62{
49 return (GPGDAT & (1 << 8)) ? false : true; 63 return (GPGDAT & (1 << 8)) ? false : true;
50} 64}
51 65
@@ -87,27 +101,3 @@ void power_off(void)
87 101
88 reboot_point(); 102 reboot_point();
89} 103}
90
91#else /* SIMULATOR */
92
93bool charger_inserted(void)
94{
95 return false;
96}
97
98void charger_enable(bool on)
99{
100 (void)on;
101}
102
103void power_off(void)
104{
105}
106
107void ide_power_enable(bool on)
108{
109 (void)on;
110}
111
112#endif /* SIMULATOR */
113