static void mtk_ta_detector(void)
{
	int real_v_chrA;
	int real_v_chrB;
	kal_bool retransmit = KAL_TRUE;
	kal_uint32 retransmit_count=0;
    U32 charging_enable = true;
 
	battery_log(BAT_LOG_CRTI, "mtk_ta_detector() start\n");

    battery_charging_control(CHARGING_CMD_ENABLE,&charging_enable);

	do {
		real_v_chrA = ta_get_charger_voltage();
		mtk_ta_decrease(); 		
		mtk_ta_decrease(); 		
		real_v_chrB = ta_get_charger_voltage();

		if(real_v_chrA - real_v_chrB >= 300) {	/* 0.3V */
			retransmit = KAL_FALSE;
			is_ta_connect = KAL_TRUE;
		 } else {
			retransmit_count++;	
			
			battery_log(BAT_LOG_CRTI, "mtk_ta_detector(): retransmit_count =%d, chrA=%d, chrB=%d\n", 
				retransmit_count, real_v_chrA, real_v_chrB);

			mtk_ta_reset_vchr();
		}	

		if((retransmit_count == 3) || (BMT_status.charger_exist == KAL_FALSE)) {
			retransmit = KAL_FALSE;
			is_ta_connect = KAL_FALSE;
		}
		 
	} while((retransmit == KAL_TRUE) && (ta_cable_out_occur == KAL_FALSE));	 
 

	battery_log(BAT_LOG_CRTI, "mtk_ta_detector() ta_current_level=%d, real_v_chrA=%d, real_v_chrB=%d, is_ta_connect=%d\n", 
		ta_current_level, real_v_chrA, real_v_chrB,is_ta_connect);

	battery_log(BAT_LOG_CRTI, "mtk_ta_detector() end, retry_count=%d, ta_cable_out_occur=%d \n",retransmit_count,ta_cable_out_occur);
}
static void mtk_tuning_voltage(int curr_level, int target_level)
{
	int is_increase = 0;
	int exec_level = 0;
	CHR_CURRENT_ENUM	chr_current = CHARGE_CURRENT_70_00_MA;
	
	/* if(BMT_status.charger_exist == KAL_TRUE) */
	if(ta_cable_out_occur == KAL_FALSE) {
		battery_log(BAT_LOG_CRTI, "mtk_tuning_voltage() start\n");
	 
		if(curr_level >= target_level) {
			exec_level = (curr_level-target_level)/200;
			is_increase = 0;		 
		} else {
			exec_level = (target_level-curr_level)/200;
			is_increase = 1;
		}

		if(exec_level == 0) {	/* curr_level == target_level */
			battery_charging_control(CHARGING_CMD_SET_CURRENT,&chr_current);
			msleep(50);	// for VChr reading to check error occur or not
		}

		 
		battery_log(BAT_LOG_CRTI, "mtk_tuning_voltage() before : ta_current_level=%d, real_v_chr=%d, is_ta_connect=%d, is_increase=%d, exec_level=%d\n", 
			ta_current_level, battery_meter_get_charger_voltage(), is_ta_connect, is_increase, exec_level);
	 
		while((exec_level > 0) && (ta_cable_out_occur == KAL_FALSE)) {
			if(is_increase == 1)
				mtk_ta_increase();
			else
				mtk_ta_decrease();
			battery_log(BAT_LOG_CRTI, "mtk_tuning_voltage() after ta_current_level=%d, real_v_chr=%d, is_ta_connect=%d, is_increase=%d, exec_level=%d\n", 
				ta_current_level, battery_meter_get_charger_voltage(), is_ta_connect, is_increase, exec_level);
	 
			exec_level--;
		}
	 	 
		battery_log(BAT_LOG_CRTI, "mtk_tuning_voltage() end\n");
 	} else {
		ta_check_chr_type = KAL_TRUE;
		//is_ta_connect = KAL_FALSE; 
		battery_log(BAT_LOG_CRTI, "mtk_tuning_voltage(), Cable Out\n");
	}
}