usb: phy: qusb: Keep LDOs ON during disconnect if PMI voted for it
PMI software requests PHY driver to turn-ON LDOs before running charger detection. This is needed to have USB data lines in hi-Z state. If there is race between USB driver processing disconnect and next rm_pulldown request, then there is a possibility of PHY driver turning-off LDOs even if PMI voted for it. This can cause charger detection to fail. To fix this add a check in PHY driver to check PMI vote in disconnect handling. Change-Id: I6e873207aeee60e8e933430fc4e755aef81ab447 CRs-fixed: 1097343 Signed-off-by: Manu Gautam <mgautam@codeaurora.org> Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
This commit is contained in:
parent
2d28ff0953
commit
317f5e44fb
1 changed files with 6 additions and 1 deletions
|
@ -701,7 +701,12 @@ static int qusb_phy_set_suspend(struct usb_phy *phy, int suspend)
|
|||
if (qphy->tcsr_clamp_dig_n)
|
||||
writel_relaxed(0x0,
|
||||
qphy->tcsr_clamp_dig_n);
|
||||
qusb_phy_enable_power(qphy, false);
|
||||
/* Do not disable power rails if there is vote for it */
|
||||
if (!qphy->rm_pulldown)
|
||||
qusb_phy_enable_power(qphy, false);
|
||||
else
|
||||
dev_dbg(phy->dev, "race with rm_pulldown. Keep ldo ON\n");
|
||||
|
||||
/*
|
||||
* Set put_into_high_z_state to true so next USB
|
||||
* cable connect, DPF_DMF request performs PHY
|
||||
|
|
Loading…
Add table
Reference in a new issue