static U32 hw_bc11_stepA1(void) { U32 wChargerAvail = 0; //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_stepA1() \r\n"); hw_bc11_dump_register(); } //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 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); mdelay(80); wChargerAvail = upmu_get_rgs_bc11_cmp_out(); battery_xlog_printk(BAT_LOG_FULL, "[PowerSupply] hw_bc11_stepB2()\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 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_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 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 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(); if(Enable_BATDRV_LOG == BAT_LOG_FULL) { battery_log(BAT_LOG_FULL, "hw_bc11_done() \r\n"); hw_bc11_dump_register(); } }