Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fa3aaa8 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "power: schgm-flashlite: Disable USB collapse protection for debug board"

parents 1a9a38cc 715a2c2d
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;
+5 −0
Original line number Diff line number Diff line
@@ -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 \
@@ -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);

+3 −1
Original line number Diff line number Diff line
@@ -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);