summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-12-03 19:54:25 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-12-03 19:54:25 +0000
commit58eb784a5d1f0ac800e656d5dfa3a1bff8fb2657 (patch)
tree084c7b7c5d374fbfef2f8cddb3673a3b2a26a7df /firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c
parent0d0cc039f88ced4f6db5c4468b19913f52cd08c8 (diff)
downloadrockbox-58eb784a5d1f0ac800e656d5dfa3a1bff8fb2657.tar.gz
rockbox-58eb784a5d1f0ac800e656d5dfa3a1bff8fb2657.zip
Straighten out some powermanagement stuff. Give target complete control over how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19315 a1c6a512-1295-4272-9138-f99709370657
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