static void hw_bc11_init(void) { msleep(300); Charger_Detect_Init(); //RG_BC11_BIAS_EN=1 upmu_set_rg_bc11_bias_en(0x1); //RG_BC11_VSRC_EN[1:0]=00 upmu_set_rg_bc11_vsrc_en(0x0); //RG_BC11_VREF_VTH = [1:0]=00 upmu_set_rg_bc11_vref_vth(0x0); //RG_BC11_CMP_EN[1.0] = 00 upmu_set_rg_bc11_cmp_en(0x0); //RG_BC11_IPU_EN[1.0] = 00 upmu_set_rg_bc11_ipu_en(0x0); //RG_BC11_IPD_EN[1.0] = 00 upmu_set_rg_bc11_ipd_en(0x0); //BC11_RST=1 upmu_set_rg_bc11_rst(0x1); //BC11_BB_CTRL=1 upmu_set_rg_bc11_bb_ctrl(0x1); //msleep(10); mdelay(50); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_xlog_printk(BAT_LOG_FULL, "hw_bc11_init() \r\n"); hw_bc11_dump_register(); } }
static U32 hw_bc11_stepA2(void) { U32 wChargerAvail = 0; //RG_BC11_VSRC_EN[1.0] = 10 upmu_set_rg_bc11_vsrc_en(0x2); //RG_BC11_IPD_EN[1:0] = 01 upmu_set_rg_bc11_ipd_en(0x1); //RG_BC11_VREF_VTH = [1:0]=00 upmu_set_rg_bc11_vref_vth(0x0); //RG_BC11_CMP_EN[1.0] = 01 upmu_set_rg_bc11_cmp_en(0x1); //msleep(80); mdelay(80); wChargerAvail = upmu_get_rgs_bc11_cmp_out(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_xlog_printk(BAT_LOG_FULL, "hw_bc11_stepA2() \r\n"); hw_bc11_dump_register(); } //RG_BC11_VSRC_EN[1:0]=00 upmu_set_rg_bc11_vsrc_en(0x0); //RG_BC11_IPD_EN[1.0] = 00 upmu_set_rg_bc11_ipd_en(0x0); //RG_BC11_CMP_EN[1.0] = 00 upmu_set_rg_bc11_cmp_en(0x0); return wChargerAvail; }
static void hw_bc11_done(void) { //RG_bc11_VSRC_EN[1:0]=00 mt6325_upmu_set_rg_bc11_vsrc_en(0x0); //RG_bc11_VREF_VTH = [1:0]=0 mt6325_upmu_set_rg_bc11_vref_vth(0x0); //RG_bc11_CMP_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_cmp_en(0x0); //RG_bc11_IPU_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_ipu_en(0x0); //RG_bc11_IPD_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_ipd_en(0x0); //RG_bc11_BIAS_EN=0 mt6325_upmu_set_rg_bc11_bias_en(0x0); // if (!is_dcp_type) Charger_Detect_Release(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_done() \r\n"); hw_bc11_dump_register(); } }
static U32 hw_bc11_stepA1(void) { U32 wChargerAvail = 0; //RG_bc11_IPD_EN[1.0] = 01 mt6325_upmu_set_rg_bc11_ipd_en(0x1); //RG_bc11_VREF_VTH = [1:0]=00 mt6325_upmu_set_rg_bc11_vref_vth(0x0); //RG_bc11_CMP_EN[1.0] = 01 mt6325_upmu_set_rg_bc11_cmp_en(0x1); msleep(80); //mdelay(80); wChargerAvail = mt6325_upmu_get_rgs_bc11_cmp_out(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_stepA1() \r\n"); hw_bc11_dump_register(); } //RG_bc11_IPD_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_ipd_en(0x0); //RG_bc11_CMP_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_cmp_en(0x0); return wChargerAvail; }
static U32 hw_bc11_stepB2(void) { U32 wChargerAvail = 0; //RG_BC11_IPU_EN[1:0]=10 upmu_set_rg_bc11_ipu_en(0x2); //RG_BC11_VREF_VTH = [1:0]=10 upmu_set_rg_bc11_vref_vth(0x1); //RG_BC11_CMP_EN[1.0] = 01 upmu_set_rg_bc11_cmp_en(0x1); msleep(80);//lenovo-sw chailu1 modify 2014-05-06 //mdelay(80); wChargerAvail = upmu_get_rgs_bc11_cmp_out(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_xlog_printk(BAT_LOG_FULL, "hw_bc11_stepB2() \r\n"); hw_bc11_dump_register(); } //RG_BC11_IPU_EN[1.0] = 00 upmu_set_rg_bc11_ipu_en(0x0); //RG_BC11_CMP_EN[1.0] = 00 upmu_set_rg_bc11_cmp_en(0x0); //RG_BC11_VREF_VTH = [1:0]=00 upmu_set_rg_bc11_vref_vth(0x0); return wChargerAvail; }
static void hw_bc11_done(void) { //RG_bc11_VSRC_EN[1:0]=00 bc11_set_register_value(PMIC_RG_BC11_VSRC_EN,0x0); //RG_bc11_VREF_VTH = [1:0]=0 bc11_set_register_value(PMIC_RG_BC11_VREF_VTH,0x0); //RG_bc11_CMP_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0x0); //RG_bc11_IPU_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPU_EN,0x0); //RG_bc11_IPD_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPD_EN,0x0); //RG_bc11_BIAS_EN=0 bc11_set_register_value(PMIC_RG_BC11_BIAS_EN,0x0); Charger_Detect_Release(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_done() \r\n"); hw_bc11_dump_register(); } }
static U32 hw_bc11_stepA1(void) { U32 wChargerAvail = 0; //RG_bc11_IPD_EN[1.0] = 01 bc11_set_register_value(PMIC_RG_BC11_IPD_EN,0x1); //RG_bc11_VREF_VTH = [1:0]=00 bc11_set_register_value(PMIC_RG_BC11_VREF_VTH,0x0); //RG_bc11_CMP_EN[1.0] = 01 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0x1); msleep(80); //mdelay(80); wChargerAvail = bc11_get_register_value(PMIC_RGS_BC11_CMP_OUT); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_stepA1() \r\n"); hw_bc11_dump_register(); } //RG_bc11_IPD_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPD_EN,0x0); //RG_bc11_CMP_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0x0); return wChargerAvail; }
static void hw_bc11_init(void) { msleep(200); Charger_Detect_Init(); //RG_bc11_BIAS_EN=1 bc11_set_register_value(PMIC_RG_BC11_BIAS_EN,1); //RG_bc11_VSRC_EN[1:0]=00 bc11_set_register_value(PMIC_RG_BC11_VSRC_EN,0); //RG_bc11_VREF_VTH = [1:0]=00 bc11_set_register_value(PMIC_RG_BC11_VREF_VTH,0); //RG_bc11_CMP_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0); //RG_bc11_IPU_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPU_EN,0); //RG_bc11_IPD_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPD_EN,0); //bc11_RST=1 bc11_set_register_value(PMIC_RG_BC11_RST,1); //bc11_BB_CTRL=1 bc11_set_register_value(PMIC_RG_BC11_BB_CTRL,1); msleep(50); //mdelay(50); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_init() \r\n"); hw_bc11_dump_register(); } }
static void hw_bc11_init(void) { msleep(200); #if !defined(CONFIG_MTK_DUAL_INPUT_CHARGER_SUPPORT) /* add make sure USB Ready */ if (is_usb_rdy() == KAL_FALSE) { battery_log(BAT_LOG_CRTI, "CDP, block\n"); while(is_usb_rdy() == KAL_FALSE) msleep(100); battery_log(BAT_LOG_CRTI, "CDP, free\n"); } else battery_log(BAT_LOG_CRTI, "CDP, PASS\n"); #endif Charger_Detect_Init(); //RG_bc11_BIAS_EN=1 mt6325_upmu_set_rg_bc11_bias_en(0x1); //RG_bc11_VSRC_EN[1:0]=00 mt6325_upmu_set_rg_bc11_vsrc_en(0x0); //RG_bc11_VREF_VTH = [1:0]=00 mt6325_upmu_set_rg_bc11_vref_vth(0x0); //RG_bc11_CMP_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_cmp_en(0x0); //RG_bc11_IPU_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_ipu_en(0x0); //RG_bc11_IPD_EN[1.0] = 00 mt6325_upmu_set_rg_bc11_ipd_en(0x0); //bc11_RST=1 mt6325_upmu_set_rg_bc11_rst(0x1); //bc11_BB_CTRL=1 mt6325_upmu_set_rg_bc11_bb_ctrl(0x1); msleep(50); //mdelay(50); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_init() \r\n"); hw_bc11_dump_register(); } }
static void hw_bc11_done(void) { //RG_BC11_VSRC_EN[1:0]=00 upmu_set_rg_bc11_vsrc_en(0x0); //RG_BC11_VREF_VTH = [1:0]=0 upmu_set_rg_bc11_vref_vth(0x0); //RG_BC11_CMP_EN[1.0] = 00 upmu_set_rg_bc11_cmp_en(0x0); //RG_BC11_IPU_EN[1.0] = 00 upmu_set_rg_bc11_ipu_en(0x0); //RG_BC11_IPD_EN[1.0] = 00 upmu_set_rg_bc11_ipd_en(0x0); //RG_BC11_BIAS_EN=0 upmu_set_rg_bc11_bias_en(0x0); Charger_Detect_Release(); battery_xlog_printk(BAT_LOG_FULL, "[PowerSupply] hw_bc11_done()\n"); hw_bc11_dump_register(); }
static U32 hw_bc11_stepB2(void) { U32 wChargerAvail = 0; //RG_bc11_IPU_EN[1:0]=10 bc11_set_register_value(PMIC_RG_BC11_IPU_EN,0x2); //RG_bc11_VREF_VTH = [1:0]=01 bc11_set_register_value(PMIC_RG_BC11_VREF_VTH,0x1); //RG_bc11_CMP_EN[1.0] = 01 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0x1); msleep(80); //mdelay(80); wChargerAvail = bc11_get_register_value(PMIC_RGS_BC11_CMP_OUT); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_xlog_printk(BAT_LOG_FULL, "hw_bc11_stepB2() \r\n"); hw_bc11_dump_register(); } if (!wChargerAvail) { //RG_bc11_VSRC_EN[1.0] = 10 //mt6325_upmu_set_rg_bc11_vsrc_en(0x2); bc11_set_register_value(PMIC_RG_BC11_VSRC_EN,0x2); } //RG_bc11_IPU_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_IPU_EN,0x0); //RG_bc11_CMP_EN[1.0] = 00 bc11_set_register_value(PMIC_RG_BC11_CMP_EN,0x0); //RG_bc11_VREF_VTH = [1:0]=00 bc11_set_register_value(PMIC_RG_BC11_VREF_VTH,0x0); return wChargerAvail; }