rk29phone:reduce heat consumption for charging
authorroot <root@lw.(none)>
Wed, 29 Jun 2011 10:36:48 +0000 (18:36 +0800)
committerroot <root@lw.(none)>
Wed, 29 Jun 2011 10:39:42 +0000 (18:39 +0800)
arch/arm/mach-rk29/board-rk29-a22.c
arch/arm/mach-rk29/board-rk29-phonesdk.c
drivers/power/wm831x_charger_display.c

index 0a0558f3d4e5fd310f93a0aa60e431ab37a434a0..a8b428e79ce2b6cf57e628260aa2fe912776c0b1 100755 (executable)
@@ -824,8 +824,8 @@ struct wm831x_battery_pdata wm831x_battery_platdata = {
        .trickle_ilim = 200,   /** Trickle charge current limit, in mA */
        .vsel = 4200,           /** Target voltage, in mV */
        .eoc_iterm = 90,      /** End of trickle charge current, in mA */
-       .fast_ilim = 1000,      /** Fast charge current limit, in mA */
-       .timeout = 180,        /** Charge cycle timeout, in minutes */
+       .fast_ilim = 500,      /** Fast charge current limit, in mA */
+       .timeout = 240,        /** Charge cycle timeout, in minutes */
        .syslo = 3300,    /* syslo threshold, in mV*/
        .sysok = 3500,    /* sysko threshold, in mV*/
 };
index f87c1d6755634df8fb4fc56cb3a2508f31499c90..b42f059d343d48a6ba3b02286df49d338daeb45a 100755 (executable)
@@ -909,8 +909,8 @@ struct wm831x_battery_pdata wm831x_battery_platdata = {
        .trickle_ilim = 200,   /** Trickle charge current limit, in mA */
        .vsel = 4200,           /** Target voltage, in mV */
        .eoc_iterm = 90,      /** End of trickle charge current, in mA */
-       .fast_ilim = 1000,      /** Fast charge current limit, in mA */
-       .timeout = 180,        /** Charge cycle timeout, in minutes */
+       .fast_ilim = 500,      /** Fast charge current limit, in mA */
+       .timeout = 240,        /** Charge cycle timeout, in minutes */
        .syslo = 3300,    /* syslo threshold, in mV*/
        .sysok = 3500,    /* sysko threshold, in mV*/
 };
index ad0cc3c8c96c4d5e4dd8c089e80150848e7cb4c3..d79c80515b3c3f958d3ae24eabbec9f45c74d745 100755 (executable)
@@ -320,20 +320,26 @@ static int rk29_charger_display(struct wm831x_chg *wm831x_chg)
                                wm831x_chg->flag_chg = wm831x_read_chg_status(wm831x_chg);
                                if(!wm831x_chg->flag_chg)
                                kernel_power_off();
-
+                               if(wm831x_chg->flag_bl != 0)
                                ret = charger_logo_display(chargerlogo[i]);
 
                                DBG("%s:i=%d\n",__FUNCTION__,i);
 
-                               mdelay(300);    
+                               msleep(200);    
+                               wm831x_check_on_pin(wm831x_chg);
+                               msleep(200);
                                wm831x_check_on_pin(wm831x_chg);
+
                        }
                                        
                }
                else if(status == BAT_DISCHARGING)
                {
+                       if(wm831x_chg->flag_bl != 0)
                        charger_logo_display(chargerlogo[7]);
-                       mdelay(300);
+                       msleep(200);
+                       wm831x_check_on_pin(wm831x_chg);
+                       msleep(200);
                        wm831x_check_on_pin(wm831x_chg);
                }