diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-12-21 18:10:36 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-12-21 18:10:36 +0000 |
commit | 5667682dd204a07c52f057506fd2eef05bf63f2e (patch) | |
tree | a5f4f3cb22751362a9ed7774698ca55d27819d16 /firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c | |
parent | c3c15cce88481a2504eb492ba06b6a691d8e998d (diff) | |
download | rockbox-5667682dd204a07c52f057506fd2eef05bf63f2e.tar.gz rockbox-5667682dd204a07c52f057506fd2eef05bf63f2e.zip |
Gigabeat S: Implement charging and power control to charge from AC or USB. Hold MENU while plugging USB cable to charge from USB without connecting. Under Windows, plugging USB for charging only but not connecting still needs to be properly handled (driver popup issue) but it will charge when connected normally-- no issue under Linux. Some accomodating changes made to powermgmt.c will soon be made nicer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19547 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c index e6238112d1..fc9ad719a6 100644 --- a/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c +++ b/firmware/target/arm/imx31/gigabeat-s/mc13783-gigabeat-s.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "button-target.h" | 28 | #include "button-target.h" |
29 | #include "usb-target.h" | 29 | #include "usb-target.h" |
30 | #include "power-imx31.h" | 30 | #include "power-imx31.h" |
31 | #include "powermgmt-target.h" | ||
31 | 32 | ||
32 | /* Gigabeat S definitions for static MC13783 event registration */ | 33 | /* Gigabeat S definitions for static MC13783 event registration */ |
33 | 34 | ||
@@ -45,26 +46,26 @@ static const struct mc13783_event mc13783_events[] = | |||
45 | .mask = MC13783_ONOFD1M, | 46 | .mask = MC13783_ONOFD1M, |
46 | .callback = button_power_event, | 47 | .callback = button_power_event, |
47 | }, | 48 | }, |
48 | #ifdef HAVE_HEADPHONE_DETECTION | 49 | [MC13783_SE1_EVENT] = /* Main charger detection */ |
49 | [MC13783_ONOFD2_EVENT] = /* Headphone jack */ | ||
50 | { | ||
51 | .set = MC13783_EVENT_SET1, | ||
52 | .mask = MC13783_ONOFD2M, | ||
53 | .callback = headphone_detect_event, | ||
54 | }, | ||
55 | #endif | ||
56 | [MC13783_CHGDET_EVENT] = /* Charger detection */ | ||
57 | { | 50 | { |
58 | .set = MC13783_EVENT_SET0, | 51 | .set = MC13783_EVENT_SET0, |
59 | .mask = MC13783_CHGDETM, | 52 | .mask = MC13783_SE1M, |
60 | .callback = charger_detect_event, | 53 | .callback = charger_main_detect_event, |
61 | }, | 54 | }, |
62 | [MC13783_USB4V4_EVENT] = /* USB insertion */ | 55 | [MC13783_USB_EVENT] = /* USB insertion/USB charger detection */ |
63 | { | 56 | { |
64 | .set = MC13783_EVENT_SET0, | 57 | .set = MC13783_EVENT_SET0, |
65 | .mask = MC13783_USBM, | 58 | .mask = MC13783_USBM, |
66 | .callback = usb_connect_event, | 59 | .callback = usb_connect_event, |
67 | }, | 60 | }, |
61 | #ifdef HAVE_HEADPHONE_DETECTION | ||
62 | [MC13783_ONOFD2_EVENT] = /* Headphone jack */ | ||
63 | { | ||
64 | .set = MC13783_EVENT_SET1, | ||
65 | .mask = MC13783_ONOFD2M, | ||
66 | .callback = headphone_detect_event, | ||
67 | }, | ||
68 | #endif | ||
68 | }; | 69 | }; |
69 | 70 | ||
70 | const struct mc13783_event_list mc13783_event_list = | 71 | const struct mc13783_event_list mc13783_event_list = |