PMU_STATUS BAT_ConstantCurrentModeAction(void) { battery_log(BAT_LOG_CRTI, "[BATTERY] CC mode charge, timer=%d on %d !!\n\r", BMT_status.CC_charging_time, BMT_status.total_charging_time); BMT_status.PRE_charging_time = 0; BMT_status.CC_charging_time += BAT_TASK_PERIOD; BMT_status.TOPOFF_charging_time = 0; BMT_status.total_charging_time += BAT_TASK_PERIOD; ulc_cv_charging_current_flag = KAL_FALSE; ulc_cv_charging_current = g_temp_CC_value; if (BMT_status.bat_vol > v_cc2topoff_threshold) { BMT_status.bat_charging_state = CHR_TOP_OFF; } #if defined(CONFIG_MTK_PUMP_EXPRESS_SUPPORT)//defined(MTK_LINEAR_CHARGER_NO_DISCHARGE) // no disable charging#else #else { kal_bool charging_enable = KAL_FALSE; /* Charging 9s and discharging 1s : start */ battery_charging_control(CHARGING_CMD_ENABLE, &charging_enable); msleep(1000); } #endif charging_current_calibration(); pchr_turn_on_charging(); return PMU_STATUS_OK; }
PMU_STATUS BAT_ConstantCurrentModeAction(void) { kal_bool charging_enable = KAL_FALSE; battery_xlog_printk(BAT_LOG_CRTI, "[BATTERY] CC mode charge, timer=%ld on %ld !!\n\r", BMT_status.CC_charging_time, BMT_status.total_charging_time); BMT_status.PRE_charging_time = 0; BMT_status.CC_charging_time += BAT_TASK_PERIOD; BMT_status.TOPOFF_charging_time = 0; BMT_status.total_charging_time += BAT_TASK_PERIOD; if ( BMT_status.bat_vol > v_cc2topoff_threshold ) { BMT_status.bat_charging_state = CHR_TOP_OFF; } /*Charging 9s and discharging 1s : start*/ battery_charging_control(CHARGING_CMD_ENABLE,&charging_enable); msleep(1000); charging_current_calibration(); pchr_turn_on_charging(); return PMU_STATUS_OK; }
PMU_STATUS BAT_PreChargeModeAction(void) { kal_bool charging_enable = KAL_FALSE; battery_xlog_printk(BAT_LOG_CRTI, "[BATTERY] Pre-CC mode charge, timer=%ld on %ld !!\n\r", BMT_status.PRE_charging_time, BMT_status.total_charging_time); BMT_status.PRE_charging_time += BAT_TASK_PERIOD; BMT_status.CC_charging_time = 0; BMT_status.TOPOFF_charging_time = 0; BMT_status.total_charging_time += BAT_TASK_PERIOD; if (BMT_status.UI_SOC == 100) { BMT_status.bat_charging_state = CHR_BATFULL; BMT_status.bat_full = KAL_TRUE; g_charging_full_reset_bat_meter = KAL_TRUE; } else if(BMT_status.bat_vol > V_PRE2CC_THRES) { BMT_status.bat_charging_state = CHR_CC; } /*Charging 9s and discharging 1s : start*/ battery_charging_control(CHARGING_CMD_ENABLE,&charging_enable); msleep(1000); charging_current_calibration(); pchr_turn_on_charging(); return PMU_STATUS_OK; }
PMU_STATUS BAT_PreChargeModeAction(void) { battery_log(BAT_LOG_CRTI, "[BATTERY] Pre-CC mode charge, timer=%d on %d !!\n\r", BMT_status.PRE_charging_time, BMT_status.total_charging_time); BMT_status.PRE_charging_time += BAT_TASK_PERIOD; BMT_status.CC_charging_time = 0; BMT_status.TOPOFF_charging_time = 0; BMT_status.total_charging_time += BAT_TASK_PERIOD; select_charging_curret(); ulc_cv_charging_current = g_temp_CC_value; ulc_cv_charging_current_flag = KAL_FALSE; if (BMT_status.UI_SOC == 100) { BMT_status.bat_charging_state = CHR_BATFULL; BMT_status.bat_full = KAL_TRUE; g_charging_full_reset_bat_meter = KAL_TRUE; } else if (BMT_status.bat_vol > batt_cust_data.v_pre2cc_thres) { BMT_status.bat_charging_state = CHR_CC; } #if defined(CONFIG_MTK_PUMP_EXPRESS_SUPPORT)//defined(MTK_LINEAR_CHARGER_NO_DISCHARGE) // no disable charging #else { kal_bool charging_enable = KAL_FALSE; /*Charging 9s and discharging 1s : start */ battery_charging_control(CHARGING_CMD_ENABLE, &charging_enable); msleep(1000); } #endif charging_current_calibration(); pchr_turn_on_charging(); return PMU_STATUS_OK; }