void pchr_turn_on_charging (void) { upmu_set_rg_usbdl_set(0); //force leave USBDL mode upmu_set_rg_usbdl_rst(1); //force leave USBDL mode kick_charger_wdt(); upmu_set_rg_cs_vth(0xC); // CS_VTH, 450mA upmu_set_rg_csdac_en(1); // CSDAC_EN upmu_set_rg_chr_en(1); // CHR_EN #ifdef MTK_FAN5405_SUPPORT fan5405_hw_init(); fan5405_turn_on_charging(); fan5405_dump_register(); #endif #ifdef MTK_BQ24196_SUPPORT bq24196_hw_init(); bq24196_charging_enable(0); //disable charging with power path bq24196_dump_register(); #endif #ifdef MTK_BQ24158_SUPPORT bq24158_hw_init(); bq24158_turn_on_charging(); bq24158_dump_register(); #endif }
static kal_uint32 charging_set_current(void *data) { kal_uint32 status = STATUS_OK; kal_uint32 set_chr_current; kal_uint32 array_size; kal_uint32 register_value; array_size = GETARRAYNUM(CS_VTH); set_chr_current = bmt_find_closest_level(CS_VTH, array_size, *(kal_uint32 *)data); register_value = charging_parameter_to_value(CS_VTH, array_size ,set_chr_current); upmu_set_rg_cs_vth(register_value); return status; }