Loading drivers/power/supply/qcom/schgm-flashlite.c +7 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,13 @@ void schgm_flashlite_torch_priority(struct smb_charger *chg, pr_debug("Torch priority changed to: %d\n", mode); } int schgm_flashlite_config_usbin_collapse(struct smb_charger *chg, bool enable) { return smblite_lib_masked_write(chg, SCHG_L_FLASH_FLASH_FAULT_CFG, CFG_FLASH_USB_COLLAPSE_BIT, enable ? CFG_FLASH_USB_COLLAPSE_BIT : 0); } int schgm_flashlite_init(struct smb_charger *chg) { int rc; Loading drivers/power/supply/qcom/schgm-flashlite.h +5 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,9 @@ #define SCHGM_TORCH_PRIORITY_CONTROL_REG (SCHGM_FLASH_BASE + 0x63) #define TORCH_PRIORITY_CONTROL_BIT BIT(0) #define SCHG_L_FLASH_FLASH_FAULT_CFG (SCHGM_FLASH_BASE + 0x64) #define CFG_FLASH_USB_COLLAPSE_BIT BIT(7) #define SCHGM_SOC_BASED_FLASH_DERATE_TH_CFG_REG (SCHGM_FLASH_BASE + 0x67) #define SCHGM_SOC_BASED_FLASH_DISABLE_TH_CFG_REG \ Loading @@ -45,6 +48,8 @@ enum torch_mode { int schgm_flashlite_get_vreg_ok(struct smb_charger *chg, int *val); void schgm_flashlite_torch_priority(struct smb_charger *chg, enum torch_mode mode); int schgm_flashlite_config_usbin_collapse(struct smb_charger *chg, bool enable); int schgm_flashlite_init(struct smb_charger *chg); bool is_flashlite_active(struct smb_charger *chg); Loading drivers/power/supply/qcom/smblite-lib.c +3 −1 Original line number Diff line number Diff line Loading @@ -467,8 +467,10 @@ void smblite_lib_suspend_on_debug_battery(struct smb_charger *chg) } if (chg->suspend_input_on_debug_batt) { vote(chg->usb_icl_votable, DEBUG_BOARD_VOTER, val.intval, 0); if (val.intval) if (val.intval) { pr_info("Input suspended: Fake battery\n"); schgm_flashlite_config_usbin_collapse(chg, false); } } else { vote(chg->chg_disable_votable, DEBUG_BOARD_VOTER, val.intval, 0); Loading Loading
drivers/power/supply/qcom/schgm-flashlite.c +7 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,13 @@ void schgm_flashlite_torch_priority(struct smb_charger *chg, pr_debug("Torch priority changed to: %d\n", mode); } int schgm_flashlite_config_usbin_collapse(struct smb_charger *chg, bool enable) { return smblite_lib_masked_write(chg, SCHG_L_FLASH_FLASH_FAULT_CFG, CFG_FLASH_USB_COLLAPSE_BIT, enable ? CFG_FLASH_USB_COLLAPSE_BIT : 0); } int schgm_flashlite_init(struct smb_charger *chg) { int rc; Loading
drivers/power/supply/qcom/schgm-flashlite.h +5 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,9 @@ #define SCHGM_TORCH_PRIORITY_CONTROL_REG (SCHGM_FLASH_BASE + 0x63) #define TORCH_PRIORITY_CONTROL_BIT BIT(0) #define SCHG_L_FLASH_FLASH_FAULT_CFG (SCHGM_FLASH_BASE + 0x64) #define CFG_FLASH_USB_COLLAPSE_BIT BIT(7) #define SCHGM_SOC_BASED_FLASH_DERATE_TH_CFG_REG (SCHGM_FLASH_BASE + 0x67) #define SCHGM_SOC_BASED_FLASH_DISABLE_TH_CFG_REG \ Loading @@ -45,6 +48,8 @@ enum torch_mode { int schgm_flashlite_get_vreg_ok(struct smb_charger *chg, int *val); void schgm_flashlite_torch_priority(struct smb_charger *chg, enum torch_mode mode); int schgm_flashlite_config_usbin_collapse(struct smb_charger *chg, bool enable); int schgm_flashlite_init(struct smb_charger *chg); bool is_flashlite_active(struct smb_charger *chg); Loading
drivers/power/supply/qcom/smblite-lib.c +3 −1 Original line number Diff line number Diff line Loading @@ -467,8 +467,10 @@ void smblite_lib_suspend_on_debug_battery(struct smb_charger *chg) } if (chg->suspend_input_on_debug_batt) { vote(chg->usb_icl_votable, DEBUG_BOARD_VOTER, val.intval, 0); if (val.intval) if (val.intval) { pr_info("Input suspended: Fake battery\n"); schgm_flashlite_config_usbin_collapse(chg, false); } } else { vote(chg->chg_disable_votable, DEBUG_BOARD_VOTER, val.intval, 0); Loading