コード例 #1
0
 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;
 }
コード例 #2
0
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;
}