static kal_uint32 charging_enable(void *data) { kal_uint32 status = STATUS_OK; kal_uint32 enable = *(kal_uint32*)(data); if(KAL_TRUE == enable) { upmu_set_rg_csdac_dly(0x4); // CSDAC_DLY upmu_set_rg_csdac_stp(0x1); // CSDAC_STP upmu_set_rg_csdac_stp_inc(0x1); // CSDAC_STP_INC upmu_set_rg_csdac_stp_dec(0x2); // CSDAC_STP_DEC upmu_set_rg_cs_en(1); // CS_EN, check me upmu_set_rg_hwcv_en(1); upmu_set_rg_vbat_cv_en(1); // CV_EN upmu_set_rg_csdac_en(1); // CSDAC_EN upmu_set_rg_chr_en(1); // CHR_EN if(Enable_BATDRV_LOG == BAT_LOG_FULL) charging_dump_register(NULL); } else { upmu_set_rg_chrwdt_int_en(0); // CHRWDT_INT_EN upmu_set_rg_chrwdt_en(0); // CHRWDT_EN upmu_set_rg_chrwdt_flag_wr(0); // CHRWDT_FLAG upmu_set_rg_csdac_en(0); // CSDAC_EN upmu_set_rg_chr_en(0); // CHR_EN upmu_set_rg_hwcv_en(0); // RG_HWCV_EN } return status; }
static kal_uint32 charging_enable(void *data) { kal_uint32 status = STATUS_OK; kal_uint32 enable = *(kal_uint32*)(data); if(KAL_TRUE == enable) { pmic_set_register_value(PMIC_RG_CSDAC_DLY,4);// CSDAC_DLY pmic_set_register_value(PMIC_RG_CSDAC_STP,1);// CSDAC_STP pmic_set_register_value(PMIC_RG_CSDAC_STP_INC,1);// CSDAC_STP_INC pmic_set_register_value(PMIC_RG_CSDAC_STP_DEC,2);// CSDAC_STP_DEC pmic_set_register_value(PMIC_RG_CS_EN,1);// CS_EN, check me pmic_set_register_value(PMIC_RG_HWCV_EN,1); pmic_set_register_value(PMIC_RG_VBAT_CV_EN,1);// CV_EN pmic_set_register_value(PMIC_RG_CSDAC_EN,1);// CSDAC_EN pmic_set_register_value(PMIC_RG_PCHR_FLAG_EN,1);// enable debug falg output pmic_set_register_value(PMIC_RG_CHR_EN,1);// CHR_EN pmic_set_register_value(PMIC_RG_CSDAC_MODE,1);//CSDAC_MODE pmic_set_register_value(PMIC_RG_CSDAC_EN,1);// CSDAC_EN if(Enable_BATDRV_LOG == BAT_LOG_FULL) charging_dump_register(NULL); } else { pmic_set_register_value(PMIC_RG_CHRWDT_INT_EN,0);// CHRWDT_INT_EN pmic_set_register_value(PMIC_RG_CHRWDT_EN,0);// CHRWDT_EN pmic_set_register_value(PMIC_RG_CHRWDT_FLAG_WR,0);// CHRWDT_FLAG pmic_set_register_value(PMIC_RG_CSDAC_EN,0);// CSDAC_EN pmic_set_register_value(PMIC_RG_CHR_EN,0);// CHR_EN pmic_set_register_value(PMIC_RG_HWCV_EN,0);// RG_HWCV_EN } return status; }