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

Commit 66d2c44f authored by Abhijeet Dharmapurikar's avatar Abhijeet Dharmapurikar
Browse files

qcom: smblib: suspend usbin on OTG mode



External booster is used in SDM845. USBIN input is not suspended
by PMIC Hardware automatically in OTG moder. Make it in software
driver.

Change-Id: I7cf1ed3e1052741641a08834b0695803e84ec9c2
Signed-off-by: default avatarHarry Yang <harryy@codeaurora.org>
Signed-off-by: default avatarAbhijeet Dharmapurikar <adharmap@codeaurora.org>
parent 2d19be1f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3688,6 +3688,7 @@ static void smblib_handle_typec_removal(struct smb_charger *chg)
	vote(chg->usb_icl_votable, DCP_VOTER, false, 0);
	vote(chg->usb_icl_votable, PL_USBIN_USBIN_VOTER, false, 0);
	vote(chg->usb_icl_votable, SW_QC3_VOTER, false, 0);
	vote(chg->usb_icl_votable, OTG_VOTER, false, 0);

	/* reset hvdcp voters */
	vote(chg->hvdcp_disable_votable_indirect, VBUS_CC_SHORT_VOTER, true, 0);
@@ -3849,6 +3850,12 @@ static void smblib_handle_typec_cc_state_change(struct smb_charger *chg)
		smblib_handle_typec_removal(chg);
	}

	/* suspend usb if sink */
	if (chg->typec_status[3] & UFP_DFP_MODE_STATUS_BIT)
		vote(chg->usb_icl_votable, OTG_VOTER, true, 0);
	else
		vote(chg->usb_icl_votable, OTG_VOTER, false, 0);

	smblib_dbg(chg, PR_INTERRUPT, "IRQ: cc-state-change; Type-C %s detected\n",
				smblib_typec_mode_name[chg->typec_mode]);
}
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ enum print_reason {
#define OTG_DELAY_VOTER			"OTG_DELAY_VOTER"
#define USBIN_I_VOTER			"USBIN_I_VOTER"
#define WEAK_CHARGER_VOTER		"WEAK_CHARGER_VOTER"
#define OTG_VOTER			"OTG_VOTER"

#define VCONN_MAX_ATTEMPTS	3
#define OTG_MAX_ATTEMPTS	3