summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-06-17 00:26:24 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-06-17 00:29:25 +0200
commit8d7cc320b720c088a8ccb7e33ed85a7de0b89aeb (patch)
tree3286f13c637aef007b67823241bb63552d3ecae8 /firmware/target/arm/imx233
parent2ed36fc4a244549fab3fb7129776a98ec2bf74ca (diff)
downloadrockbox-8d7cc320b720c088a8ccb7e33ed85a7de0b89aeb.tar.gz
rockbox-8d7cc320b720c088a8ccb7e33ed85a7de0b89aeb.zip
imx233: only do power management on imx233
Power management is somewhat different on stmp3700 which doesn't have the 4.2V rail and completely different on stmp3600 which has several DCDC. Currently only handle imx233. Change-Id: Ic7815141286117b74022ffc53cfa48664fd7faac
Diffstat (limited to 'firmware/target/arm/imx233')
-rw-r--r--firmware/target/arm/imx233/powermgmt-imx233.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/powermgmt-imx233.c b/firmware/target/arm/imx233/powermgmt-imx233.c
index b155b5fcb8..8980124b33 100644
--- a/firmware/target/arm/imx233/powermgmt-imx233.c
+++ b/firmware/target/arm/imx233/powermgmt-imx233.c
@@ -48,6 +48,7 @@ void powermgmt_init_target(void)
48{ 48{
49 imx233_power_set_charge_current(IMX233_CHARGE_CURRENT); 49 imx233_power_set_charge_current(IMX233_CHARGE_CURRENT);
50 imx233_power_set_stop_current(IMX233_STOP_CURRENT); 50 imx233_power_set_stop_current(IMX233_STOP_CURRENT);
51#if IMX233_SUBTARGET >= 3780
51 /* assume that adc_init was called and battery monitoring via LRADC setup */ 52 /* assume that adc_init was called and battery monitoring via LRADC setup */
52 BF_WR(POWER_BATTMONITOR, EN_BATADJ, 1); 53 BF_WR(POWER_BATTMONITOR, EN_BATADJ, 1);
53 /* make sure we are in a known state: disable charger and 4p2 */ 54 /* make sure we are in a known state: disable charger and 4p2 */
@@ -55,11 +56,13 @@ void powermgmt_init_target(void)
55 BF_WR(POWER_DCDC4P2, ENABLE_DCDC, 0); 56 BF_WR(POWER_DCDC4P2, ENABLE_DCDC, 0);
56 BF_WR(POWER_DCDC4P2, ENABLE_4P2, 0); 57 BF_WR(POWER_DCDC4P2, ENABLE_4P2, 0);
57 BF_SET(POWER_5VCTRL, PWD_CHARGE_4P2); 58 BF_SET(POWER_5VCTRL, PWD_CHARGE_4P2);
59#endif
58 charge_state = DISCHARGING; 60 charge_state = DISCHARGING;
59} 61}
60 62
61void charging_algorithm_step(void) 63void charging_algorithm_step(void)
62{ 64{
65#if IMX233_SUBTARGET >= 3780
63 bool is_5v_present = usb_detect() == USB_INSERTED; 66 bool is_5v_present = usb_detect() == USB_INSERTED;
64 67
65 /* initial state & 5v -> battery transition */ 68 /* initial state & 5v -> battery transition */
@@ -139,6 +142,7 @@ void charging_algorithm_step(void)
139 BF_SET(POWER_CHARGE, PWD_BATTCHRG); 142 BF_SET(POWER_CHARGE, PWD_BATTCHRG);
140 charge_state = CHARGE_STATE_DISABLED; 143 charge_state = CHARGE_STATE_DISABLED;
141 } 144 }
145#endif
142} 146}
143 147
144void charging_algorithm_close(void) 148void charging_algorithm_close(void)