static kal_uint32 charging_hw_init(void *data) { kal_uint32 status = STATUS_OK; static bool charging_init_flag = KAL_FALSE; mt_set_gpio_mode(gpio_number,gpio_on_mode); mt_set_gpio_dir(gpio_number,gpio_on_dir); mt_set_gpio_out(gpio_number,gpio_on_out); #if defined(MTK_WIRELESS_CHARGER_SUPPORT) mt_set_gpio_mode(wireless_charger_gpio_number,0); // 0:GPIO mode mt_set_gpio_dir(wireless_charger_gpio_number,0); // 0: input, 1: output #endif battery_log(BAT_LOG_FULL, "gpio_number=0x%x,gpio_on_mode=%d,gpio_off_mode=%d\n", gpio_number, gpio_on_mode, gpio_off_mode); upmu_set_rg_usbdl_set(0); //force leave USBDL mode upmu_set_rg_usbdl_rst(1); //force leave USBDL mode fan5402_reg_config_interface(0x00,0xC0); //kick chip watch dog fan5402_reg_config_interface(0x01,0xb8); //TE=1, CE=0, HZ_MODE=0, OPA_MODE=0 if ( !charging_init_flag ) { fan5402_reg_config_interface(0x04,0x1A); //146mA charging_init_flag = KAL_TRUE; } return status; }
static kal_uint32 charging_hw_init(void *data) { kal_uint32 status = STATUS_OK; static bool charging_init_flag = KAL_FALSE; mt_set_gpio_mode(gpio_number,gpio_on_mode); mt_set_gpio_dir(gpio_number,gpio_on_dir); mt_set_gpio_out(gpio_number,gpio_on_out); battery_xlog_printk(BAT_LOG_FULL, "gpio_number=0x%x,gpio_on_mode=%d,gpio_off_mode=%d\n", gpio_number, gpio_on_mode, gpio_off_mode); upmu_set_rg_usbdl_set(0); //force leave USBDL mode upmu_set_rg_usbdl_rst(1); //force leave USBDL mode fan5402_reg_config_interface(0x00,0xC0); //kick chip watch dog fan5402_reg_config_interface(0x01,0xb8); //TE=1, CE=0, HZ_MODE=0, OPA_MODE=0 if ( !charging_init_flag ) { fan5402_reg_config_interface(0x04,0x1A); //146mA charging_init_flag = KAL_TRUE; } return status; }